Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r13019 -r13352 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 13019) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 13352) @@ -227,19 +227,19 @@ @Override @SuppressWarnings("unchecked") public List getAwaitForRecyclingInvoicePlan( - int supplyRoomType, String orgUnitCodings) { + int supplyRoomType, String handleDepartCodings) { String sql = "where (po.recyclingStatus = '" + InvoicePlan.RECYCLINGSTATUS_AWAITRECYCLE + "' or po.recyclingStatus = '" + InvoicePlan.RECYCLINGSTATUS_PARTRECYCLE + "') and po.committedStatus=true"; - if (StringUtils.isNotBlank(orgUnitCodings)) { + if (StringUtils.isNotBlank(handleDepartCodings)) { // departCoding字段为字符串,需要加单引号查询 - if (!orgUnitCodings.startsWith("'")){ - orgUnitCodings = "'" + orgUnitCodings + "'"; + if (!handleDepartCodings.startsWith("'")){ + handleDepartCodings = "'" + handleDepartCodings + "'"; } - sql += " and po.handleDepartCoding in (" + orgUnitCodings + ")"; + sql += " and po.handleDepartCoding in (" + handleDepartCodings + ")"; } /*if (supplyRoomType == 1) { sql += " and po.type != '" + InvoicePlan.TYPE_SECOND_SUPPLY_ROOM @@ -256,6 +256,11 @@ sql += " and ( po.includeRecyclingItems is null or po.includeRecyclingItems = " + InvoicePlan.SIGNED_TRUE + " )"; sql += " order by po.sequence,po.departCoding,po.applicationTime"; + + return getWaitingforRecyclingInvoicePlans(sql); + } + + private List getWaitingforRecyclingInvoicePlans(String sql){ List list = null; try { list = objectDao.findBySql(RecyclingApplication.class.getName(), @@ -265,7 +270,23 @@ } return list; } - + public List getWaitingforRecyclingInvoicePlans(String handleDepartCoding,String applicationOrgUnitCoding){ + StringBuilder sb = new StringBuilder(); + sb.append(String.format(" where (po.recyclingStatus in('%s','%s')) and po.committedStatus=true ", InvoicePlan.RECYCLINGSTATUS_AWAITRECYCLE,InvoicePlan.RECYCLINGSTATUS_PARTRECYCLE)); + + if (StringUtils.isNotBlank(handleDepartCoding)) { + sb.append(String.format(" and po.handleDepartCoding='%s' ", handleDepartCoding)); + } + if (StringUtils.isNotBlank(applicationOrgUnitCoding)) { + sb.append(String.format(" and po.departCoding='%s' ", applicationOrgUnitCoding)); + } + // 此处是触摸屏回收待回收列表调用,而触摸屏回收不处理外来器械包,所以要加上过滤 + sb.append(String.format(" and po.type!='%s' ", InvoicePlan.TYPE_FOREIGNTOUSSEAPPLIACTION)); + sb.append(String.format(" and ( po.includeRecyclingItems is null or po.includeRecyclingItems =%s) ", InvoicePlan.SIGNED_TRUE)); + sb.append(" order by po.sequence,po.departCoding,po.applicationTime"); + + return getWaitingforRecyclingInvoicePlans(sb.toString()); + } @Override public List findApplicationItemVOListByInvoicePlanId( String id) { Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java =================================================================== diff -u -r12386 -r13352 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java (.../InvoicePlanManager.java) (revision 12386) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java (.../InvoicePlanManager.java) (revision 13352) @@ -52,6 +52,8 @@ public int getInvoicePlanAmount(String sql); public List getAwaitForRecyclingInvoicePlan(int supplyRoomType,String orgUnitCodings); + + public List getWaitingforRecyclingInvoicePlans(String handleDepartCoding,String applicationOrgUnitCoding); public List findApplicationItemVOListByInvoicePlanId( String id); Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java =================================================================== diff -u -r13317 -r13352 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 13317) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/action/RecyclingRecordAction.java (.../RecyclingRecordAction.java) (revision 13352) @@ -907,26 +907,9 @@ String orgUnitCoding = StrutsParamUtils.getPraramValue("orgUnitCoding", ""); String groupId = StrutsParamUtils.getPraramValue("groupId", ""); - int supplyRoomType = 0; String loginUserDeptCoding = AcegiHelper.getLoginUser() .getOrgUnitCodingFromSupplyRoomConfig(); - SupplyRoomConfig firstSupplyRoom = supplyRoomConfigManager - .getFirstSupplyRoomConfig(); - if (StringUtils.equals(firstSupplyRoom.getOrgUnitCoding(), - loginUserDeptCoding)) { - supplyRoomType = 1; - } else { - List secondRooms = supplyRoomConfigManager - .getSecondSupplyRoomList(); - for (SupplyRoomConfig config : secondRooms) { - if (StringUtils - .equals(loginUserDeptCoding, config.getOrgUnitCoding())) { - supplyRoomType = 2; - break; - } - } - } String deptCodes = null; if(StringUtils.isNotBlank(groupId)){ DepartmentGroup group = departmentGroupManager.getById(groupId); @@ -941,7 +924,7 @@ .getAwaitForRecyclingInvoicePlan(supplyRoomType,orgUnitCoding);*/ List tempInvoicePlans = invoicePlanManager - .getAwaitForRecyclingInvoicePlan(supplyRoomType,loginUserDeptCoding); + .getWaitingforRecyclingInvoicePlans(loginUserDeptCoding,orgUnitCoding); //消毒物品申请单排在最下边 List disinfectApp = new ArrayList();