047医疗项目-模块四:采购单模块—采购单审核提交(Dao,Service,Action三层)

Posted jim_shen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了047医疗项目-模块四:采购单模块—采购单审核提交(Dao,Service,Action三层)相关的知识,希望对你有一定的参考价值。

我们之前把采购单都审核了,这篇文章说的就是审核之后提交。

其实就是改变(update)采购单的审核状态。

 

需求:

用户要先查看采购单的内容。

         查看采购单页面:页面布局同采购单修改页面。

 

选择审核结果、填写 审核意见进行提交 。

        

约束条件:

         采购单状态为审核中方可提交审核。

         审核结果(审核通过、审核不通过)必须选择。

审核意见是否必填根据用户需求来定,本系统采用不必填 。

 

数据库操作:

         更新采购单状态为审核通过或审核不通过.

 

DAo层:

使用逆向工程生成的Mapper:

yycgdMapper.updateByPrimaryKeySelective(yycgd_update);

 

 

Service层:

@Override
public 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三层)的主要内容,如果未能解决你的问题,请参考以下文章

046医疗项目-模块四:采购单模块—采购单审核(Dao,Service,Action三层)

048医疗项目-模块四:采购单模块—采购单受理(Dao,Service,Action三层)

041医疗项目-模块四:采购单模块—采购单创建好之后跳转到采购单修改页面,然后实现修改采购单功能

044医疗项目-模块四:采购单模块—采购单保存(Dao,Service,Action三层)

037医疗项目-模块四:采购单模块—采购单数据模型

040医疗项目-模块四:采购单模块—采购单创建好之后跳转到采购单修改页面(editcgd.action)