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


    我们之前做的就是采购单的编辑,在采购单里面添加了药品,然后我们这篇文章要做的就是说提交这个采购单。

    当我们创建完成采购单,确定采购单不再修改,需要提交采购单,由监管单位进行审核。

    我们在提交这个采购单的时候要做一些检验,确保这个采购单是可以被提交的:

       1:采购单必须包括采购药品明细方可提交

       2:采购单的采购药品明细信息必须完整(采购量、采购金额必须指定)

       3:采购单状态为未提交或审核不通过时方可提交

    上面的三条都是在Service层里面做的。

    当通过上面的验证之后,我们在数据库中做的工作就是更新采购单表中采购单状态为2:已提交未审核。

    DAO层:

    根据采购单的id更新采购单表中采购单状态为2

    根据采购单id查询出采购药品明细

    Service层:

    接口功能:采购单提交

    接口参数:采购单id

    接口实现:

    校验:

    采购单状态为未提交或审核不通过时方可提交

                       方法:获取采购单的状态,判断是否是未提交或审核不通过,如果不是则不允许提交

    采购单必须包括采购药品明细方可提交

                       方法:根据采购单id查询出采购药品明细,如果明细为空不允许提交

    采购单的采购药品明细信息必须完整(采购量、采购金额必须指定)

                       方法:根据采购单id查询出采购药品明细,判断明细内容采购量、采购金额是否空

    数据库操作:

        根据采购单id更新采购单表中采购单状态为2:已提交未审核

    我们来看一下Service代码:

    @Override
    public void saveYycgdSubmitstatus(String yycgdid) throws Exception {
    Yycgd yycgd=this.findYycgdById(yycgdid);//通过采购单的id去查找采购单。    
        if(yycgd==null)//如果没有取到值得话,抛异常
        {
            ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 502, null));
            
            
            
        }
        String zt=yycgd.getZt();
        if(!zt.equals("1")&&!zt.equals("4"))//采购单只允许在未提交或审核不通过的情况下时方可提交
        {
            // 没有添加采购药品不允许提交
            ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 502, null));
        }
        
        List<YycgdmxCustom> yycgdmxList=this.findYycgdmxList(yycgdid, null);
        if(yycgdmxList==null||yycgdmxList.size()<0)
        {
            
            ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 504, null));
            
            
        }
        
        // 采购单的采购药品明细信息必须完整(采购量、采购金额必须指定)
                for (YycgdmxCustom yycgdmxCustom : yycgdmxList) {
                    Integer cgl = yycgdmxCustom.getCgl();// 采购量
                    Float cgje = yycgdmxCustom.getCgje();// 采购金额
                    if (cgl == null || cgje == null) {
                        ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE,
                                505, null));
                    }
                }
                String businessyear = yycgdid.substring(0, 4);
                // 更新采购单状态及提交时间
                Yycgd yycgd_update = new Yycgd();
                yycgd_update.setId(yycgdid);
                // 更新状态
                yycgd_update.setZt("2");// 已提交 未审核
                // 更新时间
                yycgd_update.setTjtime(MyUtil.getNowDate());
    
                yycgd_update.setBusinessyear(businessyear);
                yycgdMapper.updateByPrimaryKeySelective(yycgd_update);
        
    }

    我们再看一下Action代码:

    /**
     * 
     * <p>
     * Title: submitYycgd
     * </p>
     * <p>
     * Description:提交采购单
     * </p>
     * 
     * @param yycgdid
     *            采购单id
     * @return
     * @throws Exception
     */
    @RequestMapping("/submitYycgd")
    public @ResponseBody
    SubmitResultInfo submitYycgd(String id) throws Exception {
    
        yycdgService.saveYycgdSubmitstatus(id);
    
        return ResultUtil.createSubmitResult(ResultUtil.createSuccess(
                Config.MESSAGE, 906, null));
    
    }

    最后我们看下页面代码:

    //采购单提交
    function yycgdsubmit(){
        _confirm('提交后采购单将不允许修改,是否继续?',null,
                  function(){
            $("#yycgdsaveForm").attr("action","${baseurl}cgd/submitYycgd.action");
            jquerySubByFId('yycgdsaveForm', yycgdsubmit_callback, null);
         }
       );
        
    }

    调试:

    第一步:

    点击上面的采购药品添加:

    填写好采购量之后:

    点击“保存采购药品信息”。

     最后:

    点击提交按钮。

    自动计算出采购金额。
    我们再去查数据库里面采购单明细表里面就有采购单金额数据了。之前是没有的。

    到这里就调试完了。

    接下来的步骤就是采购单提交之后我们要采购单审核啊,下面的文章就是采购单审核。

  • 相关阅读:
    R 自定义函数
    order_by 函数 R
    PG 窗口函数实例
    自动化测试学习路线
    .netcore 自带依赖注入
    .net5 Serilog使用
    .net core 读取appsettings.json
    .Net Core Code First
    理解Java中的byte
    Java基础语法1注释、标识符、关键字
  • 原文地址:https://www.cnblogs.com/shenxiaoquan/p/6186662.html
Copyright © 2020-2023  润新知