Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManager.java =================================================================== diff -u -r41397 -r41416 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManager.java (.../WashAndDisinfectRecordManager.java) (revision 41397) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManager.java (.../WashAndDisinfectRecordManager.java) (revision 41416) @@ -255,9 +255,10 @@ * 获取待清洗篮筐列表 * 优化版 * @param settleAccountsDepartCoding 结算科室编码 + * @param excludeContainerBarcodes 排除掉不查询的篮筐条码 * @return */ - public JSONArray getPendingWashAndDisinfectTousseAndBasket2(String settleAccountsDepartCoding); + public JSONArray getPendingWashAndDisinfectTousseAndBasket2(String settleAccountsDepartCoding, String excludeContainerBarcodes); /** * 根据篮筐条码加载每个篮筐实例的内容 Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java =================================================================== diff -u -r41397 -r41416 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 41397) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/service/WashAndDisinfectRecordManagerImpl.java (.../WashAndDisinfectRecordManagerImpl.java) (revision 41416) @@ -3764,9 +3764,9 @@ } @Override - public JSONArray getPendingWashAndDisinfectTousseAndBasket2(String settleAccountsDepartCoding) { + public JSONArray getPendingWashAndDisinfectTousseAndBasket2(String settleAccountsDepartCoding, String excludeContainerBarcodes) { //1、获取待清洗篮筐列表数据 - List pendingWashBasketVos = classifyBasketManager.loadPendingWashBasketAndClassifiedItemInfos(settleAccountsDepartCoding); + List pendingWashBasketVos = classifyBasketManager.loadPendingWashBasketAndClassifiedItemInfos(settleAccountsDepartCoding, excludeContainerBarcodes); JSONArray resultArray = new JSONArray(); JSONArray notTimeoutJsonArray = new JSONArray();//未超时的篮筐,需要放在后面 TimeoutSetting timeoutSetting = timeoutManager.getTimeoutSetting(TimeoutManager.PROCEDURE_RECYCLE_TO_WASH); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/ClassifyBasketManagerImpl.java =================================================================== diff -u -r41397 -r41416 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/ClassifyBasketManagerImpl.java (.../ClassifyBasketManagerImpl.java) (revision 41397) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/ClassifyBasketManagerImpl.java (.../ClassifyBasketManagerImpl.java) (revision 41416) @@ -182,9 +182,9 @@ } @Override - public List loadPendingWashBasketAndClassifiedItemInfos(String settleAccountsDepartCoding){ + public List loadPendingWashBasketAndClassifiedItemInfos(String settleAccountsDepartCoding, String excludeContainerBarcodes){ //sql语句 - String sql = getPendingWashBasketAndClassifiedItemSql(settleAccountsDepartCoding); + String sql = getPendingWashBasketAndClassifiedItemSql(excludeContainerBarcodes); List pendingWashBasketDtos = new ArrayList(); List classifiedItemInfoDtoVos = new ArrayList(); //1、获取待清洗篮筐列表数据 @@ -214,7 +214,11 @@ pWBasketDto.setContainerBarcode(rs.getString("containerBarcode"));//清洗篮框条码 pWBasketDto.setIdcardBarcode(rs.getString("curIdCardInstanceBarcode"));//标识牌条码 pWBasketDto.setRecyclingTime(recyclingTime); - pendingWashBasketDtos.add(pWBasketDto); + String washBasketSettleAccountsDepartCoding = rs.getString("settleAccountsDepartCoding"); + if(StringUtils.isBlank(settleAccountsDepartCoding) || StringUtils.equals(settleAccountsDepartCoding, washBasketSettleAccountsDepartCoding)){ + //只查询指定结算科室的清洗篮筐GDSKQYY-23 + pendingWashBasketDtos.add(pWBasketDto); + } } //2、全部待清洗篮框装载的物品Vo信息(未合并数量) Long classifybasket_id = rs.getLong("classifybasket_id");//清洗篮框id @@ -266,7 +270,7 @@ * 获取sql语句:待清洗篮框信息及篮框明细物品信息 * @return string */ - private String getPendingWashBasketAndClassifiedItemSql(String settleAccountsDepartCoding) { + private String getPendingWashBasketAndClassifiedItemSql(String excludeContainerBarcodes) { //String coding = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); //String codingSql = StringUtils.isBlank(coding)?"1=1":String.format("c.departCode='%s'",coding); StringBuilder sql = new StringBuilder(); @@ -276,7 +280,7 @@ " ci.classifybasket_id,ci.name,ci.amount,ci.orgUnitName,ci.ItemType,ci.materialdefinition_id,ci.toussedefinition_id, "+ " md.id,md.name mdName,md.specification mdSpecification, "+ " td.id,td.tousseType,td.ancestorID, "+ - " rr.depart recyclingDepart ,rr.recyclingTime ciRecyclingTime,ci.numOfUnwashedStops "); + " rr.depart recyclingDepart ,rr.recyclingTime ciRecyclingTime,ci.numOfUnwashedStops, ip.settleAccountsDepartCoding "); //from join sql.append(" from Container c " + " join ClassifyBasket cb on cb.containerName = c.containerName"+ @@ -285,14 +289,12 @@ " left join MaterialDefinition md on md.id = ci.materialdefinition_id "+ " left join TousseDefinition td on td.id = ci.toussedefinition_id "+ " left join RecyclingRecord rr on rr.id = ci.recyclingRecordId "); - if(StringUtils.isNotBlank(settleAccountsDepartCoding)){ - sql.append(" left join InvoicePlan ip on ip.id = rr.recyclingApplication_id "); - } + sql.append(" left join InvoicePlan ip on ip.id = rr.recyclingApplication_id "); //where sql.append(this.getPendingWashBasketAndClassifiedItemWhereSql()); - if(StringUtils.isNotBlank(settleAccountsDepartCoding)){ - sql.append(" and ip.settleAccountsDepartCoding = '" + settleAccountsDepartCoding + "'"); + if(StringUtils.isNotBlank(excludeContainerBarcodes)){ + sql.append(String.format(" and %s ", SqlUtils.getStringFieldNotInCollectionsPredicate("cb.containerBarcode", SqlUtils.splitStringToSet(excludeContainerBarcodes, ";")))); } //order Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/ClassifyBasketManager.java =================================================================== diff -u -r41397 -r41416 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/ClassifyBasketManager.java (.../ClassifyBasketManager.java) (revision 41397) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/ClassifyBasketManager.java (.../ClassifyBasketManager.java) (revision 41416) @@ -78,9 +78,10 @@ /** * 查询待清洗篮筐信息 * @param settleAccountsDepartCoding 清洗篮筐在回收记录单上的申请科室所对应的结算科室 + * @param excludeContainerBarcodes 排除掉不查询的篮筐条码 * @return */ - public List loadPendingWashBasketAndClassifiedItemInfos(String settleAccountsDepartCoding); + public List loadPendingWashBasketAndClassifiedItemInfos(String settleAccountsDepartCoding, String excludeContainerBarcodes); /** * 获取篮筐的清洗记录条数 * @param classifyBasketId Index: ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/ClassifyBasketManagerTest.java =================================================================== diff -u -r41406 -r41416 --- ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/ClassifyBasketManagerTest.java (.../ClassifyBasketManagerTest.java) (revision 41406) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/ClassifyBasketManagerTest.java (.../ClassifyBasketManagerTest.java) (revision 41416) @@ -148,7 +148,7 @@ */ @Test public void loadPendingWashBasketAndClassifiedItemInfosTest(){ - List pendingWashBasketDtoList = classifyBasketManager.loadPendingWashBasketAndClassifiedItemInfos(settleAccountsDepartCoding); + List pendingWashBasketDtoList = classifyBasketManager.loadPendingWashBasketAndClassifiedItemInfos(settleAccountsDepartCoding, null); assertTrue(pendingWashBasketDtoList.size() > 0); PendingWashBasketDto targetPendingWashBasketDto = null; for (PendingWashBasketDto pendingWashBasketDto : pendingWashBasketDtoList) { @@ -158,6 +158,11 @@ } } assertNotNull(targetPendingWashBasketDto); + //增加排除的篮筐条码过滤 + pendingWashBasketDtoList = classifyBasketManager.loadPendingWashBasketAndClassifiedItemInfos(settleAccountsDepartCoding, containerBarcode); + if(pendingWashBasketDtoList != null){ + assertTrue(pendingWashBasketDtoList.size() == 0); + } } /** Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java =================================================================== diff -u -r41397 -r41416 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java (.../WashAndDisinfectRecordAction.java) (revision 41397) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/action/WashAndDisinfectRecordAction.java (.../WashAndDisinfectRecordAction.java) (revision 41416) @@ -405,7 +405,9 @@ // JSONArray jsonArray = washAndDisinfectRecordManager.getPendingWashAndDisinfectTousseAndBasket(); //清洗篮筐在回收记录单上的申请科室所对应的结算科室 String settleAccountsDepartCoding = StrutsParamUtils.getPraramValue("settleAccountsDepartCoding", ""); - JSONArray jsonArray = washAndDisinfectRecordManager.getPendingWashAndDisinfectTousseAndBasket2(settleAccountsDepartCoding); + //排除掉不查询的篮筐条码 + String excludeContainerBarcodes = StrutsParamUtils.getPraramValue("excludeContainerBarcodes", ""); + JSONArray jsonArray = washAndDisinfectRecordManager.getPendingWashAndDisinfectTousseAndBasket2(settleAccountsDepartCoding, excludeContainerBarcodes); StrutsResponseUtils.output(jsonArray); } catch (Exception e) { e.printStackTrace();