Index: ssts-operationmonitor/src/main/java/com/forgon/disinfectsystem/supplyroomcontrol/service/RaRoomControlHelper.java =================================================================== diff -u -r26152 -r26169 --- ssts-operationmonitor/src/main/java/com/forgon/disinfectsystem/supplyroomcontrol/service/RaRoomControlHelper.java (.../RaRoomControlHelper.java) (revision 26152) +++ ssts-operationmonitor/src/main/java/com/forgon/disinfectsystem/supplyroomcontrol/service/RaRoomControlHelper.java (.../RaRoomControlHelper.java) (revision 26169) @@ -45,7 +45,7 @@ String tousseType = supplyRoomVo.getTousseType(); String dressing = ""; if (!TousseDefinition.PACKAGE_TYPE_DRESSING.equals(tousseType) && !"一次性物品".equals(tousseType)) { - dressing = "rr.recyclingTime as \"recyclingTime\",po.basketName as \"basketName\",po.recyclingAmount as \"recyclingAmount\","; + dressing = "rr.recyclingTime as \"recyclingTime\",po.basketName as \"basketName\",case when ip.recyclingTime is not null then po.recyclingAmount else 0 end as \"recyclingAmount\","; } return "select distinct ip.id as \"id\",po.tousseName as \"tousseName\",po.tousseType as \"tousseType\",ip.type as \"formType\",case when ri.urgentAmount is not null then ri.urgentAmount else po.urgentAmount end AS \"urgentAmount\",po.sendOutAmount as \"sendOutAmount\"," + "po.amount as \"amount\",ip.depart as \"depart\"," + dressing + @@ -90,10 +90,10 @@ String whereSql = String.format(" from TousseItem po join invoicePlan ip on po.RecyclingApplication_id = ip.id " + " left join RecyclingRecord rr on rr.recyclingApplication_id = ip.id" + " left join RecyclingItem ri on rr.id = ri.recyclingRecord_id and ri.tousseDefinitionId = po.toussedefinitionid " - + " where ip.type in (%s) and (ip.applicationTime between %s and %s or ip.recyclingTime between %s and %s) " + + " where (ip.applicationTime between %s and %s or ip.recyclingTime between %s and %s) " + " and ip.committedStatus = 1 " //+ "and (ip.recyclingStatus != '%s' or ip.recyclingStatus is null)" - , SupplyRoomControlManagerImpl.INVOICEPLAN_TYPE, startDateStr, endDateStr, startDateStr, endDateStr); + , startDateStr, endDateStr, startDateStr, endDateStr); //因为自定义回收的不产生申请单,所以RecyclingRecord的recyclingApplication_id是为空,因此要union上RecyclingRecord表中rr.recyclingApplication_id为空的数据 String unionWhere = this.buildUnionSql(supplyRoomVo); whereSql += " union " + unionWhere + ") po where 1=1 "; Index: ssts-operationmonitor/src/main/java/com/forgon/disinfectsystem/supplyroomcontrol/service/WdRoomControlHelper.java =================================================================== diff -u -r26152 -r26169 --- ssts-operationmonitor/src/main/java/com/forgon/disinfectsystem/supplyroomcontrol/service/WdRoomControlHelper.java (.../WdRoomControlHelper.java) (revision 26152) +++ ssts-operationmonitor/src/main/java/com/forgon/disinfectsystem/supplyroomcontrol/service/WdRoomControlHelper.java (.../WdRoomControlHelper.java) (revision 26169) @@ -65,8 +65,9 @@ + " left join RecyclingRecord rr on ci.recyclingRecordId=rr.id " + " left join TousseDefinition td on ci.tousseDefinitionID=td.id " + " where wr.orgUnitCoding = '" + orgUnitCoding + "'" - + " and (ci.itemType = '材料' or ci.itemType in (" + SupplyRoomControlManagerImpl.TOUSSE_TYPE + "))" - + " and wr.recordCreateDate between " + + " and ci.itemType = '材料' " + + " and wr.washMaterialAmount <> 0 " + + " and wr.endDate between " + dateQueryAdapter.dateAdapter(startDate) + " and " + dateQueryAdapter.dateAdapter(endDate);