zoukankan      html  css  js  c++  java
  • 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"
                     },

    调试通过!!!

  • 相关阅读:
    [na]wac无线控制器集中转发部署的几种情况
    [na]windows2008-AD域的安装
    [na]数据链路层&网络层协议小结截图版
    [na]tcp&udp层各协议小结
    [na]交换机接口文档
    [na]二层sw数据交换
    [na]wireshark排查打印机问题
    [na]ip包格式
    [na]ping提示&各系统默认的TTL值
    【VS开发】C++异常处理操作
  • 原文地址:https://www.cnblogs.com/shenxiaoquan/p/6188780.html
Copyright © 2011-2022 走看看