Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingRecordVo.java =================================================================== diff -u --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingRecordVo.java (revision 0) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingRecordVo.java (revision 28616) @@ -0,0 +1,151 @@ +package com.forgon.disinfectsystem.recyclingrecord.vo; + +import java.util.Date; + +import com.forgon.Constants; +/** + * 回收记录列表vo + * @author zc.li + * 20200804 + */ +public class RecyclingRecordVo { + /** + * 回收记录id + */ + private Long id; + /** + * 装配任务的编号 + */ + private String packingTaskSerialNumber; + /** + * 申请科室的名称 + */ + private String depart; + /** + * 回收状态 + * 未确认、已确认 + */ + private String status = STATUS_SAVED; + public static final String STATUS_CONFIRMED = "已确认"; + public static final String STATUS_UNCONFIRMED = "未确认"; + public static final String STATUS_SAVED = "已保存"; + /** + * 只供召回已灭菌的器械包时,在转换成回收单时要将状态改为未保存 + */ + public static final String STATUS_UNSAVED = "未保存"; + /** + * 回收时间 + */ + private Date recyclingTime; + /** + * 操作员,就是页面上的清点人 + */ + private String operator; + /** + * 申请单类型 + */ + private String recyclingApplicationType; + /** + * 备注 + */ + private String remark; + /** + * 申请单提交时间 + */ + private Date applySubmintDateTime; + /** + * 回收数量是否需要确认。DGSFYBJY-12 申请数量跟回收数量不一致,需要确认。此值为是表示需要确认,其他都不需要确认。默认为否 + */ + private String recycleAmountNeedConfirm = Constants.STR_NO; + /** + * 回收物品是否包含加急数量(RecyclingRecord没有的字段) + */ + private Boolean includingUrgent; + /** + * 手术间 申请单上的字段 + */ + private String operationRoom; + /** + * 回收状态 申请单上的字段 + */ + private String recyclingStatus; + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + public String getPackingTaskSerialNumber() { + return packingTaskSerialNumber; + } + public void setPackingTaskSerialNumber(String packingTaskSerialNumber) { + this.packingTaskSerialNumber = packingTaskSerialNumber; + } + public String getDepart() { + return depart; + } + public void setDepart(String depart) { + this.depart = depart; + } + public String getStatus() { + return status; + } + public void setStatus(String status) { + this.status = status; + } + public Date getRecyclingTime() { + return recyclingTime; + } + public void setRecyclingTime(Date recyclingTime) { + this.recyclingTime = recyclingTime; + } + public String getOperator() { + return operator; + } + public void setOperator(String operator) { + this.operator = operator; + } + public String getRecyclingApplicationType() { + return recyclingApplicationType; + } + public void setRecyclingApplicationType(String recyclingApplicationType) { + this.recyclingApplicationType = recyclingApplicationType; + } + public String getRemark() { + return remark; + } + public void setRemark(String remark) { + this.remark = remark; + } + public Date getApplySubmintDateTime() { + return applySubmintDateTime; + } + public void setApplySubmintDateTime(Date applySubmintDateTime) { + this.applySubmintDateTime = applySubmintDateTime; + } + public String getRecycleAmountNeedConfirm() { + return recycleAmountNeedConfirm; + } + public void setRecycleAmountNeedConfirm(String recycleAmountNeedConfirm) { + this.recycleAmountNeedConfirm = recycleAmountNeedConfirm; + } + public Boolean getIncludingUrgent() { + return includingUrgent; + } + public void setIncludingUrgent(Boolean includingUrgent) { + this.includingUrgent = includingUrgent; + } + public String getOperationRoom() { + return operationRoom; + } + public void setOperationRoom(String operationRoom) { + this.operationRoom = operationRoom; + } + public String getRecyclingStatus() { + return recyclingStatus; + } + public void setRecyclingStatus(String recyclingStatus) { + this.recyclingStatus = recyclingStatus; + } +} + Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r28583 -r28616 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 28583) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 28616) @@ -97,6 +97,7 @@ import com.forgon.disinfectsystem.recyclingrecord.vo.RecyclingContext; import com.forgon.disinfectsystem.recyclingrecord.vo.RecyclingPrintData; import com.forgon.disinfectsystem.recyclingrecord.vo.RecyclingPrintItem; +import com.forgon.disinfectsystem.recyclingrecord.vo.RecyclingRecordVo; import com.forgon.disinfectsystem.recyclingrecord.vo.SimpleTousseItem; import com.forgon.disinfectsystem.recyclingrecord.vo.SimpleTousseItemImpl; import com.forgon.disinfectsystem.recyclingrecord.vo.TousseDefinitionAble; @@ -4510,20 +4511,20 @@ boolean enableUrgentFunction = CssdUtils.getSystemSetConfigByNameBool("enableUrgentFunction", false); String extraQuery = ""; if(enableUrgentFunction){ - extraQuery = ",ul.id ulId,ul.name ulName,ul.colorCode,ul.colorName,ul.grade ulGrade "; + extraQuery = ",ul.id ulId,ul.name ulName,ul.colorCode,ul.colorName,ul.grade ulGrade,case when sum(ri.urgentAmount)>0 then 1 else 0 end includingUrgent "; } boolean showORRoomColumnInHistoryRecyclingRecordList = CssdUtils.getSystemSetConfigByNameBool("showORRoomColumnInHistoryRecyclingRecordList", false); if(showORRoomColumnInHistoryRecyclingRecordList){ extraQuery += ",p.operationRoom "; } - RecyclingRecordListSqlGenerator sqlGenerator = new RecyclingRecordListSqlGenerator(dbConnection,start,end,filterJson,extraQuery); + RecyclingRecordListSqlGenerator sqlGenerator = new RecyclingRecordListSqlGenerator(enableUrgentFunction, dbConnection,start,end,filterJson,extraQuery); String sql = sqlGenerator.getListSql(); - List records = new ArrayList(); + List recordVos = new ArrayList(); ResultSet rs = objectDao.executeSql(sql); try { while (rs.next()) { SerialNum serialNum = serialNumManager.getSerialNumber(SerialNum.TYPE_PACKING_TASK); - RecyclingRecord record = new RecyclingRecord(); + RecyclingRecordVo record = new RecyclingRecordVo(); String serialNumStr = serialNumManager.variablePart(serialNum, rs.getString("packingTaskSerialNumber")); record.setPackingTaskSerialNumber(StringTools.getDefaultString(serialNumStr)); record.setId(rs.getLong("id")); @@ -4534,28 +4535,21 @@ record.setRecyclingApplicationType(rs.getString("recyclingApplicationType")); record.setRemark(StringTools.getDefaultString(rs.getString("remark"))); record.setApplySubmintDateTime(rs.getTimestamp("submitTime")); - record.setRecycleAmountNeedConfirm(rs.getString("recycleAmountNeedConfirm")); - InvoicePlan ip = new InvoicePlan(); + record.setRecycleAmountNeedConfirm(rs.getString("recycleAmountNeedConfirm")); if(enableUrgentFunction){ - Long ulId = rs.getLong("ulId"); - UrgentLevel urgentLevel = null; - if(ulId != null){ - urgentLevel = new UrgentLevel(); - urgentLevel.setName(rs.getString("ulName")); - urgentLevel.setColorCode(rs.getString("colorCode")); - urgentLevel.setColorName(rs.getString("colorName")); - urgentLevel.setGrade(rs.getInt("ulGrade")); - urgentLevel.setId(ulId); + int includingUrgent = rs.getInt("includingUrgent"); + if(includingUrgent == 1){ + record.setIncludingUrgent(true); + }else{ + record.setIncludingUrgent(false); } - ip.setUrgentLevel(urgentLevel); } if(showORRoomColumnInHistoryRecyclingRecordList){ - ip.setOperationRoom(rs.getString("operationRoom")); + record.setOperationRoom(rs.getString("operationRoom")); } - ip.setRecyclingStatus(rs.getString("recyclingStatus")); - record.setRecyclingApplication(ip); + record.setRecyclingStatus(rs.getString("recyclingStatus")); // 设置申请单状态 - records.add(record); + recordVos.add(record); } } catch (SQLException e) { e.printStackTrace(); @@ -4568,7 +4562,7 @@ map.put("totalPage", totalCount / 20 + (totalCount % 20 == 0 ? 0 : 1)); map.put("pageConfigMessage", "显示" + start + "-" + (end > totalCount?totalCount:end) + ",共" + totalCount + "条"); - map.put("data", records); + map.put("data", recordVos); JSONObject jsonObject = JSONObject.fromObject(map); return jsonObject; } Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordListSqlGenerator.java =================================================================== diff -u -r28505 -r28616 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordListSqlGenerator.java (.../RecyclingRecordListSqlGenerator.java) (revision 28505) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordListSqlGenerator.java (.../RecyclingRecordListSqlGenerator.java) (revision 28616) @@ -35,7 +35,8 @@ private long start = 0; private long end = 0; private String extraQuery; - public RecyclingRecordListSqlGenerator(InitDbConnection dbConnection,long start,long end,String filterJsonStr, String extraQuery) { + private boolean enableUrgentFunction = false; + public RecyclingRecordListSqlGenerator(boolean enableUrgentFunction, InitDbConnection dbConnection,long start,long end,String filterJsonStr, String extraQuery) { this.dbConnection = dbConnection; this.dateQueryAdapter = new DateQueryAdapter(); this.dateQueryAdapter.setDbConnection(dbConnection); @@ -46,6 +47,7 @@ this.invoicePlanPoName = "p"; this.filterSql = buildRecyclingRecordFilterSql(); this.extraQuery = extraQuery; + this.enableUrgentFunction = enableUrgentFunction; } private String buildRecyclingRecordFilterSql(){ JSONObject jsonObj = JSONObject.fromObject(filterJsonStr); @@ -147,10 +149,11 @@ String orgUnitCodingFromSupplyRoomConfig = AcegiHelper.getLoginUser() .getOrgUnitCodingFromSupplyRoomConfig(); - boolean enableUrgentFunction = CssdUtils.getSystemSetConfigByNameBool("enableUrgentFunction", false); String joinSqlOfUrgent = ""; - if(enableUrgentFunction){ - joinSqlOfUrgent = " left join UrgentLevel ul on p.urgentLevel_id=ul.id "; + String groupBySql = ""; + if(this.enableUrgentFunction){ + joinSqlOfUrgent = " left join UrgentLevel ul on p.urgentLevel_id=ul.id left join RecyclingItem ri on ri.recyclingRecord_id=r.id "; + groupBySql = " group by r.id,r.communicationUserCode,r.communicationUserName,r.depart,r.departCode,r.departmentSender,r.operator,r.orgUnitCoding,r.packingTaskSerialNumber,r.recycleAmountNeedConfirm,r.recyclingApplicationType,r.recyclingTime,r.recyclingUser,r.status,r.recyclingApplication_id,p.type,p.remark,p.submitTime,p.recyclingStatus ,ul.id ,ul.name ,ul.colorCode,ul.colorName,ul.grade "; } String recyclingAmountNeedConfirmOrder = ""; if(CssdUtils.getSystemSetConfigByNameBool("confirmRecyclingAmount",false)){ @@ -166,6 +169,7 @@ + orgUnitCodingFromSupplyRoomConfig + "' and " + filterSql + + groupBySql + " order by " +recyclingAmountNeedConfirmOrder+" r.recyclingTime desc) A"; String tempSql2 = "(SELECT TOP " + (start - 1) @@ -185,6 +189,7 @@ + orgUnitCodingFromSupplyRoomConfig + "' and " + filterSql + + groupBySql + " order by " + recyclingAmountNeedConfirmOrder+" r.recyclingTime desc) A WHERE ROWNUM <= " + end + ")WHERE RN >= " + start;