我们之前做的就是采购单的编辑,在采购单里面添加了药品,然后我们这篇文章要做的就是说提交这个采购单。
当我们创建完成采购单,确定采购单不再修改,需要提交采购单,由监管单位进行审核。
我们在提交这个采购单的时候要做一些检验,确保这个采购单是可以被提交的:
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);
}
);
}
调试:
第一步:
点击上面的采购药品添加:
填写好采购量之后:
点击“保存采购药品信息”。
最后:
点击提交按钮。
自动计算出采购金额。
我们再去查数据库里面采购单明细表里面就有采购单金额数据了。之前是没有的。
到这里就调试完了。
接下来的步骤就是采购单提交之后我们要采购单审核啊,下面的文章就是采购单审核。