Index: forgon-tools/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r40682 -r40719 --- forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 40682) +++ forgon-tools/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 40719) @@ -81,7 +81,8 @@ public final static String PRICE_TOLERANCE_0_01_STR = "0.01"; public final static String PRICE_TOLERANCE_0_001_STR = "0.001"; - + public final static String LEFT_BRACKET = "("; + public final static String RIGHT_BRACKET = ")"; public static final String STR_YES = "是"; public static final String STR_NO = "否"; public static final String STR_CAN = "能"; Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r40714 -r40719 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 40714) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 40719) @@ -296,6 +296,9 @@ @Autowired private DataHelperForPacking dataHelperForPacking; private JdbcTemplate jdbcTemplate; + + public static String NULLSETTLEACCOUNTSDEPARTCODINGSTR = "无结算科室汇总"; + public static String NOTCLASSIFYBASKETSTR = "无篮筐汇总"; public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } @@ -2012,6 +2015,7 @@ StringBuffer sbf = new StringBuffer(); Date newDate = new Date(); SimpleDateFormat ymdhm = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String notClassifyBasketStr = "无篮筐汇总"; for (Object[] result : taskList) { PackingTask task = (PackingTask)result[0]; TousseDefinition td = (TousseDefinition)result[1]; @@ -2224,17 +2228,17 @@ if(enableGroupPendingAssemblyTasksByBasket){ List basketNames = new ArrayList();//一个装配任务入到到个篮筐 也只显示task.classifyBasket_id的篮筐 List basketBarcodes = new ArrayList(); - String containerBarcode = ""; + String containerBarcode = StringUtils.EMPTY; if(classifyBasketIdToContainer.containsKey(task.getClassifyBasket_id())){ Container container = classifyBasketIdToContainer.get(task.getClassifyBasket_id()); basketNames.add(container.getContainerName()); basketBarcodes.add(container.getBarcode()); containerBarcode = container.getBarcode(); }else if(StringUtils.isBlank(task.getRecyclingBasketName())){ - basketNames.add("空"); - basketBarcodes.add(""); + basketNames.add(notClassifyBasketStr); + basketBarcodes.add(StringUtils.EMPTY); }else if(task.getRecyclingBasketName().contains(Constants.IDS_SEPARATOR)){ - String[] basketNameStr = task.getRecyclingBasketName().split(";"); + String[] basketNameStr = task.getRecyclingBasketName().split(Constants.IDS_SEPARATOR); for (String s : basketNameStr) { if (StringUtils.isNotBlank(s)) { @@ -2243,9 +2247,9 @@ } } if(StringUtils.isBlank(task.getBasketBarcode())){ - basketBarcodes.add(""); + basketBarcodes.add(StringUtils.EMPTY); }else{ - String[] barcodeStr = task.getBasketBarcode().split(";"); + String[] barcodeStr = task.getBasketBarcode().split(Constants.IDS_SEPARATOR); for (String s : barcodeStr) { if (StringUtils.isNotBlank(s)) { @@ -2257,20 +2261,20 @@ } }else{ - basketNames.add(task.getRecyclingBasketName().replace(Constants.IDS_SEPARATOR, "")); + basketNames.add(task.getRecyclingBasketName().replace(Constants.IDS_SEPARATOR, StringUtils.EMPTY)); if(StringUtils.isBlank(task.getBasketBarcode())){ - basketBarcodes.add(""); + basketBarcodes.add(StringUtils.EMPTY); }else{ - containerBarcode = task.getBasketBarcode().replace(Constants.IDS_SEPARATOR, ""); + containerBarcode = task.getBasketBarcode().replace(Constants.IDS_SEPARATOR, StringUtils.EMPTY); basketBarcodes.add(containerBarcode); } } String basketName = basketNames.get(0); String key0 = null; - if("空".equals(basketName)){ - key0 = "空"; + if(notClassifyBasketStr.equals(basketName)){ + key0 = notClassifyBasketStr; }else{ - key0 = basketName + "("+basketBarcodes.get(0) +")"; + key0 = basketName + Constants.LEFT_BRACKET + basketBarcodes.get(0) + Constants.RIGHT_BRACKET; } WaitPackingTaskVoGroupClassifyBasket vo = null; if(PackingTask.TASK_RECYCLINGRECORD.equals(task.getTaskType())){ @@ -2758,7 +2762,7 @@ + AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig() + "' " + recyclingAmountConfirmSql - + (StringUtils.isNotBlank(settleAccountsDepartCoding)?" and po.settleAccountsDepartCoding='"+ settleAccountsDepartCoding +"'":StringUtils.EMPTY) + + getQuerySettleAccountsDepartCoding(settleAccountsDepartCoding) + " and td.ancestorID in (select id from TousseDefinition where (hidePackingTask is null or hidePackingTask<>'是') and (forDisplay=1 or tousseType='外来器械拆分小包')) %s %s %s" + ") t group by "+ (orderByWashTime?"t.washTime,":"")+ tousseNameOrBasketSlq + "t.taskType" + oracleOrderBysql @@ -2794,6 +2798,19 @@ return tousseNamesAndTasks; } /** + * 获取装配任务结算科室的过滤 允许只查询结算科室为null的数据 + */ + private String getQuerySettleAccountsDepartCoding(String settleAccountsDepartCoding){ + if(StringUtils.isBlank(settleAccountsDepartCoding)){ + return StringUtils.EMPTY; + } + if(NULLSETTLEACCOUNTSDEPARTCODINGSTR.equals(settleAccountsDepartCoding)){ + return " and po.settleAccountsDepartCoding is null "; + }else{ + return " and po.settleAccountsDepartCoding='"+ settleAccountsDepartCoding +"'"; + } + } + /** * 构建对确认沟通是否隐藏装配任务的过滤条件 * @return "" 或 and (po.recycleAmountNeedConfirm<>'是' or po.recycleAmountNeedConfirm is null) */ @@ -2902,14 +2919,20 @@ while (rs.next()) { JSONObject depart = new JSONObject(); String name = rs.getString("name"); + String settleAccountsDepartCoding = null; + if(org.apache.commons.lang3.StringUtils.isEmpty(name)){ + name = NULLSETTLEACCOUNTSDEPARTCODINGSTR; + settleAccountsDepartCoding = NULLSETTLEACCOUNTSDEPARTCODINGSTR; + }else{ + settleAccountsDepartCoding = rs.getString("settleAccountsDepartCoding"); + } if(readed.contains(name)){ continue; }else{ readed.add(name); } + depart.put("settleAccountsDepartCoding", settleAccountsDepartCoding); depart.put("name", name); - - depart.put("settleAccountsDepartCoding", rs.getString("settleAccountsDepartCoding")); int sequence = rs.getInt("sequence"); depart.put("sequence", sequence == 0?999:sequence); departList.add(depart); @@ -3207,7 +3230,7 @@ + "where " //+ "po.tousseDefinition_id = td.id and " + "ct.tousseDefinitionId=td.ancestorID " - + (StringUtils.isNotBlank(settleAccountsDepartCoding)?" and po.settleAccountsDepartCoding='"+ settleAccountsDepartCoding +"'":StringUtils.EMPTY) + + getQuerySettleAccountsDepartCoding(settleAccountsDepartCoding) //+ "and po.orgUnitCoding = ct.orgUnitCode " + "and (td.tousseType not in('"+TousseDefinition.PACKAGE_TYPE_FOREIGN+"','"+TousseDefinition.PACKAGE_TYPE_SPLIT+"','"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"')) " //外来器械和自定义器械,有专门获取装配任务 + "and ct.taskGroup = '"+taskGroup+"' and po.orgUnitCoding = '" + orgCode + "' and po.unPackAmount > 0 " + recyclingAmountConfirmSql); @@ -3228,7 +3251,7 @@ + " left join IDCardInstance ii on ii.id=ifp.idCardInstanceID " + " left join IDCardDefinition idn on idn.id=ii.idCardDefinitionID " + leftJoinRecyclingRecordSql - + (StringUtils.isNotBlank(settleAccountsDepartCoding)?" and po.settleAccountsDepartCoding='"+ settleAccountsDepartCoding +"'":StringUtils.EMPTY) + + getQuerySettleAccountsDepartCoding(settleAccountsDepartCoding) + "where po.orgUnitCoding = ct.orgUnitCode " + "and (td.tousseType not in('"+TousseDefinition.PACKAGE_TYPE_FOREIGN+"','"+TousseDefinition.PACKAGE_TYPE_SPLIT+"','"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"')) " //外来器械和自定义器械,有专门获取装配任务 + (StringUtils.isNotBlank(settleAccountsDepartCoding)?" and po.settleAccountsDepartCoding='"+ settleAccountsDepartCoding +"'":StringUtils.EMPTY) @@ -3427,7 +3450,7 @@ + leftJoinRecyclingRecordSql + " where (td.tousseType='"+TousseDefinition.PACKAGE_TYPE_FOREIGN + "' or td.tousseType='" + TousseDefinition.PACKAGE_TYPE_SPLIT + "')" + " and po.orgUnitCoding = '" + orgCode + "' " + recyclingAmountConfirmSql - + (StringUtils.isNotBlank(settleAccountsDepartCoding)?" and po.settleAccountsDepartCoding='"+ settleAccountsDepartCoding +"'":StringUtils.EMPTY)); + + getQuerySettleAccountsDepartCoding(settleAccountsDepartCoding)); Container basket = null; if(StringUtils.isNotBlank(basketBarcode)){ //验证篮筐是否清洗 @@ -3562,8 +3585,8 @@ + " left join IDCardInstance ii on ii.id=ifp.idCardInstanceID " + " left join IDCardDefinition idn on idn.id=ii.idCardDefinitionID " + leftJoinRecyclingRecordSql - + "where td.tousseType='"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"' and po.orgUnitCoding = '" + orgCode + "' " - + (StringUtils.isNotBlank(settleAccountsDepartCoding)?" and po.settleAccountsDepartCoding='"+ settleAccountsDepartCoding +"'":StringUtils.EMPTY) + + "where td.tousseType='"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"' and po.orgUnitCoding = '" + orgCode + "' " + + getQuerySettleAccountsDepartCoding(settleAccountsDepartCoding) + recyclingAmountConfirmSql); if(StringUtils.isNotBlank(basketBarcode)){ //验证篮筐是否清洗