047醫學項目-模組四:採購單模組—採購單審核提交(Dao,Service,Action三層)

來源:互聯網
上載者:User

標籤:ssi   except   response   index   create   class   dao層   詳細資料   醫學   

我們之前把採購單都審核了,這篇文章說的就是審核之後提交。

其實就是改變(update)採購單的審核狀態。

 

需求:

使用者要先查看採購單的內容。

         查看採購單頁面:頁面配置同採購單修改頁面。

 

選擇審核結果、填寫 審核意見進行提交 。

        

約束條件:

         採購單狀態為審核中方可提交審核。

         審核結果(審核通過、審核不通過)必須選擇。

審核意見是否必填根據使用者需求來定,本系統採用不必填 。

 

資料庫操作:

         更新採購單狀態為審核通過或審核不通過.

 

DAo層:

使用逆向工程產生的Mapper:

yycgdMapper.updateByPrimaryKeySelective(yycgd_update);

 

 

Service層:

@Overridepublic void saveYycgdCheckStatus(String yycgdid, YycgdCustom yycgdCustom) throws Exception {        //對採購單做校正    Yycgd yycgd=this.findYycgdById(yycgdid);        //如果根本就沒有這個採購單的話:    if(yycgd==null)    {                        ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 514, null));            }    String zt=yycgd.getZt();//得到採購單的狀態    if(!zt.equals("2"))//如果採購單的採購狀態不是在審核中這個狀態的話    {                ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 514, null));    }    //審核的結果必須要選擇,不然不能提交    if(yycgdCustom==null||yycgdCustom.getZt()==null||(!yycgdCustom.getZt().equals("3")&&yycgdCustom.getZt().equals("4")))    {                ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 514, null));                    }    String bussinessyear=yycgdid.substring(0,4);    Yycgd yycgd_updata=new Yycgd();    yycgd_updata.setId(yycgdid);        //更新狀態    yycgd_updata.setZt(yycgdCustom.getZt());    //更新審核時間yycgd_updata.setShtime(new Date());yycgd_updata.setBusinessyear(bussinessyear);yycgdMapper.updateByPrimaryKeySelective(yycgd_updata);//更新    }

 

Action層;

// 採購單審核提交        @RequestMapping("/checkcgdsubmit")        public @ResponseBody        SubmitResultInfo checkcgdsubmit(YycgdQueryVo yycgdQueryVo, int[] indexs // 頁面選擇序號        ) throws Exception {            // 頁面提交的業務資料(多個),要處理的業務資料,頁面中傳入的參數            List<YycgdCustom> list = yycgdQueryVo.getYycgdCustoms();            // 處理資料的總數            int count = indexs.length;            // 處理成功的數量            int count_success = 0;            // 處理失敗的數量            int count_error = 0;            // 處理失敗的原因            List<ResultInfo> msgs_error = new ArrayList<ResultInfo>();            for (int i = 0; i < count; i++) {                ResultInfo resultInfo = null;                // 根據選中行的序號擷取要處理的業務資料(單個)                YycgdCustom yycgdCustom = list.get(indexs[i]);                // 採購單id                String yycgdid = yycgdCustom.getId();                try {                    yycdgService.saveYycgdCheckStatus(yycgdid, yycgdCustom);                } catch (Exception e) {                    e.printStackTrace();                    // 進行異常解析                    if (e instanceof ExceptionResultInfo) {                        resultInfo = ((ExceptionResultInfo) e).getResultInfo();                    } else {                        // 構造未知錯誤異常                        resultInfo = ResultUtil.createFail(Config.MESSAGE, 900,                                null);                    }                }                if (resultInfo == null) {                    // 說明成功                    count_success++;                } else {                    count_error++;                    // 記錄失敗原因                    msgs_error.add(resultInfo);                }            }            // 提示使用者成功數量、失敗數量、失敗原因            // 改成返回詳細資料            return ResultUtil.createSubmitResult(                    ResultUtil.createSuccess(Config.MESSAGE, 907, new Object[] {                            count_success, count_error }), msgs_error);        }        // 採購單受理頁面        @RequestMapping("/disposeyycgd")        public String disposeyycgd(Model model) throws Exception {            // 當前年份            model.addAttribute("year", MyUtil.get_YYYY(MyUtil.getDate()));            return "/business/cgd/disposeyycgd";        }

 

頁面:

  {"icon" : "icon-log","menuid" : "1_1","menuname" : "採購單審核","url" : "/yycgproject/cgd/checkyycgdlist.action"
                 },

調試通過!!!

 

047醫學項目-模組四:採購單模組—採購單審核提交(Dao,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.