Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r37779 -r37780 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 37779) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 37780) @@ -1920,9 +1920,6 @@ } //科室供应室配置 SupplyRoomConfig supplyRoomConfig = supplyRoomConfigManager.getSystemParamsObj(); - //关联加急对象的sql语句 - String sqlJoin_UrgentLevel = String.format(" left join %s ul on t.urgentLevel_id = ul.id ", UrgentLevel.class.getSimpleName()); - String sqlSelect_UrgentLevel = String.format(" ,ul.colorCode ulColorCode ,ul.grade ulGrade, ul.name ulName , ul.id ulId "); String sqlSelect_SpellingSql = null; if(openGoodsSearch){ sqlSelect_SpellingSql = ",td.spelling,td.wbCode "; @@ -1932,9 +1929,9 @@ //1、普通器械包、消毒物品、敷料包 String sql = "select * from (select t.reviewBasket_id,t.id id,t.departCoding, t.tousseName name, td.includeImplant, b.barcode, t.sterilingType,tdAncestor.sterilingMethod,t.sterilingMode," + " t.reviewTime,t.isUrgentTousse,tdAncestor.isTraceable, tdAncestor.id tdAncestorId " - + sqlSelect_UrgentLevel + + ",t.urgentLevel_id " + sqlSelect_SpellingSql - + " from tousseinstance t" + sqlJoin_UrgentLevel + + " from tousseinstance t" + " join barcodedevice b on b.id=t.id " + " join TousseDefinition td on td.id=t.tousseDefinition_id " + " join TousseDefinition tdAncestor on tdAncestor.id=td.ancestorID where " @@ -1958,9 +1955,9 @@ if(foreignTousseHandleDepartAndTaskGroupJsonobject != null && StringTools.equals(taskGroup, foreignTousseHandleDepartAndTaskGroupJsonobject.optString("taskGroup"))){ sql += " union all select t.reviewBasket_id,t.id id,t.departCoding, t.tousseName name, td.includeImplant, b.barcode, t.sterilingType,null sterilingMethod,t.sterilingMode," + " t.reviewTime,t.isUrgentTousse, '"+ Constants.STR_YES +"' isTraceable, null tdAncestorId " - + sqlSelect_UrgentLevel + + ",t.urgentLevel_id " + sqlSelect_SpellingSql - + " from tousseinstance t " + sqlJoin_UrgentLevel + + " from tousseinstance t " + " join barcodedevice b on b.id=t.id " + " join TousseDefinition td on td.id=t.tousseDefinition_id " + "where td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGN+"','"+TousseDefinition.PACKAGE_TYPE_SPLIT+"') and t.reviewBasket_id " @@ -1974,9 +1971,9 @@ if(taskGroup.equals(supplyRoomConfig.getCustomTousseDefaultTaskGroup())){ sql += " union all select reviewBasket_id,t.id id,t.departCoding , t.tousseName name, td.includeImplant, b.barcode, t.sterilingType,null sterilingMethod,t.sterilingMode," + " t.reviewTime,t.isUrgentTousse , '"+ Constants.STR_YES +"' isTraceable, null tdAncestorId " - + sqlSelect_UrgentLevel + + ",t.urgentLevel_id " + sqlSelect_SpellingSql - + " from tousseinstance t" + sqlJoin_UrgentLevel + + " from tousseinstance t" + " join barcodedevice b on b.id=t.id " + " join TousseDefinition td on td.id=t.tousseDefinition_id " + "where td.tousseType ='"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"' and t.reviewBasket_id " @@ -1989,9 +1986,9 @@ //4、外部代理灭菌 sql += " union all select t.reviewBasket_id,t.id id,t.departCoding ,t.tousseName name, td.includeImplant, b.barcode, t.sterilingType,tdAncestor.sterilingMethod,t.sterilingMode," + " t.reviewTime,t.isUrgentTousse,tdAncestor.isTraceable, tdAncestor.id tdAncestorId " - + sqlSelect_UrgentLevel + + ",t.urgentLevel_id " + sqlSelect_SpellingSql - + "from tousseinstance t"+ sqlJoin_UrgentLevel + + "from tousseinstance t" + " left join " + InvoicePlan.class.getSimpleName() + " pd on pd.id=t.proxyDisinfection_id " + " join barcodedevice b on b.id=t.id " @@ -2007,9 +2004,9 @@ //2、外来器械包、外来器械拆分小包 sql += " union all select t.reviewBasket_id,t.id id,t.departCoding , t.tousseName name, td.includeImplant, b.barcode, t.sterilingType,null sterilingMethod,t.sterilingMode," + "t.reviewTime,t.isUrgentTousse , '"+ Constants.STR_YES +"' isTraceable, null tdAncestorId " - + sqlSelect_UrgentLevel + + ",t.urgentLevel_id " + sqlSelect_SpellingSql - + "from tousseinstance t " + sqlJoin_UrgentLevel + + "from tousseinstance t " + " join barcodedevice b on b.id=t.id join TousseDefinition td on td.id=t.tousseDefinition_id " + "where td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGN+"','"+TousseDefinition.PACKAGE_TYPE_SPLIT+"') and t.reviewBasket_id " + reviewedBasketSql @@ -2020,9 +2017,9 @@ //3、自定义器械包 sql += " union all select t.reviewBasket_id,t.id id,t.departCoding , t.tousseName name, td.includeImplant, b.barcode, t.sterilingType,null sterilingMethod,t.sterilingMode," + "t.reviewTime,t.isUrgentTousse , '"+ Constants.STR_YES +"' isTraceable, null tdAncestorId " - + sqlSelect_UrgentLevel + + ",t.urgentLevel_id " + sqlSelect_SpellingSql - + " from tousseinstance t " + sqlJoin_UrgentLevel + + " from tousseinstance t " + " join barcodedevice b on b.id=t.id join TousseDefinition td on td.id=t.tousseDefinition_id " + " where td.tousseType ='"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"' and t.reviewBasket_id " + reviewedBasketSql @@ -2033,9 +2030,9 @@ //4、外部代理灭菌 sql += " union all select t.reviewBasket_id,t.id id,t.departCoding ,t.tousseName name, td.includeImplant, b.barcode, t.sterilingType,tdAncestor.sterilingMethod,t.sterilingMode," + "t.reviewTime,t.isUrgentTousse,tdAncestor.isTraceable, tdAncestor.id tdAncestorId " - + sqlSelect_UrgentLevel + + ",t.urgentLevel_id " + sqlSelect_SpellingSql - + "from tousseinstance t"+ sqlJoin_UrgentLevel + + "from tousseinstance t" + " left join " + InvoicePlan.class.getSimpleName() + " pd on pd.id=t.proxyDisinfection_id " + " join barcodedevice b on b.id=t.id " @@ -2180,6 +2177,11 @@ Set fixedTousseDefinitionIds = new HashSet(); Set departCodings = new HashSet(); Map sterilisationMap = getSterilisationMap(); + Map urgentLevelMap = null; + enableUrgentFunction= true; + if(enableUrgentFunction){ + urgentLevelMap = urgentLevelMap(); + } try { while(rs.next()){ TousseSimpleVO vo = new TousseSimpleVO(); @@ -2223,13 +2225,19 @@ vo.setIsUrgentTousse(rs.getString("isUrgentTousse")); vo.setDefinitionName(rs.getString("name")); //加急Vo - if(enableUrgentFunction && DatabaseUtil.isPoIdValid(rs.getLong("ulId"))){ - UrgentLevelVo urgentLevelVo = new UrgentLevelVo(); - urgentLevelVo.setId(rs.getLong("ulId")); - urgentLevelVo.setColorCode(rs.getString("ulColorCode")); - urgentLevelVo.setName(rs.getString("ulName")); - urgentLevelVo.setGrade(rs.getInt("ulGrade")); - vo.setUrgentLevelInfo(urgentLevelVo); + if(enableUrgentFunction && DatabaseUtil.isPoIdValid(rs.getLong("urgentLevel_id"))){ + Long ulId = rs.getLong("urgentLevel_id"); + if(DatabaseUtil.isPoIdValid(ulId) && urgentLevelMap != null && urgentLevelMap.containsKey(ulId)){ + UrgentLevel ul = urgentLevelMap.get(ulId); + if(ul != null){ + UrgentLevelVo urgentLevelVo = new UrgentLevelVo(); + urgentLevelVo.setId(ulId); + urgentLevelVo.setColorCode(ul.getColorCode()); + urgentLevelVo.setName(ul.getName()); + urgentLevelVo.setGrade(ul.getGrade()); + vo.setUrgentLevelInfo(urgentLevelVo); + } + } } ItemDefinitionVO itemDefinitionVO = new ItemDefinitionVO(); itemDefinitionVO.setIncludeImplant(rs.getInt("includeImplant")); @@ -2321,6 +2329,32 @@ return departMap; } /** + * 查询加急的信息 + * @return + */ + private Map urgentLevelMap(){ + Map urgentLevelMap = new HashMap(); + StringBuffer sbf = new StringBuffer(); + sbf.append("select id,colorCode ,grade , name from "); + sbf.append(UrgentLevel.class.getSimpleName()); + ResultSet rs = null; + try { + rs = objectDao.executeSql(sbf.toString()); + while (rs.next()) { + UrgentLevel ul = new UrgentLevel(); + ul.setColorCode(rs.getString("colorCode")); + ul.setGrade(rs.getInt("grade")); + ul.setName(rs.getString("name")); + urgentLevelMap.put(rs.getLong("id"), ul); + } + } catch (Exception e) { + e.printStackTrace(); + }finally { + DatabaseUtil.closeResultSetAndStatement(rs); + } + return urgentLevelMap; + } + /** * 根据器械包祖先包ID查询固定条码 * @param fixedTousseDefinitionIds * @return