Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r13551 -r13584 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 13551) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 13584) @@ -1815,6 +1815,21 @@ SqlUtils.getNonStringFieldInCollectionsPredicate("po.warehouseID", wareHouseManager.getCurrentUserOrgUnitWarehouseIds())); return objectDao.findBySql(ExpensiveDisposablegoods.class.getSimpleName(),sql); } + public List getCurrentUserOrgUnitWarehouseExpensivediposableGoods(String disposableGoodsId,String disposableGoodsStockIds,String disposableGoodsBatchStockIds){ + StringBuilder sqlSB = new StringBuilder(); + if (StringUtils.isNotBlank(disposableGoodsId)) { + sqlSB.append(String.format(" where po.disposableGoodsID=%s ", disposableGoodsId)); + if(StringUtils.isNotBlank(disposableGoodsStockIds)){ + sqlSB.append(String.format(" and po.disposableGoodsStockID in(%s) ", disposableGoodsStockIds)); + } + if(StringUtils.isNotBlank(disposableGoodsBatchStockIds)){ + sqlSB.append(String.format(" and po.disposableGoodsBatchStock.id in(%s) ", disposableGoodsBatchStockIds)); + } + sqlSB.append(String.format(" and %s ", SqlUtils.getNonStringFieldInCollectionsPredicate(" po.warehouseID", wareHouseManager.getCurrentUserOrgUnitWarehouseIds()))); + return objectDao.findBySql(ExpensiveDisposablegoods.class.getSimpleName(),sqlSB.toString()); + } + return null; + } // 在新的事务中执行删除。 public void deleteDiposableGoodsById_TRANS_NEW(String id) { // TODO Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoods.java =================================================================== diff -u -r13519 -r13584 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoods.java (.../DisposableGoods.java) (revision 13519) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoods.java (.../DisposableGoods.java) (revision 13584) @@ -115,7 +115,7 @@ @JsonIgnore public static Map ColumnNameAndPoPropertyNameMap= new LinkedHashMap(8); - public static final String[] filterProperties = { "goodsBatchs","ColumnNameAndPoPropertyNameMap"}; + public static final String[] filterProperties = {"gradeList", "ColumnNameAndPoPropertyNameMap"}; static { ColumnNameAndPoPropertyNameMap.put("物品名称", "name"); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r13551 -r13584 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 13551) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 13584) @@ -170,19 +170,34 @@ public String loadDisposableGoodsStock() { String id = StrutsParamUtils.getPraramValue("id", ""); DisposableGoodsStock disposableGoodsStock = null; + DisposableGoods disposableGoods = null; if (StringUtils.isNotBlank(id) && !id.equals("0")) { disposableGoodsStock = diposableGoodsManager.getDisposableGoodsStockById(id); - } else { + if(disposableGoodsStock != null){ + disposableGoods = diposableGoodsManager.getDisposableGoodsById(disposableGoodsStock.getDisposableGoodsID().toString()); + } + } + if(disposableGoods == null){ + disposableGoods = new DisposableGoods(); + } + if(disposableGoodsStock == null){ disposableGoodsStock = new DisposableGoodsStock(); } StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); - Map map = new HashMap(); - map.put("success", true); - map.put("data", disposableGoodsStock); + JSONObject jobj = new JSONObject(); + jobj.put("success", true); +// String disposableGoodsJSONStr = JSONUtil.toJSONStringEx(disposableGoods,true, DisposableGoods.filterProperties); +// JSONObject disposableGoodsJSONObject = JSONObject.fromObject(disposableGoodsJSONStr); +// disposableGoodsJSONObject.put("amount", disposableGoodsStock.getAmount()); +// jobj.put("data", disposableGoodsJSONObject); + + String disposableGoodsStockJSONStr = JSONUtil.toJSONStringEx(disposableGoodsStock,true, DisposableGoodsStock.filterProperties); + JSONObject disposableGoodsStockJSONObject = JSONObject.fromObject(disposableGoodsStockJSONStr); + disposableGoodsStockJSONObject.put("goodsType", disposableGoods.getGoodsType()); + jobj.put("data", disposableGoodsStockJSONObject); try { - String jsonStr = JSONUtil.toJSONString(map, true); - StrutsParamUtils.getResponse().getWriter().println(jsonStr); + StrutsParamUtils.getResponse().getWriter().println(jobj.toString()); } catch (Exception e) { e.printStackTrace(); } @@ -220,6 +235,48 @@ } } + public void loadExpensiveDisposableGoods() { + String disposableGoodsId = StrutsParamUtils.getPraramValue( + "disposableGoodsId", ""); + String disposableGoodsStockIds = StrutsParamUtils.getPraramValue( + "disposableGoodsStockIds", ""); + String disposableGoodsBatchStockIds = StrutsParamUtils.getPraramValue( + "disposableGoodsBatchStockIds", ""); + List expensiveDisposablegoodsList = diposableGoodsManager + .getCurrentUserOrgUnitWarehouseExpensivediposableGoods( + disposableGoodsId, disposableGoodsStockIds, + disposableGoodsBatchStockIds); + + if (expensiveDisposablegoodsList == null) { + expensiveDisposablegoodsList = new ArrayList(); + } + JSONArray jobjs = new JSONArray(); + for (ExpensiveDisposablegoods expensiveDisposablegoods : expensiveDisposablegoodsList) { + JSONObject jobj = JSONObject.fromObject(JSONUtil.toJSONStringEx( + expensiveDisposablegoods, true, new String[] { + "disposableGoodsBatchStock", + "ColumnNameAndPoPropertyNameMap" })); + DisposableGoodsBatchStock disposableGoodsBatchStock = expensiveDisposablegoods + .getDisposableGoodsBatchStock(); + if (disposableGoodsBatchStock != null) { + jobj.put("batchNumber", + disposableGoodsBatchStock.getBatchNumber()); + jobj.put("supplierName", + disposableGoodsBatchStock.getSupplierName()); + jobj.put("expDate", + disposableGoodsBatchStock.getExpDateStr()); + } + jobjs.add(jobj); + } + try { + String jsonString = jobjs.toString(); + StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); + StrutsParamUtils.getResponse().getWriter().println(jsonString); + } catch (Exception e) { + e.printStackTrace(); + } + } + public void loadDisposableGoodsBatchesByDisposableGoodsID() { String disposableGoodsID = StrutsParamUtils.getPraramValue("id", ""); if (StringUtils.isNotBlank(disposableGoodsID) && disposableGoodsID.equals("0") == false) {// 初始化加载的数据 Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java =================================================================== diff -u -r13551 -r13584 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 13551) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 13584) @@ -128,6 +128,7 @@ public List getExpensivediposablegoodsByDisposableGoodsBatchStockId(Long disposableGoodsBatchStockId); public List getExpensivediposablegoodsByDisposableGoodsId(Long disposableGoodsId); public List getCurrentUserOrgUnitWarehouseExpensivediposablegoodsByDisposableGoodsId(Long disposableGoodsId); + public List getCurrentUserOrgUnitWarehouseExpensivediposableGoods(String disposableGoodsId,String disposableGoodsStockIds,String disposableGoodsBatchStockIds); // 在新的事务中执行删除。 public void deleteDiposableGoodsById_TRANS_NEW(String id); // 获取批次的可以退库的价格数量