Index: ssts-web/src/main/webapp/mobileClient/SterileSupplySystem_Android_V4.7.30_20220812_v4_1_release.apk =================================================================== diff -u Binary files differ Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r34123 -r34361 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 34123) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 34361) @@ -99,6 +99,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.taskGroup.TaskGroup; import com.forgon.disinfectsystem.entity.basedatamanager.tousseGroup.TousseGroup; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.InstrumentSetType; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.basedatamanager.toussereturndisinfect.TousseReturnDisinfectItem; @@ -161,6 +162,7 @@ import com.forgon.disinfectsystem.sterilizationmanager.sterilizationunload.service.SterileUnloadScanTousseManager; import com.forgon.disinfectsystem.tousse.cssdhandletousses.service.CssdHandleTousseManager; import com.forgon.disinfectsystem.tousse.imagefilemanager.service.ImageFileManager; +import com.forgon.disinfectsystem.tousse.instrumentsettype.service.InstrumentSetTypeManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionHelper; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; @@ -376,6 +378,8 @@ private ApplicationLogManager applicationLogManager; @Autowired private OperationRoomManager operationRoomManager; + @Autowired + private InstrumentSetTypeManager instrumentSetTypeManager; /** * 库位管理manager @@ -720,11 +724,15 @@ String prepareRecycleDateTime = ""; String type = ""; if(params != null){ - String id = params.optString("id"); - if(StringUtils.isNotBlank(id)){ + Long id = params.optLong("id"); + if(DatabaseUtil.isPoIdValid(id)){ InvoicePlan invoicePlan = invoicePlanManager.get(id); if(invoicePlan != null){ - List applicationItems = invoicePlan.getApplicationItems(); + //器械包种类id + Long instrumentSetTypeId = params.optLong("instrumentSetTypeId"); + //按器械包种类进行过滤及排序(ZJYY-108 2.2) + //List applicationItems = invoicePlan.getApplicationItems(); + List applicationItems = invoicePlanManager.getSortedTousseItemListByInvoicePlanIdAndInstrumentSetTypeId(id, instrumentSetTypeId); if(CollectionUtils.isNotEmpty(applicationItems)){ //进入待预回收的for循环之前,先将不符合预回收条件的项过滤掉再循环 applicationItems = applicationItems.stream().filter(item -> { @@ -762,20 +770,27 @@ jsonItem.put("tousseName", tousseName); jsonItem.put("amount", item.getAmount()); Integer prepareRecycleAmount = item.getPrepareRecycleAmount(); - if(prepareRecycleAmount == null){ + //下面这几行为什么要这么搞?先注释掉了 + /*if(prepareRecycleAmount == null){ prepareRecycleAmount = item.getAmount(); - } + }*/ jsonItem.put("prepareRecycleAmount",prepareRecycleAmount); jsonItem.put("tousseType", tousseType); jsonItem.put("type", tousseType); jsonItem.put("applyEntireTousse", td.getIsApplyEntireTousse()); jsonItem.put("materialInstancesJsonArray", String.format("\"%s\"", td.getMaterialInstancesJsonArrayExceptDisposableInstances().toString())); //包定义id jsonItem.put("tousseDefineId", item.getTousseDefinitionId()); + //加急级别 + UrgentLevel urgentLevelObj = item.getUrgentLevelObj(); + String urgentLevelObjJson = ""; + if(urgentLevelObj != null){ + urgentLevelObjJson = String.format(",\"urgentLevelObj\":{\"id\":%s,\"colorCode\":\"%s\"}",urgentLevelObj.getId(),urgentLevelObj.getColorCode()); + } //array.add(jsonItem); //BJ307YY-95 更新后,PDA预回收把包数量改成0提交后,电脑端上数量还是显示1的缺陷(已存在的申请项,不再传tousseDefinitionId至前端了) - array.append(String.format("{\"id\":%s,\"tousseName\":\"%s\",\"amount\":%s,\"prepareRecycleAmount\":%s,\"tousseType\":\"%s\",\"type\":\"%s\",\"applyEntireTousse\":\"%s\",\"materialInstancesJsonArray\":\"%s\",\"tousseDefineId\":%s}", - item.getId(),tousseName,item.getAmount(),prepareRecycleAmount,tousseType,tousseType,td.getIsApplyEntireTousse(),td.getMaterialInstancesJsonArrayStringExceptDisposableInstances(),item.getTousseDefinitionId())); + array.append(String.format("{\"id\":%s,\"tousseName\":\"%s\",\"amount\":%s,\"prepareRecycleAmount\":%s,\"tousseType\":\"%s\",\"type\":\"%s\",\"applyEntireTousse\":\"%s\",\"materialInstancesJsonArray\":\"%s\",\"tousseDefineId\":%s %s}", + item.getId(),tousseName,item.getAmount(),prepareRecycleAmount,tousseType,tousseType,td.getIsApplyEntireTousse(),td.getMaterialInstancesJsonArrayStringExceptDisposableInstances(),item.getTousseDefinitionId(),urgentLevelObjJson)); if(i < itemSize - 1){ array.append(","); } @@ -845,6 +860,9 @@ } } } + //所扫的条码(限制只能是科室条码、手术间条码、标识牌条码中的一种) + String barcode = params.optString("barcode"); + Long instrumentSetTypeId = params.optLong("instrumentSetTypeId"); List invoicePlans = null; String deptCodes = null; if(StringUtils.isNotBlank(departmentGroupId)){ @@ -856,14 +874,14 @@ } if(StringUtils.isNotBlank(deptCodes)){ invoicePlans = invoicePlanManager - .getAwaitForRecyclingInvoicePlan(supplyRoomType,orgUntiCodes,deptCodes); + .getAwaitForRecyclingInvoicePlanList(orgUntiCodes,deptCodes,barcode,instrumentSetTypeId); } }catch(Exception e){ } }else{ invoicePlans = invoicePlanManager - .getAwaitForRecyclingInvoicePlan(supplyRoomType,orgUntiCodes,deptCodes); + .getAwaitForRecyclingInvoicePlanList(orgUntiCodes,deptCodes,barcode,instrumentSetTypeId); } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); @@ -895,6 +913,11 @@ if(plan instanceof RecyclingApplication && ((RecyclingApplication)plan).getUseRecord() != null){ obj.put("fromUseRecord", true); } + //加急级别 + UrgentLevel urgentLevel = plan.getUrgentLevel(); + if(urgentLevel != null){ + obj.put("urgentLevel", JSONObject.fromObject(urgentLevel)); + } dataArray.add(obj); } } @@ -904,7 +927,51 @@ json.put("data", dataArray); return json.toString(); } + /** + * 查询所有第一级的器械包种类 + * @param params + * @return + */ + private String getFirstGradeInstrumentSetTypeList(JSONObject params){ + JSONObject result = JSONUtil.buildJsonObject(false); + /*List list = new ArrayList(); + InstrumentSetType instrumentSetType = new InstrumentSetType(); + instrumentSetType.setId(1L); + instrumentSetType.setName("测试1"); + list.add(instrumentSetType); + + instrumentSetType = new InstrumentSetType(); + instrumentSetType.setId(2L); + instrumentSetType.setName("测试2"); + list.add(instrumentSetType); + + instrumentSetType = new InstrumentSetType(); + instrumentSetType.setId(3L); + instrumentSetType.setName("测试3"); + list.add(instrumentSetType); + + instrumentSetType = new InstrumentSetType(); + instrumentSetType.setId(4L); + instrumentSetType.setName("测试4"); + list.add(instrumentSetType); + + instrumentSetType = new InstrumentSetType(); + instrumentSetType.setId(5L); + instrumentSetType.setName("测试5"); + list.add(instrumentSetType); + + instrumentSetType = new InstrumentSetType(); + instrumentSetType.setId(6L); + instrumentSetType.setName("测试6"); + list.add(instrumentSetType);*/ + List list = instrumentSetTypeManager.getFirstGradeInstrumentSetTypeList(); + result.put("items", JSONArray.fromObject(list)); + JSONUtil.addSuccess(result, true); + return result.toString(); + } + + /** * 获取待交接申请单的物品明细 * @param params * @return @@ -955,8 +1022,61 @@ json.put("groups", groupArray); return json.toString(); } - - public String getUserInfo(JSONObject params){ + + /** + * 待回收清点单修改页面扫描条码方法 + * 如果条码为用户条码,则返回用户信息.如果为器械包相关的条码则返回器械包信息 + * @param params + * @return + */ + private String getInfoByBarcode_ModifyRecyclingRecord(JSONObject params){ + String barcode = params.optString("barcode"); + Long invoicePlanId = params.optLong("invoicePlanId"); + if(StringUtils.isNotBlank(barcode)){ + JSONObject result = invoicePlanManager.getUserOrTousseDefinitionJsonByInvoicePlanAndBarcode(invoicePlanId,barcode); + String type = result.optString("type"); + if(StringUtils.equals(type, BarcodeDevice.BARCODE_TYPE_PACKAGE)){ + //data:{tousseName:"器械包名称",defineId:"包定义id",type:"器械包类型",applyEntireTousse:"是否整包申请",materialInstancesJsonArray:"材料清单json"} + JSONObject data = result.optJSONObject("data"); + /*Map obj = new HashMap(); + obj.put("defineId", data.optLong("defineId")); + obj.put("tousseName", data.optString("tousseName")); + obj.put("type", data.optString("type")); + obj.put("applyEntireTousse", data.optString("applyEntireTousse")); + obj.put("materialInstancesJsonArray", data.opt("materialInstancesJsonArray").toString());*/ + JSONArray materialInstancesJsonArray = data.optJSONArray("materialInstancesJsonArray"); + if(CollectionUtils.isNotEmpty(materialInstancesJsonArray)){ + StringBuffer buffer = new StringBuffer(); + buffer.append("\"["); + for (int i = 0; i < materialInstancesJsonArray.size(); i++) { + JSONObject jsonObject = materialInstancesJsonArray.optJSONObject(i); + buffer.append("{"); + + buffer.append("\"name\":").append("\"").append(jsonObject.optString("name")).append("\","); + buffer.append("\"type\":").append("\"").append(jsonObject.optString("type")).append("\","); + buffer.append("\"tousseType\":").append("\"").append(jsonObject.optString("tousseType")).append("\","); + buffer.append("\"count\":").append(jsonObject.optInt("count")).append(","); + buffer.append("\"materialDefinitionId\":").append(jsonObject.optLong("materialDefinitionId")); + + buffer.append("}"); + if(i < materialInstancesJsonArray.size() - 1){ + buffer.append(","); + } + } + buffer.append("]\""); + data.put("materialInstancesJsonArray", buffer.toString()); + + } + //return String.format("{\"success\":%s,\"type\":\"%s\",\"data\":\"%s\"}",result.optBoolean("success"),result.optString("type"),obj); + } + return result.toString(); + + } + throw new SystemException("缺少参数barcode"); + } + + @Deprecated + private String getUserInfo(JSONObject params){ String fullName = ""; String name = ""; String msg = ""; Index: ssts-web/src/main/webapp/mobileClient/SterileSupplySystem_Android_V4.7.30_20220812_v4_1_6p_release.apk =================================================================== diff -u Binary files differ Index: ssts-web/src/main/webapp/mobileClient/clientForAndroid.json =================================================================== diff -u -r34174 -r34361 --- ssts-web/src/main/webapp/mobileClient/clientForAndroid.json (.../clientForAndroid.json) (revision 34174) +++ ssts-web/src/main/webapp/mobileClient/clientForAndroid.json (.../clientForAndroid.json) (revision 34361) @@ -1,7 +1,7 @@ { "success":"true", - "version":"4.7.29", - "urlSuffix":"/mobileClient/SterileSupplySystem_Android_V4.7.29_20220712_v4_1_release.apk", - "urlSuffix-nologo":"/mobileClient/SterileSupplySystem_Android_V4.7.29_20220712_v4_1_nologo_release.apk", - "urlSuffix-6p":"/mobileClient/SterileSupplySystem_Android_V4.7.29_20220712_v4_1_6p_release.apk", + "version":"4.7.30", + "urlSuffix":"/mobileClient/SterileSupplySystem_Android_V4.7.30_20220812_v4_1_release.apk", + "urlSuffix-nologo":"/mobileClient/SterileSupplySystem_Android_V4.7.30_20220812_v4_1_nologo_release.apk", + "urlSuffix-6p":"/mobileClient/SterileSupplySystem_Android_V4.7.30_20220812_v4_1_6p_release.apk", } \ No newline at end of file Index: ssts-web/src/main/webapp/mobileClient/SterileSupplySystem_Android_V4.7.30_20220812_v4_1_nologo_release.apk =================================================================== diff -u Binary files differ