Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java =================================================================== diff -u -r19508 -r20030 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 19508) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 20030) @@ -728,6 +728,46 @@ return saveForReturnDiposableGoods_internal(returnGoodsRecord); } + private JSONArray convertToPrintInfo( + Set zeroStockBatch) { + Set disposableGoodsBatchIds = new HashSet(); + for (DisposableGoodsBatchStock disposableGoodsBatchStock : zeroStockBatch) { + if (disposableGoodsBatchStock.getDisposableGoodsBatchId() != null) { + disposableGoodsBatchIds.add(disposableGoodsBatchStock + .getDisposableGoodsBatchId()); + } + } + JSONArray batchs = new JSONArray(); + Date date = new Date(); + for (Long id : disposableGoodsBatchIds) { + + DisposableGoodsBatch disposableGoodsBatch = diposableGoodsManager + .getDisposableGoodsBatchById(Long.valueOf(id)); + if (disposableGoodsBatch == null) { + continue; + } + DisposableGoods diposableGoods = disposableGoodsBatch + .getDiposableGoods(); + if (diposableGoods == null) { + continue; + } + JSONObject obj = new JSONObject(); + String expDate = disposableGoodsBatch.getExpDateStr(); + // 更新打印状态 + disposableGoodsBatch.setHasPrinted(Constants.STR_YES); + disposableGoodsBatch.setPrintTime(date); + diposableGoodsManager.saveOrUpdate(disposableGoodsBatch); + obj.put("showName", diposableGoods.getShowName()); + obj.put("specification", diposableGoods.getSpecification()); + obj.put("barcode", disposableGoodsBatch.getBarcode()); + obj.put("expDate", expDate); + obj.put("supplierName", disposableGoodsBatch.getSupplierName()); + obj.put("batchNumber", disposableGoodsBatch.getBatchNumber()); + + batchs.add(obj); + } + return batchs; + } private Map saveForReturnDiposableGoods_internal(ReturnGoodsRecord returnGoodsRecord){ String depart = returnGoodsRecord.getDepart(); Long warehouseID = returnGoodsRecord.getWarehouseID(); @@ -755,7 +795,7 @@ Map idToDisposableGoodsBatchMap = new HashMap(); Map idToDisposableGoodsBatchStockMap = new HashMap(); Map idToIdentificationMap = new HashMap(); - + Set zeroStockBatch = new HashSet(); List returnDiposableGoodsItems = new LinkedList();// 退货明细 summaryReturnDiposableGoodsInfo(returnGoodsRecord, disposableGoodsIDsSet, disposableGoodsStockIDsSet, expensiveDisposablegoodsIdsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, disposableGoodsBatchNumberSet, disposableGoodsBarcodesSet, identificationIDsSet); // 锁定一次性物品 @@ -790,6 +830,9 @@ disposableGoodsStorageAdjustVoTotalList.addAll(disposableGoodsStorageAdjustVoList); } }else{ + if(disposableGoodsBatchStock.getStorage() == 0){ + zeroStockBatch.add(disposableGoodsBatchStock); + } // 页面传过来的数量为申领规格数量,此处还原为最小单位数量 returnGoodsItem.setAmount(Integer.valueOf(ApplicationSpecificationHelper.calculateAmount(returnGoodsItem.getAmount(), disposableGoods.getTransferScale()))); List disposableGoodsStorageAdjustVoList = returnDiposableGoods(warehouseID,depart,returnGoodsItem,idToDisposableGoodsMap,disposableGoodsIDToDisposableGoodsStockMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap,idToDisposableGoodsBatchStockMap,returnDiposableGoodsItems); @@ -842,6 +885,7 @@ } } returnMsg.put("success", true); + returnMsg.put("zeroStockBatch", convertToPrintInfo(zeroStockBatch)); if(true){ // throw new RuntimeException("速度测试!"); } Index: ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnGoodsRecordForm.js =================================================================== diff -u -r19293 -r20030 --- ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnGoodsRecordForm.js (.../returnGoodsRecordForm.js) (revision 19293) +++ ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnGoodsRecordForm.js (.../returnGoodsRecordForm.js) (revision 20030) @@ -1200,6 +1200,8 @@ success : function(form, action) { if(action.result.success){ showResult('保存成功'); + // 打印为0的批次 + printZeroStockBatches(action.result); } else if (action.result.error){ showResult(action.result.error); } else if(action.result.errMsg){ Index: ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnGoodsRecordForm_common.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnGoodsRecordForm_common.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnGoodsRecordForm_common.js (revision 20030) @@ -0,0 +1,23 @@ + + +function printZeroStockBatches(obj){ + if(!sstsConfig.returnGoodsRecordForm_printZeroStockBatches){ + return; + } + var batches = obj.zeroStockBatch; + if(isUndefinedOrNull(batches)){ + return; + } + if(batches.length == 0){ + return; + } + var msg = '有'+batches.length+'个批次库存退货之前库存为0,是否打印这些物品批次?' + top.Ext.MessageBox.confirm("请确认",msg,function(btn) { + if(btn=='yes') { + for(var i=0;i <%@ include file="/common/includeExtJsAndCss.jsp"%> + @@ -46,10 +47,12 @@ + +