標籤: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三層)