Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r32800 -r32985 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 32800) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 32985) @@ -3582,6 +3582,10 @@ if(CollectionUtils.isNotEmpty(statusList)){ condition += " and " + SqlUtils.getStringFieldInLargeCollectionsPredicate("po.deliverStatus", statusList); } + String departCode = params.optString("departCode"); + if(StringUtils.isNotBlank(departCode)){ + condition += " and po.departCoding='"+ departCode +"'"; + } String orderBy = " order by po.applicationTime desc"; List proxyDisinfection = objectDao.findBySql( ProxyDisinfection.class.getSimpleName(), condition + orderBy); @@ -3602,6 +3606,7 @@ json.put("applicationTime", proxyDisinfection.getApplicationTimeStr()); json.put("totalAmountOfTousses", proxyDisinfection.getTotalAmountOfTousses()); json.put("status", proxyDisinfection.getDeliverStatus()); + json.put("remark", proxyDisinfection.getRemark()); String tousseBarcodeInBasket = ";"; JSONArray basketsInfo = new JSONArray(); for (int i = 0; i < proxyDisinfection.getReviewedBaskets().size(); i++) { @@ -3744,6 +3749,31 @@ return JSONUtil.buildErrorMsgJsonResult("查无此物品"); } } + + /** + * 在代理灭菌记录列表的上下文,根据条码(流水号)获取代理灭菌记录id + * @param params 参数 + * @return + */ + @SuppressWarnings("unused") + private String getInfoByBarcode_ProxyDisinfectionList(JSONObject params) { + //代理灭菌记录的流水号 + final String serialNumber = params.optString("barcode"); + if (StringUtils.isBlank(serialNumber)) { + return JSONUtil.buildErrorMsgJsonResult("缺失代理灭菌记录流水号参数."); + } + + ProxyDisinfection proxyDisinfection = proxyDisinfectionManager.getProxyDisinfectionBySerialNumber(serialNumber); + if(proxyDisinfection == null){ + return new JSONStringer().object().key("success").value(false).key("message").value(String.format("未找到流水号为%s的代理灭菌单",serialNumber)) + .endObject().toString(); + } + JSONObject result = JSONUtil.buildJsonObject(true); + JSONObject data = new JSONObject(); + data.put("proxyDisinfectionId", proxyDisinfection.getId()); + JSONUtil.addDataProperty(result, data); + return result.toString(); + } @Override public String submitProxyDisinfection(JSONObject params) { @@ -3798,6 +3828,7 @@ proxyDisinfection.setHandleDepart(AcegiHelper.getCurrentOrgUnitName()); proxyDisinfection.setHandleDepartCoding(AcegiHelper.getCurrentOrgUnitCode()); proxyDisinfection.setCommittedStatus(true); + proxyDisinfection.setRemark(params.optString("remark")); } proxyDisinfectionManager.saveOrUpdate(proxyDisinfection, tousseInstanceIdStrs, basketInfos, applicant, "", AcegiHelper.getCurrentOrgUnitCode(), null, hasReceivedTousseInstanceIdJsonArray); @@ -6324,7 +6355,7 @@ /** * pda获取结算科室Json * @param spell 拼音码 - * @param departmentCode 申请科室 + * @param departmentCode 结算科室 */ public String getSettleAccountsDepartJson(JSONObject params) { JSONObject resultObj = new JSONObject(); @@ -6979,5 +7010,38 @@ } return result.toString(); } + + /** + * pda获取供应室列表 + * @param params 申领科室拼音 + */ + public String getCssdDepartJson(JSONObject params){ + JSONObject obj = null; + try { + List orgUnitList = orgUnitManager.searchOrgUnitByRoomTypeSpellOrWbCode("", SupplyRoomConfig.SUPPLYROOM_TYPE_SECOND_SUPPLYROOM, true, true, null, null); + List firstOrgUnitList = orgUnitManager.searchOrgUnitByRoomTypeSpellOrWbCode("", SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM, true, true, null, null); + orgUnitList.addAll(firstOrgUnitList); + List> list = new LinkedList<>(); + if (orgUnitList != null) { + for (int j = 0,size = orgUnitList.size(); j < size; j++) { + Map reMap = new HashMap<>(); + String orgCoding = orgUnitList.get(j).getOrgUnitCoding(); + String orgName = null; + orgName = orgUnitList.get(j).getName(); + //orgName = StringEscapeUtils.escapeEcmaScript(orgName); + reMap.put("id",orgCoding); + reMap.put("departCode",orgCoding); + reMap.put("name",orgName); + list.add(reMap); + } + } + obj = JSONUtil.buildJsonObject(true); + obj.put("data", list); + } catch (Exception e) { + e.printStackTrace(); + obj = JSONUtil.buildJsonObject(false, "获取供应室异常"); + } + return obj.toString(); + } } Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java =================================================================== diff -u -r32875 -r32985 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 32875) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 32985) @@ -645,6 +645,15 @@ } @Override + public ProxyDisinfection getProxyDisinfectionBySerialNumber(String serialNumber){ + if(StringUtils.isNotBlank(serialNumber)){ + return (ProxyDisinfection) objectDao.getByProperty( + ProxyDisinfection.class.getSimpleName(), "serialNumber", serialNumber); + } + return null; + } + + @Override public void changeResendout(String proxyDisinfectionId, String resendout) { if(!DatabaseUtil.isPoIdValid(proxyDisinfectionId)){ Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManager.java =================================================================== diff -u -r32835 -r32985 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManager.java (.../ProxyDisinfectionManager.java) (revision 32835) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManager.java (.../ProxyDisinfectionManager.java) (revision 32985) @@ -64,8 +64,15 @@ * @return */ public List getProxyDisinfectionBySql(String dateSql); - + /** + * 根据流水号查询代理灭菌单记录 + * @param serialNumber + * @return + */ + public ProxyDisinfection getProxyDisinfectionBySerialNumber(String serialNumber); + + /** * 重新修改代理灭菌单的是否二次发货的值。由干预管理调用. * @param proxyDisinfectionId 代理灭菌单的id,可能为无效值 * @param resendout 是否二次发货的新的值,可能是无效值(不是"是",也不是"否")。此处的处理,这个值只能是"是"或者是"否",否则都会抛出异常