Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java =================================================================== diff -u -r20416 -r20627 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 20416) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 20627) @@ -253,4 +253,13 @@ */ public Inventory getHrpDisposableGoodsByInventorySerialNumber(String InventorySerialNumber); + + /** + * 获得失效的批次库存 + * @param disposableGoodsID 一次洗物品id + * @param expdateType 即将过期的一次性物品/已过期的一次性物品 + * @return + */ + public List getExpdateDisposableGoodsBatchStocks(Long disposableGoodsID,String expdateType); + } Index: ssts-web/src/main/webapp/disinfectsystem/assestManagement/diposableGoods/diposableGoodsWarningView.js =================================================================== diff -u -r20622 -r20627 --- ssts-web/src/main/webapp/disinfectsystem/assestManagement/diposableGoods/diposableGoodsWarningView.js (.../diposableGoodsWarningView.js) (revision 20622) +++ ssts-web/src/main/webapp/disinfectsystem/assestManagement/diposableGoods/diposableGoodsWarningView.js (.../diposableGoodsWarningView.js) (revision 20627) @@ -261,8 +261,8 @@ xtype : 'numberfield', fieldLabel : '总数', maxLength : '16', - id : 'amount', - name : 'amount', + id : 'expDateAmount', + name : 'expDateAmount', readOnly : true, cls : 'fieldReadOnlyNoRemove', allowBlank : false, @@ -345,10 +345,10 @@ id = records[0].data['diposableGoods.id']; addDiposableGoods(id); top.Ext.getCmp('diposableGoodsForm').form.load({ - url : WWWROOT + '/disinfectSystem/diposableGoodsAction!loadDiposableGoods.do', + url : WWWROOT + '/disinfectSystem/diposableGoodsAction!loadExpiredDiposableGoods.do', method : 'GET', waitMsg : '正在加载数据,请稍候', - params : {id : id}, + params : {id : id, type: $Id("parm_s_type").value}, success : function(form, action) { }, failure : function(form, action) { Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r20416 -r20627 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 20416) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 20627) @@ -6,7 +6,9 @@ import java.io.InputStream; import java.sql.ResultSet; import java.sql.SQLException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Calendar; import java.util.Collection; import java.util.Collections; import java.util.Comparator; @@ -78,6 +80,7 @@ import com.forgon.disinfectsystem.entity.returngoodsrecord.ReturnGoodsItem; import com.forgon.disinfectsystem.entity.stocktakemanager.InventoryItem; import com.forgon.disinfectsystem.entity.stocktakerecordmanager.StockDiposableGoods; +import com.forgon.disinfectsystem.entity.systemwarning.SystemWarningItemVO; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.inventorymanagement.dao.InventoryDao; import com.forgon.disinfectsystem.inventorymanagement.model.Inventory; @@ -2779,4 +2782,35 @@ return inventroy; } + @Override + public List getExpdateDisposableGoodsBatchStocks(Long disposableGoodsID,String expdateType){ + Calendar calendar = Calendar.getInstance(); + calendar.setTime(new Date()); + calendar.add(Calendar.DAY_OF_YEAR, 30);// 默认告警日期为30天 + String warningDate = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()); + String currentDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); + //sql语句 + String sql = String.format(" where %s ",SqlUtils.getLongFieldPredicate("po.disposableGoodsId", Long.valueOf(disposableGoodsID))); + switch (expdateType) { + case SystemWarningItemVO.WARNING_TYPE_DIPOSABLEGOODS: + sql += " and po.expDate between " + + dateQueryAdapter.dateAdapter(currentDate) + " and " + + "order by expDate"; + break; + case SystemWarningItemVO.WARNING_TYPE_DISABLED_DIPOSABLEGOODS: + sql += " and po.expDate < " + + dateQueryAdapter.dateAdapter(currentDate) + + "order by expDate"; + break; + default: + sql += " and po.expDate < " + + dateQueryAdapter.dateAdapter(warningDate) + + "order by expDate"; + break; + } + List disposableGoodsBatchStocks = objectDao.findBySql(DisposableGoodsBatchStock.class.getSimpleName(),sql); + + return disposableGoodsBatchStocks; + } + } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r20622 -r20627 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 20622) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 20627) @@ -1380,37 +1380,12 @@ * 根据警告类型和一次性物品id获得批次库存信息 */ public void loadExpiredGodownEntryItemByid() { - String type = StrutsParamUtils.getPraramValue("type","");//警告类型 + String expdateType = StrutsParamUtils.getPraramValue("type","");//警告类型 String disposableGoodsID = StrutsParamUtils.getPraramValue("id", ""); if (StringUtils.isNotBlank(disposableGoodsID) && disposableGoodsID.equals("0") == false) {// 初始化加载的数据 try { - Calendar calendar = Calendar.getInstance(); - calendar.setTime(new Date()); - calendar.add(Calendar.DAY_OF_YEAR, 30);// 默认告警日期为30天 - String warningDate = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()); - String currentDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); - //sql语句 - String sql = String.format(" where %s ",SqlUtils.getLongFieldPredicate("po.disposableGoodsId", Long.valueOf(disposableGoodsID))); - switch (type) { - case SystemWarningItemVO.WARNING_TYPE_DIPOSABLEGOODS: - sql += " and po.expDate between " - + dateQueryAdapter.dateAdapter(currentDate) + " and " - + "order by expDate"; - break; - case SystemWarningItemVO.WARNING_TYPE_DISABLED_DIPOSABLEGOODS: - sql += " and po.expDate < " - + dateQueryAdapter.dateAdapter(currentDate) - + "order by expDate"; - break; - default: - sql += " and po.expDate < " - + dateQueryAdapter.dateAdapter(currentDate) - + "order by expDate"; - break; - } - List disposableGoodsBatchStocks = objectDao.findBySql(DisposableGoodsBatchStock.class.getSimpleName(),sql); - - String jsonString = JSONUtil.toJSONString(disposableGoodsBatchStocks, true); + List DisposableGoodsBatchStocks = diposableGoodsManager.getExpdateDisposableGoodsBatchStocks(Long.valueOf(disposableGoodsID), expdateType); + String jsonString = JSONUtil.toJSONString(DisposableGoodsBatchStocks, true); StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); StrutsParamUtils.getResponse().getWriter().println(jsonString); } catch (Exception e) { @@ -1419,6 +1394,58 @@ } } + public String loadExpiredDiposableGoods() { + StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); + String id = StrutsParamUtils.getPraramValue("id", "");//一次性物品id + String expdateType = StrutsParamUtils.getPraramValue("type", "");//警告类型 + DisposableGoods diposableGoods = null; + if (DatabaseUtil.isPoIdValid(id)) { + diposableGoods = diposableGoodsManager.get(id); + } + if(diposableGoods == null){ + diposableGoods = new DisposableGoods(); + } + List DisposableGoodsBatchStocks = diposableGoodsManager.getExpdateDisposableGoodsBatchStocks(Long.valueOf(id), expdateType); + int expDateAmount = 0; + for (DisposableGoodsBatchStock disposableGoodsBatchStock : DisposableGoodsBatchStocks) { + expDateAmount += disposableGoodsBatchStock.getStorage(); + } + Map data = new HashMap(); + data.put("id", diposableGoods.getId()); + data.put("name", diposableGoods.getName()); + data.put("specification", diposableGoods.getSpecification()); + data.put("type", diposableGoods.getType()); + data.put("isPartOfTousseMaterial", diposableGoods.getIsPartOfTousseMaterial()); + data.put("isApplicationMaterial", diposableGoods.getIsApplicationMaterial()); + data.put("minStorage", diposableGoods.getMinStorage()); + data.put("maxStorage", diposableGoods.getMaxStorage()); + data.put("spelling", diposableGoods.getSpelling()); + data.put("wbCode", diposableGoods.getWbCode()); + data.put("referencePrice", diposableGoods.getReferencePrice()); + data.put("externalCode", diposableGoods.getExternalCode()); + data.put("minApplyAmount", diposableGoods.getMinApplyAmount()); + data.put("unit", diposableGoods.getUnit()); + data.put("expDateAmount", expDateAmount);//各过期批次库存之和 + + Map map = new HashMap(); + map.put("success", true); + map.put("data", data); + //map.put("data", diposableGoods); + try { + String jsonStr = JSONUtil.toJSONString(map, true); + StrutsParamUtils.getResponse().getWriter().println(jsonStr); + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + + + + + + /** * 比较一次性物品包定义的修改,用于记录日志 * @param origineDG 修改前的包定义