032醫學項目-模組三:藥品供應商目錄模組——Service層和Action層和調試

來源:互聯網
上載者:User

標籤:str   data   設定   att   conf   row   turn   blog   body   

我們上一篇文章講了Dao層代碼:

這一篇我們講解Service層和Action層;

Service層:

分為介面和實作類別,我們主要看實作類別:GysemplServiceImpl

package yycg.business.service.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import yycg.business.dao.mapper.GysypmlMapperCustom;import yycg.business.pojo.vo.GysypmlCustom;import yycg.business.pojo.vo.GysypmlQueryVo;import yycg.business.service.GysymplService;public class GysemplServiceImpl implements GysymplService{        @AutowiredGysypmlMapperCustom gysymplMapperCustom;    @Override    public List<GysypmlCustom> findGysymplList(String usergysId,GysypmlQueryVo gysymplQueryVo)            throws Exception {        //為了防止bug.這裡做一個非空校正,如果傳進來不是空,那麼就直接把傳進來那個賦值給他,如果傳進來就是空的        //那麼就建立一個        gysymplQueryVo=gysymplQueryVo!=null?gysymplQueryVo:new GysypmlQueryVo();        /**         * 為什麼這裡要再得到一個?因為可能在頁面上已經傳進來一個gysymplCustom.         * 所以要判斷傳進來那個是不是空的。         *          *          */        GysypmlCustom gysymplCustom=gysymplQueryVo.getGysymplCustom();        if(gysymplCustom==null)//如果是空的,那就new一個。反正我們的目的就是把usergysId的值設定進去。        {            gysymplCustom=new GysypmlCustom();                    }        //設定資料範圍許可權        gysymplCustom.setId(usergysId);                List<GysypmlCustom> listgyGysymplCustoms=gysymplMapperCustom.findGysymplList(gysymplQueryVo);        return listgyGysymplCustoms;    }    @Override    public int findGysypmlCount(String usergysId,GysypmlQueryVo gysymplQueryVo) throws Exception {                        //為了防止bug.這裡做一個非空校正,如果傳進來不是空,那麼就直接把傳進來那個賦值給他,如果傳進來就是空的        //那麼就建立一個        gysymplQueryVo=gysymplQueryVo!=null?gysymplQueryVo:new GysypmlQueryVo();        /**         * 為什麼這裡要再得到一個?因為可能在頁面上已經傳進來一個gysymplCustom.         * 所以要判斷傳進來那個是不是空的。         *          *          */        GysypmlCustom gysymplCustom=gysymplQueryVo.getGysymplCustom();        if(gysymplCustom==null)//如果是空的,那就new一個。反正我們的目的就是把usergysId的值設定進去。        {            gysymplCustom=new GysypmlCustom();                    }                //設定資料範圍許可權        gysymplCustom.setId(usergysId);        int count=gysymplMapperCustom.findGysypmlCount(gysymplQueryVo);        return count;    }}

 

 

再看Action層:

package yycg.business.action;import java.util.List;import javax.servlet.http.HttpSession;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import yycg.base.pojo.vo.ActiveUser;import yycg.base.pojo.vo.PageQuery;import yycg.base.process.context.Config;import yycg.base.process.result.DataGridResultInfo;import yycg.business.pojo.vo.GysypmlCustom;import yycg.business.pojo.vo.GysypmlQueryVo;import yycg.business.service.GysymplService;@Controller@RequestMapping("/ypml")public class GysymplAction {    @Autowired  GysymplService gysymplService;    //去往查詢頁面    @RequestMapping("/querygysypml")    public String querygysypml( Model model) throws Exception    {        return "/business/ypml/querygysypml";    }            //查詢結果集    @RequestMapping("/querygysympl_request")    public @ResponseBody DataGridResultInfo querygysympl_request(HttpSession session,GysypmlQueryVo gysypmlQueryVo,int page,int rows) 

throws Exception { //目前使用者資訊去 Session中去拿。 ActiveUser activeUser=(ActiveUser)session.getAttribute(Config.ACTIVEUSER_KEY); /** * 剛開始的時候想不通,為什麼傳的是使用者所屬的單位id,潛意識裡想不是應該傳的是使用者的id嗎, * 後來想想不是啊,怎麼可能是使用者的id,因為是供應商這麼一個大的慨念在提供貨物,是以供應商為單位的, * 所以應該是供應商啊,有很多個供應商在供應藥品,所以是供應商的id. * * */ //使用者所屬的單位 String usergysid=activeUser.getSysid();//單位id //列的總數 int total=gysymplService.findGysypmlCount(usergysid, gysypmlQueryVo); //列表 PageQuery pageQuery=new PageQuery(); pageQuery.setPageParams(total, rows, page); //設定分頁參數 gysypmlQueryVo.setPageQuery(pageQuery); //分頁查詢列表 List<GysypmlCustom> list=gysymplService.findGysymplList(usergysid, gysypmlQueryVo); DataGridResultInfo dataGridResultInfo=new DataGridResultInfo(); dataGridResultInfo.setTotal(total); dataGridResultInfo.setRows(list); return dataGridResultInfo; } }

 

 最後調試:

調試的時候我遇到兩個問題:

主要歸結於兩點:

1:GysypmlMapperCustom.xml所在的包路徑和名字要與Mapper介面的下的名字一樣:

 

 

 Mapper介面:

 

  要一模一樣。不然直接報錯:

 

 

調試結果:

 

 

 調試ok。

 

032醫學項目-模組三:藥品供應商目錄模組——Service層和Action層和調試

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.