Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/foreignTousseStyle.css =================================================================== diff -u -r14442 -r14508 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/foreignTousseStyle.css (.../foreignTousseStyle.css) (revision 14442) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/1980/images/foreignTousseStyle.css (.../foreignTousseStyle.css) (revision 14508) @@ -142,8 +142,8 @@ .clds-box .box .w55{ width:475px} .clds-box .box .w66{ width:171px} -.clds-box .box .w111{ width:500px;} -.clds-box .box .w222{ width:500px;height:60px;} +.clds-box .box .w111{ width:400px;} +.clds-box .box .w222{ width:400px;height:60px;} .clds-box .box .w333{ width:190px;} .clds-box .box .w444{ width:190px} .clds-box .box .w555{ width:190px} Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/materialinstance/MaterialInstance.java =================================================================== diff -u -r14407 -r14508 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/materialinstance/MaterialInstance.java (.../MaterialInstance.java) (revision 14407) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/materialinstance/MaterialInstance.java (.../MaterialInstance.java) (revision 14508) @@ -36,7 +36,7 @@ private TousseDefinition tousse; - private Integer applyAmount;//申请数量 + private Integer applyAmount;//申请数量 或外来器械二次回收数量 //植入物使用数量,供二次回收的时候填写 private Integer usedAmountOfIncludeImplant; Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/dwr/table/TousseDefinitionTableManager.java =================================================================== diff -u -r13740 -r14508 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/dwr/table/TousseDefinitionTableManager.java (.../TousseDefinitionTableManager.java) (revision 13740) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/dwr/table/TousseDefinitionTableManager.java (.../TousseDefinitionTableManager.java) (revision 14508) @@ -168,7 +168,16 @@ Integer amount = mi.getCount(); JSONObject obj = new JSONObject(); obj.put("materialName", materialName); - obj.put("amount", amount); + if(TousseDefinition.PACKAGE_TYPE_FOREIGN.equals(tousseDefinition.getTousseType())){ + //二次回收数量 + if(mi.getApplyAmount() != null){ + obj.put("amount", mi.getApplyAmount()); + }else{ + obj.put("amount", amount); + } + }else{ + obj.put("amount", amount); + } obj.put("washClassifyType", md.getWashClassifyType() == null ? "" : md .getWashClassifyType()); Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java =================================================================== diff -u -r14491 -r14508 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 14491) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 14508) @@ -6,6 +6,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -54,6 +55,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.becleanitem.ClassifyBasket; +import com.forgon.disinfectsystem.entity.foreigntousseapplication.ForeignTousseApplication; import com.forgon.disinfectsystem.entity.idcarddefinition.IDCardDefinition; import com.forgon.disinfectsystem.entity.idcardinstance.IDCardInstance; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; @@ -63,6 +65,7 @@ import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingRecord; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.exception.RecyclingRecordException; +import com.forgon.disinfectsystem.foreigntousseapplication.service.ForeignTousseApplicationManager; import com.forgon.disinfectsystem.idcarddefinition.service.IDCardDefinitionManager; import com.forgon.disinfectsystem.idcardinstance.util.IDCardInstanceUtils; import com.forgon.disinfectsystem.recyclingapplication.service.InvoicePlanManager; @@ -133,6 +136,13 @@ private DepartmentGroupManager departmentGroupManager; + private ForeignTousseApplicationManager foreignTousseApplicationManager; + + public void setForeignTousseApplicationManager( + ForeignTousseApplicationManager foreignTousseApplicationManager) { + this.foreignTousseApplicationManager = foreignTousseApplicationManager; + } + public void setDepartmentGroupManager( DepartmentGroupManager departmentGroupManager) { this.departmentGroupManager = departmentGroupManager; @@ -1913,4 +1923,136 @@ e.printStackTrace(); } } + + public void loadForeignTousseItems(){ + String applicationId = StrutsParamUtils.getPraramValue("applicationId", null); + String recyclingrecordId = StrutsParamUtils.getPraramValue("recyclingrecordId", null); + JSONArray jsonArray = new JSONArray(); + if(StringUtils.isBlank(applicationId)){ + String tousseDefinitionId = StrutsParamUtils.getPraramValue("tousseDefinitionId", null); + TousseDefinition td = tousseDefinitionManager.getTousseDefinitionById(tousseDefinitionId); + if(td != null){ + Long app_id = td.getInvoicePlanID(); + if(app_id != null){ + applicationId = app_id.toString(); + } + } + } + ForeignTousseApplication app = null; + if(StringUtils.isNotBlank(applicationId)){ + app = foreignTousseApplicationManager.getById(applicationId); + if(app != null){ + boolean confirmRecycle = false; + if(InvoicePlan.RECYCLINGSTATUS_AWAITRECYCLE.equals(app.getRecyclingStatus())){ + confirmRecycle = true; + } + jsonArray = buildTousseItemsJson(app.getApplicationItems(),confirmRecycle,jsonArray); + } + } + //是否外来器械接收单 + boolean isForeignTousseReceiveRecord = false; + if(StringUtils.isNotBlank(recyclingrecordId)){ + RecyclingRecord record = recyclingRecordManager.getRecyclingRecord(recyclingrecordId); + if(record != null && record.getRecyclingApplication() == null){ + isForeignTousseReceiveRecord = true; + } + } + JSONObject obj = new JSONObject(); + if(app != null){ + obj.put("hospitalNumber", getShowValue(app.getHospitalNumber())); + obj.put("clinicNumber", getShowValue(app.getClinicNumber())); + obj.put("patient", getShowValue(app.getPatient())); + obj.put("patientArea", getShowValue(app.getPatientArea())); + obj.put("ascriptionDepartment", getShowValue(app.getAscriptionDepartment())); + obj.put("surgery", getShowValue(app.getSurgery())); + String operationTime = ""; + if(app.getOperationTime() != null){ + operationTime = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(app.getOperationTime()); + } + obj.put("operationTime", operationTime); + obj.put("doctor", getShowValue(app.getDoctor())); + obj.put("remark", getShowValue(app.getRemark())); + obj.put("recyclingStatus", app.getRecyclingStatus()); + obj.put("isForeignTousseReceiveRecord", isForeignTousseReceiveRecord); + } + obj.put("tousseInfo", jsonArray); + + try { + HttpServletResponse response = StrutsParamUtils.getResponse(); + response.setCharacterEncoding("UTF-8"); + response.getWriter().println(obj.toString()); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private JSONArray buildTousseItemsJson(List tousseItems,boolean confirmRecycle,JSONArray jsonArray) { + if(tousseItems != null){ + for (TousseItem tousseItem : tousseItems) { + String tousseName = tousseItem.getTousseName(); + TousseDefinition td = tousseDefinitionManager.getForeignTousseDefinitionByTousseItem(tousseItem); + if(td != null){ + JSONObject jsonobj = new JSONObject(); + jsonobj.put("id", tousseItem.getId()); + jsonobj.put("tousseName", tousseName); + jsonobj.put("tousseDefinitionId", td.getId()); + jsonobj.put("supplierName", tousseItem.getSupplierName()); + jsonobj.put("amount", tousseItem.getAmount()); + jsonobj.put("includeImplant", ""); + jsonobj.put("price", td.getPrice() == null ? 0 : td.getPrice()); + jsonobj.put("type", "tousse"); + jsonobj.put("uiProvider", "col"); + jsonobj.put("cls", "master-task"); + jsonobj.put("iconCls", "task-folder"); + jsonobj.put("expanded", true); + JSONArray children = new JSONArray(); + + List fmd = td.getMaterialInstances(); + if (fmd != null) { + for (int i = 0; i < fmd.size(); i++) { + MaterialInstance mi = fmd.get(i); + String usedAmountOfIncludeImplantStr = ""; + String implantAmountOfUseRecord = ""; + //如果是植入物 + if ("是".equals(mi.getIncludeImplant())) { + if(mi.getUsedAmountOfIncludeImplant() != null){ + usedAmountOfIncludeImplantStr = "" + mi.getUsedAmountOfIncludeImplant(); + } + if(mi.getImplantAmountOfUseRecord() != null){ + implantAmountOfUseRecord = "" + mi.getImplantAmountOfUseRecord(); + }else{ + implantAmountOfUseRecord = "0"; + } + + if(confirmRecycle && StringUtils.isBlank(usedAmountOfIncludeImplantStr)){ + usedAmountOfIncludeImplantStr = implantAmountOfUseRecord; + } + } + JSONObject obj = new JSONObject(); + obj.put("id", mi.getId()); + obj.put("tousseName", mi.getMaterialName()); + obj.put("includeImplant", mi.getIncludeImplant()); + obj.put("amount", mi.getCount()); + obj.put("recycleAmount", mi.getApplyAmount()); + obj.put("usedAmountOfIncludeImplant",usedAmountOfIncludeImplantStr); + obj.put("implantAmountOfUseRecord",implantAmountOfUseRecord); + obj.put("minDismantleAmount",mi.getMinDismantleAmount()); + obj.put("type", "material"); + obj.put("uiProvider", "col"); + obj.put("leaf", true); + obj.put("iconCls", "task"); + children.add(obj); + } + } + jsonobj.put("children", children); + jsonArray.add(jsonobj); + } + } + } + return jsonArray; + } + + private String getShowValue(String value){ + return StringUtils.isBlank(value)?"":value; + } } Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/setForeignTousseDefinition.jsp =================================================================== diff -u -r14442 -r14508 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/setForeignTousseDefinition.jsp (.../setForeignTousseDefinition.jsp) (revision 14442) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/setForeignTousseDefinition.jsp (.../setForeignTousseDefinition.jsp) (revision 14508) @@ -19,7 +19,10 @@ var supplierName = ""; var tousseDefinitionID = '${param.tousseDefinitionID}'; var applicationId = '${param.applicationId}'; + + var recyclingrecordId = '${param.recyclingrecordId}'; var row = '${param.row}'; + var recyclingStatus = ''; //动态加载JS和CSS document.write(''); @@ -55,8 +58,8 @@ var materialInstanceId = $(this).find("input:first").val(); var materialName = $(this).find("td:nth-child(3)").html(); var includeImplant = $(this).find("td:nth-child(4)").html(); - var amount = parseInt($(this).find("td:nth-child(5)").html(),10); - var usedAmountOfIncludeImplant = $(this).find("td:nth-child(7)").html(); + var amount = parseInt($(this).find("td:nth-child(6)").html(),10); + var usedAmountOfIncludeImplant = $(this).find("td:nth-child(8)").html(); if(materialName == ""){ msg = "外来器械材料必须填写名称!"; @@ -94,6 +97,7 @@ supplierName : supplierName, amount : amount, price : price, + recyclingStatus : recyclingStatus, materials : materials }); @@ -119,6 +123,7 @@ + ' ' + '' + '否' + + '0' + '0' + ' ' + '' @@ -175,8 +180,8 @@ $.ajax({ type : 'post', - url : WWWROOT + '/disinfectSystem/foreigntousseapplication/foreignTousseApplicationAction!loadForeignTousseItems.do', - data : {applicationId : applicationId,tousseDefinitionId : tousseDefinitionID,isLoadApplicationInfo:true}, + url : WWWROOT + '/disinfectSystem/recyclingRecordAction!loadForeignTousseItems.do', + data : {applicationId : applicationId,tousseDefinitionId : tousseDefinitionID,recyclingrecordId : recyclingrecordId}, dataType : 'json', success : function(msg) { if(msg == ""){ @@ -193,6 +198,9 @@ $('#surgery').text("手术名称:" + msg.surgery); $('#operationTime').text("手术时间:" + msg.operationTime); + recyclingStatus = msg.recyclingStatus; + var isForeignTousseReceiveRecord = msg.isForeignTousseReceiveRecord; + var foreignTousseArray = msg.tousseInfo; supplierName = foreignTousseArray[0].supplierName; @@ -205,6 +213,7 @@ + '' + tousseName + '' + ' ' + '' + amount + '' + + '' + ''+price+'' + ' ' + '+' @@ -217,15 +226,26 @@ for(var i = 0;i < children.length ; i++){ var materialItem = children[i]; + var applyAmount = materialItem.amount; + var recycleAmount = materialItem.recycleAmount; + if(isForeignTousseReceiveRecord || (recyclingStatus == "待接收" || recyclingStatus == "已接收")){ + recycleAmount = materialItem.amount; + }else{ + if(recyclingStatus == "待回收" && materialItem.recycleAmount == ""){ + recycleAmount = materialItem.amount; + }else if(recyclingStatus == "已回收"){ + recycleAmount = materialItem.recycleAmount; + } + } + var materialElement = $('' + '' + ' ' + '' + materialItem.tousseName + '' + '' + materialItem.includeImplant + '' - + '' - + materialItem.amount - + '' + + '' + applyAmount + '' + + '' + recycleAmount + '' + ' ' + '' + materialItem.usedAmountOfIncludeImplant @@ -271,10 +291,11 @@ - - + + - + + Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js =================================================================== diff -u -r14491 -r14508 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 14491) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 14508) @@ -1348,7 +1348,7 @@ $.layer({ type : 2, title : [tousseName + ' 信息',true], - iframe : {src : 'setForeignTousseDefinition.jsp?resolution='+resolution+'&width='+width+'&height='+height+'&row='+row+'&tousseDefinitionID=' + tousseDefinitionID + '&applicationId=' + params_appId}, + iframe : {src : 'setForeignTousseDefinition.jsp?resolution='+resolution+'&width='+width+'&height='+height+'&row='+row+'&tousseDefinitionID=' + tousseDefinitionID + '&applicationId=' + params_appId + '&recyclingrecordId=' + params_id}, area : [ width + 'px' , height +heightExtra + 'px'], border : [5, 0.3, '#fff', true], closeBtn : [2 , true], Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java =================================================================== diff -u -r14444 -r14508 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 14444) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 14508) @@ -112,18 +112,7 @@ public void loadForeignTousseItems(){ String applicationId = StrutsParamUtils.getPraramValue("applicationId", null); - String loadApplicationInfo = StrutsParamUtils.getPraramValue("isLoadApplicationInfo", null); JSONArray jsonArray = new JSONArray(); - if(StringUtils.isBlank(applicationId)){ - String tousseDefinitionId = StrutsParamUtils.getPraramValue("tousseDefinitionId", null); - TousseDefinition td = tousseDefinitionManager.getTousseDefinitionById(tousseDefinitionId); - if(td != null){ - Long app_id = td.getInvoicePlanID(); - if(app_id != null){ - applicationId = app_id.toString(); - } - } - } ForeignTousseApplication app = null; if(StringUtils.isNotBlank(applicationId)){ app = foreignTousseApplicationManager.getById(applicationId); @@ -135,34 +124,10 @@ jsonArray = buildTousseItemsJson(app.getApplicationItems(),confirmRecycle,jsonArray); } } - if(StringUtils.isBlank(loadApplicationInfo)){ - responsePrint(jsonArray.toString()); - }else{ - JSONObject obj = new JSONObject(); - if(app != null){ - obj.put("hospitalNumber", getShowValue(app.getHospitalNumber())); - obj.put("clinicNumber", getShowValue(app.getClinicNumber())); - obj.put("patient", getShowValue(app.getPatient())); - obj.put("patientArea", getShowValue(app.getPatientArea())); - obj.put("ascriptionDepartment", getShowValue(app.getAscriptionDepartment())); - obj.put("surgery", getShowValue(app.getSurgery())); - String operationTime = ""; - if(app.getOperationTime() != null){ - operationTime = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(app.getOperationTime()); - } - obj.put("operationTime", operationTime); - obj.put("doctor", getShowValue(app.getDoctor())); - obj.put("remark", getShowValue(app.getRemark())); - } - obj.put("tousseInfo", jsonArray); - responsePrint(obj.toString()); - } + responsePrint(jsonArray.toString()); + } - private String getShowValue(String value){ - return StringUtils.isBlank(value)?"":value; - } - private JSONArray buildTousseItemsJson(List tousseItems,boolean confirmRecycle,JSONArray jsonArray) { if(tousseItems != null){ for (TousseItem tousseItem : tousseItems) { @@ -210,6 +175,7 @@ obj.put("tousseName", mi.getMaterialName()); obj.put("includeImplant", mi.getIncludeImplant()); obj.put("amount", mi.getCount()); + obj.put("recycleAmount", mi.getApplyAmount()); obj.put("usedAmountOfIncludeImplant",usedAmountOfIncludeImplantStr); obj.put("implantAmountOfUseRecord",implantAmountOfUseRecord); obj.put("minDismantleAmount",mi.getMinDismantleAmount()); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r14492 -r14508 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 14492) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 14508) @@ -527,6 +527,7 @@ String supplierName = obj.optString("supplierName"); String tousseDefinitionId = obj.optString("tousseDefinitionId"); Double price = obj.optDouble("price"); + String recyclingStatus = obj.optString("recyclingStatus"); Long appid = foreignTousseApplication.getId(); if(StringUtils.isBlank(tousseName)){ throw new RuntimeException("外来器械包名称不能为空!"); @@ -567,9 +568,16 @@ materialInstance = new MaterialInstance(); } } - materialInstance - .setMaterialName(materialName); - materialInstance.setCount(amount); + materialInstance.setMaterialName(materialName); + + if(InvoicePlan.RECYCLINGSTATUS_AWAITRECYCLE.equals(recyclingStatus)){ + //二次回收数量 + materialInstance.setApplyAmount(amount); + }else{ + //申请数量或接收数量 + materialInstance.setCount(amount); + } + materialInstance.setIncludeImplant(includeImplant); if("是".equals(includeImplant) && StringUtils.isNotBlank(usedAmountOfIncludeImplant)){ try {
供应商包/材料名称供应商包/材料名称 是否植入物数量申请数量回收数量 单价 植入物使用数量 操作