Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/vo/InvoiceSignGoodsDetailVo.java =================================================================== diff -u -r36360 -r37177 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/vo/InvoiceSignGoodsDetailVo.java (.../InvoiceSignGoodsDetailVo.java) (revision 36360) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/vo/InvoiceSignGoodsDetailVo.java (.../InvoiceSignGoodsDetailVo.java) (revision 37177) @@ -21,10 +21,16 @@ */ private String barcode; - public InvoiceSignGoodsDetailVo(String tousseName,Integer amount,String barcode){ + /** + * 批次号(一次性物品) + */ + private String batchNumber; + + public InvoiceSignGoodsDetailVo(String tousseName,Integer amount,String barcode,String batchNumber){ this.setTousseName(tousseName); this.setAmount(amount); this.setBarcode(barcode); + this.batchNumber = batchNumber; } public String getTousseName() { return tousseName; @@ -44,4 +50,11 @@ public void setBarcode(String barcode) { this.barcode = barcode; } + public String getBatchNumber() { + return batchNumber; + } + public void setBatchNumber(String batchNumber) { + this.batchNumber = batchNumber; + } + } Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/vo/WaitSignGoodsSummary.java =================================================================== diff -u -r36360 -r37177 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/vo/WaitSignGoodsSummary.java (.../WaitSignGoodsSummary.java) (revision 36360) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/vo/WaitSignGoodsSummary.java (.../WaitSignGoodsSummary.java) (revision 37177) @@ -65,12 +65,13 @@ * @param amount 数量 * @param invoiceID 发货单id * @param barcode 条码 + * @param batchNumber 批次号(一次性物品) * @param diposable 是否一次性物品 * @param ancestorID 祖先包定义id * @param isTraceable 是否追溯 */ public void addInvoiceSignGoodsVo(String tousseName,Integer amount, - Long invoiceID,String barcode,String diposable,Long ancestorID,String isTraceable){ + Long invoiceID,String barcode,String batchNumber,String diposable,Long ancestorID,String isTraceable){ if(StringUtils.isNotBlank(tousseName)){ if(CollectionUtils.isNotEmpty(invoiceSignGoods)){ boolean foundTousse = false; @@ -79,26 +80,26 @@ foundTousse = true; signGoodsVo.setAmount(MathTools.add(signGoodsVo.getAmount(), amount).intValue()); if(StringUtils.equals(Constants.STR_YES, isTraceable)){ - signGoodsVo.addSignGoodsDetailVoList(new InvoiceSignGoodsDetailVo(tousseName, amount, barcode)); + signGoodsVo.addSignGoodsDetailVoList(new InvoiceSignGoodsDetailVo(tousseName, amount, barcode,batchNumber)); }else{ List signGoodsDetailVoList = signGoodsVo.getSignGoodsDetailVoList(); if(CollectionUtils.isNotEmpty(signGoodsDetailVoList)){ InvoiceSignGoodsDetailVo detailVo = signGoodsDetailVoList.get(0); detailVo.setAmount(detailVo.getAmount() + amount); }else{ - signGoodsVo.addSignGoodsDetailVoList(new InvoiceSignGoodsDetailVo(tousseName, amount, barcode)); + signGoodsVo.addSignGoodsDetailVoList(new InvoiceSignGoodsDetailVo(tousseName, amount, barcode,batchNumber)); } } } } if(!foundTousse){ InvoiceSignGoodsVo signGoodsVo = new InvoiceSignGoodsVo(tousseName,amount,invoiceID,barcode, diposable,ancestorID, isTraceable); - signGoodsVo.addSignGoodsDetailVoList(new InvoiceSignGoodsDetailVo(tousseName, amount, barcode)); + signGoodsVo.addSignGoodsDetailVoList(new InvoiceSignGoodsDetailVo(tousseName, amount, barcode,batchNumber)); invoiceSignGoods.add(signGoodsVo); } }else{ InvoiceSignGoodsVo signGoodsVo = new InvoiceSignGoodsVo(tousseName,amount,invoiceID,barcode, diposable,ancestorID, isTraceable); - signGoodsVo.addSignGoodsDetailVoList(new InvoiceSignGoodsDetailVo(tousseName, amount, barcode)); + signGoodsVo.addSignGoodsDetailVoList(new InvoiceSignGoodsDetailVo(tousseName, amount, barcode,batchNumber)); invoiceSignGoods.add(signGoodsVo); } } Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r37139 -r37177 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 37139) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 37177) @@ -5535,7 +5535,7 @@ */ public String saveTousseSignRecord(JSONObject params){ JSONObject result = JSONUtil.buildJsonObject(true); - String tousseBarcodes = params.optString("tousseBarcodes"); + String barcodeAmountArray = params.optString("barcodeAmountArray"); //签收人工号 String signUserCode = params.optString("userName"); //签收人姓名 @@ -5546,9 +5546,13 @@ JSONArray invoiceIds = params.optJSONArray("invoiceIds"); appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_SIGN, "M", params); - if(StringTools.isBlank(tousseBarcodes)){ + if(StringTools.isBlank(barcodeAmountArray)){ return JSONUtil.buildJsonObject(false, "请扫描器械包条码").toString(); } + JSONArray barcodeAmountJSONArray = JSONArray.fromObject(barcodeAmountArray); + if(CollectionUtils.isEmpty(barcodeAmountJSONArray)){ + return JSONUtil.buildJsonObject(false, "请扫描器械包条码").toString(); + } if(StringTools.isBlank(signUserCode)){ if(StringTools.isBlank(signUserName)){ return JSONUtil.buildJsonObject(false, "请扫描签收人信息").toString(); @@ -5557,7 +5561,7 @@ } } //所传的第一个参数为非正式代码,提交签收方法调用编译不报错用,正式修改时再做调整 - SignRecord signRecord = signRecordManager.save(invoiceIds,null, signUserCode, signUserName, departCoding); + SignRecord signRecord = signRecordManager.save(invoiceIds,barcodeAmountJSONArray, signUserCode, signUserName, departCoding); if(signRecord != null){ JSONUtil.addDataProperty(result, JSONObject.fromObject(signRecord)); } Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r37072 -r37177 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 37072) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 37177) @@ -11291,11 +11291,11 @@ public WaitSignGoodsSummary getWaitSignGoods(Collection invoiceIds) { WaitSignGoodsSummary ret = new WaitSignGoodsSummary(); - String disposableGoodsSql = "select null isTraceable,ii.diposable,ii.batchNumber barcode,null ancestorID,ii.tousseName,ii.amount,ii.invoice_id,i.sendTime from " + + String disposableGoodsSql = "select null isTraceable,ii.diposable ,ii.barcode,ii.batchNumber,null ancestorID,ii.tousseName,ii.amount,ii.invoice_id,i.sendTime from " + InvoiceItem.class.getSimpleName() + " ii inner join " + Invoice.class.getSimpleName() + " i on ii.invoice_id = i.id where ii.diposable='"+ Constants.STR_YES +"'"; //将器械包拆分成追溯与不追溯分开进来查询 - String tousseSql = String.format("select tdAncestor.isTraceable,'%s' diposable,b.barcode,td.ancestorID,ti.tousseName,1 amount,ti.invoice_id,i.sendTime from %s ti join %s b on ti.id=b.id join %s td on ti.tousseDefinition_id=td.id join %s tdAncestor on td.ancestorID=tdAncestor.id , %s i where ((ti.invoice2_id is not null and i.id = ti.invoice2_id) or (ti.invoice2_id is null and i.id = ti.invoice_id)) ", + String tousseSql = String.format("select tdAncestor.isTraceable,'%s' diposable,b.barcode,null batchNumber,td.ancestorID,ti.tousseName,1 amount,ti.invoice_id,i.sendTime from %s ti join %s b on ti.id=b.id join %s td on ti.tousseDefinition_id=td.id join %s tdAncestor on td.ancestorID=tdAncestor.id , %s i where ((ti.invoice2_id is not null and i.id = ti.invoice2_id) or (ti.invoice2_id is null and i.id = ti.invoice_id)) ", Constants.STR_NO,TousseInstance.class.getSimpleName(),BarcodeDevice.class.getSimpleName(),TousseDefinition.class.getSimpleName(),TousseDefinition.class.getSimpleName(),Invoice.class.getSimpleName()); String idsCondition = "1=1"; @@ -11318,6 +11318,7 @@ long invoice_id = rs.getLong("invoice_id"); Date sendTime = rs.getTimestamp("sendTime"); String barcode = rs.getString("barcode"); + String batchNumber = rs.getString("batchNumber"); String diposable = rs.getString("diposable"); String isTraceable = rs.getString("isTraceable"); long ancestorID = rs.getLong("ancestorID"); @@ -11328,7 +11329,7 @@ ret.updateLastSendTime(sendTime); //根据配置项确定要不要对同名称物品进行合并数量 if(enableDisplaysTheItemInformationOfPDAInvoice){ - ret.addInvoiceSignGoodsVo(tousseName, amount, invoice_id,barcode,diposable,ancestorID, isTraceable); + ret.addInvoiceSignGoodsVo(tousseName, amount, invoice_id,barcode,batchNumber,diposable,ancestorID, isTraceable); }else{ ret.addInvoiceSignGoodsVo(tousseName, amount, invoice_id, isTraceable); }