Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js
===================================================================
diff -u -r34523 -r34667
--- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 34523)
+++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 34667)
@@ -66,6 +66,8 @@
var POSITION = "位置";
var confirmLabel = "灭菌情况确认人";
+var sterilizationPurposeStore;
+
var _biologicalMonitoringTime = 0; //此灭菌炉的生物监测持续时间
if (sstsConfig.hasOwnProperty('isSRFinishConfirmShowUnload') && sstsConfig.isSRFinishConfirmShowUnload) {
@@ -189,6 +191,52 @@
return pTousseStr;
}
+//根据灭菌程序选择默认灭菌目的
+function getSterilizationPurposeFun(sterilizationType) {
+ SterilizationRecordTableManager.getSterilizationPurpose(sterilizationType, function (responseText) {
+ var sterilizationPurposeId;
+ if (responseText != null && responseText.length > 0) {
+ var result = Ext.decode(responseText);
+ top.Ext.getCmp('sterilizationPurpose').setValue(result.optionText);
+ sterilizationPurposeId = result.id;
+ }
+ if (sstsConfig.enableSterilizerConsumptiveMaterialConsumptionFunction) {
+ top.Ext.getCmp('consumptiveMaterialVolumes').setValue('');
+ if (sterilizationPurposeId) {
+ top.Ext.getCmp('sterilizationPurposeId').setValue(sterilizationPurposeId);
+ loadSterilizationPurposeDisposableGoods(sterilizationPurposeId);
+ }
+ }
+ });
+}
+
+//删除已添加耗材
+function deleteSterilizationPurpose(detailId, batchBarcode) {
+ var removeItem;
+ for (var k = 0; k < sterilizationPurposeStore.getCount(); k++) {
+ var item = sterilizationPurposeStore.getAt(k);
+ if (item.data.batchBarcode == batchBarcode) {
+ removeItem = item;
+ sterilizationPurposeStore.remove(item);
+ }
+ }
+ if (detailId == '') {
+ var steriConsumeMaterialStr = top.Ext.getCmp("steriConsumeMaterialArr").getValue();
+ var steriConsumeMaterialArr = JSON.parse(steriConsumeMaterialStr);
+ for (var i = 0; i < steriConsumeMaterialArr.length; i++) {
+ if (steriConsumeMaterialArr[i].batchBarcode == batchBarcode) {
+ steriConsumeMaterialArr.splice(i, 1);
+ }
+ }
+ top.Ext.getCmp("steriConsumeMaterialArr").setValue(JSON.stringify(steriConsumeMaterialArr));
+ } else {
+ var deleteDetailIds = top.Ext.getCmp("deleteDetailIds").getValue();
+ deleteDetailIds += detailId + ',';
+ deleteDetailIds = deleteDetailIds.substr(0, deleteDetailIds.length - 1);
+ top.Ext.getCmp("deleteDetailIds").setValue(deleteDetailIds);
+ }
+}
+
//获取位置信息
function getBarcodePositionData() {
var rootNode = sterilizationColumnTree.getRootNode();
@@ -236,6 +284,39 @@
return positionStr;
}
+//根据灭菌目的加载耗材
+function loadSterilizationPurposeDisposableGoods(id) {
+ Ext.Ajax.request({
+ url: WWWROOT + '/disinfectSystem/sterilization/sterilizationRecordAction!getDisposableGoodsBySterilizationPurpose.do',
+ params: {
+ sterilizationPurposeId: id
+ },
+ success: function (response, options) {
+ var result = Ext.decode(response.responseText);
+ if (result.length > 0) {
+ top.Ext.getCmp('consumptiveMaterialVolumes').setValue(result.join('|'));
+ }
+ }
+ });
+}
+
+//已添加耗材
+var sterilizationPurposeRecord = new Ext.data.Record.create([{
+ name: 'detailId'
+}, {
+ name: 'disposableGoodsBatchId'
+}, {
+ name: 'disposableGoodsId'
+}, {
+ name: 'disposableGoodsName'
+}, {
+ name: 'useAmount'
+}, {
+ name: 'specification'
+}, {
+ name: 'batchBarcode'
+}]);
+
//灭菌物品统计
var tousseItemCountRecord = new Ext.data.Record.create([{
name: 'tousseName'
@@ -708,7 +789,7 @@
}
sterilizerBioMonitoringIntervalReminder(params)
}
- if(sstsConfig.enableSterilizersAndFrequencyFilterToSterilizeItems){
+ if (sstsConfig.enableSterilizersAndFrequencyFilterToSterilizeItems) {
pendingSterilizationColumnTree.loader.load(pendingSterilizationColumnTree.root, function () { });
}
} else {
@@ -725,7 +806,7 @@
pendingSterilizationColumnTree.loader.load(pendingSterilizationColumnTree.root, function () { });
}
top.Ext.getCmp('sterilizationPurpose').setValue('');
-
+ top.Ext.getCmp('sterilizationPurposeId').setValue('');
}
}
@@ -754,11 +835,7 @@
}
});
//选择默认灭菌目的
- SterilizationRecordTableManager.getSterilizationPurpose(sterilizationType, function (result) {
- if (result != null && result.length > 0) {
- top.Ext.getCmp('sterilizationPurpose').setValue(result);
- }
- });
+ getSterilizationPurposeFun(sterilizationType);
} else {
if (resultArray[3] == "强制提醒") {
top.Ext.MessageBox.alert("请确认", resultArray[2],
@@ -781,11 +858,7 @@
}
});
//选择默认灭菌目的
- SterilizationRecordTableManager.getSterilizationPurpose(sterilizationType, function (result) {
- if (result != null && result.length > 0) {
- top.Ext.getCmp('sterilizationPurpose').setValue(result);
- }
- });
+ getSterilizationPurposeFun(sterilizationType);
} else {
top.Ext.getCmp('sterilizationType').setValue(oldSterilizationType);
}
@@ -836,11 +909,7 @@
}
});
//选择默认灭菌目的
- SterilizationRecordTableManager.getSterilizationPurpose(sterilizationType, function (result) {
- if (result != null && result.length > 0) {
- top.Ext.getCmp('sterilizationPurpose').setValue(result);
- }
- });
+ getSterilizationPurposeFun(sterilizationType);
} else {
top.Ext.getCmp('sterilizationType').setValue(oldSterilizationType);
}
@@ -856,11 +925,7 @@
}
});
//选择默认灭菌目的
- SterilizationRecordTableManager.getSterilizationPurpose(sterilizationType, function (result) {
- if (result != null && result.length > 0) {
- top.Ext.getCmp('sterilizationPurpose').setValue(result);
- }
- });
+ getSterilizationPurposeFun(sterilizationType);
}
},
@@ -2717,6 +2782,27 @@
})
});
+ sterilizationPurposeStore = new Ext.data.Store({
+ autoLoad: false,
+ reader: new Ext.data.JsonReader({
+ fields: [{
+ name: 'detailId'
+ }, {
+ name: 'disposableGoodsBatchId'
+ }, {
+ name: 'disposableGoodsId'
+ }, {
+ name: 'disposableGoodsName'
+ }, {
+ name: 'useAmount'
+ }, {
+ name: 'specification'
+ }, {
+ name: 'batchBarcode'
+ }]
+ })
+ });
+
var bioreaderStore = new Ext.data.Store({
proxy: new top.Ext.data.HttpProxy({
url: WWWROOT + '/disinfectSystem/sterilization/bioreaderAction!getBioreaderNameAndIdList.do?',
@@ -3247,11 +3333,11 @@
beforeload: function (treeLoader, node) {
pendingSterilizationColumnTree.getEl().mask("数据重新加载中,请稍等!");
//DLZXYY-3:增加“灭菌炉”和“当天炉次”
- if(sstsConfig.enableSterilizersAndFrequencyFilterToSterilizeItems){
+ if (sstsConfig.enableSterilizersAndFrequencyFilterToSterilizeItems) {
treeLoader.baseParams.sterilizerNameTemp = top.Ext.getCmp("sterilizerName").getValue();
treeLoader.baseParams.sterileFrequency = top.Ext.getCmp("frequency").getValue();
}
- if(sstsConfig.sterilizationCheckTousseSterilingType){
+ if (sstsConfig.sterilizationCheckTousseSterilingType) {
treeLoader.baseParams.sterilizerNameTemp = top.Ext.getCmp("sterilizerName").getValue();
}
@@ -3471,6 +3557,18 @@
id: 'haveDoneNoticeSterilisation'
}, {
xtype: 'hidden',
+ name: 'sterilizationPurposeId',
+ id: 'sterilizationPurposeId'
+ }, {
+ xtype: 'hidden',
+ name: 'steriConsumeMaterialArr',
+ id: 'steriConsumeMaterialArr'
+ }, {
+ xtype: 'hidden',
+ name: 'deleteDetailIds',
+ id: 'deleteDetailIds'
+ }, {
+ xtype: 'hidden',
name: 'hiddenSterilingMode',
id: 'hiddenSterilingMode',
value: '全部'
@@ -3538,7 +3636,7 @@
}
SterilizationRecordTableManager.getMaxFrequency(combo.value, recordId, function (result) {
top.Ext.getCmp('frequency').setValue(result);
- if(sstsConfig.enableSterilizersAndFrequencyFilterToSterilizeItems){
+ if (sstsConfig.enableSterilizersAndFrequencyFilterToSterilizeItems) {
pendingSterilizationColumnTree.loader.load(pendingSterilizationColumnTree.root, function () { });
}
});
@@ -3571,6 +3669,7 @@
}
top.Ext.getCmp('sterilizationType').setValue('');
top.Ext.getCmp('sterilizationPurpose').setValue('');
+ top.Ext.getCmp('sterilizationPurposeId').setValue('');
oldSterilizationType = '';
Ext.Ajax.request({
url: WWWROOT + '/disinfectSystem/baseData/sterilizerAction!loadSterilizerBySterilizerName.do',
@@ -3674,10 +3773,10 @@
id: "frequency",
allowBlank: false,
anchor: '100%',
- listeners:{
- blur:function(){
+ listeners: {
+ blur: function () {
var sterilizerName = top.Ext.getCmp('sterilizerName').getValue();
- if(sstsConfig.enableSterilizersAndFrequencyFilterToSterilizeItems && sterilizerName !== ''){
+ if (sstsConfig.enableSterilizersAndFrequencyFilterToSterilizeItems && sterilizerName !== '') {
pendingSterilizationColumnTree.loader.load(pendingSterilizationColumnTree.root, function () { });
}
}
@@ -3750,7 +3849,16 @@
name: "sterilizationPurpose",
id: "sterilizationPurpose",
allowBlank: false,
- anchor: '100%'
+ anchor: '100%',
+ listeners: {
+ select: function (combo, record, index) {
+ if (sstsConfig.enableSterilizerConsumptiveMaterialConsumptionFunction) {
+ var id = record.data.id;
+ top.Ext.getCmp('sterilizationPurposeId').setValue(id);
+ loadSterilizationPurposeDisposableGoods(id);
+ }
+ }
+ }
}]
}, {
columnWidth: .33,
@@ -3802,12 +3910,14 @@
if (e.getKey() == 13) {//回车键
var barcode = top.Ext.getCmp('inputBarcode').getValue();
var recordID = id;
+ var sterilizationPurposeId = top.Ext.getCmp('sterilizationPurposeId').getValue();
if (barcode != null && barcode.length > 0) {
sterilizationColumnTree.getEl().mask("数据重新加载中,请稍等!")
Ext.Ajax.request({
url: WWWROOT + '/disinfectSystem/sterilization/sterilizationRecordAction!getBarcodeType.do',
params: {
- barcode: barcode
+ barcode: barcode,
+ sterilizationPurposeId: sterilizationPurposeId || ''
},
success: function (response, options) {
sterilizationColumnTree.getEl().unmask();
@@ -3880,13 +3990,51 @@
top.Ext.getCmp('inputBarcode').setValue("");
} else {
- showMultipleResult(result);
-
- top.Ext.getCmp('inputBarcode').setValue("");
+ var newResult = Ext.decode(result);
+ if (newResult.success == false) {
+ showMultipleResult(newResult.message);
+ return;
+ }
+ if (newResult.dataType == 'disposableGoodsBatchStock') {
+ var barcodeIsTrue = false;
+ for (var k = 0; k < sterilizationPurposeStore.getCount(); k++) {
+ var item = sterilizationPurposeStore.getAt(k);
+ if (item.data.batchBarcode == barcode) {
+ barcodeIsTrue = true;
+ continue;
+ }
+ }
+ if (barcodeIsTrue) {
+ showMultipleResult("批次条码已存在!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage);
+ top.Ext.getCmp('inputBarcode').setValue("");
+ return;
+ }
+ var data = newResult.data;
+ var recordItem = new sterilizationPurposeRecord({
+ disposableGoodsBatchId: data.disposableGoodsBatchId,
+ disposableGoodsBatchStockId: data.disposableGoodsBatchStockId,
+ disposableGoodsId: data.disposableGoodsId,
+ disposableGoodsName: data.disposableGoodsName,
+ useAmount: 1,
+ specification: data.specification,
+ batchBarcode: data.barcode
+ });
+ sterilizationPurposeStore.add(recordItem);
+ var steriConsumeMaterialArr = [];
+ steriConsumeMaterialArr.push({
+ disposableGoodsBatchId: data.disposableGoodsBatchId,
+ disposableGoodsBatchStockId: data.disposableGoodsBatchStockId,
+ disposableGoodsId: data.disposableGoodsId,
+ disposableGoodsName: data.disposableGoodsName,
+ amount: 1,
+ specification: data.specification,
+ batchBarcode: data.barcode
+ })
+ top.Ext.getCmp("steriConsumeMaterialArr").setValue(JSON.stringify(steriConsumeMaterialArr));
+ }
}
} else {
showMultipleResult("请输入正确的条码!", null, sstsConfig.messagePauseTimeOnSterilizationRecordPage);
-
top.Ext.getCmp('inputBarcode').setValue("");
}
},
@@ -4056,7 +4204,63 @@
}, {
columnWidth: 1,
layout: 'form',
+ hidden: !sstsConfig.enableSterilizerConsumptiveMaterialConsumptionFunction,
items: [{
+ xtype: 'textfield',
+ fieldLabel: "本次耗材消耗",
+ name: "consumptiveMaterialVolumes",
+ id: "consumptiveMaterialVolumes",
+ readOnly: true,
+ cls: 'fieldReadOnlyNoRemove',
+ anchor: '100%'
+ }]
+ }, {
+ columnWidth: .15,
+ layout: 'form',
+ hidden: !sstsConfig.enableSterilizerConsumptiveMaterialConsumptionFunction,
+ items: [{
+ xtype: 'textfield',
+ fieldLabel: "已添加耗材",
+ readOnly: true,
+ cls: 'fieldReadOnlyNoRemove',
+ anchor: '100%'
+ }]
+ }, {
+ columnWidth: .85,
+ layout: 'form',
+ hidden: !sstsConfig.enableSterilizerConsumptiveMaterialConsumptionFunction,
+ items: [new top.Ext.grid.GridPanel({
+ id: 'consumptiveMaterialGrid',
+ height: 150,
+ frame: false,
+ border: true,
+ viewConfig: {
+ forceFit: true
+ },
+ anchor: '98.5%',
+ store: sterilizationPurposeStore,
+ cm: new Ext.grid.ColumnModel([
+ { header: "名称", width: 100, menuDisabled: true, dataIndex: 'disposableGoodsName' },
+ { header: "规格", width: 60, menuDisabled: true, dataIndex: 'cspecificationount' },
+ { header: "批次条码", width: 60, menuDisabled: true, dataIndex: 'batchBarcode' },
+ { header: "已添加数量", width: 60, menuDisabled: true, dataIndex: 'useAmount' },
+ {
+ header: "操作", width: 40, menuDisabled: true, renderer: function (v, p, record, rowIndex, columnIndex, store) {
+ var detailId = record.data.detailId || '';
+ var batchBarcode = record.data.batchBarcode || '';
+ var str = "
";
+ return str;
+ }
+ }
+ ]),
+ stripeRows: true,
+ autoExpandColumn: 'count',
+ bodyStyle: 'border:1px solid #afd7af;margin-bottom: 10px;'
+ })]
+ }, {
+ columnWidth: 1,
+ layout: 'form',
+ items: [{
xtype: 'textarea',
fieldLabel: "灭菌程序参数",
name: "parameter",
@@ -4886,18 +5090,18 @@
text: (sstsConfig.saveButtonNameOfSterilizationFormRecord && id == '') ? sstsConfig.saveButtonNameOfSterilizationFormRecord : '保存',
handler: function () {
var that = this;
- if(sstsConfig.enablePromptUserToConfirmSterilizationProcedureWhenSaving){
+ if (sstsConfig.enablePromptUserToConfirmSterilizationProcedureWhenSaving) {
var sterilizationType = top.Ext.getCmp('sterilizationType').getRawValue();
if (!formObj.form.isValid()) {
showMultipleResult('请正确填写表单各值', null, sstsConfig.messagePauseTimeOnSterilizationRecordPage);
return false;
}
- top.Ext.Msg.confirm("确认",'本次添加的“”为“”,是否确认保存?',function(btn){
- if(btn=='yes'){
+ top.Ext.Msg.confirm("确认", '本次添加的“”为“”,是否确认保存?', function (btn) {
+ if (btn == 'yes') {
save(that);
}
});
- }else {
+ } else {
save(that);
}
}
@@ -4906,18 +5110,18 @@
text: '保存',
hidden: true,
handler: function () {
- if(sstsConfig.enablePromptUserToConfirmSterilizationProcedureWhenSaving){
+ if (sstsConfig.enablePromptUserToConfirmSterilizationProcedureWhenSaving) {
var sterilizationType = top.Ext.getCmp('sterilizationType').getRawValue();
if (!formObj.form.isValid()) {
showMultipleResult('请正确填写表单各值', null, sstsConfig.messagePauseTimeOnSterilizationRecordPage);
return false;
}
- top.Ext.Msg.confirm("确认",'本次添加的“”为“”,是否确认保存?',function(btn){
- if(btn=='yes'){
+ top.Ext.Msg.confirm("确认", '本次添加的“”为“”,是否确认保存?', function (btn) {
+ if (btn == 'yes') {
saveMonitorHandle(sterilizationResult);
}
});
- }else {
+ } else {
saveMonitorHandle(sterilizationResult);
}
}
@@ -5087,6 +5291,18 @@
if (chemistryPackageBarcode !== '') {
top.Ext.getCmp('chemistryPackageBarcode').setValue(chemistryPackageBarcode);
}
+ //已添加耗材
+ if (sstsConfig.enableSterilizerConsumptiveMaterialConsumptionFunction) {
+ var steriConsumeMaterialUseRecordArr = action.result.steriConsumeMaterialUseRecordArr || [];
+ if (steriConsumeMaterialUseRecordArr.length > 0) {
+ for (var i = 0; i < steriConsumeMaterialUseRecordArr.length; i++) {
+ sterilizationPurposeStore.add(new sterilizationPurposeRecord(steriConsumeMaterialUseRecordArr[i]))
+ }
+ }
+ var sterilizationPurposeId = action.result.sterilizationPurposeId || '';
+ top.Ext.getCmp('sterilizationPurposeId').setValue(sterilizationPurposeId);
+ loadSterilizationPurposeDisposableGoods(sterilizationPurposeId);
+ }
}
if (reSterilization) { //重新灭菌
@@ -5501,6 +5717,7 @@
var barcodePostionInfo = getBarcodePositionData();
top.Ext.getCmp("barcodePositionInfo").setValue(barcodePostionInfo);
Ext.getCmp("formSubmitResult").setValue(0);
+
formObj.form.submit({
url: url,
method: 'POST',
Index: ssts-web/src/main/webapp/disinfectsystem/consumptiveMaterial/consumptiveMaterialSterilizationPurpose/form.js
===================================================================
diff -u -r34649 -r34667
--- ssts-web/src/main/webapp/disinfectsystem/consumptiveMaterial/consumptiveMaterialSterilizationPurpose/form.js (.../form.js) (revision 34649)
+++ ssts-web/src/main/webapp/disinfectsystem/consumptiveMaterial/consumptiveMaterialSterilizationPurpose/form.js (.../form.js) (revision 34667)
@@ -70,8 +70,8 @@
store: disposableGoodStore,
hideHeaders: true,
width: 328,
- height: 94,
- style: 'left: 75px;top: -3px;height: 94px;',
+ height: 96,
+ style: 'left: 75px;top: -3px;',
viewConfig: {
forceFit: true
},
Index: ssts-web/src/main/webapp/disinfectsystem/config/gyey/config.js
===================================================================
diff -u -r34564 -r34667
--- ssts-web/src/main/webapp/disinfectsystem/config/gyey/config.js (.../config.js) (revision 34564)
+++ ssts-web/src/main/webapp/disinfectsystem/config/gyey/config.js (.../config.js) (revision 34667)
@@ -127,6 +127,8 @@
enableRinserConsumptiveMaterialConsumptionFunction:true,
//启用器械生命周期追溯管理
enableInstrumentLifeCycleTraceabilityManagement:true,
+ //启用灭菌炉耗材消耗管理功能
+ enableSterilizerConsumptiveMaterialConsumptionFunction:true,
//消毒供应中心年度工作量统计报表的数据指标配置
dataIndexConfigurationOfYearWorkloadReport:[
{ "dataIndexNameForDisplay": "处理器械总件数", "dataIndexSource": "处理器械总件数" },