Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java =================================================================== diff -u -r25403 -r25568 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 25403) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 25568) @@ -1262,6 +1262,8 @@ * @param department * @param printOrgSource * @param idCardDefinitionUseAmount 标识牌定义的使用次数,每个标识牌定义对应一个实体的器械包 + * @param idCardDefinitionIdNumber 标识牌定义的编号 + * @param idCardDefinitionDescription 标识牌定义的描述 * @param objectDao * @return */ @@ -1281,7 +1283,7 @@ String fixedBarcode, JSONArray materialsJsonArray, long foreignTousseApp_id, String supplierName, int toolAmount, int implantAmount, String department, String printOrgSource, - Long idCardDefinitionUseAmount, ObjectDao objectDao, + Long idCardDefinitionUseAmount, String idCardDefinitionIdNumber, String idCardDefinitionDescription, ObjectDao objectDao, String barcodePaperType, String washOperator, String washOperatorCode, String weight,String remark, int printAmount,boolean haveUnSupplementMaterials,String isUrgentTousse, int includedTousseAmount) { @@ -1318,7 +1320,9 @@ obj.put("materialsJsonArray", materialsJsonArray); // 消毒物品的材料集合 obj.put("toolAmount", toolAmount); // 工具数量 obj.put("implantAmount", implantAmount); // 植入物数量 - obj.put("idCardDefinitionUseAmount", idCardDefinitionUseAmount); // 标识牌实例的使用次数 + obj.put("idCardDefinitionUseAmount", idCardDefinitionUseAmount); // 标识牌定义的使用次数 + obj.put("idCardDefinitionIdNumber", idCardDefinitionIdNumber); // 标识牌定义的编号 + obj.put("idCardDefinitionDescription", idCardDefinitionDescription); // 标识牌定义的描述 obj.put("foreignTousseApp_id", foreignTousseApp_id); // 外来器械申请单ID obj.put("supplierName", supplierName); // 供应商名字 @@ -1355,6 +1359,13 @@ TousseInstanceUtils.setReduceAndDamageDescription(objectDao, tousseInstance, obj); } obj.put("id", tousseInstance.getId()); + + // 增加包实例绑定的标识牌的信息,包括标识牌编号和标识牌描述 + Long idCardInstanceID = tousseInstance.getIdCardInstanceID(); + if (idCardInstanceID != null){ + + } + return obj; } Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r25427 -r25568 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 25427) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 25568) @@ -859,7 +859,19 @@ } String department = TousseInstanceUtils.getTousseInstanceDepartForPrint(tousseInstance); - Long idCardDefinitionUseAmount = getIDCardDefinitionUseAmount(tousseInstance.getIdCardInstanceID()); + + // 器械包的标识牌的属性赋值 + Long idCardDefinitionUseAmount = 0L; + String idCardDefinitionIdNumber = ""; + String idCardDefinitionDescription = ""; + + IDCardDefinition idCardDefinition = getIDCardDefinition(tousseInstance.getIdCardInstanceID()); + if (idCardDefinition != null){ + idCardDefinitionUseAmount = idCardDefinition.getUseAmount(); + idCardDefinitionIdNumber = idCardDefinition.getIdNumber(); + idCardDefinitionDescription = idCardDefinition.getDescription(); + } + JSONObject toolAndImplantAmount = tousseDefinitionManager.getToolAndImplantAmount(td); JSONObject obj = CssdUtils.getTousseObjForPrint( td.getName(), tdJson,tousseInstance, subBarcodeArray, subVirtualSeqNumArray, tousseType, @@ -878,7 +890,7 @@ foreignTousseAppId,supplierName, toolAndImplantAmount.optInt("toolAmount"), toolAndImplantAmount.optInt("implantAmount"),department, - td.getPrintOrgSource(),idCardDefinitionUseAmount,objectDao,td.getBarcodePaperType(),tousseInstance.getWashOperator(),tousseInstance.getWashOperatorCode(), + td.getPrintOrgSource(),idCardDefinitionUseAmount,idCardDefinitionIdNumber, idCardDefinitionDescription, objectDao,td.getBarcodePaperType(),tousseInstance.getWashOperator(),tousseInstance.getWashOperatorCode(), tousseInstance.getWeight(),tousseInstance.getRemark(),td.getPrintAmountForPrint(),BooleanUtils.toBooleanDefaultIfNull(tousseInstance.getHaveUnSupplementMaterials(), false),tousseInstance.getIsUrgentTousse(),tousseInstance.getTousseInstancesAmountBelongToThisComboTousse(objectDao)); // 特殊单的包实例处理 if(tousseInstance.getForeignProxyItem_id() != null){ @@ -2406,7 +2418,18 @@ tdJson = getTousseDefinitionJson(td); } - Long idCardDefinitionUseAmount = getIDCardDefinitionUseAmount(tousseInstance.getIdCardInstanceID()); + // 器械包的标识牌的属性赋值 + Long idCardDefinitionUseAmount = 0L; + String idCardDefinitionIdNumber = ""; + String idCardDefinitionDescription = ""; + + IDCardDefinition idCardDefinition = getIDCardDefinition(tousseInstance.getIdCardInstanceID()); + if (idCardDefinition != null){ + idCardDefinitionUseAmount = idCardDefinition.getUseAmount(); + idCardDefinitionIdNumber = idCardDefinition.getIdNumber(); + idCardDefinitionDescription = idCardDefinition.getDescription(); + } + String packageTypeAbbreviation = packageTypeMap.get(packageType); if(packageTypeAbbreviation == null){ packageTypeAbbreviation = ""; @@ -2424,7 +2447,7 @@ foreignTousseApp_id, supplierName, toolAndImplantAmount.optInt("toolAmount"), toolAndImplantAmount.optInt("implantAmount"),TousseInstanceUtils.getTousseInstanceDepartForPrint(tousseInstance) , td.getPrintOrgSource(), - idCardDefinitionUseAmount,objectDao,td.getBarcodePaperType(),tousseInstance.getWashOperator(),tousseInstance.getWashOperatorCode(), + idCardDefinitionUseAmount,idCardDefinitionIdNumber,idCardDefinitionDescription,objectDao,td.getBarcodePaperType(),tousseInstance.getWashOperator(),tousseInstance.getWashOperatorCode(), tousseInstance.getWeight(),tousseInstance.getRemark(),td.getPrintAmountForPrint(),BooleanUtils.toBooleanDefaultIfNull(tousseInstance.getHaveUnSupplementMaterials(), false),tousseInstance.getIsUrgentTousse(),tousseInstance.getTousseInstancesAmountBelongToThisComboTousse(objectDao));// TODO 需要确认审核后打印,是否也支持打印多份 toussesArray.add(obj); JSONObject logObj = new JSONObject(); @@ -2727,26 +2750,26 @@ departmentStockManager.saveOrUpdata(departmentStock); } } - + /** - * 获得标识牌定义的使用次数 - * @param idCardInstanceId 标识牌实例的ID + * 获取标识牌定义 + * @param idCardInstanceId 包实例的ID * @return */ - private Long getIDCardDefinitionUseAmount(Long idCardInstanceId) { - Long idCardDefinitionUseAmount = 0L; + private IDCardDefinition getIDCardDefinition(Long idCardInstanceId) { + IDCardDefinition idCardDefinition = null; if (idCardInstanceId != null){ IDCardInstance instance = idCardInstanceManager.getIDCardInstanceByID(idCardInstanceId.toString()); if (instance != null){ - IDCardDefinition idCardDefinition = instance.getIDCardDefinition(objectDao); - idCardDefinitionUseAmount = idCardDefinition.getUseAmount(); + idCardDefinition = instance.getIDCardDefinition(objectDao); } } - return idCardDefinitionUseAmount; + return idCardDefinition; } + @Override public List getPackingTaskListByIDCardInstanceID( Long idCardInstanceID) { @@ -3899,7 +3922,7 @@ tousse.optString("supplierName"), tousse.optInt("toolAmount"), tousse.optInt("implantAmount"),tousse.optString("department"), - td.getPrintOrgSource(),0L,objectDao,td.getBarcodePaperType(),tousse.optString("washOperator"),tousse.optString("washOperatorCode"), + td.getPrintOrgSource(),0L,"","",objectDao,td.getBarcodePaperType(),tousse.optString("washOperator"),tousse.optString("washOperatorCode"), tousse.optString("weight"),tousse.optString("remark"),tousse.optInt("printAmount"),false,tousse.optString("isUrgentTousse"),0); setPrintCause(currentPackingTask,obj); @@ -3923,8 +3946,20 @@ if (StringUtils.isNotBlank(idCardInstanceID) && StringUtils.isNumeric(idCardInstanceID)){ longInstanceId = Long.valueOf(idCardInstanceID); } - Long idCardDefinitionUseAmount = getIDCardDefinitionUseAmount(longInstanceId); + // 器械包的标识牌的属性赋值 + Long idCardDefinitionUseAmount = 0L; + String idCardDefinitionIdNumber = ""; + String idCardDefinitionDescription = ""; + + IDCardDefinition idCardDefinition = getIDCardDefinition(longInstanceId); + if (idCardDefinition != null){ + idCardDefinitionUseAmount = idCardDefinition.getUseAmount(); + idCardDefinitionIdNumber = idCardDefinition.getIdNumber(); + idCardDefinitionDescription = idCardDefinition.getDescription(); + } + + logger.debug("tousseInstances.size()=" + tousseInstances.size()); logger.debug("virtualSeqNumArray.size()=" + virtualSeqNumArray.size() + ",virtualSeqNumArray=" + virtualSeqNumArray); logger.debug("departmentArray.size()=" + departmentArray.size() + ",departmentArray=" + departmentArray); @@ -3957,7 +3992,7 @@ foreignTousseApp_id,supplierName, toolAndImplantAmount.optInt("toolAmount"), toolAndImplantAmount.optInt("implantAmount"),TousseInstanceUtils.getTousseInstanceDepartForPrint(tousse), - td.getPrintOrgSource(),idCardDefinitionUseAmount,objectDao,td.getBarcodePaperType(),tousse.getWashOperator(),tousse.getWashOperatorCode(), + td.getPrintOrgSource(),idCardDefinitionUseAmount,idCardDefinitionIdNumber,idCardDefinitionDescription,objectDao,td.getBarcodePaperType(),tousse.getWashOperator(),tousse.getWashOperatorCode(), tousse.getWeight(),tousse.getRemark(),td.getPrintAmountForPrint(),BooleanUtils.toBooleanDefaultIfNull(tousse.getHaveUnSupplementMaterials(), false),tousse.getIsUrgentTousse(),0); setPrintCause(currentPackingTask,obj); toussesArray.add(obj); @@ -6237,7 +6272,7 @@ validUntilDateToPrint, sterileDateToPrint, markTousse, ti.getOperationTime(), false, false, true, isReview, isTraceable, td.getIsBigPackage(), "", null, 0l, "", 0, - 0, ti.getDepart(), TousseDefinition.PRINGORGSOURCE_NONE, 0l, objectDao, td.getBarcodePaperType(), "", "", + 0, ti.getDepart(), TousseDefinition.PRINGORGSOURCE_NONE, 0l, "", "", objectDao, td.getBarcodePaperType(), "", "", "",remark,printAmount ,BooleanUtils.toBooleanDefaultIfNull(ti.getHaveUnSupplementMaterials(), false),ti.getIsUrgentTousse(),ti.getTousseInstancesAmountBelongToThisComboTousse(objectDao)); }