Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java =================================================================== diff -u -r31421 -r31472 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 31421) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/action/SterilizationRecordAction.java (.../SterilizationRecordAction.java) (revision 31472) @@ -691,6 +691,7 @@ String result = null; LoginUserData loginUser = AcegiHelper.getLoginUser(); try { + //String sterilizerUseStatus = StrutsParamUtils.getPraramValue("sterilizerUseStatus", ""); String barcodeStr = StrutsParamUtils.getPraramValue("barcode", ""); String[] barcodeArray = barcodeStr.split(";"); String barcode = barcodeArray[0]; @@ -719,10 +720,14 @@ String sanceMsg = String.format("扫描条码:%s,类型: %s,名称:%s", barcode,container.getContainerType(),container.getContainerName()); appLogManager.saveLog(loginUser, Log.MODEL_STERILIZATION, "扫描", sanceMsg); } else if (barcodeDevice instanceof Sterilizer) {// 灭菌炉 - result = STERILIZER; Sterilizer sterilizer = (Sterilizer) barcodeDevice; - String sanceMsg = String.format("扫描条码:%s,类型: %s,名称:%s", barcode,"灭菌炉",sterilizer.getName()); - appLogManager.saveLog(loginUser, Log.MODEL_STERILIZATION, "扫描", sanceMsg); + if(!StringUtils.equals(sterilizer.getUseStatus(), Sterilizer.USESTATUS_IN_USE)){ + result = "该灭菌炉的使用状态为" + sterilizer.getUseStatus() + ",不能使用!"; + }else{ + result = STERILIZER; + String sanceMsg = String.format("扫描条码:%s,类型: %s,名称:%s", barcode,"灭菌炉",sterilizer.getName()); + appLogManager.saveLog(loginUser, Log.MODEL_STERILIZATION, "扫描", sanceMsg); + } } else if (barcodeDevice instanceof Sterilisation) {// 灭菌程序 result = STERILISATION; Sterilisation sterilsation = (Sterilisation)barcodeDevice; Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/barcode/dwr/table/BarcodeTableManager.java =================================================================== diff -u -r22860 -r31472 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/barcode/dwr/table/BarcodeTableManager.java (.../BarcodeTableManager.java) (revision 22860) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/barcode/dwr/table/BarcodeTableManager.java (.../BarcodeTableManager.java) (revision 31472) @@ -12,6 +12,7 @@ import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseInstanceUtils; import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; +import com.forgon.disinfectsystem.entity.basedatamanager.rinser.Rinser; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.idcarddefinition.IDCardDefinition; import com.forgon.disinfectsystem.entity.idcardinstance.IDCardInstance; @@ -115,7 +116,12 @@ }else if(barcodeDevice.getType()!=null && barcodeDevice.getType().equals(BarcodeDevice.BARCODE_TYPE_CLEANMETHOD)){ obj.put("returnType", "cleanmethod"); }else if(barcodeDevice.getType()!=null && barcodeDevice.getType().equals(BarcodeDevice.BARCODE_TYPE_RINSER)){ - obj.put("returnType", "rinser"); + Rinser rinser = (Rinser) barcodeDevice; + if(!StringUtils.equals(rinser.getUseStatus(), Rinser.USESTATUS_IN_USE)){ + obj.put("message", String.format("该清洗机的使用状态为%s,不能使用!", rinser.getUseStatus())); + }else{ + obj.put("returnType", "rinser"); + } }else if(barcodeDevice instanceof IDCardInstance){ obj.put("returnType", "tousseInstance"); }else if(barcodeDevice.getType()!=null && barcodeDevice.getType().equals(BarcodeDevice.BARCODE_TYPE_POSITION)){ Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilizer/action/SterilizerAction.java =================================================================== diff -u -r31033 -r31472 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilizer/action/SterilizerAction.java (.../SterilizerAction.java) (revision 31033) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilizer/action/SterilizerAction.java (.../SterilizerAction.java) (revision 31472) @@ -308,6 +308,7 @@ * */ public void getAllSterilizer() { + String useStatus = StrutsParamUtils.getPraramValue("useStatus", ""); String needFilter = StrutsParamUtils.getPraramValue("needFilter", "true"); //是否需要过滤(在器械包信息页面中的灭菌炉获取中,不需要进行过滤,需要显示全部的灭菌炉) Query query = null; if(needFilter.equals("true")){ @@ -319,14 +320,23 @@ if (StringUtils.isNotBlank(ownGroup)){ queryString += " and ownGroup = :ownGroup"; } + if(StringUtils.isNotBlank(useStatus)){ + queryString += " and useStatus = :useStatus"; + } query = objectDao.getHibernateSession().createQuery(queryString); query.setParameter("orgUnitCoding", departCoding); if (StringUtils.isNotBlank(ownGroup)){ query.setParameter("ownGroup", ownGroup); - } + } + if(StringUtils.isNotBlank(useStatus)){ + query.setParameter("useStatus", useStatus); + } }else{ //不需要根据科室和组进行过滤 String queryString = "from " + Sterilizer.class.getSimpleName(); + if(StringUtils.isNotBlank(useStatus)){ + queryString += " and useStatus = '" + useStatus + "'"; + } query = objectDao.getHibernateSession().createQuery(queryString); } List sterilizerList = query.list(); @@ -535,6 +545,30 @@ StrutsResponseUtils.output(true, jsonArray); } + /** + * 清洗机排序 + */ + public void orderSterilizerList(){ + //id和顺序号的关联关系:1@1;2@2 + String orderList = StrutsParamUtils.getPraramValue("orderList", null); + String message = ""; + try { + if(StringUtils.isNotBlank(orderList)){ + Map orderMap = new HashMap(); + String[] orderListArr = orderList.split(";"); + for (String order : orderListArr) { + String[] orderArr = order.split("@"); + orderMap.put(Long.parseLong(orderArr[0]), Integer.parseInt(orderArr[1])); + } + sterilizerManager.orderSterilizerList(orderMap); + } + } catch (Exception e) { + e.printStackTrace(); + message = e.getMessage(); + } + StrutsResponseUtils.output(true, message); + } + public void iniInfo() { try { Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/sterilizer/Sterilizer.java =================================================================== diff -u -r31033 -r31472 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/sterilizer/Sterilizer.java (.../Sterilizer.java) (revision 31033) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/sterilizer/Sterilizer.java (.../Sterilizer.java) (revision 31472) @@ -230,6 +230,28 @@ */ private String promptUploadDevParamPic = Constants.STR_NO; + /** + * 使用状态 + */ + private String useStatus = USESTATUS_IN_USE; + + /** + * 未启用 + */ + public static final String USESTATUS_NOT_ENABLED = "未启用"; + /** + * 在用 + */ + public static final String USESTATUS_IN_USE = "在用"; + /** + * 停用 + */ + public static final String USESTATUS_DISABLE = "停用"; + /** + * 报废 + */ + public static final String USESTATUS_SCRAPPED = "报废"; + static { ColumnNameAndPoPropertyNameMap.put("名称", "name"); ColumnNameAndPoPropertyNameMap.put("购买日期", "purchaseDateStr"); @@ -624,4 +646,14 @@ this.sterilizationFrequecyReminds = sterilizationFrequecyReminds; } + + public String getUseStatus() { + return useStatus; + } + + + public void setUseStatus(String useStatus) { + this.useStatus = useStatus; + } + } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilizer/service/SterilizerManager.java =================================================================== diff -u -r31033 -r31472 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilizer/service/SterilizerManager.java (.../SterilizerManager.java) (revision 31033) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilizer/service/SterilizerManager.java (.../SterilizerManager.java) (revision 31472) @@ -1,6 +1,7 @@ package com.forgon.disinfectsystem.basedatamanager.sterilizer.service; import java.util.List; +import java.util.Map; import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.ConsumptiveConfig; import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.DetectionItem; @@ -64,5 +65,11 @@ * @param sterilizationFrequecyReminds */ public void saveSterilizer(Sterilizer sterilizer, String cleanMethodIDs, String consumablesStr, String detectionItemsStr, List extraInfo, String sterilizationFrequecyReminds); + + /** + * 灭菌炉排序 + * @param orderMap + */ + public void orderSterilizerList(Map orderMap); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilizer/service/SterilizerManagerImpl.java =================================================================== diff -u -r31033 -r31472 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilizer/service/SterilizerManagerImpl.java (.../SterilizerManagerImpl.java) (revision 31033) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/sterilizer/service/SterilizerManagerImpl.java (.../SterilizerManagerImpl.java) (revision 31472) @@ -6,15 +6,18 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.collections.MapUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.hibernate.Query; +import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.BarcodeDevice; import com.forgon.disinfectsystem.basedatamanager.sterilisation.service.SterilisationManager; import com.forgon.disinfectsystem.basedatamanager.supplier.service.SupplierManager; @@ -311,5 +314,19 @@ extraInfo.add(sterilizer.getBarcode()); } } + + @Override + public void orderSterilizerList(Map orderMap) { + List sterilizerList = this.getAllSterilizer(); + if(CollectionUtils.isNotEmpty(sterilizerList) && !MapUtils.isEmpty(orderMap)){ + for (Sterilizer sterilizer : sterilizerList) { + Integer order = orderMap.get(sterilizer.getId()); + if(order != null){ + sterilizer.setSequence(order); + } + } + objectDao.batchSaveOrUpdate(sterilizerList); + } + } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/rinser/Rinser.java =================================================================== diff -u -r30733 -r31472 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/rinser/Rinser.java (.../Rinser.java) (revision 30733) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/rinser/Rinser.java (.../Rinser.java) (revision 31472) @@ -123,6 +123,49 @@ */ private String promptUploadDevParamPic = Constants.STR_NO; + /** + * 使用状态 + */ + private String useStatus = USESTATUS_IN_USE; + + /** + * 未启用 + */ + public static final String USESTATUS_NOT_ENABLED = "未启用"; + /** + * 在用 + */ + public static final String USESTATUS_IN_USE = "在用"; + /** + * 停用 + */ + public static final String USESTATUS_DISABLE = "停用"; + /** + * 报废 + */ + public static final String USESTATUS_SCRAPPED = "报废"; + + /** + * 序号 + */ + public Integer sequence; + + public String getUseStatus() { + return useStatus; + } + + public void setUseStatus(String useStatus) { + this.useStatus = useStatus; + } + + public Integer getSequence() { + return sequence; + } + + public void setSequence(Integer sequence) { + this.sequence = sequence; + } + public Rinser() { initType(); } Index: ssts-web/src/main/webapp/dataUpdater/sqls/4.9.76_4.9.77.sql =================================================================== diff -u -r31456 -r31472 --- ssts-web/src/main/webapp/dataUpdater/sqls/4.9.76_4.9.77.sql (.../4.9.76_4.9.77.sql) (revision 31456) +++ ssts-web/src/main/webapp/dataUpdater/sqls/4.9.76_4.9.77.sql (.../4.9.76_4.9.77.sql) (revision 31472) @@ -1 +1,4 @@ -update ImageFile set imageType = '生物监测图片' where imageType = '灭菌监测图片'; \ No newline at end of file +update ImageFile set imageType = '生物监测图片' where imageType = '灭菌监测图片'; +update Rinser set useStatus = '在用'; +update Sterilizer set useStatus = '在用'; +update Rinser set sequence = (select count(*) from Rinser po where po.id < Rinser.id); \ No newline at end of file Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/rinser/service/RinserManager.java =================================================================== diff -u -r27498 -r31472 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/rinser/service/RinserManager.java (.../RinserManager.java) (revision 27498) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/rinser/service/RinserManager.java (.../RinserManager.java) (revision 31472) @@ -1,6 +1,7 @@ package com.forgon.disinfectsystem.basedatamanager.rinser.service; import java.util.List; +import java.util.Map; import net.sf.json.JSONArray; @@ -34,4 +35,18 @@ * @return [{id,name}] */ public JSONArray getAllRinserIdAndName(); + + /** + * 清洗机排序 + * @param orderMap id和序号的map + */ + public void orderRinserList(Map orderMap); + + /** + * 根据使用状态获取清洗机 + * @param departCoding + * @param useStatus + * @return + */ + public List getRinserByDepartCoding(String departCoding, String useStatus); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/rinser/service/RinserManagerImpl.java =================================================================== diff -u -r27498 -r31472 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/rinser/service/RinserManagerImpl.java (.../RinserManagerImpl.java) (revision 27498) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/rinser/service/RinserManagerImpl.java (.../RinserManagerImpl.java) (revision 31472) @@ -5,11 +5,14 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.Set; import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.MapUtils; import org.apache.commons.lang.StringUtils; import com.forgon.directory.model.BarcodeDevice; @@ -247,4 +250,28 @@ } return arr; } + + @Override + public void orderRinserList(Map orderMap) { + List rinserList = this.getAll(); + if(CollectionUtils.isNotEmpty(rinserList) && !MapUtils.isEmpty(orderMap)){ + for (Rinser rinser : rinserList) { + Integer order = orderMap.get(rinser.getId()); + if(order != null){ + rinser.setSequence(order); + } + } + objectDao.batchSaveOrUpdate(rinserList); + } + } + + @Override + public List getRinserByDepartCoding(String departCoding, String useStatus) { + if(StringUtils.isBlank(useStatus)){ + return this.getRinserByDepartCoding(departCoding); + } + String hql = String.format("select po from %s po where po.orgUnitCoding = '%s' and po.useStatus = '%s' order by po.sequence ", + Rinser.class.getSimpleName(), departCoding, useStatus); + return objectDao.findByHql(hql); + } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/rinser/action/RinserAction.java =================================================================== diff -u -r27498 -r31472 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/rinser/action/RinserAction.java (.../RinserAction.java) (revision 27498) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/rinser/action/RinserAction.java (.../RinserAction.java) (revision 31472) @@ -346,10 +346,11 @@ */ public void getAllRinserListData(){ String departCoding = StrutsParamUtils.getPraramValue("departCoding", null); + String useStatus = StrutsParamUtils.getPraramValue("useStatus", null); if(StringUtils.isBlank(departCoding)){ departCoding = AcegiHelper.getLoginUser().getCurrentOrgUnitCode(); } - List list = rinserManager.getRinserByDepartCoding(departCoding); + List list = rinserManager.getRinserByDepartCoding(departCoding, useStatus); StringBuffer buff = new StringBuffer("["); if (list != null && list.size() > 0) { for (int i = 0; i < list.size(); i++) { @@ -374,6 +375,29 @@ } } + /** + * 清洗机排序 + */ + public void orderRinserList(){ + String orderList = StrutsParamUtils.getPraramValue("orderList", null); + String message = ""; + try { + if(StringUtils.isNotBlank(orderList)){ + Map orderMap = new HashMap(); + String[] orderListArr = orderList.split(";"); + for (String order : orderListArr) { + String[] orderArr = order.split("@"); + orderMap.put(Long.parseLong(orderArr[0]), Integer.parseInt(orderArr[1])); + } + rinserManager.orderRinserList(orderMap); + } + } catch (Exception e) { + e.printStackTrace(); + message = e.getMessage(); + } + StrutsResponseUtils.output(true, message); + } + private String getCleanMethodsJsonData(Rinser rinser){ StringBuffer sb = new StringBuffer("["); if(rinser!=null){