Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.js =================================================================== diff -u -r14454 -r14549 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.js (.../godownEntryView.js) (revision 14454) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.js (.../godownEntryView.js) (revision 14549) @@ -1164,7 +1164,7 @@ } },{ text : '保存并打印新标签', - hidden:saveButton, + hidden:saveButton || (commonEntry.isOpen()?true:false), handler : function() { if(!form.getForm().isValid()){ showResult('请正确填写表单各值'); @@ -1217,7 +1217,7 @@ } },{ text : '保存', - hidden:saveButton, + hidden:saveButton || (commonEntry.isOpen()?true:false), handler : function() { if(!form.getForm().isValid()){ showResult('请正确填写表单各值'); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/GodownEntryAction.java =================================================================== diff -u -r14454 -r14549 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/GodownEntryAction.java (.../GodownEntryAction.java) (revision 14454) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/GodownEntryAction.java (.../GodownEntryAction.java) (revision 14549) @@ -433,11 +433,8 @@ GodownEntry entry = godownEntry; if (StringUtils.isNotBlank(id)) { - GodownEntry original = new GodownEntry(); - // 更新入库单,里面的item有可能会更新,新建,删除标识号。 - buildGodownEntryParamsForUpdate(original, entry); - - godownEntryManager.updateGodownEntry_TRANS_REQUIRED(original, entry, returnMsg); + // 常规功能不能修改入库单了 + throw new RuntimeException("请在干预模块修改入库单!"); } else { // 保存入库单,里面的item一定都是新建标识号对象,并且需要更新批次属性。 //entry = godownEntry; @@ -459,7 +456,47 @@ printMsgToClient(saveResult, out, result.toString(), itemsDetails); return null; } + // 干预功能,修改入库单 + public String interfere_updateGodownEntry() { + HttpServletResponse response = StrutsParamUtils.getResponse(); + PrintWriter out = null; + String result = "更新成功"; + response.setCharacterEncoding("UTF-8"); + Map returnMsg = new HashMap(); + returnMsg.put("success", false); + returnMsg.put("errMsg", "更新失败"); + try { + out = response.getWriter(); + } catch (IOException e) { + e.printStackTrace(); + } + boolean saveResult = false; + try { + String id = StrutsParamUtils.getPraramValue("id", ""); + GodownEntry entry = godownEntry; + + if (StringUtils.isNotBlank(id)) { + GodownEntry original = new GodownEntry(); + // 更新入库单,里面的item有可能会更新,新建,删除标识号。 + buildGodownEntryParamsForUpdate(original, entry); + + godownEntryManager.updateGodownEntry_TRANS_REQUIRED(original, + entry, returnMsg); + } else { + throw new RuntimeException("请在一次性物品模块新建入库单!"); + } + saveResult = true; + } catch (Exception e) { + e.printStackTrace(); + saveResult = false; + result = e.getMessage(); + } + JSONArray itemsDetails = (JSONArray) returnMsg.get("itemsDetails"); + + printMsgToClient(saveResult, out, result.toString(), itemsDetails); + return null; + } public String loadGodownEntryItemByid() { String id = StrutsParamUtils.getPraramValue("id", ""); if (StringUtils.isNotBlank(id) && id.equals("0") == false) {// 初始化加载的数据 Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r14539 -r14549 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 14539) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 14549) @@ -321,10 +321,10 @@ singleClickExpand:singleClickExpandTree, hidden:SSTS_Warehouse_Menu, children:[ - {hidden :SSTS_DiposableGoodsNode_Menu,text:"一次性物品管理",href:WWWROOT+'/disinfectsystem/assestManagement/disposableGoods/interfere/diposableGoodsView.jsp',hrefTarget:linkTarget,leaf:true} + {hidden :SSTS_DiposableGoodsNode_Menu,text:"一次性物品管理",href:WWWROOT+'/disinfectsystem/assestManagement/disposableGoods/interfere/diposableGoodsView.jsp',hrefTarget:linkTarget,leaf:true}, // {hidden :SSTS_DiposableGoodsNode_Menu,text:"一次性物品库存",href:WWWROOT+'/disinfectsystem/assestManagement/disposableGoods/disposableGoodsStockView.jsp',hrefTarget:linkTarget,leaf:true}, // {hidden :SSTS_DiposableGoodsNode_Menu,text:"一次性物品出入库记录",href:WWWROOT+'/disinfectsystem/assestManagement/disposableGoods/storageRecordView.jsp',hrefTarget:linkTarget,leaf:true}, -// {hidden :SSTS_godownEntryNode_Menu,text:"入库单管理",href:WWWROOT+'/disinfectsystem/assestManagement/godownEntry/godownEntryView.jsp',hrefTarget:linkTarget,leaf:true}, + {hidden :SSTS_godownEntryNode_Menu,text:"入库单管理",href:WWWROOT+'/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.jsp',hrefTarget:linkTarget,leaf:true} // {hidden :SSTS_WarehouseEntryOut_Menu,text:"退库单管理",href:WWWROOT+'/disinfectsystem/assestManagement/godownEntry/godownOutView.jsp',hrefTarget:linkTarget,leaf:true}, // {hidden :SSTS_WarehouseEntryOut_Menu,text:"调拨单管理",href:WWWROOT+'/disinfectsystem/assestManagement/godownEntry/appropriationView.jsp',hrefTarget:linkTarget,leaf:true}, // {hidden :SSTS_WarehouseEntryOut_Menu,text:"盘盈盘亏管理",href:WWWROOT+'/disinfectsystem/assestManagement/godownEntry/godownStockTakeView.jsp',hrefTarget:linkTarget,leaf:true}, Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.jsp (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.jsp (revision 14549) @@ -0,0 +1,88 @@ +<%@page import="com.forgon.disinfectsystem.entity.assestmanagement.GodownEntryItem"%> +<%@page import="com.forgon.disinfectsystem.entity.basedatamanager.supplier.Supplier,com.forgon.disinfectsystem.entity.assestmanagement.GodownEntry "%> +<%@ page contentType="text/html; charset=UTF-8"%> +<%@ include file="/common/taglibs.jsp"%> +<%@ include file="/common/includeExtJsAndCss.jsp"%> +<%@ page import="com.forgon.tools.SpringBeanManger" %> +<% + String userName = AcegiHelper.getLoginUser().getUserFullName(); + request.setAttribute("userName",userName); +%> + + + +入库单信息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + + + +
+ + + \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.js (revision 14549) @@ -0,0 +1,1939 @@ +var entityName = "入库单"; +var grid; +var batchNumStore; +var g_localID = 1;// 为了区分每一个item,增加的ID。 +var commonEntry = new commonEntry(); + +var wareHouseStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/baseData/wareHouseAction!getWareHouseData.do', + method : 'POST' + }), + reader : new Ext.data.JsonReader({ + totalProperty : 'totalCount', + root : 'data' + }, [ + {name : 'id',mapping : 'id'}, + {name : 'name',mapping : 'name'}, + {name : 'orgUnitCode',mapping : 'orgUnitCode'}, + ]), + listeners : { + load : function(store,records) { + if(records.length > 0 && (!commonEntry.isOpen())){ + var combo = top.Ext.getCmp("wareHouse1"); + // 触发选中事件 + combo.fireEvent('select', combo,records[0],0); + } + top.Ext.getCmp("name1").enable(); + } + } +}); + +// 全部一次性物品 +var allDiposableGoodsStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/diposableGoodsAction!getDiposableGoodsData.do?allItems=yes', + method : 'POST' + }), + reader : new Ext.data.JsonReader({ + totalProperty : 'totalCount', + root : 'data' + }, [ + {name : 'id',mapping : 'id'}, + {name : 'spelling',mapping : 'spelling'}, + {name : 'name',mapping : 'name'}, + {name : 'displayName',mapping : 'displayName'}, + {name : 'referencePrice',mapping : 'referencePrice'} + ]) +}); + +// 科室能申请的一次性物品 +var diposableGoodsStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/diposableGoodsAction!getDiposableGoodsData.do', + method : 'POST' + }), + reader : new Ext.data.JsonReader({ + totalProperty : 'totalCount', + root : 'data' + }, [ + {name : 'id',mapping : 'id'}, + {name : 'spelling',mapping : 'spelling'}, + {name : 'name',mapping : 'name'}, + {name : 'displayName',mapping : 'displayName'}, + {name : 'referencePrice',mapping : 'referencePrice'} + ]) +}); + +function dateCompare(date1,date2){ + date1 = date1.replace(/\-/gi,"/"); + date2 = date2.replace(/\-/gi,"/"); + var time1 = new Date(date1).getTime(); + var time2 = new Date(date2).getTime(); + if(time1 > time2){ + return 1; + }else if(time1 == time2){ + return 2; + }else{ + return 3; + }} + +var supplierStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/baseData/supplierAction!getSupplierData.do?supplierType='+encodeURI(supplier), + method : 'POST' + }), + reader : new Ext.data.JsonReader({ + totalProperty : 'totalCount', + root : 'data' + }, [ + {name : 'id',mapping : 'id'}, + {name : 'name',mapping : 'name'} + ]) +}); + +var madeCompanyStore = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/baseData/supplierAction!getSupplierData.do?supplierType='+encodeURI(madeCompany), + method : 'POST' + }), + reader : new Ext.data.JsonReader({ + totalProperty : 'totalCount', + root : 'data' + }, [ + {name : 'id',mapping : 'id'}, + {name : 'name',mapping : 'name'} + ]) +}); + + + batchNumStore = new top.Ext.data.Store({ + proxy : new top.Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/diposableGoodsAction!getDisposableGoodsBatchList.do', + method : 'POST' + }), + reader : new top.Ext.data.JsonReader({ + fields : [ + {name : 'id'}, + {name : 'batchNumber'} + ] + }) +}); +var hasTypeStore = new Ext.data.SimpleStore({ + fields : ['hasType'], + data : [[HAS_TYPE_NO],[HAS_TYPE_YES]] + }); + +//类别数据源 +var gradeStore = new Ext.data.SimpleStore({ + data:[['一类'],['二类'],['三类']], + fields:['name'] +}); + +var GodownEntryItemRecord = Ext.data.Record.create([ + {name : 'localID'}, + {name : 'id'}, + {name : 'name'}, + {name : 'amount'}, + {name : 'cost'}, + {name : 'batchNumber'}, + {name : 'sterileBatchNumber'}, + {name : 'manufacturer'}, + {name : 'certification'}, + {name : 'totalPrice'}, + {name : 'identificationID'}, + {name : 'disposableGoodsID'}, + {name : 'disposableGoodsStockID'}, + {name : 'disposableGoodsBatchID'}, + {name : 'disposableGoodsBatchStockID'}, + {name : 'expDate' ,type : 'date'}, + {name : 'supplierName'}, + {name : 'identification'}, + {name : 'producingArea'}, + {name : 'hasBiologicalTestReport'}, + {name : 'hasInvoice'}, + {name : 'grade'} +]); + +/** + * 设置仓库的id和name的隐藏域的内容 + * @param id + * @param name + */ +function setWareHouseInfo(id,name){ + top.Ext.getCmp('warehouseID').setValue(id); + top.Ext.getCmp('warehouseName').setValue(name); +} + +function addItems(disposableGoodsID,batchID,name,amount,cost,batchNumber,expDate,supplierName,sterileBatchNumber,manufacturer,certification,identification,producingArea,grade){ + if(top.Ext.getCmp('name1').getValue() == null || top.Ext.getCmp('name1').getValue() == ''){ + showResult("请填写物品名称!"); + return false; + } + + if(top.Ext.getCmp('amount1').getValue() == null || top.Ext.getCmp('amount1').getValue() == ''){ + showResult("请填写数量!"); + return false; + } + + if(!top.Ext.getCmp('amount1').isValid()){ + showResult("请正确填写数量!"); + return false; + } + + if(top.Ext.getCmp('cost1').getValue() == null || top.Ext.getCmp('cost1').getValue() == ''){ + showResult("请填写单价!"); + return false; + } + + if(!top.Ext.getCmp('cost1').isValid()){ + showResult("请正确填写单价!"); + return false; + } + + if(top.Ext.getCmp('batchNumber1').getRawValue() == null || top.Ext.getCmp('batchNumber1').getRawValue() == ''){ + showResult("请填写批次!"); + return false; + } + + if(top.Ext.getCmp('expDate1').getValue() == null || top.Ext.getCmp('expDate1').getValue() == ''){ + showResult("请填写失效日期!"); + return false; + } + + if(top.Ext.getCmp('supplier1').getValue() == null || top.Ext.getCmp('supplier1').getValue() == ''){ + showResult("请填写供应商!"); + return false; + } + + for(var i = 0;i < top.Ext.getCmp('godownEntryItemGrid').getStore().getCount();i++){ + if(top.Ext.getCmp('godownEntryItemGrid').getStore().getAt(i).data.disposableGoodsID == disposableGoodsID && top.Ext.getCmp('godownEntryItemGrid').getStore().getAt(i).data.batchNumber == batchNumber){ + showResult("该物品已经存在,不能重复添加!"); + return false; + } + } + var hasBiologicalTestReport = top.Ext.getCmp("hasBiologicalTestReport").getValue(); + var hasInvoice = top.Ext.getCmp("hasInvoice").getValue(); + if(hasInvoice == null || hasInvoice == ''){ + if(sstsConfig.godownEntryShowInvoice){ + showResult("请选择是否有发票"); + return false; + } + } + //添加操作 + + var godownEntryItem = new GodownEntryItemRecord({ + localID:g_localID++, + id : "", + disposableGoodsID : disposableGoodsID, + identificationID : '', + batchID : batchID, + name : name, + amount : Ext.num(parseFloat(amount),0), + cost : Ext.num(parseFloat(cost),0), + batchNumber : batchNumber, + expDate : expDate, + sterileBatchNumber:sterileBatchNumber, + manufacturer:manufacturer, + certification:certification, + totalPrice:Ext.num(parseFloat(amount),0)*Ext.num(parseFloat(cost),0), + supplierName : supplierName, + identification : identification, + producingArea: producingArea, + hasBiologicalTestReport : hasBiologicalTestReport, + hasInvoice : hasInvoice, + grade:grade + }); + //top.Ext.getCmp('godownEntryItemGrid').getStore().add(godownEntryItem); + top.Ext.getCmp('godownEntryItemGrid').getStore().insert(0 , godownEntryItem); + + top.Ext.getCmp('name1').setValue(''); + top.Ext.getCmp('amount1').setValue(''); + top.Ext.getCmp('cost1').setValue(''); + top.Ext.getCmp('disposableGoodsID').setValue(''); + top.Ext.getCmp('batchNumber1').setValue(''); + top.Ext.getCmp('expDate1').setValue(''); + top.Ext.getCmp('supplier1').setValue(''); + top.Ext.getCmp('sterileBatchNumber').setValue(''); + top.Ext.getCmp('manufacturer').setValue(''); + top.Ext.getCmp('certification').setValue(''); + top.Ext.getCmp('name1').focus(); + + batchNumStore.baseParams.disposableGoodsID = ''; + batchNumStore.load(); +} + +function renderDeleteButton(v,p,record){ + return ""; +} +/** +* 精确计算arg1和arg2的乘积 +* @param arg1 +* @param arg2 +* @return +*/ +function accMul(arg1,arg2) { + var s1=null ,m=0; + if(!arg1){ + s1 = '0.0'; + }else{ + s1=arg1.toString(); + } + if(!arg2){ + s2='0.0'; + }else{ + s2=arg2.toString(); + } + try{m+=s1.split(".")[1].length;}catch(e){s1='0.0';} + try{m+=s2.split(".")[1].length;}catch(e){s2='0.0';} + return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m); +} +/** +* 精确计算arg1和arg2的和 +* @param arg1 +* @param arg2 +* @return +*/ +function accAdd(arg1,arg2){ + var r1=null ,m=0; + if(!arg1){ + r1 = '0.0'; + }else{ + r1=arg1.toString(); + } + if(!arg2){ + r2='0.0'; + }else{ + r2=arg2.toString(); + } + try{r1=arg1.toString().split(".")[1].length;}catch(e){r1=0;} + try{r2=arg2.toString().split(".")[1].length;}catch(e){r2=0;} + m=Math.pow(10,Math.max(r1,r2)); + return round((arg1*m+arg2*m)/m,2); +} +function round(v,e){ + var t=1; + for(;e>0;t*=10,e--); + for(;e<0;t/=10,e++); + return Math.round(v*t)/t; +} +function setTotalMoney(grid) { + var totalMoney = 0.0; + grid.getStore().each(function(record){ + var amount = Ext.num(parseFloat(record.data.amount),0.0); + var cost = Ext.num(parseFloat(record.data.cost),0.0); + var mul = amount*cost*1.00; + totalMoney += mul; + }); + top.Ext.getCmp("totalPrice").setValue(Ext.util.Format.usMoney(totalMoney)); +} +function renderTotalPrice(val,p,record){ + var amount = Ext.num(parseFloat(record.data.amount),0.0); + var cost = Ext.num(parseFloat(record.data.cost),0.0); + var total = Ext.util.Format.usMoney(cost*amount); + return total; +} + +function deleteItem(localID){ + var godownEntryItemGridStore = top.Ext.getCmp('godownEntryItemGrid').getStore(); + for(var i = 0;i"+specification+""+ + batchNumber+""+barcode+""+expDate+""; + } + } + if(tableHtml.length > 0){ + var title = ""+tableHtml+"
名称规格批次条码失效期
"; + top.Ext.MessageBox.alert("已入库物品清单", title); + } + + }, + failure : function(form, action) { + showResult(action.result.message); + } + }); + } + },{ + text : '取消', + handler : function() { + window.close(); + } + }] + }); + + var window = new top.Ext.Window( { + id : 'recyclingApplicationWin', + layout : 'fit', + title : '入库单信息', + width : 1020, + height :550, + modal : true, +// autoHeight : true, + border :false, + plain : true, + items : [ form ] + }); + window.show(); + top.Ext.getCmp('name1').focus(false, 100); +} +//添加 +function addGodown(){ + if(!top.Ext.getCmp('godownEntryForm').form.isValid()){ + showResult('请正确填写表单各值'); + return false; + } + var disposableGoodsID = top.Ext.getCmp('disposableGoodsID').getValue(); + var name = top.Ext.getCmp('name1').getValue(); + if(name.length==0){ + showResult('请填写物品名称!'); + top.Ext.getCmp('name1').focus(false,100); + return false; + } + var count = top.Ext.getCmp('amount1').getValue(); + if(count.length==0){ + showResult('请填写物品数量!'); + top.Ext.getCmp('amount1').focus(false,100); + return false; + } + var cost = top.Ext.getCmp('cost1').getValue(); + if(cost.length==0){ + showResult('请填写物品价格!'); + top.Ext.getCmp('cost1').focus(false,100); + return false; + } + var batchNumber = top.Ext.getCmp('batchNumber1').getRawValue(); + if(batchNumber.length==0){ + showResult('请填写物品批次号!'); + top.Ext.getCmp('batchNumber1').focus(false,100); + return false; + } + var expDate = top.Ext.getCmp('expDate1').getValue(); + var supplierName = top.Ext.getCmp('supplier1').getValue(); + var sterileBatchNumber = top.Ext.getCmp('sterileBatchNumber').getRawValue(); + var manufacturer = top.Ext.getCmp('manufacturer').getRawValue(); + var certification = top.Ext.getCmp('certification').getRawValue(); + + var expDateStr = top.Ext.getCmp('expDate1').getRawValue(); + var currentDate = new Date(); + var year = parseInt(currentDate.getFullYear()) + 1; + var month = parseInt(currentDate.getMonth())+1; + var day = currentDate.getDate(); + var nextYearDate = year + "-" + month + "-" + day; + var producingArea = top.Ext.getCmp('producingArea').getValue(); + var grade = top.Ext.getCmp('grade').getValue(); + if(expDateStr != ""){ + if(dateCompare(expDateStr,nextYearDate) != 1){ + top.Ext.MessageBox.confirm("请确认","添加的物品失效日期在一年之内,确定要添加吗?",function(button, text){ + if("yes" == button){ + addItems(disposableGoodsID,'',name,count,cost,batchNumber,expDate,supplierName,sterileBatchNumber,manufacturer,certification,'',producingArea,grade); + var grid = top.Ext.getCmp('godownEntryItemGrid'); + setTotalMoney(grid); + top.Ext.getCmp('name1').focus(false,100); + } + }); + }else{ + addItems(disposableGoodsID,'',name,count,cost,batchNumber,expDate,supplierName,sterileBatchNumber,manufacturer,certification,'',producingArea,grade); + var grid = top.Ext.getCmp('godownEntryItemGrid'); + setTotalMoney(grid); + } + }else{ + showResult("请填写失效日期!"); + top.Ext.getCmp('expDate1').focus(false,100); + } + +} +//function printBarcode(barcodeStr,saveAndPrintNew){ +// if(barcodeStr!=null && barcodeStr != "null" && barcodeStr.length > 0){ +// var godownEntryItem = barcodeStr.split(";"); +// var exitBatch = true; +// +// if(saveAndPrintNew){ +// for ( var i = 0; i < godownEntryItem.length; i++) { +// var resultItem = godownEntryItem[i].split("#&"); +// var name =resultItem[0]; +// var newBatch =resultItem[1]; +// var barcode = resultItem[2]; +// var expDate = resultItem[3]; +// var supplierName = resultItem[4]; +// var batchNumber = resultItem[5]; +// var sp = resultItem[6]; +// if(newBatch == true || newBatch == 'true'){ +// exitBatch = false; +// printDiposableGoodsInfo(barcode,name,expDate,supplierName,batchNumber,0,sp); +// } +// } +// if(exitBatch){ +// showResult("本次入库物品没有新的批次。"); +// } +// }else{ +// for ( var i = 0; i < godownEntryItem.length; i++) { +// var resultItem = godownEntryItem[i].split("#&"); +// var name =resultItem[0]; +// var barcode = resultItem[1]; +// var expDate = resultItem[2]; +// var supplierName = resultItem[3]; +// var batchNumber = resultItem[4]; +// var sp = resultItem[5]; +// printDiposableGoodsInfo(barcode,name,expDate,supplierName,batchNumber,0,sp); +// } +// } +// +// +// }else{ +// showResult("本次入库物品没有新的批次。"); +// } +//} +// 打印入库单列表 +//function printGodownEntryListInternal(printType){ +// top.Ext.MessageBox.show({ +// title:'请等待', +// msg:'打印中……', +// width:350, +// progress:true, +// closable:false +// }); +// //加载打印数据 +// var map = {}; +// map["code"] = Ext.getCmp('code').getValue(); +// map["batchNumber"] = Ext.getCmp('batchNumber').getValue(); +// map["startDate"] = $Id('startDate').value; +// map["endDate"] = $Id('endDate').value; +// GodownEntryTableManager.loadGodownEntryListPrintData(map,function(result){ +// if(result && result != ""){ +// var rs = Ext.decode(result); +// if(rs.success = true){ +// printGodownEntryList(rs,printType); +// } +// } +// hideMessageBox(true); +// }); +//} +// 打印,目前只支持单个打印 +//function batchPrintGodownEntrys(ids, printType){ +// if(ids == null) +// return; +// top.Ext.MessageBox.show({ +// title:'请等待', +// msg:'打印中……', +// width:350, +// progress:true, +// closable:false +// }); +// Ext.Ajax.timeout=300*000; +// Ext.Ajax.request({ +// timeout: 300*000, +// url : WWWROOT + '/disinfectSystem/godownEntryAction!mergeLoadToussePrintData.do', +// params : {ids : ids}, +// success : function(response){ +// var result = Ext.decode(response.responseText); +//// result.depart = depart; +//// result.departBarcode = departBarcode; +// result.printUser = curUserName; +// result.printTime = Ext.util.Format.date(new Date(), 'Y-m-d H:i'); +// // 发料人默认改为当前用户 +// if (isUndefinedOrNullOrEmpty(result.sender)) { +// result.sender = curUserName; +// } +// printGodownEntrys(result, printType); +// +// if (printType == 0){ +//// updatePrintStatus(ids); +// } +// +// hideMessageBox(true); +// }, +// failure: function(response){ +// showResult("打印失败!"); +// hideMessageBox(true); +// } +// }); +//} + +//function printGodownEntrys(godownEntrysInfo, printType) { +// godownEntrysInfo.applicationType = "一次性物品入库单"; +//// godownEntrysInfo.barcode = godownEntrysInfo.departBarcode; +// godownEntrysInfo.formTypeOfPrinted = 'godownEntry'; +// var unitName = ""; +//// DWREngine.setAsync(false); +//// SupplyRoomConfigTableManager.getStartTimeObject(function(config){ +//// if(config != null){ +//// unitName = config.unitName; +//// } +//// }); +//// DWREngine.setAsync(true); +// godownEntrysInfo.unitName = unitName; +//// godownEntrysInfo.printConfigObj_default = batchPrintGodownEntrysConfig_default; +// printGodownEntryInfo_local(godownEntrysInfo, printType); +//} +//function printGodownEntryInfo_local(godownEntrysInfo, type){ +// setGoodsInfos(godownEntrysInfo); +// godownEntrysInfo.category = '共'+godownEntrysInfo.totalRows+'种'; +// printGodownEntryInfo(godownEntrysInfo, type); +//} + +// 删除 +function deleteGodownEntry(grid) { + var records = grid.getSelectionModel().getSelections(); + + if (records.length == 0) { + showResult("请选择要删除的入库单!"); + return false; + } + var ids = null; + for ( var i = 0, len = records.length; i < len; i++) { + if (ids == null) { + ids = records[i].data['id']; + } else { + ids = ids + ';' + records[i].data['id']; + } + } + top.Ext.MessageBox.confirm("请确认","是否确定要删除选中的入库单信息?", + function(button, text) { + if ("yes" == button){ + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/godownEntryAction!deleteGodownEntry.do', + params : {ids : ids}, + success : function(response, options) { + var result = Ext.decode(response.responseText); + var success = result.success; + if (success) { + grid.dwrReload(); + showResult(result.message); + } + }, + failure : function(response, options) { + showResult(response.responseText); + } + }); + } + } + ); + +} + +var loadFormData = function(grid) { + var records = grid.getSelectionModel().getSelections(); + if (records.length == 0) { + showResult("请选择要修改的入库单!"); + return false; + } + if (records.length > 1) { + showResult("一次只能修改一个入库单!"); + return false; + } + id = records[0].data['id']; + editRecord(id); +}; +function editRecord(id){ + commonEntry.setId(id); + addGodownEntry(); + top.Ext.getCmp("serialNum").show(); + top.Ext.getCmp('godownEntryForm').form.load({ + url : WWWROOT + '/disinfectSystem/godownEntryAction!loadGodownEntry.do', + method : 'GET', + waitMsg : '正在加载数据,请稍候', + params : {id : id}, + success : function(form, action) { + 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); + + for(var i = 0 ;i < action.result.data.itemsList.length ;i++){ + var specification = action.result.data.itemsList[i].diposableGoods.specification; + var b = true; + if(specification == null || specification.length <= 0){ + b = false; + } + var amount =action.result.data.itemsList[i].amount; +// var aaa = Ext.util.Format.usMoney(action.result.data.itemsList[i].cost); + var cost = parseFloat(action.result.data.itemsList[i].cost); + var godownEntryItem = new GodownEntryItemRecord({ + localID:g_localID++, + id : action.result.data.itemsList[i].id, + disposableGoodsID : action.result.data.itemsList[i].disposableGoodsID, + disposableGoodsStockID : action.result.data.itemsList[i].disposableGoodsStockID, + disposableGoodsBatchID : action.result.data.itemsList[i].disposableGoodsBatchID, + disposableGoodsBatchStockID : action.result.data.itemsList[i].disposableGoodsBatchStockID, + identificationID : action.result.data.itemsList[i].identificationID, + name : action.result.data.itemsList[i].diposableGoods.name + (b == false?"":" ["+specification+"]"), + amount : amount, + cost : cost, + sterileBatchNumber : action.result.data.itemsList[i].sterileBatchNumber, + manufacturer : action.result.data.itemsList[i].manufacturer, + certification : action.result.data.itemsList[i].certification, + batchNumber : action.result.data.itemsList[i].batchNumber, + expDate : new Date(action.result.data.itemsList[i].expDate.time), + supplierName : action.result.data.itemsList[i].supplierName, + identification : action.result.data.itemsList[i].identification, + totalPrice:parseFloat(Ext.util.Format.usMoney(amount*cost)), + producingArea: action.result.data.itemsList[i].producingArea, + hasBiologicalTestReport : action.result.data.itemsList[i].hasBiologicalTestReport, + hasInvoice : action.result.data.itemsList[i].hasInvoice, + grade : action.result.data.itemsList[i].grade + }); + + top.Ext.getCmp('godownEntryItemGrid').getStore().add(godownEntryItem); + } + setTotalMoney(top.Ext.getCmp('godownEntryItemGrid')); + // 保存原始数据,只需要保存需要修改的属性 + setOriginalFormParams(form,['id','remark','time','warehouseName','warehouseID']); + var originalItems = buildJSONStringFromStore(top.Ext.getCmp('godownEntryItemGrid').getStore()); + //alert(originalItems); + top.Ext.getCmp("originalItems").setValue(originalItems); + + }, + failure : function(form, action) { + } + }); +} + +/** + * 修改记录 + * modifyRecord函数 触发modify函数调用,并传入当前列的值以及record.data对象 + * 页面中需要定义 modify(v,data) 函数 + */ +function modify(v,data){ + editRecord(data['id']); +} + +Ext.onReady(function() { + Ext.QuickTips.init(); + commonEntry.setCurrentUserName(curUserName); + var columns = [ + {header : "单号",width : 200,dataIndex : 'serialNumber', renderer : modifyRecord}, + {header : "操作员",width : 200,dataIndex : 'operator'}, + {header : "入库时间",width : 200,dataIndex : 'time' , renderer : myDateFormatByMinute}, + {header : "金额",width : 200,dataIndex : 'totalPrice'}, + {header : "供应商",width : 200,dataIndex : 'supplierName'}, + {id : 'operationRemark',header : "备注",width : 120,dataIndex : 'remark'} + ]; + + var readerDetail = [ + {name : 'id'}, + {name : 'serialNumber'}, + {name : 'operator'}, + {name : 'time'}, + {name : 'remark'}, + {name : 'totalPrice'}, + {name : 'supplierName'} + ]; + + var filters = new Ext.grid.GridFilters({ + filters:[ + {type: 'string', dataIndex: 'serialNumber'}, + {type: 'string', dataIndex: 'operator'}, + {type: 'date', dataIndex: 'time'}, + {type: 'string', dataIndex: 'remark'}, + {type: 'string', dataIndex: 'totalPrice'}, + {type: 'string', dataIndex: 'supplierName'} + ]} + ); + + var sign = true; + var tbar = [{ + text : '添加', + hidden : true, + iconCls : 'btn_ext_application_add', + handler : function() { + commonEntry.setId(null); + addGodownEntry('insert'); + } + }, '-', { + text : '修改', + hidden : SSTS_WarehouseEntry_Update, + iconCls : 'btn_ext_application_edit', + id : 'editTbar', + handler : function() { + loadFormData(grid); + } + }, '-', { + text : '删除', + hidden : true, + iconCls : 'btn_ext_application_del', + handler : function() { + deleteGodownEntry(grid); + } + }, '-', { + text : '打印', + hidden : true, + iconCls : 'icon_print', + handler : function() { + commonEntry.onPrintEntryDetail(grid,entityName); +// var records = grid.getSelectionModel().getSelections(); +// if (records.length == 0) { +// showResult("请选择要打印的入库单!"); +// return; +// } +// if (records.length != 1) { +// showResult("一次只能打印1个入库单!"); +// return; +// } +// var ids = null; +// for ( var i = 0, len = records.length; i < len; i++) { +// if (ids == null) { +// ids = records[i].data['id']; +// } else { +// ids = ids + ',' + records[i].data['id']; +// } +// } +// top.Ext.MessageBox.confirm("请确认", "要打印本申请单吗?", +// function(btn) { +// if (btn == 'yes') { +// batchPrintGodownEntrys(ids,0); +// } +// }); + } + },'-',{ + text : '打印列表', + hidden : true, + iconCls : 'icon_print', + handler : function() { + //加载打印数据 + var map = {}; + map["code"] = Ext.getCmp('code').getValue(); + map["batchNumber"] = Ext.getCmp('batchNumber').getValue(); + map["startDate"] = Ext.getCmp('startDate').getRawValue(); + map["endDate"] = Ext.getCmp('endDate').getRawValue(); + map["type"] = entityName; + + commonEntry.onPrintEntryList(map,entityName); + } + },'-', { + text : '导入入库单EXCEL', + hidden : true, + iconCls : 'btn_ext_upload', + handler : function() { + location.href = WWWROOT + + "/disinfectsystem/basedatamanager/importbasedata/importSingleStorage.mhtml?type=diposable"; + } + }]; + + grid = new Ext.ux.ForgonPageGrid( { + tbar : tbar, + pageSize : 20, + defaultSortField : 'id', +// title : '入库单列表', + defaultSortDirection : 'DESC', + isCheckboxSelectionModel : true, + rememberSelected : false, + isShowSearchField : true, + columns : columns, + plugins: filters, + autoExpandColumn : 'operationRemark', + renderTo : 'gridDiv', + frame : false + }, readerDetail, + GodownEntryTableManager.findGodownEntryTableList, + null + ); + + function initQueryValueAndReload() { + var startDate = Ext.getCmp('startDate').getRawValue(); + var endDate = Ext.getCmp('endDate').getRawValue(); + var code = Ext.getCmp('code').getValue(); + var batchNumber = Ext.getCmp('batchNumber').getValue(); + if(startDate || endDate){ + if(!compareDate(startDate,endDate)){ + showResult("开始时间不能大于结束时间"); + return; + } + } + + $Id('parm_s_startDate').value = startDate; + $Id('parm_s_endDate').value = endDate; + $Id('parm_s_code').value = code; + $Id('parm_s_batchNumber').value = batchNumber; + grid.dwrReload(); + } + var dt = new Date(); + var v = dt.getMonth()+1; + if(v < 10){ + v = "0" + (dt.getMonth()+1); + } + var startDayofMonth = dt.getFullYear() + "/" + v + "/01"; + var form = new Ext.Panel({ + id : 'northPanel', + layout : 'table', + frame : true, + region : 'north', + border : false, + bodyBorder : false, + layoutConfig : {columns : 2}, + height : 63, + items : [{ + width :900, + layout : 'column', + items:[{ + columnWidth : .73, + layout : 'form', + labelWidth : 60, + items : [{ + fieldLabel : '关键字', + xtype : 'combo', + id : 'code', + name : 'code', + queryParam : 'spell', + minChars : 0, + valueField : 'id', + displayField : 'displayName', + width : 600, + store : allDiposableGoodsStore, + forceSelection : true, + lazyInit : true, + triggerAction : 'all', + hideTrigger : true, + typeAhead : false, + allowBlank : true, + anchor : '97%', + listeners : { + select : function(combo, record, index) { + Ext.getCmp('batchNumber').setValue(); + Ext.getCmp('code').setValue(record.data.name); + batchNumStore.baseParams['disposableGoodsID'] = record.data.id; + batchNumStore.load(); + } + } + }] + },{ + columnWidth : .25, + layout : 'form', + labelWidth : 60, + items : [{ + xtype : 'combo', + id : 'batchNumber', + name : 'batchNumber', + fieldLabel : '物品批次', + maxLength : '30', + minChars : 0, + valueField : 'batchNumber', + displayField : 'batchNumber', + store : batchNumStore, + forceSelection : true, + lazyInit : false, + triggerAction : 'all', + hideTrigger : false, + typeAhead : false, + selectOnFocus :true, + anchor : '94%', + listeners :{ + select:function(combo, record, index ){ + var batchNumber = record.data.batchNumber; + Ext.getCmp('batchNumber').setValue(batchNumber); + } + } + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 60, + items : [{ + xtype : 'datefield', + fieldLabel : '开始日期', + name : 'startDate', + id : 'startDate', + readOnly : false, + altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + editable : false, + format : 'Y-m-d', + value:new Date(startDayofMonth), + anchor : '94%' + }] + },{ + columnWidth : .5, + layout : 'form', + labelWidth : 60, + items : [{ + xtype : 'datefield', + fieldLabel : '结束日期', + name : 'endDate', + id : 'endDate', + readOnly : false, + altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j', + editable : false, + format : 'Y-m-d', + value:new Date(), + anchor : '94%' + }] + }] + },{ + width :150, + layout : 'column', + items : [{ + columnWidth : .5, + layout :'form', + items : [{ + xtype : 'button', + text : '查询', + minWidth : 70, + iconCls : 'icon_search', + handler : function() { + initQueryValueAndReload(); + } + }] + },{ + columnWidth : .5, + layout :'form', + items : [{ + xtype : 'button', + text : '重置', + minWidth : 70, + iconCls : 'icon_set', + handler : function() { + Ext.getCmp('code').setValue(""); + Ext.getCmp('startDate').setValue(""); + Ext.getCmp('endDate').setValue(""); + Ext.getCmp('batchNumber').setValue(""); + } + }] + }] + }] + }); + + var viewport = new Ext.Viewport( { + layout : 'border', + items : [form,{ + region : 'center', + margins : '0 0 0 0', + layout : 'fit', + items : grid + }] + }); +}); \ No newline at end of file