Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r33423 -r33426 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 33423) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 33426) @@ -28,6 +28,7 @@ import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.OrgUnit; +import com.forgon.directory.model.OrgUnitGroup; import com.forgon.directory.model.Org_OrgGroup; import com.forgon.directory.service.OrgUnitManager; import com.forgon.directory.vo.LoginUserData; @@ -2335,21 +2336,49 @@ return false; } - @SuppressWarnings("unchecked") @Override - public JSONArray printWaitReceiveForeignTousse(Date startDate, Date endDate, Long orgUnitGroupID) { + public JSONArray printWaitReceiveForeignTousse(Date startDate, Date endDate, String orgUnitGroupIDs) { if(startDate == null || endDate == null){ throw new RuntimeException("时间不能为空!"); } - String orgUnitGroupSql = ""; - if(DatabaseUtil.isPoIdValid(orgUnitGroupID)){ - orgUnitGroupSql = String.format(" and po.departCoding in (select orgUnitCoding from %s " + + JSONArray result = new JSONArray(); + + List orgUnitGroupList = new ArrayList(); + if(StringUtils.isBlank(orgUnitGroupIDs)){ + orgUnitGroupList = objectDao.findAllObjects(OrgUnitGroup.class.getSimpleName()); + }else{ + Collection idCollect = StringTools.toCollectionIgnoreNullAndBlank(orgUnitGroupIDs, ";"); + orgUnitGroupList = objectDao.findByIds(OrgUnitGroup.class.getSimpleName(), new ArrayList(idCollect)); + } + + for (OrgUnitGroup orgUnitGroup : orgUnitGroupList) { + JSONObject orgUnitGroupJson = printWaitReceiveForeignTousse(startDate, endDate, orgUnitGroup); + if(orgUnitGroupJson != null){ + result.add(orgUnitGroupJson); + } + } + + return result; + } + + /** + * 打印某个科室分组的待接收的外来器械包申请单 + * @param startDate + * @param endDate + * @param orgUnitGroup + * @return + */ + @SuppressWarnings("unchecked") + private JSONObject printWaitReceiveForeignTousse(Date startDate, Date endDate, OrgUnitGroup orgUnitGroup) { + + JSONObject result = new JSONObject(); + String orgUnitGroupSql = String.format(" and po.departCoding in (select orgUnitCoding from %s " + "where id in (select orgUnitId from %s where orgGroupId = %s)) ", OrgUnit.class.getSimpleName(), Org_OrgGroup.class.getSimpleName(), - orgUnitGroupID); - } + orgUnitGroup.getId()); String dateSql = dateQueryAdapter.dateAreaSql("po.applicationTime", DateTools.getFormatDateStr(startDate, DateTools.COMMON_DATE_HMS), DateTools.getFormatDateStr(endDate, DateTools.COMMON_DATE_HMS)); @@ -2361,11 +2390,13 @@ orgUnitGroupSql); List foreignTousseApplicationList = objectDao.findByHql(hql); - JSONArray result = new JSONArray(); if(CollectionUtils.isEmpty(foreignTousseApplicationList)){ - return result; + return null; } + result.put("orgUnitGroupID", orgUnitGroup.getId()); + result.put("orgUnitGroupName", orgUnitGroup.getName()); + JSONArray ftaJSONArray = new JSONArray(); for (ForeignTousseApplication fta : foreignTousseApplicationList) { JSONObject json = new JSONObject(); json.put("applicationTime", fta.getApplicationTimeStr()); @@ -2397,9 +2428,9 @@ } } json.put("applicationItems", tousseArray); - result.add(json); + ftaJSONArray.add(json); } - + result.put("applicationList", ftaJSONArray); return result; } } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java =================================================================== diff -u -r33416 -r33426 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 33416) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 33426) @@ -768,9 +768,9 @@ defaultEndCalendar.set(Calendar.SECOND, 59); Date startDate = StrutsParamUtils.getDatePraramValue("startDate", defaultStartCalendar.getTime(), new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); Date endDate = StrutsParamUtils.getDatePraramValue("endDate", defaultEndCalendar.getTime(), new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); - //科室分组ID - Long orgUnitGroupID = StrutsParamUtils.getPraramLongValue("orgUnitGroupID", null); - obj.put("data", foreignTousseApplicationManager.printWaitReceiveForeignTousse(startDate, endDate, orgUnitGroupID)); + //科室分组IDs + String orgUnitGroupIDs = StrutsParamUtils.getPraramValue("orgUnitGroupID", null); + obj.put("data", foreignTousseApplicationManager.printWaitReceiveForeignTousse(startDate, endDate, orgUnitGroupIDs)); obj.put("success", true); } catch (Exception e) { e.printStackTrace(); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java =================================================================== diff -u -r33416 -r33426 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java (.../ForeignTousseApplicationManager.java) (revision 33416) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java (.../ForeignTousseApplicationManager.java) (revision 33426) @@ -113,10 +113,10 @@ /** * 在外来器械包申请模块增加【打印待接收外来器械包】功能(GDSZYY-148) - * @param orgUnitGroupID 科室分组ID + * @param orgUnitGroupIDs 科室分组ID,多个ID用;分割 * @param startDate 申请开始时间 * @param endDate 申请结束时间 * @return */ - public JSONArray printWaitReceiveForeignTousse(Date startDate, Date endDate, Long orgUnitGroupID); + public JSONArray printWaitReceiveForeignTousse(Date startDate, Date endDate, String orgUnitGroupIDs); }