Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/goodPurchasePlanView.js =================================================================== diff -u -r12952 -r12972 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/goodPurchasePlanView.js (.../goodPurchasePlanView.js) (revision 12952) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/goodPurchasePlanView.js (.../goodPurchasePlanView.js) (revision 12972) @@ -620,7 +620,7 @@ top.Ext.getCmp('diposableGoodsID').setValue(record.data.id); top.Ext.getCmp('purchase').setValue(record.data.referencePrice); //加载相关的信息 - DiposableGoodsTableManager.getDiposableGoodsInfoForGoodPurchase(record.data.id,function(result){ + /*DiposableGoodsTableManager.getDiposableGoodsInfoForGoodPurchase(record.data.id,function(result){ if(result != ""){ var array = result.split("#;"); top.Ext.getCmp('stockQuantity').setValue(array[0]); @@ -629,6 +629,18 @@ top.Ext.getCmp('supplier1').setValue(array[3]); top.Ext.getCmp('manufacturer').setValue(array[4]); } + });*/ + + GoodPurchaseTableManager.getLastGoodPurchaseItemByDisposableGoodsId(record.data.id,function(result){ + if(result && result != ""){ + var lastGoodPurchaseItem = Ext.decode(result); + top.Ext.getCmp('stockQuantity').setValue(lastGoodPurchaseItem.stockQuantity); + top.Ext.getCmp('specification1').setValue(lastGoodPurchaseItem.specification1); + top.Ext.getCmp('purchase').setValue(lastGoodPurchaseItem.purchase); + top.Ext.getCmp('unit1').setValue(lastGoodPurchaseItem.unit1); + top.Ext.getCmp('supplier1').setValue(lastGoodPurchaseItem.supplier1); + top.Ext.getCmp('manufacturer').setValue(lastGoodPurchaseItem.manufacturer); + } }); top.Ext.getCmp('amount1').focus(); top.Ext.getCmp('amount1').selectText(); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GoodPurchasePlanManager.java =================================================================== diff -u -r12785 -r12972 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GoodPurchasePlanManager.java (.../GoodPurchasePlanManager.java) (revision 12785) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GoodPurchasePlanManager.java (.../GoodPurchasePlanManager.java) (revision 12972) @@ -36,4 +36,12 @@ public void loadGoodPurchasePlanPrintData( String[] invoiceIds,JSONObject jsonObject); + + /** + * 根据名称与规格查找最近一次的采购明细 + * @param name + * @param specification + * @return + */ + public GoodPurchaseItem getLastGoodPurchaseItemByNameAndSpecification(String name , String specification); } Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js =================================================================== diff -u -r12906 -r12972 --- ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js (.../invoiceView.js) (revision 12906) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js (.../invoiceView.js) (revision 12972) @@ -1711,19 +1711,19 @@ {header : "申请时间",width : 120,dataIndex : 'applicationTime',renderer : myDateFormatByMinute}, {header : "发货员",width : 70,dataIndex : 'sender'}, {header : "拼音码",width : 100,dataIndex : 'spelling',hidden:true}, - {header : "五笔码",width : 100,dataIndex : 'wbCode',hidden:true}, + {header : "五笔码",width : 100,dataIndex : 'wbCode',hidden:true}, {header : "核对员",width : 70,dataIndex : 'assistantSender'}, {header : "责任人",width : 70,dataIndex : 'personInCharge'}, {header : "发货时间",width : 120,dataIndex : 'sendTime',renderer : myDateFormatByMinute}, {header : "状态",width : 70,dataIndex : 'status',renderer : renderColor}, {header : "类型",width : 110,dataIndex : 'invoicePlan.type',sortable:false}, {header : "已打印",width : 70,dataIndex : 'isPrint',renderer : renderPrintColor}, + {id : 'remark',header : "备注",width : 110,dataIndex : 'remark'}, {header : "签收人",width : 70,dataIndex : 'receiptor'}, {header : "签收时间",width : 120,dataIndex : 'receiptingTime',renderer : myDateFormatByMinute}, {header : "结算科室",width : 100,dataIndex : 'settleAccountsDepart'}, - {header : "仓库",width : 100,dataIndex : 'warehouseName'}, - {header : "总价",width : 70,dataIndex : 'totalPrice',align : 'right',renderer : formartPrice}, - {id : 'remark',header : "备注",width : 120,dataIndex : 'remark'} + {header : "仓库",width : 100,dataIndex : 'warehouseName',id : 'warehouseName'}, + {header : "总价",width : 70,dataIndex : 'totalPrice',align : 'right',renderer : formartPrice} ]; var readerDetail = [ @@ -1860,7 +1860,7 @@ isShowSearchField : true, columns : columns, plugins : filters, - autoExpandColumn : 'remark', + autoExpandColumn : 'warehouseName', renderTo : 'gridDiv', frame : false }, readerDetail, Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GoodPurchasePlanManagerImpl.java =================================================================== diff -u -r12795 -r12972 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GoodPurchasePlanManagerImpl.java (.../GoodPurchasePlanManagerImpl.java) (revision 12795) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GoodPurchasePlanManagerImpl.java (.../GoodPurchasePlanManagerImpl.java) (revision 12972) @@ -369,4 +369,27 @@ return voList; } + + /** + * 根据名称与规格查找最近一次的采购明细 + * @param name + * @param specification + * @return + */ + public GoodPurchaseItem getLastGoodPurchaseItemByNameAndSpecification(String name , String specification){ + GoodPurchaseItem goodPurchaseItem = null; + String hql = "from GoodPurchaseItem where 1=1 "; + if(StringUtils.isNotBlank(name)){ + if(StringUtils.isNotBlank(specification)){ + hql += " and name = '" + name + "[" + specification + "]'"; + }else{ + hql += " and name = '" + name + "'"; + } + } + + hql += " order by id desc"; + List list = objectDao.findByHql(hql,0,1); + goodPurchaseItem = CollectionUtils.isNotEmpty(list) ? list.get(0) : null; + return goodPurchaseItem; + } } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/GoodPurchaseTableManager.java =================================================================== diff -u -r12917 -r12972 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/GoodPurchaseTableManager.java (.../GoodPurchaseTableManager.java) (revision 12917) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/GoodPurchaseTableManager.java (.../GoodPurchaseTableManager.java) (revision 12972) @@ -3,13 +3,22 @@ import java.util.List; import java.util.Map; +import net.sf.json.JSONObject; + +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import com.forgon.component.grid.GridManager; import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.directory.acegi.tools.AcegiHelper; -import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntry; +import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; +import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; +import com.forgon.disinfectsystem.diposablegoods.service.GoodPurchasePlanManager; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; +import com.forgon.disinfectsystem.entity.assestmanagement.GoodPurchaseItem; import com.forgon.disinfectsystem.entity.assestmanagement.GoodPurchasePlan; +import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; /** * 采购计划的表格处理 @@ -20,6 +29,9 @@ private GridManager gridManager; private DateQueryAdapter dateQueryAdapter; + private DiposableGoodsManager diposableGoodsManager; + private GoodPurchasePlanManager goodPurchasePlanManager; + private WareHouseManager wareHouseManager; public void setGridManager(GridManager gridManager) { this.gridManager = gridManager; @@ -29,6 +41,19 @@ this.dateQueryAdapter = dateQueryAdapter; } + public void setDiposableGoodsManager(DiposableGoodsManager diposableGoodsManager) { + this.diposableGoodsManager = diposableGoodsManager; + } + + public void setGoodPurchasePlanManager( + GoodPurchasePlanManager goodPurchasePlanManager) { + this.goodPurchasePlanManager = goodPurchasePlanManager; + } + + public void setWareHouseManager(WareHouseManager wareHouseManager) { + this.wareHouseManager = wareHouseManager; + } + public String findGoodPurchaseTableList( Map> parameterMap) { // 申请单查看 发货单 @@ -74,4 +99,64 @@ GoodPurchasePlan.class.getSimpleName(), sql, new String[] { "itemsList" }); } + + /** + * 根据一次性物品定义id查询该物品的库存数及最近一次的采购计划明细 + * @param disposableGoodsId + * @return + */ + public String getLastGoodPurchaseItemByDisposableGoodsId(String disposableGoodsId){ + JSONObject jsonObject = new JSONObject(); + jsonObject.put("stockQuantity", ""); + jsonObject.put("specification1", ""); + jsonObject.put("purchase", ""); + jsonObject.put("unit1", ""); + jsonObject.put("supplier1", ""); + jsonObject.put("manufacturer", ""); + DisposableGoods disposableGoods = + diposableGoodsManager.getDiposableGoodsById(disposableGoodsId); + + if(disposableGoods != null && StringUtils.isNotBlank(disposableGoods.getName())){ + //一次性物品库存 + DisposableGoodsStock disposableGoodsStock = null; + List warehouseList = + wareHouseManager.getWareHouseListByCurrentOrgUnit(); + if(CollectionUtils.isNotEmpty(warehouseList)){ + int stockQuantity = 0; + for(WareHouse wareHouse : warehouseList){ + disposableGoodsStock = + diposableGoodsManager.getDisposableGoodsStockByDisposableGoodsID(wareHouse.getId(), disposableGoods.getId()); + stockQuantity += disposableGoodsStock.getAmount(); + } + //库存数 + jsonObject.put("stockQuantity", stockQuantity); + } + + GoodPurchaseItem goodPurchaseItem = + goodPurchasePlanManager.getLastGoodPurchaseItemByNameAndSpecification(disposableGoods.getName(), disposableGoods.getSpecification()); + if(goodPurchaseItem != null){ + //规格 + if(StringUtils.isNotBlank(disposableGoods.getSpecification())){ + jsonObject.put("specification1", disposableGoods.getSpecification()); + } + //进价 + if(goodPurchaseItem.getPurchase() != null){ + jsonObject.put("purchase", goodPurchaseItem.getPurchase()); + } + //单位 + if(StringUtils.isNotBlank(goodPurchaseItem.getUnit())){ + jsonObject.put("unit1", goodPurchaseItem.getUnit()); + } + //供应商 + if(StringUtils.isNotBlank(goodPurchaseItem.getSupplierName())){ + jsonObject.put("supplier1", goodPurchaseItem.getSupplierName()); + } + //生产厂家 + if(StringUtils.isNotBlank(goodPurchaseItem.getManufacturer())){ + jsonObject.put("manufacturer", goodPurchaseItem.getManufacturer()); + } + } + } + return jsonObject.toString(); + } }