Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java =================================================================== diff -u -r32843 -r32875 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 32843) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/proxydisinfection/service/ProxyDisinfectionManagerImpl.java (.../ProxyDisinfectionManagerImpl.java) (revision 32875) @@ -145,7 +145,7 @@ } saveOrUpdate(proxyDisinfection);//先保存,获取id Set tousseInstanceList = getTousseInstanceAndReviewedBasketInfo(proxyDisinfection, tousseInstanceIdStrs, - basketInfos,loginUserName,loginUserCode); + basketInfos,loginUserName,loginUserCode, loginUserOrgUnitCode); saveOrUpdate(proxyDisinfection); if(tousseInstanceList != null){ for (TousseInstance ti : tousseInstanceList) { @@ -242,7 +242,7 @@ */ private Set getTousseInstanceAndReviewedBasketInfo( ProxyDisinfection proxyDisinfection, String[] tousseInstanceIdStrs, - JSONArray basketInfos,String loginUserName,String loginUserCode) { + JSONArray basketInfos,String loginUserName,String loginUserCode, String loginUserOrgUnitCode) { //处理PDA端在发货前打开,发货后再保存问题。 if (proxyDisinfection != null) { if (proxyDisinfection.partDelivered() @@ -253,7 +253,9 @@ } Long id = proxyDisinfection.getId(); - + //代理灭菌单里的包进行增删后,要记录在PC端的备注字段里, + //备注信息显示如:XXX(用户)增加了xxxxxx(条码)器械包,XXX(用户)删除了xxxxxx(条码)器械包 + String remark = ""; // 新的代理灭菌器械包列表 Set newProxyTousseInstanceList = new HashSet(); @@ -288,6 +290,11 @@ ti.setProxyDisinfection_id(null); ti.setHasReceived(null); objectDao.save(ti); + if(StringUtils.isBlank(remark)){ + remark += loginUserName + "删除了" + ti.getBarcode() + "器械包"; + }else{ + remark += "," + loginUserName + "删除了" + ti.getBarcode() + "器械包"; + } } } @@ -411,6 +418,13 @@ double fPrice = supplyRoomConfigManager.getTousseFluctuationPrice(proxyPrice); tousseInstance.setFluctuationPrice(fPrice); tousseInstance.setDiscountPriceBySelf(); + if(tousseInstance.getProxyDisinfection_id() == null){ + if(StringUtils.isBlank(remark)){ + remark += loginUserName + "增加了" + tousseInstance.getBarcode() + "器械包"; + }else{ + remark += "," + loginUserName + "增加了" + tousseInstance.getBarcode() + "器械包"; + } + } } // 设置发货物品明细 @@ -435,6 +449,15 @@ } } proxyDisinfection.setApplicationItems(tousseItemList); + if((StringUtils.equals(proxyDisinfection.getDeliverStatus(), ProxyDisinfection.RECYCLINGSTATUS_AWAITRECEIVE) + || StringUtils.equals(proxyDisinfection.getDeliverStatus(), ProxyDisinfection.RECYCLINGSTATUS_PARTAWAITRECEIVE)) + && StringUtils.equals(loginUserOrgUnitCode, proxyDisinfection.getHandleDepartCoding())){ + //一级供应室(处理科室)在PC端或PDA端对通过今日本组装配记录/历史装配记录生成的代理灭菌单里的包进行增删后,要记录在PC端的备注字段里 + if(StringUtils.isNotBlank(proxyDisinfection.getRemark())){ + remark = proxyDisinfection.getRemark() + "," + remark; + } + proxyDisinfection.setRemark(remark); + } return newProxyTousseInstanceList; } /** @@ -805,8 +828,19 @@ } }else{ // 核对器械包实例(一级供应室用户登录,打开待接收的代理灭菌,扫描了单上不存在的物品时,提示“012454097缝合包未生成代理灭菌单,请联系XX科室!”) - message = barcode + tousseInstance.getTousseName() + "未生成代理灭菌单,请联系" + tousseInstance.getOrgUnitName() + "!"; - success = false; + //message = barcode + tousseInstance.getTousseName() + "未生成代理灭菌单,请联系" + tousseInstance.getOrgUnitName() + "!"; + //success = false; + Long id = tousseInstance.getId(); + String name = tousseInstance.getTousseDefinition() + .getName(); + json.put("id", id); + json.put("name", name); + json.put("produceDeptCode", tousseInstance.getOrgUnitCoding()); + json.put("produceDeptName", tousseInstance.getOrgUnitName()); + json.put("status", tousseInstance.getStatus()); + json.put("type", BarcodeDevice.BARCODE_TYPE_PACKAGE); + json.put("receiveTousse", true); + success = true; } }else if (StringUtils.isNotEmpty(tousseInstance.getOrgUnitCoding()) && (StringUtils.isBlank(handleDepartCoding) || StringUtils.equals(tousseInstance.getOrgUnitCoding(), handleDepartCoding))) {