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);
     }
   );
    
}

调试:

第一步:

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

填写好采购量之后:

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

 最后:

点击提交按钮。

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

到这里就调试完了。

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

原文地址:https://www.cnblogs.com/shenxiaoquan/p/6186662.html