Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/GodownEntryAction.java =================================================================== diff -u -r21083 -r21974 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/GodownEntryAction.java (.../GodownEntryAction.java) (revision 21083) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/GodownEntryAction.java (.../GodownEntryAction.java) (revision 21974) @@ -2,6 +2,8 @@ import java.io.IOException; import java.io.PrintWriter; +import java.text.SimpleDateFormat; +import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -796,6 +798,26 @@ } return null; } + + /** + * 打印入库单的一次性物品批次 + */ + public void printDisposableGoodsBatchByGodownEntryIds() { + String idStr = StrutsParamUtils.getPraramValue("godownEntryIds", ""); + JSONObject jSONObject = new JSONObject(); + if (StringUtils.isNotBlank(idStr)) { + try { + String[] idStrArry = idStr.split(Constants.IDS_SEPARATOR); + List idsStrList = Arrays.asList(idStrArry); + String data = godownEntryManager.printyGodownEntryDisposableGoodsBatch(idsStrList); + jSONObject.put("success",true); + jSONObject.put("data",data); + } catch (Exception e) { + e.printStackTrace(); + } + } + StrutsResponseUtils.output(jSONObject); + } } Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.js =================================================================== diff -u -r21290 -r21974 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.js (.../godownEntryView.js) (revision 21290) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/godownEntryView.js (.../godownEntryView.js) (revision 21974) @@ -1972,6 +1972,12 @@ commonEntry.onPrintEntryList(map,entityName); } + },'-',{ + text : '打印批号', + iconCls : 'icon_print', + handler : function(){ + commonEntry.printGodownEntryBatchStockBarcode(grid); + } }); //导入入库单excel Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java =================================================================== diff -u -r21968 -r21974 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 21968) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 21974) @@ -1,7 +1,9 @@ package com.forgon.disinfectsystem.diposablegoods.service; import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Date; @@ -47,6 +49,7 @@ import com.forgon.disinfectsystem.inventorymanagement.constant.gdsy.ConstantDefinition; import com.forgon.disinfectsystem.inventorymanagement.dao.InventoryDao; import com.forgon.disinfectsystem.inventorymanagement.dao.WriteBackInventoryDao; +import com.forgon.disinfectsystem.inventorymanagement.model.StorageEntry; import com.forgon.disinfectsystem.inventorymanagement.service.WriteBackInventoryHelper; import com.forgon.disinfectsystem.vo.DisposableGoodsStorageAdjustVo; import com.forgon.disinfectsystem.vo.GodownEntryItemPrintVO; @@ -2891,4 +2894,53 @@ logger.debug(operationDescription); appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_DISPOSABLEGOODS,Log.TYPE_ADD,operationDescription); } + + @Override + public String printyGodownEntryDisposableGoodsBatch(List godownEntryIdsStrList){ + if(CollectionUtils.isNotEmpty(godownEntryIdsStrList)){ + StringBuffer sb = new StringBuffer(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date date = new Date(); + //根据入库单id数组获得入库单明细集合 + String sql = String.format("where %s", SqlUtils.getStringFieldInCollectionsPredicate( + "po.godownEntry.id", godownEntryIdsStrList)); + @SuppressWarnings("unchecked") + List godownEntryList = objectDao.findBySql(GodownEntryItem.class.getSimpleName(), sql); + if(CollectionUtils.isNotEmpty(godownEntryList)){ + for (GodownEntryItem godownEntryItem : godownEntryList) { + Long disposableGoodsID = godownEntryItem.getDisposableGoodsID(); + //根据物品id获得批次号集合 + List disposableGoodsBatchList = diposableGoodsManager.getDisposableGoodsBatchesByDisposableGoodsID(disposableGoodsID); + if (disposableGoodsBatchList == null) { + continue; + } + for (DisposableGoodsBatch disposableGoodsBatch : disposableGoodsBatchList) { + if (sb.length() > 0) { + sb.append(";"); + } + String expDate = ""; + if (disposableGoodsBatch.getExpDate() != null) { + expDate = sdf.format(disposableGoodsBatch.getExpDate()); + } + // 更新打印状态 + disposableGoodsBatch.setHasPrinted(Constants.STR_YES); + disposableGoodsBatch.setPrintTime(date); + diposableGoodsManager.saveOrUpdate(disposableGoodsBatch); + String specification = ""; + if (disposableGoodsBatch.getDiposableGoods().getSpecification() != null) { + specification = disposableGoodsBatch.getDiposableGoods() + .getSpecification().trim(); + } + sb.append(disposableGoodsBatch.getDiposableGoods().getName() + + "#&" + disposableGoodsBatch.getBarcode() + "#&" + + expDate + "#&" + disposableGoodsBatch.getSupplierName() + + "#&" + disposableGoodsBatch.getBatchNumber() + "#&" + + specification); + } + } + return sb.toString(); + } + } + return null; + } } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManager.java =================================================================== diff -u -r21968 -r21974 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManager.java (.../GodownEntryManager.java) (revision 21968) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManager.java (.../GodownEntryManager.java) (revision 21974) @@ -95,5 +95,11 @@ * @param jsonObj 接收返回的参数 */ public void modifyGodownEntryItemBaseData(String items,JSONObject jsonObj); - + + /** + * 打印入库单的物品批号条码 + * @param godownEntryIdsStrList 入库单id集合 + * @return + */ + public String printyGodownEntryDisposableGoodsBatch(List godownEntryIdsStrList); } Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/commonEntry.js =================================================================== diff -u -r14454 -r21974 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/commonEntry.js (.../commonEntry.js) (revision 14454) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/godownEntry/commonEntry.js (.../commonEntry.js) (revision 21974) @@ -217,4 +217,68 @@ showResult("本次入库物品没有新的批次。"); } } + //打印入库单批次条码 + this.printGodownEntryBatchStockBarcode = function(grid){ + var records = grid.getSelectionModel().getSelections(); + if(records.length == 0){ + showResult("请选择要打印批次条码的入库单"); + }else{ + var ids = ""; + for(var i = 0,len=records.length;i 0){ + Ext.Msg.show({ + title: '输入框', + msg: '打印数量:', + width: 100, + buttons: Ext.MessageBox.OKCANCEL, + prompt : true, + fn: function(bu, txt) { + if(bu == 'ok'){ + if(isNaN(txt) == false){ + var godownEntryItem = barcodeStr.split(";"); + for(var j = 0 ; j< Number(txt) ; j++){ + for ( var i = 0; i < godownEntryItem.length; i++) { + var resultItem = godownEntryItem[i].split("#&"); + var name =resultItem[0]; + var barcode = resultItem[1]; + var expDate = resultItem[2]; + var supplierName = resultItem[3]; + var batchNumber = resultItem[4]; + var specification = resultItem[5]; + printDiposableGoodsInfo(barcode,name,expDate,supplierName,batchNumber,0,specification); + } + } + }else{ + showResult("打印数量必须是数字,请重新输入!"); + } + } + }, + animEl: 'addAddressBtn', + value:'1' + }); + } + } } \ No newline at end of file