Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r16482 -r16567 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 16482) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 16567) @@ -53,6 +53,7 @@ import com.forgon.tools.GB2WB; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.json.JSONUtil; import com.forgon.tools.string.StringTools; /** @@ -748,4 +749,30 @@ return false; } + @Override + public JSONObject isHaveNotReturnApplication(String id, String departCoding,String tousseName, String supplierName) { + boolean success = true; + String message = "验证通过!"; + if(!DatabaseUtil.isPoIdValid(id)){ + if (StringUtils.isNotBlank(departCoding) + && StringUtils.isNotBlank(tousseName) + && StringUtils.isNotBlank(supplierName)) { + String sql = String + .format("where po.departCoding = '%s' and po.tousseName = '%s' and " + + "po.supplierName = '%s' and po.returnTime is null and po.returnMan is null " + + "and po.committedStatus = 1 and po.endStatus is null", + departCoding, tousseName, supplierName); + int count = objectDao.countObjectBySql(ForeignTousseApplication.class.getSimpleName(), sql); + if(count > 0){ + success = false; + message = "还有未归还的【" + tousseName + "】,请归还后再申请!"; + } + } else{ + success = false; + message = "参数错误,验证是否有未归还物品失败!"; + } + } + return JSONUtil.buildJsonObject(success, message); + } + } Index: ssts-web/src/main/webapp/disinfectsystem/config/zsszyy/config.js =================================================================== diff -u -r16226 -r16567 --- ssts-web/src/main/webapp/disinfectsystem/config/zsszyy/config.js (.../config.js) (revision 16226) +++ ssts-web/src/main/webapp/disinfectsystem/config/zsszyy/config.js (.../config.js) (revision 16567) @@ -81,5 +81,7 @@ //质量监测记录是否责任环节带出监测项 responsibilityPartBringInspectItem : true, //不要语音播报签收成功的包名称,如果配置为true,则签收器械包成功时不提示,失败时提示失败信息 - donotSpeakTousseSignSuccessMessage:true + donotSpeakTousseSignSuccessMessage:true, + //当外来器械未归还时能否申请 + canApplyForForeignTousseNotReturn : false } \ No newline at end of file Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoicePlan.java =================================================================== diff -u -r16534 -r16567 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoicePlan.java (.../InvoicePlan.java) (revision 16534) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoicePlan.java (.../InvoicePlan.java) (revision 16567) @@ -16,7 +16,6 @@ import javax.persistence.Index; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; -import javax.persistence.Lob; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.persistence.Transient; Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java =================================================================== diff -u -r14407 -r16567 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java (.../ForeignTousseApplicationManager.java) (revision 14407) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java (.../ForeignTousseApplicationManager.java) (revision 16567) @@ -8,6 +8,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.foreigntousseapplication.ForeignTousseApplication; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; +import com.forgon.tools.StrutsParamUtils; /** * @author panhaowen @@ -48,4 +49,6 @@ public void setForeignTousseDefinition( ForeignTousseApplication foreignTousseApplication, JSONArray jsonArray, SupplyRoomConfig config); + + public JSONObject isHaveNotReturnApplication(String id,String departCoding,String tousseName,String supplierName); } Index: ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js =================================================================== diff -u -r16527 -r16567 --- ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js (.../foreignTousseInfoForm.js) (revision 16527) +++ ssts-web/src/main/webapp/disinfectsystem/foreigntousseapplication/foreignTousseInfoForm.js (.../foreignTousseInfoForm.js) (revision 16567) @@ -38,21 +38,6 @@ } }, initComponent: function() { - this.cellEditing = new top.Ext4.grid.plugin.CellEditing({ - clicksToEdit: 2, - listeners: { - beforeedit: function(editor, context, eOpts){ - }, - afteredit:function(editor, context, eOpts){ - } - } - }); - Ext4.apply(this, { - plugins: [this.cellEditing] - }); - this.superclass.initComponent.call(this); - }, - initComponent: function() { this.cellEditing = new top.Ext4.grid.plugin.CellEditing({ clicksToEdit: 2, listeners: { @@ -475,7 +460,37 @@ } top.Ext4.getCmp('departCoding').setValue(deptCoding); top.Ext4.getCmp('settleAccountsDepartCoding').setValue(deptCoding2); + + //当外来器械未归还时能否申请 + var canApplyForForeignTousseNotReturn = getObjValueFromJs('sstsConfig.canApplyForForeignTousseNotReturn',true); + if(!canApplyForForeignTousseNotReturn){ + var tousseNode = foreignTousseStore.getRootNode().childNodes[0]; + var tousseName = tousseNode.get("tousseName"); + var supplierName = tousseNode.get("supplierName"); + var id = top.Ext4.getCmp('id').getValue(); + Ext4.Ajax.request({ + url : WWWROOT + '/disinfectSystem/foreigntousseapplication/foreignTousseApplicationAction!isHaveNotReturnApplication.do', + params : {id : id,departCoding : deptCoding, tousseName : tousseName, supplierName : supplierName}, + async : false, + success : function(response, options) { + var result = Ext4.JSON.decode(response.responseText); + if(!result.success){ + showResult(result.message); + return false; + }else{ + submitForm(actionType); + } + }, + failure : function(response, opts) { + showResult(response.responseText); + } + }); + }else{ + submitForm(actionType); + } +} +function submitForm(actionType){ foreignTousseForm.form.submit({ url : WWWROOT + '/disinfectSystem/foreigntousseapplication/foreignTousseApplicationAction!saveForeignTousseApplication.do', method : 'POST', @@ -490,7 +505,7 @@ failure : function(form, action) { showResult(action.result.message); } - }); + }); } function openForeignTousseForm(id,formType){ Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java =================================================================== diff -u -r16482 -r16567 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 16482) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 16567) @@ -86,6 +86,18 @@ ForeignTousseApplicationManager foreignTousseApplicationManager) { this.foreignTousseApplicationManager = foreignTousseApplicationManager; } + + /** + * 是否有未归还申请单 + */ + public void isHaveNotReturnApplication(){ + String id = StrutsParamUtils.getPraramValue("id", null); + String departCoding = StrutsParamUtils.getPraramValue("departCoding", null); + String tousseName = StrutsParamUtils.getPraramValue("tousseName", null); + String supplierName = StrutsParamUtils.getPraramValue("supplierName", null); + JSONObject obj = foreignTousseApplicationManager.isHaveNotReturnApplication(id, departCoding, tousseName, supplierName); + StrutsResponseUtils.output(obj); + } public String deleteForeignTousseApplication() { String ids = StrutsParamUtils.getPraramValue("ids", "");