Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java
===================================================================
diff -u -r13977 -r14333
--- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java (.../SterilizationRecordTableManager.java) (revision 13977)
+++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java (.../SterilizationRecordTableManager.java) (revision 14333)
@@ -27,6 +27,8 @@
import com.forgon.disinfectsystem.entity.basedatamanager.container.Container;
import com.forgon.disinfectsystem.entity.basedatamanager.sterilisation.Sterilisation;
import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.Sterilizer;
+import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition;
+import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance;
import com.forgon.disinfectsystem.entity.packing.ReviewedBasket;
import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord;
import com.forgon.disinfectsystem.sterilizationmanager.sterilizationrecord.service.SterilizationRecordManager;
@@ -494,4 +496,20 @@
json.put("message", msg);
return json.toString();
}
+ /**
+ * 器械包是否加急
+ * @param barcode
+ * @return
+ */
+ public boolean isTousseUrgent(String barcode){
+ BarcodeDevice barcodeDevice = barcodeManager
+ .getBarcodeByBarcode(barcode);
+ if(barcodeDevice instanceof TousseInstance){
+ String isUrgent = ((TousseInstance) barcodeDevice).getIsUrgentTousse();
+ if(isUrgent != null && isUrgent.equals(TousseDefinition.STR_YES)){
+ return true;
+ }
+ }
+ return false;
+ }
}
Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java
===================================================================
diff -u -r14217 -r14333
--- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 14217)
+++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 14333)
@@ -823,9 +823,11 @@
JSONArray tousseInBasketArray = new JSONArray();
boolean isNotTimeout = true;
+ boolean isBasketUrgent = false;
for (TousseSimpleVO vo : vos) {
JSONObject tousseInBasket = new JSONObject();
+ String isUrgentTousse = vo.getIsUrgentTousse();
boolean isTimeout = timeoutManager.isTimeouted(vo.getReviewTime(),timeoutSetting);
tousseInBasket.put("objName", vo.getItemDefinition().getName());
tousseInBasket.put("objBarcode", vo.getBarcode());
@@ -839,13 +841,24 @@
if(isTimeout){
isNotTimeout = false;
}
+ if(isUrgentTousse != null && isUrgentTousse.equals(TousseDefinition.STR_YES )){
+ isBasketUrgent = true; // 只要有一个包加急,篮筐就显示加急
+ tousseInBasket.put("isUrgent", TousseDefinition.STR_YES);
+ }else{
+ tousseInBasket.put("isUrgent", TousseDefinition.STR_NO);
+ }
tousseInBasketArray.add(tousseInBasket);
}
basketObj.put("children", tousseInBasketArray);
basketObj.put("isTimeout", !isNotTimeout);
+ if(isBasketUrgent){
+ basketObj.put("isUrgent", TousseDefinition.STR_YES);
+ }else{
+ basketObj.put("isUrgent", TousseDefinition.STR_NO);
+ }
if(isNotTimeout){
notTimeoutArray.add(basketObj);
}else{
@@ -868,13 +881,17 @@
obj.put("cls", isTimeout ? "itemTimeout" : "master-task");
obj.put("iconCls", "task");
obj.put("isTimeout", isTimeout);
+ // 是否加急
+ if(tousseOutsideBasket.getIsUrgentTousse() != null && tousseOutsideBasket.getIsUrgentTousse().equals(TousseDefinition.STR_YES )){
+ obj.put("isUrgent", TousseDefinition.STR_YES);
+ }else{
+ obj.put("isUrgent", TousseDefinition.STR_NO);
+ }
if(isTimeout){
jsonArray.add(obj);
}else{
notTimeoutArray.add(obj);
}
-
-
}
jsonArray.addAll(notTimeoutArray); //未超时的加到最后
Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/vo/TousseSimpleVO.java
===================================================================
diff -u -r13971 -r14333
--- ssts-basedata/src/main/java/com/forgon/disinfectsystem/vo/TousseSimpleVO.java (.../TousseSimpleVO.java) (revision 13971)
+++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/vo/TousseSimpleVO.java (.../TousseSimpleVO.java) (revision 14333)
@@ -17,6 +17,7 @@
private String orgUnitName;
private ItemDefinitionVO itemDefinition;
private String barcode;
+ private String isUrgentTousse;
/**
* 新增加审核时间的属性,用于省医需求待灭菌及待灭菌装配的显示
* @since 2016-06-29 by shuyongfu
@@ -26,6 +27,14 @@
private Long foreignProxyItemId;
private Long proxyDisinfectionId;
+ public String getIsUrgentTousse() {
+ return isUrgentTousse;
+ }
+
+ public void setIsUrgentTousse(String isUrgentTousse) {
+ this.isUrgentTousse = isUrgentTousse;
+ }
+
public String getBarcode() {
return barcode;
}
Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java
===================================================================
diff -u -r14319 -r14333
--- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 14319)
+++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 14333)
@@ -455,7 +455,7 @@
String currentOrgUnitCode = AcegiHelper.getCurrentOrgUnitCode();
//普通器械包、消毒物品、敷料包
String sql = " select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType,"
- + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime "
+ + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime,t.isUrgentTousse "
+ "from tousseinstance t, barcodedevice b , cssdHandleTousses tt , TousseDefinition td "
+ "where t.id = b.id and tt.tousseDefinitionId=td.ancestorID and t.tousseDefinition_id=td.id and t.reviewBasket_id ="
+ reviewedBasket.getId()
@@ -469,7 +469,7 @@
//外来器械包、外来器械拆分小包
if(taskGroup.equals(supplyRoomConfig.getDefalutTaskGroup())){
sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType,"
- + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime "
+ + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime,t.isUrgentTousse "
+ "from tousseinstance t, barcodedevice b , TousseDefinition td "
+ "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGN+"','"+TousseDefinition.PACKAGE_TYPE_SPLIT+"') and t.reviewBasket_id ="
+ reviewedBasket.getId()
@@ -479,7 +479,7 @@
//自定义器械包
if(taskGroup.equals(supplyRoomConfig.getCustomTousseDefaultTaskGroup())){
sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType,"
- + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime "
+ + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime,t.isUrgentTousse "
+ "from tousseinstance t, barcodedevice b , TousseDefinition td "
+ "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"') and t.reviewBasket_id ="
+ reviewedBasket.getId()
@@ -488,7 +488,7 @@
}
//外部代理灭菌
sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType,"
- + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime "
+ + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime,t.isUrgentTousse "
+ "from tousseinstance t, barcodedevice b , TousseDefinition td "
+ "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY+"') and t.reviewBasket_id ="
+ reviewedBasket.getId()
@@ -497,23 +497,23 @@
}else{
//外来器械包、外来器械拆分小包
sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType,"
- + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime "
+ + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime,t.isUrgentTousse "
+ "from tousseinstance t, barcodedevice b , TousseDefinition td "
+ "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGN+"','"+TousseDefinition.PACKAGE_TYPE_SPLIT+"') and t.reviewBasket_id ="
+ reviewedBasket.getId()
+ " and t.orgUnitCoding='"+currentOrgUnitCode+"'"
+ " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'";
//自定义器械包
sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType,"
- + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime "
+ + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime,t.isUrgentTousse "
+ "from tousseinstance t, barcodedevice b , TousseDefinition td "
+ "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_CUSTOM+"') and t.reviewBasket_id ="
+ reviewedBasket.getId()
+ " and t.orgUnitCoding='"+currentOrgUnitCode+"'"
+ " and t.status <> '" + TousseInstance.STATUS_DISCARD + "'";
//外部代理灭菌
sql += " union all select t.id id, t.tousseName name, td.tousseType, t.tousseName, b.barcode, t.validUntil, t.sterilingType,"
- + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime "
+ + "t.orgUnitCoding, t.orgUnitName, t.foreignProxyItem_Id, t.proxyDisinfection_Id,t.reviewTime,t.isUrgentTousse "
+ "from tousseinstance t, barcodedevice b , TousseDefinition td "
+ "where t.id = b.id and t.tousseDefinition_id=td.id and td.tousseType in ('"+TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY+"') and t.reviewBasket_id ="
+ reviewedBasket.getId()
@@ -538,6 +538,7 @@
vo.setOrgUnitName(rs.getString("OrgUnitName"));
vo.setValidUntil(rs.getString("ValidUntil"));
vo.setSterilingType(rs.getString("SterilingType"));
+ vo.setIsUrgentTousse(rs.getString("isUrgentTousse"));
vo.setForeignProxyItemId(rs.getLong("foreignProxyItem_Id"));
vo.setProxyDisinfectionId(rs.getLong("proxyDisinfection_Id"));
Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js
===================================================================
diff -u -r14292 -r14333
--- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 14292)
+++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 14333)
@@ -864,6 +864,7 @@
var objAmount = 1;
var type = clickNode.attributes.type;
var array = new Array();
+ var isBasketUrgent = false;
if (type == '篮筐') {
type = 'BASKET';
@@ -875,17 +876,44 @@
var childObjName = pNode.attributes.name;
var childObjAmount = 1;
var childType = 'TOUSSE_IN';
+ var isUrgent = '否';
var childNode = createPendingSterilizationGoodsNode(childObjBarcode, childObjName, childObjAmount, childType);
+ DWREngine.setAsync(false);
+ //如果灭菌程序不能添加器械包,要清除灭菌物品列表
+ SterilizationRecordTableManager.isTousseUrgent(childObjBarcode,function(result){
+ if(result == true){
+ isUrgent = '是';
+ isBasketUrgent = true;
+ }
+ });
+ DWREngine.setAsync(true);
+ childNode.attributes.isUrgent = isUrgent;
array.push(childNode);
});
} else {
type = 'TOUSSE';
}
var node = createPendingSterilizationGoodsNode(objBarcode, objName, objAmount, type);
+ if(type == 'TOUSSE'){
+ var isUrgent = '否';
+ DWREngine.setAsync(false);
+ //如果灭菌程序不能添加器械包,要清除灭菌物品列表
+ SterilizationRecordTableManager.isTousseUrgent(node.attributes.objBarcode,function(result){
+ if(result == true){
+ isUrgent = '是';
+ }
+ });
+ DWREngine.setAsync(true);
+ node.attributes.isUrgent=isUrgent;
+ }
if (type == 'BASKET') {
+ if(isBasketUrgent){
+ node.attributes.isUrgent = '是';
+ }
node.appendChild(array);
}
+
pendingSterilizationColumnTree.getRootNode().appendChild(node);
}
@@ -987,6 +1015,7 @@
columns:[
{header:'条码',width:110,dataIndex:'barcode'},
{header:'名称',width:170,dataIndex:'name'},
+ {header:'加急',width:170,dataIndex:'isUrgent',hidden:true},
{header:'审核时间',width:170,dataIndex:'reviewTime',hidden:true},
{header:'删除',width:40,dataIndex:'type',
renderer:function(v,p,record){
@@ -1058,6 +1087,17 @@
width : 35,
dataIndex : 'objAmount'
},{
+ header : '加急',
+ width : 35,
+ dataIndex : 'isUrgent',
+ renderer : function(v, p, record) {
+ if (v == '是') {
+ return '' + v + '';
+ }else{
+ return '' + '否' + '';
+ }
+ }
+ },{
header : '审核时间',
width : 135,
dataIndex : 'reviewTime'