Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java =================================================================== diff -u -r21838 -r21848 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 21838) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 21848) @@ -188,6 +188,14 @@ public List getExpensiveDisposablegoodsByIds(String ids); public List getDisposableGoodsBatchesByDisposableGoodsID(Long disposableGoodsID); + /** + * 根据一次性物品id + * 获得批次库存大于0的批次集合 + * @param disposableGoodsID + * @return + */ + public List getDisposableGoodsBatchesExcludingZeroByDisposableGoodsID(Long disposableGoodsID); + public List getExpensivediposablegoodsByDisposableGoodsBatchStockId(Long disposableGoodsBatchStockId); public List getExpensivediposablegoodsByDisposableGoodsId(Long disposableGoodsId); public List getExpensivediposablegoodsByGodownEntryItemId(Long godownEntryItemId); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r21838 -r21848 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 21838) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 21848) @@ -592,6 +592,63 @@ } } + public void printDisposableGoodsBatchExcludingZeroByDisposableGoodsIds() { + String idStr = StrutsParamUtils.getPraramValue("diposableIds", ""); + StringBuffer sb = new StringBuffer(); + if (StringUtils.isNotBlank(idStr)) { + String sql = String.format(" where po.id in(%s)", idStr); + List disposableGoodsList = diposableGoodsManager.getDisposableGoodsBySql(sql); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date date = new Date(); + if(disposableGoodsList != null){ + for (DisposableGoods disposableGoods : disposableGoodsList) { + if(disposableGoods.expensiveDiposablegoods()){// 高值耗材的打印 +// continue; + } + + List disposableGoodsBatchList = diposableGoodsManager.getDisposableGoodsBatchesExcludingZeroByDisposableGoodsID(disposableGoods.getId()); + 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); + } + } + } + } + + HttpServletResponse response = StrutsParamUtils.getResponse(); + response.setCharacterEncoding("UTF-8"); + + try { + PrintWriter out = response.getWriter(); + out.print("{success:true,value:'" + sb.toString() + "'}"); + } catch (IOException e) { + e.printStackTrace(); + } + } + public void printExpensiveDisposableGoodsByDisposableGoodsIds() { String idStr = StrutsParamUtils.getPraramValue("diposableIds", ""); StringBuffer sb = new StringBuffer(); Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/disposableGoodsStockView.js =================================================================== diff -u -r19051 -r21848 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/disposableGoodsStockView.js (.../disposableGoodsStockView.js) (revision 19051) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/disposableGoods/disposableGoodsStockView.js (.../disposableGoodsStockView.js) (revision 21848) @@ -127,7 +127,7 @@ items : [{ xtype : 'textfield', fieldLabel : '名称', - maxLength : '41', + maxLength : '100', id : 'name', name : 'name', allowBlank : false, @@ -680,7 +680,7 @@ ids += records[i].data['disposableGoodsID']; } Ext.Ajax.request({ - url : WWWROOT + '/disinfectSystem/diposableGoodsAction!printDisposableGoodsBatchByDisposableGoodsIds.do', + url : WWWROOT + '/disinfectSystem/diposableGoodsAction!printDisposableGoodsBatchExcludingZeroByDisposableGoodsIds.do', params : {diposableIds : ids}, success : function(response, options){ var obj = Ext.util.JSON.decode(response.responseText); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r21838 -r21848 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 21838) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 21848) @@ -2062,7 +2062,24 @@ // 此时获取的是按照id升序排列的 return objectDao.findBySql(DisposableGoodsBatch.class.getSimpleName(),sql); } + @Override + public List getDisposableGoodsBatchesExcludingZeroByDisposableGoodsID(Long disposableGoodsID){ + if(disposableGoodsID == null){ + return null; + } + //根据一次性物品id获得库存大于0的批次库存 + String sql = String.format(" where po.storage>0 and %s", SqlUtils.getLongFieldPredicate("po.disposableGoodsId", disposableGoodsID)); + List disposableGoodsBatchStockList = objectDao.findBySql(DisposableGoodsBatchStock.class.getSimpleName(),sql); + if(CollectionUtils.isNotEmpty(disposableGoodsBatchStockList)){ + ListdisposableGoodsBatchIds = disposableGoodsBatchStockList.stream().map(DisposableGoodsBatchStock::getDisposableGoodsBatchId).collect(Collectors.toList()); + //根据批次id集合获得批次集合 + ListdisposableGoodsBatchList = objectDao.findByIds(DisposableGoodsBatch.class.getSimpleName(), disposableGoodsBatchIds); + return disposableGoodsBatchList; + } + return null; + } + @Override public List getExpensivediposablegoodsByDisposableGoodsBatchStockId(Long disposableGoodsBatchStockId){ String sql = String .format(" where %s and %s ",SqlUtils.getLongFieldPredicate("po.disposableGoodsBatchStock.id", disposableGoodsBatchStockId),