Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.js
===================================================================
diff -u -r22637 -r22690
--- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.js (.../godownEntryView.js) (revision 22637)
+++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.js (.../godownEntryView.js) (revision 22690)
@@ -116,6 +116,21 @@
])
});
+/**
+ * 审核人store
+ */
+var verifierStore = new Ext.data.Store({
+ proxy : new Ext.data.HttpProxy({
+ url : WWWROOT + '/systemmanage/user/loadUserByDepartmentCode!loadUserByDepartmentCode.do',
+ method : 'POST'
+ }),
+ reader : new Ext.data.JsonReader({
+ totalProperty : 'totalCount',
+ root : 'data'
+ }, [
+ {name : 'name',mapping : 'name'}
+ ])
+});
batchNumStore = new top.Ext.data.Store({
proxy : new top.Ext.data.HttpProxy({
@@ -387,14 +402,15 @@
success : function(response, options) {
var result = response.responseText;
if (result != null && result != "null") {
- var resultObj = JSON.parse(result);
-
+// var resultObj = JSON.parse(result);
+ var resultObj = Ext.util.JSON.decode(result);
if(!resultObj.success){
- showResult(resultObj.errMsg);
+ showResult(resultObj.message);
return;
}
- if(resultObj.barcodeType == '条码信息'){
- var info = JSON.parse(resultObj.barcodeInformation.information);
+ if(resultObj.data.barcodeType == '条码信息'){
+// var info = JSON.parse(resultObj.data.barcodeInformation.information);
+ var info = resultObj.data.barcodeInformation.information;
if(!isUndefinedOrNullOrEmpty(info.disposableGoodsName)){
top.Ext.getCmp('name1').setValue(info.disposableGoodsName);
top.Ext.getCmp('disposableGoodsID').setValue(info.disposableGoodsId);
@@ -424,6 +440,47 @@
});
}
+/**
+ * 扫描科室核对人条码
+ */
+function loadUserVerifierByBarcode(verifierBarcode){
+ var verifierId;
+ if(verifierBarcode == "supplyRoomVerifierBarcode"){
+ verifierId = 'supplyRoomVerifier';
+ }else if(verifierBarcode == "equipmentVerifierBarcode"){
+ verifierId = 'equipmentVerifier';
+ }
+ var barcode = top.Ext.getCmp(verifierBarcode).getValue();
+ top.Ext.getCmp(verifierBarcode).setValue('');// 清除条码
+ Ext.Ajax.request({
+ url : WWWROOT + '/disinfectSystem/godownEntryAction!loadBarcodeDeviceInfo.do',
+ params : {
+ barcode : barcode,
+ isUserBarcode : true
+ },
+ success : function(response, options) {
+ var result = response.responseText;
+ if (result != null && result != "null") {
+ var resultObj = Ext.util.JSON.decode(result);
+// var resultObj = JSON.parse(result);
+ if(!resultObj.success){
+ showResult(resultObj.message);
+ return;
+ }
+ if(resultObj.data.barcodeType == '条码信息'){
+ top.Ext.getCmp(verifierId).setValue(resultObj.data.userFullName);
+ }
+ }else{
+ showResult('输入的条码无效!');
+ }
+ },
+ failure : function(response, options) {
+ alert(1);
+ var result = Ext.decode(response.responseText);
+ }
+ });
+}
+
var selectModel = new top.Ext.grid.CheckboxSelectionModel();
//从入库单列表点添加或点击列表中某一行的单都会调用此function
function addGodownEntry() {
@@ -531,7 +588,7 @@
}
}]
}, {
- columnWidth : .20,
+ columnWidth : .15,
layout : 'form',
labelWidth : 60,
items : [{
@@ -579,7 +636,115 @@
cls : 'fieldReadOnlyNoRemove',
anchor : '95%'
}]
- }, {
+ },{
+ hidden : !sstsConfig.showDisposableGoodsGodownEntryVerifier || (commonEntry.isOpen() ? false:true),
+ columnWidth : .25,
+ layout : 'form',
+ labelWidth : 130,
+ items :[{
+ xtype : 'textfield',
+ fieldLabel :'扫描供应室核对人条码',
+ id : 'supplyRoomVerifierBarcode',
+ name : 'supplyRoomVerifierBarcode',
+ width : 100,
+ enableKeyEvents : true,
+ listeners : {
+ render : function(c) {
+ c.getEl().on('keypress',function(e) {
+ if (e.getKey() == 13) {// 输入;号键,grid重新加载
+ loadUserVerifierByBarcode('supplyRoomVerifierBarcode');
+ }
+ });
+ }
+ }
+ }]
+ },{
+ hidden : !sstsConfig.showDisposableGoodsGodownEntryVerifier|| (commonEntry.isOpen() ? false:true),
+ columnWidth : .25,
+ layout : 'form',
+ labelWidth : 80,
+ items:[{
+ xtype : 'combo',
+ fieldLabel : '供应室核对人',
+ id : 'supplyRoomVerifier',
+ name : 'supplyRoomVerifier',
+ queryParam : 'spell',
+ valueField : 'name',
+ displayField : 'name',
+ store : verifierStore,
+ forceSelection : true,
+ lazyInit : true,
+ minChars : 0,
+ listWidth:100,
+ triggerAction : 'all',
+ hideTrigger : true,
+ typeAhead : false,
+ allowBlank : true,
+ width : 100,
+ listeners : {
+ select : function(combo, record, index) {
+ top.Ext.getCmp('supplyRoomVerifier').setValue(record.data.name);
+ top.Ext.getCmp('equipmentVerifierBarcode').focus();
+ },
+ specialkey : function(field, ee) {
+ if (ee.getKey() == Ext.EventObject.ENTER) {
+ top.Ext.getCmp('equipmentVerifierBarcode').focus();
+ }
+ }
+ }
+ }]
+ },{
+ hidden : !sstsConfig.showDisposableGoodsGodownEntryVerifier|| (commonEntry.isOpen() ? false:true),
+ columnWidth : .25,
+ layout : 'form',
+ labelWidth : 130,
+ items :[{
+ xtype : 'textfield',
+ fieldLabel :'扫描设备科核对人条码',
+ id : 'equipmentVerifierBarcode',
+ name : 'equipmentVerifierBarcode',
+ width : 100,
+ enableKeyEvents : true,
+ listeners : {
+ render : function(c) {
+ c.getEl().on('keypress',function(e) {
+ if (e.getKey() == 13) {// 输入;号键,grid重新加载
+ loadUserVerifierByBarcode('equipmentVerifierBarcode');
+ }
+ });
+ }
+ }
+ }]
+ },{
+ hidden : !sstsConfig.showDisposableGoodsGodownEntryVerifier|| (commonEntry.isOpen() ? false:true),
+ columnWidth : .25,
+ layout : 'form',
+ labelWidth : 80,
+ items:[{
+ xtype : 'combo',
+ fieldLabel : '设备科核对人',
+ id : 'equipmentVerifier',
+ name : 'equipmentVerifier',
+ queryParam : 'spell',
+ valueField : 'name',
+ displayField : 'name',
+ store : verifierStore,
+ forceSelection : true,
+ lazyInit : true,
+ minChars : 0,
+ listWidth:100,
+ triggerAction : 'all',
+ hideTrigger : true,
+ typeAhead : false,
+ allowBlank : true,
+ width : 100,
+ listeners : {
+ select : function(combo, record, index) {
+ top.Ext.getCmp('equipmentVerifier').setValue(record.data.name);
+ }
+ }
+ }]
+ },{
columnWidth : 1,
layout : 'form',
labelWidth : 40,
@@ -1308,6 +1473,37 @@
});
}
},{
+ text : '保存核对人',
+ hidden: verifierUpdateButton || !sstsConfig.showDisposableGoodsGodownEntryVerifier||(commonEntry.isOpen()?false:true),
+ handler : function(){
+ var supplyRoomVerifier = top.Ext.getCmp('supplyRoomVerifier').getValue();//供应室核对员
+ var equipmentVerifier = top.Ext.getCmp('equipmentVerifier').getValue();//设备科核对员
+ if(isUndefinedOrNullOrEmpty(equipmentVerifier)){
+ showResult('设备科核对员不能为空!');
+ return false;
+ };
+ if(isUndefinedOrNullOrEmpty(supplyRoomVerifier)){
+ showResult('供应室核对员不能为空!');
+ return false;
+ };
+ // 设置表单参数json
+ setFormParams(form,['id','equipmentVerifier','supplyRoomVerifier']);
+ form.form.submit({
+ url : WWWROOT + '/disinfectSystem/godownEntryAction!saveGodownEntryVerifier.do',
+ method : 'POST',
+ waitMsg : '正在保存数据,请稍候',
+ waitTitle : '提交表单',
+ success : function(form, action) {
+ showResult(action.result.message);
+ godownEntryWin.close();
+ grid.dwrReload();
+ },
+ failure : function(form, action) {
+ alert(action.result.message);
+ }
+ });
+ }
+ },{
text : '打印新批次',
hidden : commonEntry.isOpen() ? false:true,
handler : function(){
@@ -1824,6 +2020,8 @@
top.Ext.getCmp("time").setValue(Ext.util.Format.date(new Date(action.result.data.time.time), 'Y-m-d H:i'));
setWareHouseInfo(action.result.data.warehouseID,action.result.data.warehouseName);
top.Ext.getCmp("wareHouse1").setValue(action.result.data.warehouseID);
+ top.Ext.getCmp("equipmentVerifier").setValue(action.result.data.equipmentVerifier);
+ top.Ext.getCmp("supplyRoomVerifier").setValue(action.result.data.supplyRoomVerifier);
for(var i = 0 ;i < action.result.data.itemsList.length ;i++){
var specification = action.result.data.itemsList[i].diposableGoods.specification;
Index: ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js
===================================================================
diff -u -r22653 -r22690
--- ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js (.../config.js) (revision 22653)
+++ ssts-web/src/main/webapp/disinfectsystem/config/gdsy/config.js (.../config.js) (revision 22690)
@@ -259,5 +259,7 @@
//回收时,申请数量与回收数量不一致,是否要确认
confirmRecyclingAmount:false,
//是否显示一次性物品盘点汇总信息。默认为false
- showGatherDisposableGoodsInventoryRecordItems:true
+ showGatherDisposableGoodsInventoryRecordItems:true,
+ //是否显示一次性物品入库单核对人员信息。默认为false
+ showDisposableGoodsGodownEntryVerifier:true
}
\ No newline at end of file
Index: ssts-web/src/main/resources/systemset/operationDefine.xml
===================================================================
diff -u -r22535 -r22690
--- ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 22535)
+++ ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 22690)
@@ -294,6 +294,7 @@
+
Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java
===================================================================
diff -u -r22637 -r22690
--- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 22637)
+++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 22690)
@@ -3032,5 +3032,48 @@
+ "#&" + disposableGoodsBatch.getBatchNumber() + "#&"
+ specification);
}
+
+ @Override
+ public void saveOrUpdateGodownEntryVerifier(String formParams,JSONObject jsonObj) {
+ jsonObj.put(JSONUtil.JSON_KEY_SUCCESS, false);
+ try {
+ if(StringUtils.isBlank(formParams)){
+ throw new RuntimeException("参数非法,formParams不能为空!");
+ }
+ JSONObject formParamsObject = JSONObject.fromObject(formParams);
+ //1 获得入库单id,设备科核对人,供应室核对人
+ Long id = JSONUtil.optLong(formParamsObject,"id",null);
+ String newEVerifier = JSONUtil.optString(formParamsObject,"equipmentVerifier",null);//设备科核对人
+ String newOVerifier = JSONUtil.optString(formParamsObject,"supplyRoomVerifier",null);//供应室核对人
+ if(DatabaseUtil.isPoIdValid(id)){
+ //2 根据入库单id获得入库单
+ GodownEntry entry = (GodownEntry) objectDao.getByProperty_ForUpdate(GodownEntry.class.getSimpleName(), "id", Long.valueOf(id));
+ if(entry == null){
+ throw new RuntimeException("入库单已被删除");
+ }
+
+ //3 记录修改前的入库单核对人
+ String originalEVerifier = entry.getEquipmentVerifier();
+ String originalOVerifier = entry.getSupplyRoomVerifier();
+
+ //4 修改入库单核对人
+ entry.setEquipmentVerifier(newEVerifier);
+ entry.setSupplyRoomVerifier(newOVerifier);
+ objectDao.saveOrUpdate(entry);
+
+ //5 记录日志
+ String operationDescription = "修改一次性物品入库单(单号="+ entry.getSerialNumber()
+ +")的核对人员 修改前:设备科核对人="+originalEVerifier+"供应室核对人="+originalOVerifier
+ +"。修改后:设备科核对人="+newEVerifier+",供应室核对人="+newOVerifier;
+ appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_DISPOSABLEGOODS, Log.TYPE_UPDATE, operationDescription);
+ jsonObj.put(JSONUtil.JSON_KEY_SUCCESS, true);
+ jsonObj.put(JSONUtil.JSON_KEY_MESSAGE, "保存核对人成功");
+ }else{
+ throw new RuntimeException("参数非法,入库单id不能为空!");
+ }
+ } catch (Exception e) {
+ jsonObj.put(JSONUtil.JSON_KEY_MESSAGE, e.getMessage());
+ }
+ }
}
Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.jsp
===================================================================
diff -u -r20273 -r22690
--- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.jsp (.../godownEntryView.jsp) (revision 20273)
+++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.jsp (.../godownEntryView.jsp) (revision 22690)
@@ -60,7 +60,12 @@
SSTS_WarehouseEntry_Import = false;
+ var SSTS_WarehouseEntryVerifier_Update = true;
+
+ SSTS_WarehouseEntryVerifier_Update = false;
+
+ var verifierUpdateButton = SSTS_WarehouseEntryVerifier_Update;
var saveButton = SSTS_WarehouseEntry_Create && SSTS_WarehouseEntry_Update && SSTS_WarehouseEntry_Delete;
Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/GodownEntryAction.java
===================================================================
diff -u -r22637 -r22690
--- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/GodownEntryAction.java (.../GodownEntryAction.java) (revision 22637)
+++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/GodownEntryAction.java (.../GodownEntryAction.java) (revision 22690)
@@ -39,6 +39,7 @@
import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntryItem;
import com.forgon.disinfectsystem.entity.basedatamanager.barcodeinformation.BarcodeInformation;
import com.forgon.disinfectsystem.entity.tousseitem.TousseItem;
+import com.forgon.security.model.User;
import com.forgon.tools.MapTools;
import com.forgon.tools.StrutsParamUtils;
import com.forgon.tools.StrutsResponseUtils;
@@ -733,38 +734,38 @@
}
public String loadBarcodeDeviceInfo() {
String barcode = StrutsParamUtils.getPraramValue("barcode", "");
- Map returnMsg = new HashMap();
- returnMsg.put("success", false);
- returnMsg.put("errMsg", "加载失败");
-
+ String isUserBarcode = StrutsParamUtils.getPraramValue("isUserBarcode","");
+ JSONObject json = new JSONObject();
try {
if (StringUtils.isBlank(barcode)) {
throw new RuntimeException("条码不能为空!");
}
BarcodeDevice barcodeDevice = barcodeManager
.getBarcodeByBarcode(barcode);
- if (barcodeDevice == null){
+ if (barcodeDevice == null && isUserBarcode.equals("true")){
+ throw new RuntimeException("查无此人员");
+ }else if(barcodeDevice == null){
throw new RuntimeException("查无此物品");
}
- if(barcodeDevice instanceof BarcodeInformation){// 高值耗材处理
- returnMsg.put("barcodeType", BarcodeDevice.BARCODE_TYPE_BARCODEINFORMATION);
- returnMsg.put("barcodeInformation", barcodeDevice);
+ if(isUserBarcode.equals("true")){
+ if(barcodeDevice instanceof User){//人员处理
+ User user = (User) barcodeDevice;
+ json.put("barcodeType", BarcodeDevice.BARCODE_TYPE_BARCODEINFORMATION);
+ json.put("userFullName", user.getFullName());
+ }
}else{
- throw new RuntimeException("不支持的条码类型!");
+ if(barcodeDevice instanceof BarcodeInformation){// 高值耗材处理
+ json.put("barcodeType", BarcodeDevice.BARCODE_TYPE_BARCODEINFORMATION);
+ json.put("barcodeInformation", barcodeDevice);
+ }else{
+ throw new RuntimeException("不支持的条码类型!");
+ }
}
-
- returnMsg.put("success", true);
} catch (Exception e) {
e.printStackTrace();
- returnMsg.put("errMsg", e.getMessage());
+ StrutsResponseUtils.output(JSONUtil.buildJsonObject(false, e.getMessage()));
}
- try {
- StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8");
- String jsonStr = JSONUtil.toJSONString(returnMsg,true);
- StrutsParamUtils.getResponse().getWriter().print(jsonStr);
- } catch (IOException e) {
- e.printStackTrace();
- }
+ StrutsResponseUtils.output(true, json);
return null;
}
@Override
@@ -840,6 +841,18 @@
StrutsResponseUtils.output(JSONUtil.buildJsonObject(false, "请选择要打印的入库单!"));
}
}
-
+
+ /**
+ * 修改入库单核对人
+ */
+ public void saveGodownEntryVerifier() {
+ String idStr = StrutsParamUtils.getPraramValue("id", "");
+ String formParams = StrutsParamUtils.getPraramValue("formParams", "");
+ JSONObject jsonObj = new JSONObject();
+ if(StringUtils.isNotBlank(idStr)){
+ godownEntryManager.saveOrUpdateGodownEntryVerifier(formParams,jsonObj);
+ }
+ StrutsResponseUtils.output(jsonObj);
+ }
}
Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/GodownEntry.java
===================================================================
diff -u -r21278 -r22690
--- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/GodownEntry.java (.../GodownEntry.java) (revision 21278)
+++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/GodownEntry.java (.../GodownEntry.java) (revision 22690)
@@ -125,6 +125,16 @@
public final static Integer DATA_STASUS_ERROR = 0;
public final static Integer DATA_STASUS_SUCC = 1;
+ /**
+ * 设备科审核人(广东省医院这边无菌物品入库需要双人核对)
+ */
+ private String equipmentVerifier ;
+
+ /**
+ * 供应室审核人(广东省医院这边无菌物品入库需要双人核对)
+ */
+ private String supplyRoomVerifier;
+
@JsonIgnore
private List itemsList = new ArrayList();
@@ -153,6 +163,22 @@
this.id = id;
}
+ public String getEquipmentVerifier() {
+ return equipmentVerifier;
+ }
+
+ public void setEquipmentVerifier(String equipmentVerifier) {
+ this.equipmentVerifier = equipmentVerifier;
+ }
+
+ public String getSupplyRoomVerifier() {
+ return supplyRoomVerifier;
+ }
+
+ public void setSupplyRoomVerifier(String supplyRoomVerifier) {
+ this.supplyRoomVerifier = supplyRoomVerifier;
+ }
+
public String getSerialNumber() {
return serialNumber;
}
Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManager.java
===================================================================
diff -u -r22637 -r22690
--- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManager.java (.../GodownEntryManager.java) (revision 22637)
+++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManager.java (.../GodownEntryManager.java) (revision 22690)
@@ -112,4 +112,12 @@
* @return
*/
public String printyGodownEntryNewBatch(List godownEntryIdsStrList);
+
+
+ /**
+ * 修改入库单核对人员
+ * @param formParams 前台的核对人数据 例如:{"id":"888","equipmentVerifier":"刘德华","supplyRoomVerifier":"周润发"}
+ * @param jsonObj
+ */
+ public void saveOrUpdateGodownEntryVerifier(String formParams,JSONObject jsonObj);
}