Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java =================================================================== diff -u -r33426 -r34122 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java (.../ForeignTousseApplicationManager.java) (revision 33426) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManager.java (.../ForeignTousseApplicationManager.java) (revision 34122) @@ -116,7 +116,8 @@ * @param orgUnitGroupIDs 科室分组ID,多个ID用;分割 * @param startDate 申请开始时间 * @param endDate 申请结束时间 + * @param ids 外来器械包申请单id:1;2;3 * @return */ - public JSONArray printWaitReceiveForeignTousse(Date startDate, Date endDate, String orgUnitGroupIDs); + public JSONArray printForeignTousse(Date startDate, Date endDate, String orgUnitGroupIDs, String ids); } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java =================================================================== diff -u -r34104 -r34122 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 34104) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/action/ForeignTousseApplicationAction.java (.../ForeignTousseApplicationAction.java) (revision 34122) @@ -756,7 +756,7 @@ /** * 在外来器械包申请模块增加【打印待接收外来器械包】功能(GDSZYY-148) */ - public void printWaitReceiveForeignTousse(){ + public void printForeignTousse(){ JSONObject obj = new JSONObject(); try { @@ -775,7 +775,9 @@ Date endDate = StrutsParamUtils.getDatePraramValue("endDate", defaultEndCalendar.getTime(), new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); //科室分组IDs String orgUnitGroupIDs = StrutsParamUtils.getPraramValue("orgUnitGroupID", null); - obj.put("data", foreignTousseApplicationManager.printWaitReceiveForeignTousse(startDate, endDate, orgUnitGroupIDs)); + //选中的外来器械包申请单id,1;2;3 + String ids = StrutsParamUtils.getPraramValue("ids", null); + obj.put("data", foreignTousseApplicationManager.printForeignTousse(startDate, endDate, orgUnitGroupIDs, ids)); obj.put("success", true); } catch (Exception e) { e.printStackTrace(); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r34101 -r34122 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 34101) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 34122) @@ -17,6 +17,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; +import net.sf.json.util.CycleDetectionStrategy; import org.apache.commons.collections.MapUtils; import org.apache.commons.collections4.CollectionUtils; @@ -2409,7 +2410,7 @@ @SuppressWarnings("unchecked") @Override - public JSONArray printWaitReceiveForeignTousse(Date startDate, Date endDate, String orgUnitGroupIDs) { + public JSONArray printForeignTousse(Date startDate, Date endDate, String orgUnitGroupIDs, String ids) { if(startDate == null || endDate == null){ throw new RuntimeException("时间不能为空!"); } @@ -2426,7 +2427,7 @@ if(CollectionUtils.isNotEmpty(orgUnitGroupList)){ for (OrgUnitGroup orgUnitGroup : orgUnitGroupList) { - JSONObject orgUnitGroupJson = printWaitReceiveForeignTousse(startDate, endDate, orgUnitGroup); + JSONObject orgUnitGroupJson = printForeignTousse(startDate, endDate, orgUnitGroup, ids); if(orgUnitGroupJson != null){ result.add(orgUnitGroupJson); } @@ -2444,25 +2445,29 @@ * @return */ @SuppressWarnings("unchecked") - private JSONObject printWaitReceiveForeignTousse(Date startDate, Date endDate, OrgUnitGroup orgUnitGroup) { + private JSONObject printForeignTousse(Date startDate, Date endDate, OrgUnitGroup orgUnitGroup, String ids) { JSONObject result = new JSONObject(); - String orgUnitGroupSql = String.format(" and po.departCoding in (select orgUnitCoding from %s " + + List foreignTousseApplicationList = null; + if(StringUtils.isNotBlank(ids)){ + foreignTousseApplicationList = this.getCollection(ids, ";"); + }else{ + 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(), orgUnitGroup.getId()); - String dateSql = dateQueryAdapter.dateAreaSql("po.applicationTime", - DateTools.getFormatDateStr(startDate, DateTools.COMMON_DATE_HMS), - DateTools.getFormatDateStr(endDate, DateTools.COMMON_DATE_HMS)); - String hql = String.format("select po from %s po where po.recyclingStatus in ('%s','%s') and %s %s order by po.departCoding, po.applicationTime ", - ForeignTousseApplication.class.getSimpleName(), - ForeignTousseApplication.RECYCLINGSTATUS_AWAITRECEIVE, - ForeignTousseApplication.RECYCLINGSTATUS_PARTAWAITRECEIVE, - dateSql, - orgUnitGroupSql); + String dateSql = dateQueryAdapter.dateAreaSql("po.applicationTime", + DateTools.getFormatDateStr(startDate, DateTools.COMMON_DATE_HMS), + DateTools.getFormatDateStr(endDate, DateTools.COMMON_DATE_HMS)); + String hql = String.format("select po from %s po where 1=1 and %s %s order by po.departCoding, po.applicationTime ", + ForeignTousseApplication.class.getSimpleName(), + dateSql, + orgUnitGroupSql); + foreignTousseApplicationList = objectDao.findByHql(hql); + } - List foreignTousseApplicationList = objectDao.findByHql(hql); if(CollectionUtils.isEmpty(foreignTousseApplicationList)){ return null; } @@ -2472,28 +2477,19 @@ JSONArray ftaJSONArray = new JSONArray(); JsonConfig config = new JsonConfig(); config.setJsonPropertyFilter(new JsonPropertyFilter(new String[] { - "applicationItems", "invoice"})); + "applicationItems", "invoice", "adverseEventRecords", "useRecord"})); + config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); for (ForeignTousseApplication fta : foreignTousseApplicationList) { JSONObject json = JSONObject.fromObject(fta, config); //物品名称 List applicationItems = fta.getApplicationItems(); JSONArray tousseArray = new JSONArray(); if(CollectionUtils.isNotEmpty(applicationItems)){ for (TousseItem tousseItem : applicationItems) { - Integer amount = tousseItem.getAmount(); - Integer recyclingAmount = tousseItem.getRecyclingAmount(); - if(amount == null){ - amount = 0; - } - if(recyclingAmount == null){ - recyclingAmount = 0; - } - if(amount > recyclingAmount){ - JSONObject tousseJSON = new JSONObject(); - tousseJSON.put("tousseName", tousseItem.getTousseName()); - tousseJSON.put("supplier", tousseItem.getSupplierName()); - tousseArray.add(tousseJSON); - } + JSONObject tousseJSON = new JSONObject(); + tousseJSON.put("tousseName", tousseItem.getTousseName()); + tousseJSON.put("supplier", tousseItem.getSupplierName()); + tousseArray.add(tousseJSON); } } json.put("applicationItems", tousseArray);