Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/dwr/table/MaterialEntryTableManager.java =================================================================== diff -u -r18455 -r18471 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/dwr/table/MaterialEntryTableManager.java (.../MaterialEntryTableManager.java) (revision 18455) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/dwr/table/MaterialEntryTableManager.java (.../MaterialEntryTableManager.java) (revision 18471) @@ -6,25 +6,25 @@ import java.util.Map; import java.util.Set; +import javax.annotation.Resource; + +import net.sf.json.JSONArray; + +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.collections4.Predicate; +import org.apache.log4j.Logger; + import com.forgon.component.grid.GridManager; import com.forgon.disinfectsystem.basedatamanager.goodsstock.service.GoodsStockManager; import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.entity.goodsstock.GoodsStock; import com.forgon.disinfectsystem.entity.materialmanager.MaterialEntry; +import com.forgon.disinfectsystem.tousse.materialmanager.service.MaterialEntryManager; import com.forgon.disinfectsystem.vo.PriceAmount; import com.forgon.search.service.TBarFilterManager; import com.forgon.tools.MathTools; import com.forgon.tools.util.SqlUtils; -import com.forgon.disinfectsystem.tousse.materialmanager.service.MaterialEntryManager; -import net.sf.json.JSONArray; - -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.Predicate; -import org.apache.log4j.Logger; - -import javax.annotation.Resource; - public class MaterialEntryTableManager { private GridManager gridManager; @@ -90,18 +90,21 @@ return materialEntryManager.getPriceAmountInfo(suppierId, materialDefinitionId,wareHouseId); } /** - * 根据物品库存的id获取价格數量 + * 根据物品库存的id和仓库id获取价格數量 * @param disposableGoodsStockId 物品库存id * @param wareHouseId 仓库id * @return */ public String getPricesByMaterialGoodsStockIdAndWareHouse(Long materialDefinitionId,Long wareHouseId, boolean selectAll){ + if(wareHouseId == null){ + return null; + } List list= goodsStockManager.getMaterialStock(wareHouseId, materialDefinitionId); Iterator it = list.iterator(); List> retList = new ArrayList<>(); while(it.hasNext()){ - GoodsStock gs = (GoodsStock) it.next(); + GoodsStock gs = it.next(); Double price = gs.getPrice(); Map map = CollectionUtils.find(retList, new Predicate>(){ @Override Index: ssts-web/src/main/webapp/disinfectsystem/materialmanager/materialAppropriationView.js =================================================================== diff -u -r18455 -r18471 --- ssts-web/src/main/webapp/disinfectsystem/materialmanager/materialAppropriationView.js (.../materialAppropriationView.js) (revision 18455) +++ ssts-web/src/main/webapp/disinfectsystem/materialmanager/materialAppropriationView.js (.../materialAppropriationView.js) (revision 18471) @@ -174,7 +174,7 @@ for(var i = 0;i < materialEntryItemGridStore.getCount();i++){ var materialEntryItem = materialEntryItemGridStore.getAt(i).data; - if(materialEntryItem.goodsStockID == goodsStockID && materialEntryItem.name == name){ + if(materialEntryItem.goodsStockID == goodsStockID && materialEntryItem.name == name && materialEntryItem.cost == priceAmount.price){ showResult("该物品已经存在,不能重复添加!"); return false; } @@ -372,7 +372,7 @@ fieldLabel : '操作时间', id : 'time', name : 'time', - format : 'Y-m-d', + format : 'Y-m-d H:i', 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', // value : new Date(), allowBlank : false, @@ -425,11 +425,10 @@ }), cm : new top.Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), selectModel, {header : "id",dataIndex : 'id',hidden : true}, - {header : "名称",dataIndex : 'name',width : 280,menuDisabled : true}, - {header : "数量",dataIndex : 'amount',width : 40,menuDisabled : true}, - {header : "单价",dataIndex : 'cost',width : 40,menuDisabled : true}, - {header : "供应商",width : 150,dataIndex : 'supplierName',menuDisabled : true}, - {id : 'expandColumn',header : "删除",width : 50,menuDisabled : true,dataIndex : 'deleteButton', renderer:renderDeleteButton,hidden : materialEntry.isOpen()} + {header : "名称",dataIndex : 'name',width : 200,menuDisabled : true}, + {header : "数量",dataIndex : 'amount',width : 80,menuDisabled : true}, + {header : "单价",dataIndex : 'cost',width : 80,menuDisabled : true}, + {id : 'expandColumn',header : "删除",width : 80,menuDisabled : true,dataIndex : 'deleteButton', renderer:renderDeleteButton,hidden : materialEntry.isOpen()} ]), width :835, autoExpandColumn : 'expandColumn', @@ -468,7 +467,6 @@ top.Ext.getCmp('goodsStockID').setValue(record.data.id); top.Ext.getCmp('cost').setValue(record.data.referencePrice); top.Ext.getCmp('supplierName').setValue(record.data.supplierName); - top.Ext.getCmp('certification').setValue(record.data.certification); // 清空价格 clearBatchNumberAndPrice(); @@ -616,43 +614,38 @@ materialEntry.setId(id); addMaterialEntry(id); top.Ext.getCmp('appropriationForm').form.load({ - url : WWWROOT + '/disinfectSystem/MaterialEntryAction!loadMaterialEntryByid.do', + url : WWWROOT + '/disinfectSystem/MaterialEntryAction!loadMaterialEntry.do', method : 'GET', waitMsg : '正在加载数据,请稍候', params : {id : id}, success : function(form, action) { - var materialEntry = action.result; - var serialNumber = materialEntry.serialNumber; - var operator = materialEntry.operator; - var materialEntryItem = materialEntry.data; - var time = materialEntry.time; - var remark = materialEntry.remark; - var wareHouseName = materialEntry.wareHouseName; - var targetWareHouseName = materialEntry.targetWareHouseName; + var serialNumber = action.result.data.serialNumber; + var operator = action.result.data.operator; + var materialEntryItem = action.result.data.data; + var remark = action.result.data.remark; + var wareHouseName = action.result.data.wareHouseName; + var targetWareHouseName = action.result.data.targetWareHouseName; - + top.Ext.getCmp("time").setValue(Ext.util.Format.date(new Date(action.result.data.time.time), 'Y-m-d H:i')); top.Ext.getCmp('serialNumber').setValue(serialNumber); top.Ext.getCmp('operator').setValue(operator); - top.Ext.getCmp('time').setValue(time); top.Ext.getCmp('remark').setValue(remark); top.Ext.getCmp('targetWareHouse').setValue(targetWareHouseName); top.Ext.getCmp('wareHouse').setValue(wareHouseName); - for(var i = 0 ;i < materialEntryItem.length ;i++){ - var temp = materialEntryItem[i]; - var name = temp.name; - var amount = temp.amount; - var cost = temp.cost; - var materialDefinitionId = temp.materialDefinitionId; - - //添加操作 - var materialEntryItem = new MaterialEntryItemRecord({ - localID : g_localID++, - goodsStockID : materialDefinitionId, - name : name, - amount : amount, - cost : cost - }); + for(var i = 0 ;i < action.result.data.itemsList.length ;i++){ + var materialName = action.result.data.itemsList[i].materialDefinition.name; + var specification = action.result.data.itemsList[i].materialDefinition.specification; + if((specification != null && specification != '') || specification.length > 0){ + materialName += "["+specification+"]"; + } + var materialEntryItem = new MaterialEntryItemRecord({ + id : action.result.data.itemsList[i].id, + materialId : action.result.data.itemsList[i].materialDefinition.id, + name : materialName, + amount : action.result.data.itemsList[i].amount, + cost : action.result.data.itemsList[i].cost + }); top.Ext.getCmp('appropriateItemGrid').getStore().add(materialEntryItem); } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/service/MaterialEntryManagerImpl.java =================================================================== diff -u -r18455 -r18471 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/service/MaterialEntryManagerImpl.java (.../MaterialEntryManagerImpl.java) (revision 18455) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/service/MaterialEntryManagerImpl.java (.../MaterialEntryManagerImpl.java) (revision 18471) @@ -699,7 +699,11 @@ if(resultSet == null) return temp; Long materialDefinitionId =resultSet.getLong("id"); + String specification = resultSet.getString("specification"); String name = resultSet.getString("name"); + if(StringUtils.isNotBlank(specification)){ + name += "[" + specification + "]"; + } temp.put("materialDefinitionId", materialDefinitionId); temp.put("name", name); temp.put("spelling", resultSet.getString("spelling")); Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/action/MaterialEntryAction.java =================================================================== diff -u -r18455 -r18471 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/action/MaterialEntryAction.java (.../MaterialEntryAction.java) (revision 18455) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/materialmanager/action/MaterialEntryAction.java (.../MaterialEntryAction.java) (revision 18471) @@ -2,7 +2,6 @@ import java.io.IOException; -import java.io.PrintWriter; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -30,11 +29,8 @@ import com.forgon.serialnumber.service.SerialNumManager; import com.forgon.tools.StrutsParamUtils; import com.forgon.tools.StrutsResponseUtils; -import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.json.JSONUtil; -import com.forgon.tools.util.ForgonDateUtils; import com.forgon.tools.util.PageUtil; - import com.opensymphony.xwork2.ModelDriven; @ParentPackage(value = "default") @@ -140,6 +136,7 @@ config.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT); config.registerDefaultValueProcessor(Double.class, new DefaultValueProcessor() { + @Override public Object getDefaultValue( @SuppressWarnings("rawtypes") Class arg0) { return null; @@ -321,33 +318,5 @@ } } } - - public String loadMaterialEntryByid() { - String id = StrutsParamUtils.getPraramValue("id", ""); - if (DatabaseUtil.isPoIdValid(id)) {// 初始化加载的数据 - materialEntry = materialEntryManager.get(id); - List items = materialEntry.getItemsList(); - JSONArray arr = new JSONArray(); - for (MaterialEntryItem item : items) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("id", item.getId()); - jsonObject.put("materialDefinitionId", item.getMaterialDefinition().getId()); - jsonObject.put("name", item.getMaterialDefinition().getName()); - jsonObject.put("amount", item.getAmount()); - jsonObject.put("cost", item.getCost()); - arr.add(jsonObject); - } - - JSONObject obj = JSONUtil.buildJsonObject(true, arr); - obj.put("wareHouseName",materialEntry.getWareHouseName()); - obj.put("remark",materialEntry.getRemark()); - obj.put("targetWareHouseName",materialEntry.getTargetWareHouseName()); - obj.put("serialNumber", materialEntry.getSerialNumber()); - obj.put("operator", materialEntry.getOperator()); - obj.put("time", ForgonDateUtils.safelyFormatDate(materialEntry.getTime(), ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDD, "")); - StrutsResponseUtils.output(obj); - } - return null; - } }