Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/washTransition/service/WashTransitionItemManager.java
===================================================================
diff -u -r15859 -r18363
--- ssts-packing/src/main/java/com/forgon/disinfectsystem/washTransition/service/WashTransitionItemManager.java (.../WashTransitionItemManager.java) (revision 15859)
+++ ssts-packing/src/main/java/com/forgon/disinfectsystem/washTransition/service/WashTransitionItemManager.java (.../WashTransitionItemManager.java) (revision 18363)
@@ -52,4 +52,9 @@
* @param itemInfo
*/
public boolean save(WashTransitionRecord record,JSONObject itemInfo);
+ /**
+ * 根据器械包实例id获取WashTransitionItem
+ * @return
+ */
+ public WashTransitionItem getWashTransitionItemByTousseInstanceId(Long tousseInstanceId);
}
Index: ssts-web/src/main/webapp/disinfectsystem/useRecord/tabs/tousseInstanceInfoTab.js
===================================================================
diff -u -r18213 -r18363
--- ssts-web/src/main/webapp/disinfectsystem/useRecord/tabs/tousseInstanceInfoTab.js (.../tousseInstanceInfoTab.js) (revision 18213)
+++ ssts-web/src/main/webapp/disinfectsystem/useRecord/tabs/tousseInstanceInfoTab.js (.../tousseInstanceInfoTab.js) (revision 18363)
@@ -5,11 +5,15 @@
/**
* 显示器械包实例的追溯信息
*
- * @param id
- * @param tousseName
- * @param isComboTousse
+ * @param id 器械包实例id
+ * @param tousseName 器械包实例名称
+ * @param isComboTousse 是否为聚合包
*/
function showTousseInstanceTranceabilityInfo(id, tousseName, isComboTousse){
+ /**
+ * 是否启用清洗交接记录视图列表
+ */
+ this.enableWashTransitionRecordView = sstsConfig.enableWashTransitionRecordView;
/**
* 打开清洗记录的清洗参数
@@ -47,9 +51,7 @@
* 获取Tab的子元素
*/
this.getTabsItemArray = function() {
-
- var tabsItemArr = new Array();
-
+ var tabsItemArr = [];
//如果是聚合包实例则显示聚合包明细,否则显示预回收记录、回收记录、清洗记录
if (!isComboTousse) {
tabsItemArr.push({
@@ -178,6 +180,7 @@
})]
},{
title: '清洗记录',
+ layout : 'fit',
items:[
new top.Ext.grid.GridPanel({
id : 'washRecord',
@@ -225,6 +228,76 @@
})
]
});
+ if (this.enableWashTransitionRecordView) {
+ tabsItemArr.push({
+ title: '清洗交接记录',
+ layout : 'fit',
+ items:[
+ new top.Ext.FormPanel({
+ frame : true,
+ labelSeparator : ':',
+ bodyStyle : 'padding:5px 5px 0px 50px',
+ labelAlign : 'right',
+ items : [{
+ layout : 'column',
+ items : [{
+ layout : 'form',
+ columnWidth : .5,
+ cls:'edit-part2-labelwidth',
+ items : [{
+ id : 'wtr_handover',
+ name : 'wtr_handover',
+ xtype : 'textfield',
+ fieldLabel : '清洗人',
+ anchor : '100%',
+ readOnly : true,
+ cls : 'fieldReadOnlyNoRemove'
+ }]
+ },{
+ layout : 'form',
+ columnWidth : .5,
+ cls:'edit-part2-labelwidth',
+ items : [{
+ id : 'wtr_takeover',
+ name : 'wtr_takeover',
+ xtype : 'textfield',
+ fieldLabel : '配包人',
+ anchor : '100%',
+ readOnly : true,
+ cls : 'fieldReadOnlyNoRemove'
+ }]
+ },{
+ layout : 'form',
+ columnWidth : .5,
+ cls:'edit-part2-labelwidth',
+ items : [{
+ id : 'wtr_transitionTime',
+ name : 'wtr_transitionTime',
+ xtype : 'textfield',
+ fieldLabel : '交接时间',
+ anchor : '100%',
+ readOnly : true,
+ cls : 'fieldReadOnlyNoRemove'
+ }]
+ },{
+ layout : 'form',
+ columnWidth : .5,
+ cls:'edit-part2-labelwidth',
+ items : [{
+ id : 'wtr_idCardBarcode',
+ name : 'wtr_idCardBarcode',
+ xtype : 'textfield',
+ fieldLabel : '标识牌条码',
+ anchor : '100%',
+ readOnly : true,
+ cls : 'fieldReadOnlyNoRemove'
+ }]
+ }]
+ }],
+ buttons : [this.cancelButton]
+ })]
+ });
+ }
} else {
tabsItemArr.push({
title: '聚合包内明细',
@@ -255,7 +328,6 @@
});
}
-
//装配记录、审核记录、灭菌记录
tabsItemArr.push({
title: '装配记录',
@@ -529,7 +601,6 @@
text : '灭菌参数',
minWidth : 50,
readOnly : true,
- anchor : '100%',
cls : 'fieldReadOnlyNoRemove',
handler : function() {
var amounts = top.Ext.getCmp('sterilizerRecordAmounts').getValue();
@@ -1067,7 +1138,6 @@
* 设置器械包实例的一些追溯信息
*/
this.setTousseInstanceInfo = function() {
-
Ext.Ajax.request({
url : WWWROOT + '/disinfectSystem/invoiceAction!getTousseInstanceById.do?tousseInstanceId='+id,
success : function(response, options) {
@@ -1197,6 +1267,13 @@
top.Ext.getCmp('washRecord').getStore().add(washRecordData);
}
+ //清洗交接记录
+ var washTransitionRecordInfo = result.washTransitionRecordJSON;
+ top.Ext.getCmp('wtr_handover').setValue(washTransitionRecordInfo.handover); //清洗交接_清洗人
+ top.Ext.getCmp('wtr_takeover').setValue(washTransitionRecordInfo.takeover); //清洗交接_配包人
+ top.Ext.getCmp('wtr_transitionTime').setValue(washTransitionRecordInfo.transitionTime); //清洗交接_清洗交接时间
+ top.Ext.getCmp('wtr_idCardBarcode').setValue(washTransitionRecordInfo.idCardBarcode); //清洗交接_标识牌实例
+
//流转记录
var tousseOperationInfoArray = result.tousseOperationJSONs;
for(var j = 0;j < tousseOperationInfoArray.length ; j++){
@@ -1318,7 +1395,6 @@
showResult('加载失败,请联系系统管理员。');
}
});
-
};
@@ -1328,17 +1404,16 @@
this.tousseInstanceWindow = new top.Ext.Window({
layout : 'fit',
title : '[' + tousseName + '] 追溯信息',
- width : 680,
+ autoWidth : true,
border : false,
modal : true,
autoHeight : true,
plain : true,
items : new top.Ext.TabPanel({
- activeTab : 0,
- width : 600,
+ width : (this.enableWashTransitionRecordView ? 880 : 790),
height : 350,
plain : true,
- activeTab : (isComboTousse ? 0 : 6), //如果是聚合包则初始显示“聚合包内明细”Tad,否则初始显示“发货记录”Tad
+ activeTab : (isComboTousse ? 0 : (this.enableWashTransitionRecordView ? 7 : 6)), //如果是聚合包则初始显示“聚合包内明细”Tad,否则初始显示“发货记录”Tad
deferredRender : false,
enableTabScroll : true,
defaults : {autoScroll : true},
Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/washTransition/service/WashTransitionItemManagerImpl.java
===================================================================
diff -u -r18107 -r18363
--- ssts-packing/src/main/java/com/forgon/disinfectsystem/washTransition/service/WashTransitionItemManagerImpl.java (.../WashTransitionItemManagerImpl.java) (revision 18107)
+++ ssts-packing/src/main/java/com/forgon/disinfectsystem/washTransition/service/WashTransitionItemManagerImpl.java (.../WashTransitionItemManagerImpl.java) (revision 18363)
@@ -254,5 +254,11 @@
}
return null;
}
+
+ @Override
+ public WashTransitionItem getWashTransitionItemByTousseInstanceId(Long tousseInstanceId) {
+ return (WashTransitionItem) objectDao.getByProperty(WashTransitionItem.class.getSimpleName(),
+ "tousseInstanceId", tousseInstanceId);
+ }
}
Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java
===================================================================
diff -u -r18355 -r18363
--- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 18355)
+++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 18363)
@@ -76,6 +76,8 @@
import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord;
import com.forgon.disinfectsystem.entity.tousseitem.TousseItem;
import com.forgon.disinfectsystem.entity.toussetransition.TousseTransitionRecord;
+import com.forgon.disinfectsystem.entity.toussetransition.WashTransitionItem;
+import com.forgon.disinfectsystem.entity.toussetransition.WashTransitionRecord;
import com.forgon.disinfectsystem.entity.useRecord.UseRecord;
import com.forgon.disinfectsystem.entity.washanddisinfectmanager.washanddisinfectrecord.WashAndDisinfectRecord;
import com.forgon.disinfectsystem.invoicemanager.service.InvoiceManager;
@@ -88,6 +90,7 @@
import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager;
import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager;
import com.forgon.disinfectsystem.toussetransition.service.TousseTransitionRecordManager;
+import com.forgon.disinfectsystem.washTransition.service.WashTransitionItemManager;
import com.forgon.tools.MapTools;
import com.forgon.tools.StrutsParamUtils;
import com.forgon.tools.StrutsResponseUtils;
@@ -153,12 +156,19 @@
private SupplyRoomConfigManager supplyRoomConfigManager;
private RecyclingRecordManager recyclingRecordManager;
+
+ private WashTransitionItemManager washTransitionItemManager;
public void setRecyclingRecordManager(
RecyclingRecordManager recyclingRecordManager) {
this.recyclingRecordManager = recyclingRecordManager;
}
+ public void setWashTransitionItemManager(
+ WashTransitionItemManager washTransitionItemManager) {
+ this.washTransitionItemManager = washTransitionItemManager;
+ }
+
/**
* 器械包交接manager类
*/
@@ -902,6 +912,19 @@
}
}
}
+
+ //清洗交接记录
+ JSONObject washTransitionRecordJSON = new JSONObject();
+ Long lastTousseInstanceId = ti.getLastTousseInstanceId();
+ WashTransitionItem wti = washTransitionItemManager.getWashTransitionItemByTousseInstanceId(lastTousseInstanceId);
+ if (wti != null) {
+ WashTransitionRecord wtr = wti.getWashTransitionRecord();
+ washTransitionRecordJSON.put("handover", wtr.getHandover());
+ washTransitionRecordJSON.put("takeover", wtr.getTakeover());
+ washTransitionRecordJSON.put("transitionTime", ForgonDateUtils.safelyFormatDate(wtr.getTransitionTime(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM, ""));
+ washTransitionRecordJSON.put("idCardBarcode", wti.getIdCardBarcode());
+ }
+
// 流转记录
JSONArray tousseOperationJSONs = new JSONArray(); //此器械包实例关联的所有清洗篮筐的所有清洗记录(因为每个清洗篮筐可以被清洗多次)
String sql = String.format(" where po.tousseInstanceId=%s order by operationTime asc ", ti.getId());
@@ -924,6 +947,7 @@
map.put("tousseTransitionRecord", tousseTransitionRecord);
map.put("recyclingRecordJSON", recyclingRecordJSON);
map.put("washAndDisinfectRecordInfoJSONs", washAndDisinfectRecordInfoJSONs);
+ map.put("washTransitionRecordJSON", washTransitionRecordJSON);
map.put("tousseOperationJSONs", tousseOperationJSONs);
map.put("tousseInstance", ti);