采购单提交
需求
用户创建完成采购单,不再修改,执行提交操作,提交后由监管单位审核。
约束条件:
采购单已添加采购药品,且采购量等信息已填写。方可提交采购单。
采购单在未提交或审核不通过时方可执行提交操作。
存在采购药品方可提交
数据库操作:
根据采购单号更新采购单状态,更新为2:已提交未审核
1.2 实现
1.2.1 dao
根据采购单号更新采购单状态,更新为2:已提交未审核
使用逆向工程mapper
1.2.2 service
接口功能:采购单提交
接口参数:采购单id
接口实现:
校验:
采购单已添加采购药品,且采购量等信息已填写。方可提交采购单。
方法:根据采购单id查询采购单明细,进行信息判断校验。
采购单在未提交或审核不通过时方可执行提交操作。
方法:得到采购单状态,进行校验。
操作:
根据采购单号更新采购单状态,更新为2:已提交未审核
// 采购单提交@Overridepublic void saveYycgdSubmitStatus(String yycgdid) throws Exception {// 采购单状态为未提交或审核不通过时方可提交YycgdCustom yycgdCustom = this.findYycgdById(yycgdid);if (yycgdCustom == null) {ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 501,null));}// 采购单状态String state = yycgdCustom.getZt();if (!state.equals("1") && !state.equals("4")) { // 采购单只允许在未提交或审核不通过时方可提交ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 502,null));}// 采购单必须包括采购药品明细方可提交// 根据采购单id查询所有采购药品明细List yycgdmxlist = this.findYycgdmxListByYycgdid(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));}}// 创建并更新采购单状态及提交时间Yycgd yycgd_update = new Yycgd();yycgd_update.setId(yycgdid);String year = yycgdid.substring(0, 4);yycgd_update.setBusinessyear(year);yycgd_update.setZt("2");// 更新时间yycgd_update.setTjtime(MyUtil.getNowDate());// 只更新不为空的列yycgdMapper.updateByPrimaryKeySelective(yycgd_update);}
1.2.3 Action:
修改editcgd.jsp页面,增加“提交”js方法。
执行form提交,将采购单id传入action方法。
调用service提交 采购单。
// 采购单添加药品信息提交@RequestMapping("/addyycgdmxsubmit")public @ResponseBodySubmitResultInfo addyycgdmxsubmit(String yycgdid, int[] indexs,YycgdQueryVo yycgdQueryVo) throws Exception {List list = yycgdQueryVo.getYycgdmxCustoms();// 处理数据的总数int count = indexs.length;// 处理成功的数量int count_success = 0;// 处理失败的数量int count_error = 0;// 处理失败的原因List msgs_error = new ArrayList();for (int i = 0; i < count; i++) {// 定义异常信息ResultInfo resultInfo = null;// 根据选中行的序号获取要处理的业务数据(单个)YycgdmxCustom yycgdmxCustom = list.get(indexs[i]);String ypxxid = yycgdmxCustom.getYpxxid();// 页面中传入的参数String usergysid = yycgdmxCustom.getUsergysid();try {cgdService.insertYycgdmx(yycgdid, ypxxid, usergysid);} 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);}
1.2.4 页面
提交成功后,刷新 本页面。
在“提交”按钮显示处添加if判断(如果采购单状态为未提交或审核不通过显示提交按钮)
采购单明细操作按钮:
添加if判断(如果采购单状态为未提交或审核不通过显示操作按钮)
//采购单提交
function yycgdsubmit(){_confirm('提交后采购单将不允许修改,是否继续?',null,function(){$("#yycgdsaveForm").attr("action","${baseurl}cgd/submitYycgd.action");jquerySubByFId('yycgdsaveForm', yycgdsubmit_callback, null);});}
//采购单提交回调
function yycgdsubmit_callback(data) {var result = getCallbackData(data);_alert(result);//提交成功再刷新本页面,提交按钮就不显示if(result.type==TYPE_RESULT_SUCCESS){//重新再次跳转到修改页面,页面上的提交按钮、添加、删除的控制就不显示了。window.location="${baseurl}cgd/editcgd.action?id=${yycgd.id}";}}
var toolbar=[];
//如果采购单未提交或审核不通过显示此下操作按钮
if test="${yycgd.zt =='1' or yycgd.zt=='4'}">
toolbar = [{id : 'yycgdmxaddshow',text : '采购药品添加',iconCls : 'icon-add',handler : yycgdmxaddshow},{id : 'yycgdmxdelete',text : '采购药品删除',iconCls : 'icon-add',handler : yycgdmxdelete},{id : 'yycgdmxsave',text : '保存采购药品信息',iconCls : 'icon-add',handler : yycgdmxsave}];
c:if>
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
