Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationForm.js =================================================================== diff -u -r21719 -r21780 --- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationForm.js (.../expensiveGoodsApplicationForm.js) (revision 21719) +++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationForm.js (.../expensiveGoodsApplicationForm.js) (revision 21780) @@ -681,10 +681,18 @@ } }], buttons : [{ + id : 'temporarySave', + text : '暂存', + handler : function() { + submitOrTemporarySaveExpensiveGoodsApplication(false); + } + },{ id : 'saveBtn', - text : '保存', - handler : saveExpensiveGoodsApplicationForm - }, { + text : '提交', + handler : function() { + submitOrTemporarySaveExpensiveGoodsApplication(true); + } + },{ text : '取消', handler : function() { windowObj.close(); @@ -814,9 +822,10 @@ /** - * 保存高值耗材申请单. + * 提交或者暂存高值耗材申请单. + * @param commit 是否提交操作(为true则为提交操作,否则为暂存操作) */ -function saveExpensiveGoodsApplicationForm() { +function submitOrTemporarySaveExpensiveGoodsApplication(commit) { if (!formObj.getForm().isValid()) { showResult('请正确填写表单各值'); return false; @@ -831,7 +840,27 @@ msg: '确认提交吗?', fn: function(btn){ if (btn == 'yes'){ - submitExpensiveGoodsApplication(); + top.Ext4.getCmp('temporarySave').disable(); + top.Ext4.getCmp('saveBtn').disable(); + formObj.form.submit({ + url : WWWROOT + '/disinfectSystem/expensivegoodsapplication/expensiveGoodsApplicationAction!saveExpensiveGoodsApplication.do', + method : 'POST', + waitMsg : '正在保存数据,请稍候', + waitTitle : '提交表单', + params : { + commit: commit + }, + success : function(form, action) { + windowObj.close(); + grid.dwrReload(); + showResult(action.result.message); + }, + failure : function(form, action) { + top.Ext4.getCmp('temporarySave').enable(); + top.Ext4.getCmp('saveBtn').enable(); + showResult(action.result.message); + } + }); } }, buttons: Ext4.Msg.YESNO, @@ -844,28 +873,6 @@ } /** - * 向后台提交高值耗材申请单. - */ -function submitExpensiveGoodsApplication() { - top.Ext4.getCmp('saveBtn').disable(); - formObj.form.submit({ - url : WWWROOT + '/disinfectSystem/expensivegoodsapplication/expensiveGoodsApplicationAction!saveExpensiveGoodsApplication.do', - method : 'POST', - waitMsg : '正在保存数据,请稍候', - waitTitle : '提交表单', - success : function(form, action) { - windowObj.close(); - grid.dwrReload(); - showResult(action.result.message); - }, - failure : function(form, action) { - top.Ext4.getCmp('saveBtn').enable(); - showResult(action.result.message); - } - }); -} - -/** * 设置申请项信息. * @param treeStore * @returns {Boolean} 申请项为空则返回false,否则返回true Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManagerImpl.java =================================================================== diff -u -r21719 -r21780 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManagerImpl.java (.../ExpensiveGoodsApplicationManagerImpl.java) (revision 21719) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManagerImpl.java (.../ExpensiveGoodsApplicationManagerImpl.java) (revision 21780) @@ -50,7 +50,7 @@ @Override - public void saveOrUpdate(Expensivegoodsapplication expensivegoodsapplication, JSONArray items) { + public void saveOrUpdate(Expensivegoodsapplication expensivegoodsapplication, boolean commit, JSONArray items) { String deliverStatus = expensivegoodsapplication.getDeliverStatus(); if (StringTools.isNotBlank(deliverStatus) && !InvoicePlan.DELIVERSTATUS_AWAITDELIVER.equals(deliverStatus)) { throw new RuntimeException("发货状态必须为待发货才能修改!"); @@ -90,18 +90,18 @@ } expensivegoodsapplication.setApplicationItems(newApplicationItems); - //2、设置时间 - String applicationTimeStr = expensivegoodsapplication.getApplicationTimeStr(); - if(expensivegoodsapplication.getApplicationTime() == null){ - expensivegoodsapplication.setApplicationTime(ForgonDateUtils.safelyParseDate(applicationTimeStr)); + //2、设置时间(申请时间的赋值,两种操作需要赋值: 1、“第一次提交” 2、“暂存后的提交” 最好修改时间:无论提交或者暂存都要赋值) + Date currentDateTime = new Date(); + if(expensivegoodsapplication.getApplicationTime() == null || (commit && !expensivegoodsapplication.getCommittedStatus())){ + expensivegoodsapplication.setApplicationTime(currentDateTime); } - expensivegoodsapplication.setSubmitTime(new Date()); + expensivegoodsapplication.setSubmitTime(currentDateTime); //3、设置单类型和状态等等信息 if (StringUtils.isBlank(expensivegoodsapplication.getSerialNumber())) { expensivegoodsapplication.setSerialNumber(serialNumManager.getSerialNumberStr(SerialNum.TYPE_RECYCLINGAPPLICATION)); } - expensivegoodsapplication.setCommittedStatus(true); + expensivegoodsapplication.setCommittedStatus(commit); expensivegoodsapplication.setOrderByFiled(InvoicePlan.ORDERBYFIELD_ONE); expensivegoodsapplication.setDeliverStatus(InvoicePlan.DELIVERSTATUS_AWAITDELIVER); expensivegoodsapplication.setIncludeInvoiceItems(1); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/action/ExpensiveGoodsApplicationAction.java =================================================================== diff -u -r21719 -r21780 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/action/ExpensiveGoodsApplicationAction.java (.../ExpensiveGoodsApplicationAction.java) (revision 21719) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/action/ExpensiveGoodsApplicationAction.java (.../ExpensiveGoodsApplicationAction.java) (revision 21780) @@ -63,13 +63,14 @@ */ public void saveExpensiveGoodsApplication() { String tousseItems = StrutsParamUtils.getPraramValue("tousseItems", ""); + boolean commit = Boolean.valueOf(StrutsParamUtils.getPraramValue("commit", "")); //是否提交操作 if (StringTools.isNotBlank(tousseItems)) { JSONObject result = JSONUtil.buildJsonObject(true, "保存成功"); try { JSONArray items = JSONArray.fromObject(tousseItems); //重新设置手术时间 expensivegoodsapplication.setOperationTime(ForgonDateUtils.safelyParseDate(StrutsParamUtils.getPraramValue("operationTime", ""))); - expensiveGoodsApplicationManager.saveOrUpdate(expensivegoodsapplication, items); + expensiveGoodsApplicationManager.saveOrUpdate(expensivegoodsapplication, commit, items); } catch (Exception e) { e.printStackTrace(); result = JSONUtil.buildJsonObject(false, e.getMessage()); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManager.java =================================================================== diff -u -r21719 -r21780 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManager.java (.../ExpensiveGoodsApplicationManager.java) (revision 21719) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/expensivegoodsapplication/service/ExpensiveGoodsApplicationManager.java (.../ExpensiveGoodsApplicationManager.java) (revision 21780) @@ -14,8 +14,9 @@ /** * 保存或者修改高值耗材申请单. * @param expensivegoodsapplication 高值耗材申请单对象 + * @param commit 是否提交操作 * @param items 此次提交的申请项信息 */ - public void saveOrUpdate(Expensivegoodsapplication expensivegoodsapplication, JSONArray items); + public void saveOrUpdate(Expensivegoodsapplication expensivegoodsapplication, boolean commit, JSONArray items); }