Index: ssts-web/src/main/webapp/disinfectsystem/useRecord/setForeignTousseUseImplantView.js =================================================================== diff -u -r18136 -r18459 --- ssts-web/src/main/webapp/disinfectsystem/useRecord/setForeignTousseUseImplantView.js (.../setForeignTousseUseImplantView.js) (revision 18136) +++ ssts-web/src/main/webapp/disinfectsystem/useRecord/setForeignTousseUseImplantView.js (.../setForeignTousseUseImplantView.js) (revision 18459) @@ -10,7 +10,7 @@ * @returns */ function setImplantAmount(applicationId,status,tousseBarcode){ - var loadDataUrl = WWWROOT + '/disinfectSystem/foreigntousseapplication/foreignTousseApplicationAction!loadForeignTousseItems.do'; + var loadDataUrl = WWWROOT + '/disinfectSystem/foreigntousseapplication/foreignTousseApplicationAction!loadForeignTousseImplantUseAmount.do'; var saveUrl = WWWROOT + '/disinfectSystem/foreigntousseapplication/foreignTousseApplicationAction!setImplantAmountOfUseRecord.do'; if(applicationId == "" && tousseBarcode != ""){ loadDataUrl = WWWROOT + '/disinfectSystem/tousseInstanceAction!loadTousseImplantUseAmount.do'; Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java =================================================================== diff -u -r18197 -r18459 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 18197) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 18459) @@ -13,24 +13,28 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.apache.struts2.convention.annotation.Action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; +import com.forgon.Constants; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.basedatamanager.foreigntoussedefinition.ForeignTousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.foreigntousseapplication.ForeignTousseApplication; import com.forgon.disinfectsystem.entity.invoicemanager.InvoicePlan; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.foreigntousseapplication.service.ForeignTousseApplicationManager; import com.forgon.disinfectsystem.tousse.materialinstance.service.MaterialInstanceManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; +import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; import com.forgon.systemsetting.model.HttpOption; import com.forgon.systemsetting.service.HttpOptionManager; import com.forgon.tools.StrutsParamUtils; @@ -57,6 +61,8 @@ private TousseDefinitionManager tousseDefinitionManager; + private TousseInstanceManager tousseInstanceManager; + private HttpOptionManager httpOptionManager; private MaterialInstanceManager materialInstanceManager; @@ -87,6 +93,10 @@ this.foreignTousseApplicationManager = foreignTousseApplicationManager; } + public void setTousseInstanceManager(TousseInstanceManager tousseInstanceManager) { + this.tousseInstanceManager = tousseInstanceManager; + } + /** * 是否有未归还申请单 */ @@ -124,6 +134,9 @@ return null; } + /** + * 打开外来器械申请单时,加载其申请项 + */ public void loadForeignTousseItems(){ String applicationId = StrutsParamUtils.getPraramValue("applicationId", null); JSONArray jsonArray = new JSONArray(); @@ -142,6 +155,98 @@ } + /** + * 使用记录打开外来器械包修改其植入物数量的页面时加载外来器械包的使用数量等信息 + * request请求参数为tousseBarcode:即外来器械包条码 + * response响应数据格式同上一个方法loadForeignTousseItems一致 + */ + public void loadForeignTousseImplantUseAmount(){ + String applicationId = StrutsParamUtils.getPraramValue("applicationId", null); + ForeignTousseApplication app = null; + if(StringUtils.isNotBlank(applicationId)){ + app = foreignTousseApplicationManager.getById(applicationId); + } + String tousseBarcode = StrutsParamUtils.getPraramValue("tousseBarcode", null); + JSONArray jsonArray = new JSONArray(); + if(StringUtils.isNotBlank(tousseBarcode)){ + TousseInstance tousseInstance = tousseInstanceManager.getTousseInstanceByBarcode(tousseBarcode); + TousseDefinition td = tousseInstance.getTousseDefinition(); + TousseItem tousseItem = null; + if(app != null){ + List tousseItems = app.getApplicationItems(); + if(CollectionUtils.isNotEmpty(tousseItems)){ + tousseItem = tousseItems.get(0); + } + } + if(td != null){ + JSONObject jsonobj = new JSONObject(); + jsonobj.put("id", tousseItem.getId()); + jsonobj.put("oldTousseName", tousseInstance.getTousseName()); + jsonobj.put("tousseName", tousseInstance.getTousseName()); + jsonobj.put("tousseDefinitionId", td.getId()); + jsonobj.put("supplierName", tousseItem.getSupplierName()); + jsonobj.put("oldSupplierName", 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 = ""; + String includeImplant = mi.materialIsImplant(); + //如果是植入物 + if (Constants.STR_YES.equals(includeImplant)) { + if(mi.getUsedAmountOfIncludeImplant() != null){ + usedAmountOfIncludeImplantStr = "" + mi.getUsedAmountOfIncludeImplant(); + } + if(mi.getImplantAmountOfUseRecord() != null){ + implantAmountOfUseRecord = "" + mi.getImplantAmountOfUseRecord(); + }else{ + implantAmountOfUseRecord = "0"; + } + } + JSONObject obj = new JSONObject(); + obj.put("id", mi.getId()); + obj.put("tousseName", mi.getMaterialName()); + obj.put("includeImplant", includeImplant); + 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"); + obj.put("washClassifyType", CssdUtils.getMaterialWashClassifyType(mi)); + children.add(obj); + } + } + + Collections.sort(children, new Comparator() { + @Override + public int compare(JSONObject m1, JSONObject m2) { + return m1.optString("washClassifyType").compareTo( + m2.optString("washClassifyType")); + } + }); + + jsonobj.put("children", children); + jsonArray.add(jsonobj); + } + } + responsePrint(jsonArray.toString()); + } + @SuppressWarnings("unchecked") private JSONArray buildTousseItemsJson(List tousseItems,boolean confirmRecycle,JSONArray jsonArray) { if(tousseItems != null){