Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js =================================================================== diff -u -r13915 -r13927 --- ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js (.../invoiceView.js) (revision 13915) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js (.../invoiceView.js) (revision 13927) @@ -21,6 +21,7 @@ fields : [ {name : 'id'}, {name : 'barcode'}, + {name : 'expensiveDGBarcode'}, {name : 'name'}, {name : 'specification'}, {name : 'showTousseName'}, @@ -474,7 +475,13 @@ var cm = new Ext.grid.ColumnModel([ {id : 'id',dataIndex : 'id',hidden : true}, - {header : "条码",dataIndex : 'barcode',width : 80,menuDisabled : true}, + {header : "条码",dataIndex : 'barcode',width : 80,menuDisabled : true, + renderer : function(v, p, record) { + if(!isUndefinedOrNullOrEmpty(record.data.expensiveDGBarcode)){ + return record.data.expensiveDGBarcode; + } + return record.data.barcode; + }}, {header : "物品名称",dataIndex : 'showTousseName',width : 170,menuDisabled : true}, {header : "name",dataIndex : 'name',hidden : true,menuDisabled : true}, {header : "批次/灭菌日期",dataIndex : 'batchNumber',width : 100,menuDisabled : true}, Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/DiposableGoodsItem.java =================================================================== diff -u -r13519 -r13927 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/DiposableGoodsItem.java (.../DiposableGoodsItem.java) (revision 13519) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/DiposableGoodsItem.java (.../DiposableGoodsItem.java) (revision 13927) @@ -33,6 +33,8 @@ private String barcode; //一次性物品条码 + private String expensiveDGBarcode;// 高值耗材条码 + private Long identificationID;// 标识对象的ID private Long expensiveDisposablegoodsId; @@ -67,6 +69,7 @@ this.amount = item.amount; this.returnedAmount = item.returnedAmount; this.barcode = item.barcode; + this.expensiveDGBarcode = item.expensiveDGBarcode; this.disposableGoodsID = item.disposableGoodsID; this.disposableGoodsStockID = item.disposableGoodsStockID; this.disposableGoodsBatchID = item.disposableGoodsBatchID; @@ -124,6 +127,14 @@ this.barcode = barcode; } + public String getExpensiveDGBarcode() { + return expensiveDGBarcode; + } + + public void setExpensiveDGBarcode(String expensiveDGBarcode) { + this.expensiveDGBarcode = expensiveDGBarcode; + } + public Long getIdentificationID() { return identificationID; } Index: forgon-core/src/main/java/com/forgon/Constants.java =================================================================== diff -u -r13897 -r13927 --- forgon-core/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 13897) +++ forgon-core/src/main/java/com/forgon/Constants.java (.../Constants.java) (revision 13927) @@ -17,7 +17,7 @@ public final static String[] SOFTWARE_VERSION_ARRAY = new String[] { "3.3.0","3.3.8", "3.3.9", "3.3.10","3.3.12","3.3.13","3.8.0","3.9.0","3.9.1","3.9.2","4.0.2","4.0.3","4.0.4", - "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.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"};// 版本列表 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/webapp/dataUpdater/sqls/4.2.2_4.2.3.sql =================================================================== diff -u --- ssts-web/src/main/webapp/dataUpdater/sqls/4.2.2_4.2.3.sql (revision 0) +++ ssts-web/src/main/webapp/dataUpdater/sqls/4.2.2_4.2.3.sql (revision 13927) @@ -0,0 +1,2 @@ +update InvoiceItem set expensiveDGBarcode=(select barcode from barcodeDevice where id=(select expensiveDisposablegoodsId from DiposableGoodsItem where invoiceItemID=InvoiceItem.id)) where amount=1 and disposableGoodsType='高值耗材'; +update DiposableGoodsItem set expensiveDGBarcode=(select barcode from barcodeDevice where id=DiposableGoodsItem.expensiveDisposablegoodsId) where expensiveDisposablegoodsId is not null and expensiveDGBarcode is null; \ No newline at end of file Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoiceItem.java =================================================================== diff -u -r13689 -r13927 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoiceItem.java (.../InvoiceItem.java) (revision 13689) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/invoicemanager/InvoiceItem.java (.../InvoiceItem.java) (revision 13927) @@ -35,6 +35,9 @@ private String barcode;//只有当是外部代理灭菌器械包时,该值才不为空 + private Long expensiveDisposablegoodsId;// 高值耗材id + private String expensiveDGBarcode;// 高值耗材条码 + private String batchNumber; private Integer returnedNum;// 已归还数量 @@ -131,6 +134,22 @@ this.barcode = barcode; } + public Long getExpensiveDisposablegoodsId() { + return expensiveDisposablegoodsId; + } + + public void setExpensiveDisposablegoodsId(Long expensiveDisposablegoodsId) { + this.expensiveDisposablegoodsId = expensiveDisposablegoodsId; + } + + public String getExpensiveDGBarcode() { + return expensiveDGBarcode; + } + + public void setExpensiveDGBarcode(String expensiveDGBarcode) { + this.expensiveDGBarcode = expensiveDGBarcode; + } + public String getBatchNumber() { return batchNumber; } Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java =================================================================== diff -u -r13906 -r13927 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 13906) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 13927) @@ -351,6 +351,8 @@ obj.put("id", diposableGoodsItem.getId()); obj.put("barcode", diposableGoodsItem.getBarcode()); + obj.put("expensiveDGBarcode", diposableGoodsItem.getExpensiveDGBarcode()); + obj.put("name", diposableGoodsItem.getName()); obj.put("specification", diposableGoodBatch.getDiposableGoods().getSpecification()); obj.put("batchNumber", diposableGoodsItem.getBatch()); @@ -442,7 +444,7 @@ */ public void loadRecyclingApplicationByid() { String id = StrutsParamUtils.getPraramValue("id", ""); - String jsonStr = null; + JSONArray jsonArr = new JSONArray(); if (StringUtils.isNotBlank(id)) {// 初始化加载的数据 Invoice invoice = invoiceManager.getInvoiceById(id); Set invoiceItemSet = invoice.getInvoiceItem(); @@ -468,30 +470,18 @@ } String showTousseName = invoiceItem.getTousseName(); try { - if (StringUtils.isBlank(jsonStr)) { - jsonStr = "{name : '" + invoiceItem.getTousseName() - + "',showTousseName : '" + showTousseName - + "',count :'" + invoiceItem.getAmount() - + "',tempAmount : '" + tempAmount - + "',diposable : '" - + invoiceItem.getDiposable() + "',amount :'" - + invoiceItem.getAmount() - + "',applicationAmount : '" + applicationAmount - + "',barcode:'" + invoiceItem.getBarcode() - + "'}"; - } else { - jsonStr = jsonStr + "," + "{name : '" - + invoiceItem.getTousseName() - + "',showTousseName : '" + showTousseName - + "',count :'" + invoiceItem.getAmount() - + "',tempAmount : '" + tempAmount - + "',diposable : '" - + invoiceItem.getDiposable() + "',amount : '" - + invoiceItem.getAmount() - + "',applicationAmount : '" + applicationAmount - + "',barcode:'" + invoiceItem.getBarcode() - + "'}"; - } + JSONObject jsonObj = new JSONObject(); + jsonObj.put("name", invoiceItem.getTousseName()); + jsonObj.put("showTousseName", showTousseName); + jsonObj.put("count", invoiceItem.getAmount()); + jsonObj.put("tempAmount", tempAmount); + jsonObj.put("diposable", invoiceItem.getDiposable()); + jsonObj.put("amount", invoiceItem.getAmount()); + jsonObj.put("applicationAmount", applicationAmount); + jsonObj.put("barcode", invoiceItem.getBarcode()); + jsonObj.put("expensiveDGBarcode", invoiceItem.getExpensiveDGBarcode()); + + jsonArr.add(jsonObj); } catch (Exception e) { e.printStackTrace(); } @@ -501,7 +491,7 @@ try { StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); StrutsParamUtils.getResponse().getWriter() - .println("[" + jsonStr + "]"); + .println(jsonArr.toString()); } catch (IOException e) { e.printStackTrace(); } Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r13911 -r13927 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 13911) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 13927) @@ -1732,6 +1732,7 @@ diposableGoodsItem.setPrice(price); diposableGoodsItem.setName(invoiceItem.getTousseName()); diposableGoodsItem.setBarcode(invoiceItem.getBarcode()); + diposableGoodsItem.setExpensiveDGBarcode(invoiceItem.getExpensiveDGBarcode()); diposableGoodsItem.setBatch(invoiceItem.getBatchNumber()); diposableGoodsItem.setDisposableGoodsID(expensiveDisposablegoods.getDisposableGoodsID()); diposableGoodsItem.setDisposableGoodsStockID(expensiveDisposablegoods.getDisposableGoodsStockID()); @@ -4111,23 +4112,19 @@ if (expensiveDisposablegoodsList.isEmpty()) { return; } - Map batchNumberToInvoiceItemMap = new HashMap(); - + // 高值耗材不合并 for (ExpensiveDisposablegoods expensiveDisposablegoods : expensiveDisposablegoodsList) { if (canSendAmount <= 0) { break; } DisposableGoodsBatchStock disposableGoodsBatchStock = expensiveDisposablegoods .getDisposableGoodsBatchStock(); String batchNumber = disposableGoodsBatchStock.getBatchNumber(); - InvoiceItem invoiceItem = batchNumberToInvoiceItemMap - .get(batchNumber); - if (invoiceItem == null) { - invoiceItem = new InvoiceItem(); - batchNumberToInvoiceItemMap.put(batchNumber, invoiceItem); - } + InvoiceItem invoiceItem = new InvoiceItem(); + invoiceItemSet.add(invoiceItem); invoiceItem.setBarcode(disposableGoodsBatchStock.getBarcode()); -// invoiceItem.setExpensiveDGBarcode(expensiveDGBarcode); + invoiceItem.setExpensiveDisposablegoodsId(expensiveDisposablegoods.getId()); + invoiceItem.setExpensiveDGBarcode(expensiveDisposablegoods.getBarcode()); invoiceItem.setBatchNumber(batchNumber); List invoiceItemExpensiveDisposablegoods = invoiceItem .getExpensiveDisposablegoods(); @@ -4152,16 +4149,14 @@ applicationItem.setSendOutAmount((applicationItem .getSendOutAmount() + actualSendAmount)); } - for (InvoiceItem invoiceItem : batchNumberToInvoiceItemMap.values()) { + for (InvoiceItem invoiceItem : invoiceItemSet) { invoiceItem.setAmount(invoiceItem.getExpensiveDisposablegoods() .size()); invoiceItem.setDiposable(InvoiceItem.DIPOSABLE_YES); invoiceItem .setDisposableGoodsType(DisposableGoods.TYPE_EXPENSIVEDIPOSABLEGOODS); invoiceItem.setTousseType(applicationItem.getTousseType()); invoiceItem.setTousseName(applicationGoodsName); - - invoiceItemSet.add(invoiceItem); } } else {// 普通物品 InvoiceItem invoiceItem = null;