Index: ssts-web/src/main/webapp/dataUpdater/sqls/4.6.9_4.7.0.sql
===================================================================
diff -u
--- ssts-web/src/main/webapp/dataUpdater/sqls/4.6.9_4.7.0.sql (revision 0)
+++ ssts-web/src/main/webapp/dataUpdater/sqls/4.6.9_4.7.0.sql (revision 17253)
@@ -0,0 +1 @@
+update InventoryItem set sequence = (select sequence from DisposableGoods d where d.id = InventoryItem.diposableGoodsID) where diposableGoodsID is not null;
\ No newline at end of file
Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java
===================================================================
diff -u -r16965 -r17253
--- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 16965)
+++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 17253)
@@ -879,6 +879,7 @@
temp.put("maxApplyAmount",disposableGoods.getMaxApplyAmount());
temp.put("middlePackageUnit",disposableGoods.getMiddlePackageUnit());
temp.put("transferScale",disposableGoods.getTransferScale());
+ temp.put("sequence",disposableGoods.getSequence() == null ? 0 : disposableGoods.getSequence());
String displayName = goodsName;
temp.put("displayName", displayName + "(库存:0)");
if(goodsStocks != null && goodsStocks.size() > 0){
Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/stocktakemanager/InventoryItem.java
===================================================================
diff -u -r15651 -r17253
--- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/stocktakemanager/InventoryItem.java (.../InventoryItem.java) (revision 15651)
+++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/stocktakemanager/InventoryItem.java (.../InventoryItem.java) (revision 17253)
@@ -32,7 +32,7 @@
*/
@Entity
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
-public class InventoryItem {
+public class InventoryItem implements Comparable{
private Long id;
@@ -78,6 +78,11 @@
private String unit;//单位
+ /**
+ * 盘点排序号,取值为一次性物品或材料定义sequence字段值
+ */
+ private Integer sequence;
+
//导出使用临时变量
private Integer rowIndex;
@@ -93,6 +98,7 @@
disposableGoodsColumnNameAndPoPropertyNameArrray.add("{header:'盘点数量',dataIndex:'amount',type:'int'}");
disposableGoodsColumnNameAndPoPropertyNameArrray.add("{header:'单价',dataIndex:'price',type:'double'}");
disposableGoodsColumnNameAndPoPropertyNameArrray.add("{header:'供应商',dataIndex:'supplierName',type:'string'}");
+ disposableGoodsColumnNameAndPoPropertyNameArrray.add("{header:'顺序号',dataIndex:'sequence',type:'int'}");
materialColumnNameAndPoPropertyNameArrray.add("{header:'序号',dataIndex:'rowIndex',type:'int'}");
materialColumnNameAndPoPropertyNameArrray.add("{header:'名称',dataIndex:'materialName',type:'string'}");
@@ -349,4 +355,31 @@
this.unit = unit;
}
+ public Integer getSequence() {
+ return sequence;
+ }
+
+ public void setSequence(Integer sequence) {
+ this.sequence = sequence;
+ }
+
+ @Override
+ public int compareTo(InventoryItem o) {
+ Integer t_Sequence = this.sequence;
+ Integer p_Sequence = o.sequence;
+ if(t_Sequence == null){
+ t_Sequence = 0;
+ }
+ if(p_Sequence == null){
+ p_Sequence = 0;
+ }
+ if (t_Sequence > p_Sequence) {
+ return 1;
+ } else if (t_Sequence < p_Sequence) {
+ return -1;
+ } else {
+ return 0;
+ }
+ }
+
}
Index: ssts-web/src/main/java/com/forgon/disinfectsystem/inventoryrecord/service/InventoryRecordManagerImpl.java
===================================================================
diff -u -r17044 -r17253
--- ssts-web/src/main/java/com/forgon/disinfectsystem/inventoryrecord/service/InventoryRecordManagerImpl.java (.../InventoryRecordManagerImpl.java) (revision 17044)
+++ ssts-web/src/main/java/com/forgon/disinfectsystem/inventoryrecord/service/InventoryRecordManagerImpl.java (.../InventoryRecordManagerImpl.java) (revision 17253)
@@ -8,6 +8,8 @@
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Collection;
+import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedList;
@@ -512,7 +514,7 @@
item = itemsGroupedByPrice.get(0);
item.setStorage(item.getStorage() + 1);
}else{
- item = newInventoryItem(record, warehouse,disposableGoodsStock,disposableGoodsBatchStock,price,disposableGoods.getGoodsType());
+ item = newInventoryItem(record, warehouse,disposableGoodsStock,disposableGoodsBatchStock,price,disposableGoods);
item.setStorage(1);
itemsGroupedByPrice.add(item);
}
@@ -553,7 +555,7 @@
item = itemsGroupedByPrice.get(0);
item.setStorage(item.getStorage() + identificationAmount);
}else{
- item = newInventoryItem(record, warehouse,disposableGoodsStock,disposableGoodsBatchStock,price,disposableGoods.getGoodsType());
+ item = newInventoryItem(record, warehouse,disposableGoodsStock,disposableGoodsBatchStock,price,disposableGoods);
item.setStorage(identificationAmount);
itemsGroupedByPrice.add(item);
}
@@ -575,7 +577,7 @@
private InventoryItem newInventoryItem(InventoryRecord record, WareHouse warehouse,
DisposableGoodsStock disposableGoodsStock,
- DisposableGoodsBatchStock disposableGoodsBatchStock, Double price,String goodsType) {
+ DisposableGoodsBatchStock disposableGoodsBatchStock, Double price,DisposableGoods disposableGoods) {
InventoryItem item = new InventoryItem();
item.setBatchID(disposableGoodsBatchStock.getDisposableGoodsBatchId());
item.setBatchNumber(disposableGoodsBatchStock.getBatchNumber());
@@ -593,7 +595,8 @@
item.setWareHouseName(warehouse.getName());
item.setExternalCode(disposableGoodsStock.getExternalCode());
item.setExpDate(disposableGoodsBatchStock.getExpDate());
- item.setGoodsType(goodsType);
+ item.setGoodsType(disposableGoods.getGoodsType());
+ item.setSequence(disposableGoods.getSequence());
item.setUnit(disposableGoodsStock.getUnit());
return item;
}
@@ -890,7 +893,10 @@
Map sumColumnMap = new HashMap();
int seriaNum = 1;
if(columnJsonArray != null && columnJsonArray.size() > 0 && record.getItems() != null){
- JSONArray itemsArray = JSONArray.fromObject(record.getItems());
+ List items = record.getItems();
+ //按物品顺序号排序
+ Collections.sort(items);
+ JSONArray itemsArray = JSONArray.fromObject(items);
for (int i = 0 ;i < itemsArray.size() ; i++){
HSSFRow operatingRow = sheet.createRow(row);
JSONObject obj = itemsArray.optJSONObject(i);
@@ -957,7 +963,7 @@
}
}
}
-
+
private HSSFCellStyle buildNullCellStyle(HSSFWorkbook wb) {
HSSFCellStyle cellStyle2 = wb.createCellStyle(); // 数据单元格格式
cellStyle2.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 居中
Index: forgon-core/src/main/java/com/forgon/Constants.java
===================================================================
diff -u -r17212 -r17253
--- forgon-core/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 17212)
+++ forgon-core/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 17253)
@@ -20,7 +20,7 @@
"4.0.5","4.0.6","4.0.44","4.0.45","4.1.0","4.1.1","4.1.2","4.1.3","4.1.4","4.1.5","4.1.6","4.1.7","4.1.8","4.1.9","4.2.0","4.2.1","4.2.2",
"4.2.3","4.2.4","4.2.5","4.2.6","4.2.7","4.2.8","4.2.9","4.3.0","4.3.1","4.3.2","4.3.3","4.3.4","4.3.5","4.3.6","4.3.7","4.3.8","4.3.9",
"4.4.0","4.4.1","4.4.2","4.4.3","4.4.4","4.4.5","4.4.6","4.4.7","4.4.8","4.4.9","4.5.0","4.5.1","4.5.2","4.5.3","4.5.4","4.5.5","4.5.6","4.5.7","4.5.8",
- "4.5.9","4.6.0","4.6.1","4.6.2","4.6.3","4.6.4","4.6.5","4.6.6","4.6.7","4.6.8","4.6.9"};// 版本列表
+ "4.5.9","4.6.0","4.6.1","4.6.2","4.6.3","4.6.4","4.6.5","4.6.6","4.6.7","4.6.8","4.6.9","4.7.0"};// 版本列表
public final static List SOFTWARE_VERSION_LIST = Arrays
.asList(SOFTWARE_VERSION_ARRAY);
public final static String SOFTWARE_VERSION = SOFTWARE_VERSION_ARRAY[SOFTWARE_VERSION_ARRAY.length - 1];// 软件最新版本
Index: ssts-web/src/main/java/com/forgon/disinfectsystem/inventoryrecord/action/InventoryRecordAction.java
===================================================================
diff -u -r13948 -r17253
--- ssts-web/src/main/java/com/forgon/disinfectsystem/inventoryrecord/action/InventoryRecordAction.java (.../InventoryRecordAction.java) (revision 13948)
+++ ssts-web/src/main/java/com/forgon/disinfectsystem/inventoryrecord/action/InventoryRecordAction.java (.../InventoryRecordAction.java) (revision 17253)
@@ -123,6 +123,7 @@
obj.put("cost", goods.getPrice());
obj.put("externalCode", goods.getExternalCode());
obj.put("goodsType", goods.getGoodsType());
+ obj.put("sequence", goods.getSequence());
if(DisposableGoods.TYPE_EXPENSIVEDIPOSABLEGOODS.equals(goods.getGoodsType())){
List expensiveGoodsItems = goods.getItems();
JSONArray expensiveGoodsArray = new JSONArray();
Index: ssts-web/src/main/webapp/disinfectsystem/stocktakerecordmanager/inventoryDisposableGoodsForm.js
===================================================================
diff -u -r17044 -r17253
--- ssts-web/src/main/webapp/disinfectsystem/stocktakerecordmanager/inventoryDisposableGoodsForm.js (.../inventoryDisposableGoodsForm.js) (revision 17044)
+++ ssts-web/src/main/webapp/disinfectsystem/stocktakerecordmanager/inventoryDisposableGoodsForm.js (.../inventoryDisposableGoodsForm.js) (revision 17253)
@@ -15,7 +15,7 @@
return exist;
}
-function addItem(batchId,name,specification,amount,batchNumber,cost,supplierName,externalCode,goodsType){
+function addItem(batchId,name,specification,amount,batchNumber,cost,supplierName,externalCode,goodsType,sequence){
var itemsStore = top.Ext.getCmp('inventoryRecordForm').getStore();
var inventoryItem = new inventoryRecordItem({
id:'',
@@ -28,7 +28,8 @@
cost:cost,
supplierName:supplierName,
externalCode:externalCode,
- goodsType:goodsType
+ goodsType:goodsType,
+ sequence : sequence
});
itemsStore.insert(0 , inventoryItem);
}
@@ -56,7 +57,8 @@
{name : 'supplierName'},
{name : 'externalCode'},
{name : 'goodsType'},
- {name : 'expensiveGoodsInfo'}
+ {name : 'expensiveGoodsInfo'},
+ {name : 'sequence'}
]
)
});
@@ -76,7 +78,8 @@
{name : 'displayName',mapping : 'displayName'},
{name : 'referencePrice',mapping : 'referencePrice'},
{name : 'externalCode',mapping : 'externalCode'},
- {name : 'goodsType',mapping : 'goodsType'}
+ {name : 'goodsType',mapping : 'goodsType'},
+ {name : 'sequence',mapping : 'sequence'}
])
});
@@ -174,8 +177,8 @@
store : itemsStore,
cm : new top.Ext.grid.ColumnModel([new Ext.grid.RowNumberer({header:'序号',width:40}), selectModel,
{header : "外部编码",dataIndex : 'externalCode',width : 40,menuDisabled : true},
- {header : "名称",dataIndex : 'name',width : 150,menuDisabled : true},
- {header : "规格",dataIndex : 'specification',width : 80,menuDisabled : true},
+ {header : "名称",dataIndex : 'name',width : 135,menuDisabled : true},
+ {header : "规格",dataIndex : 'specification',width : 60,menuDisabled : true},
{header : "批次",width : 50,dataIndex : 'batchNumber',menuDisabled : true},
{header : "账面数量",dataIndex : 'amount',width : 40,menuDisabled : true,renderer : isChange},
{header : "盘点数量",dataIndex : 'inventoryAmount',css: 'background: #F0F0F0;',width : 40,menuDisabled : true,
@@ -185,7 +188,7 @@
allowBlank : false
})
},
- {header : "高值耗材操作",dataIndex : 'goodsType',width : 60,menuDisabled : true,
+ {header : "高值耗材操作",dataIndex : 'goodsType',width : 55,menuDisabled : true,
renderer: function(v,p,record,rowIndex, columnIndex, store){
if(v == '高值耗材'){
var id = record.get('id');
@@ -204,7 +207,8 @@
}
},
{header : "单价",dataIndex : 'cost',width : 30,menuDisabled : true},
- {id : 'expandColumn',header : "供应商",width : 120,dataIndex : 'supplierName',menuDisabled : true}
+ {header : "供应商",width : 70,dataIndex : 'supplierName',menuDisabled : true},
+ {id : 'expandColumn',header : "顺序号",width : 30,dataIndex : 'sequence',menuDisabled : true,sortable:true}
]),
autoExpandColumn : 'expandColumn',
tbar : [{
@@ -228,6 +232,10 @@
name : 'supplierName',
id : 'supplierName'
},{
+ xtype:'hidden',
+ name : 'sequence',
+ id : 'sequence'
+ },{
text : '物品名称:'
},{
xtype : 'combo',
@@ -251,6 +259,7 @@
select : function(combo, record, index) {
top.Ext.getCmp('externalCode').setValue(record.data.externalCode);
top.Ext.getCmp('goodsType').setValue(record.data.goodsType);
+ top.Ext.getCmp('sequence').setValue(record.data.sequence);
batchNumStore.baseParams.disposableGoodsID = record.data.id;
batchNumStore.load();
}
@@ -402,6 +411,7 @@
var supplierName = top.Ext.getCmp('supplierName').getValue();
var externalCode = top.Ext.getCmp('externalCode').getValue();
var goodsType = top.Ext.getCmp('goodsType').getValue();
+ var sequence = top.Ext.getCmp('sequence').getValue();
if(goodsName == ""){
showResult("请选择物品名称!");
return;
@@ -426,7 +436,7 @@
}
var isExist = isExistItem(goodsName,specification,batchNumber,price);
if(!isExist){
- addItem(batchId,goodsName,specification,amount,batchNumber,price,supplierName,externalCode,goodsType);
+ addItem(batchId,goodsName,specification,amount,batchNumber,price,supplierName,externalCode,goodsType,sequence);
cleanSelect();
}else{
showResult(goodsName + ",已存在!");