Index: ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java =================================================================== diff -u -r12728 -r12788 --- ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java (.../ImportBasedataManagerImpl.java) (revision 12728) +++ ssts-maintain/src/main/java/com/forgon/disinfectsystem/maintain/importbasedata/service/ImportBasedataManagerImpl.java (.../ImportBasedataManagerImpl.java) (revision 12788) @@ -2185,7 +2185,7 @@ List godownEntrys = new LinkedList(); List itemsList = new ArrayList(); int lastRowNum = diposableSheet.getLastRowNum(); - Map goodsMap = new HashMap(); + Map goodsMap = new HashMap(); Map batchStockMap = new HashMap(); Map identificationMap = new HashMap(); // 一次性物品类型 @@ -2340,7 +2340,7 @@ } private GodownEntryItem getGodownEntryItemFromCurrentRow(HSSFRow row, int currentRowNum, GodownEntry godownEntry, - Map goodsMap, + Map goodsMap, Map batchStockMap, Map identificationsMap,Set types) { @@ -2507,54 +2507,54 @@ String producingArea = ParerUtils.getCellFormatValue(row, 21); // 一次性物品 - DisposableGoodsStock diposableGoods = null; + DisposableGoods disposableGoods = null; String diposableGoodsKey = name + "_" + specification; if (goodsMap.containsKey(diposableGoodsKey)) { log.info("从一次性物品Map里获取到一次性物品对象:" + diposableGoodsKey); - diposableGoods = goodsMap.get(diposableGoodsKey); + disposableGoods = goodsMap.get(diposableGoodsKey); } else { log.info("查找一次性物品对象:" + name + " " + specification); - diposableGoods = diposableGoodsManager.getDiposableGoodsByName( - name, specification); + disposableGoods = diposableGoodsManager.getDisposableGoodsByName(name, specification); + } - if (diposableGoods == null) { + if (disposableGoods == null) { log.info("系统无此一次性物品,创建一次性物品对象:" + name + " " + specification); - diposableGoods = new DisposableGoodsStock(); - diposableGoods.setName(name); - diposableGoods.setSpecification(specification); - diposableGoods.setSpelling(GB2Alpha.string2Alpha(name)); - diposableGoods.setWbCode(GB2WB.getWBCode(name)); - objectDao.save(diposableGoods);// 必须先保存 - goodsMap.put(diposableGoodsKey, diposableGoods); + disposableGoods = new DisposableGoods(); + disposableGoods.setName(name); + disposableGoods.setSpecification(specification); + disposableGoods.setSpelling(GB2Alpha.string2Alpha(name)); + disposableGoods.setWbCode(GB2WB.getWBCode(name)); + objectDao.save(disposableGoods);// 必须先保存 + goodsMap.put(diposableGoodsKey, disposableGoods); } if (StringUtils.isNotBlank(type)) { - diposableGoods.setType(type); + disposableGoods.setType(type); } if (StringUtils.isNotBlank(externalCode)) { - diposableGoods.setExternalCode(externalCode); + disposableGoods.setExternalCode(externalCode); } if (StringUtils.isNotBlank(unit)) { - diposableGoods.setUnit(unit); + disposableGoods.setUnit(unit); } if (minStorage != null) { - diposableGoods.setMinStorage(minStorage); + disposableGoods.setMinStorage(minStorage); } if (maxStorage != null) { - diposableGoods.setMaxStorage(maxStorage); + disposableGoods.setMaxStorage(maxStorage); } if (StringUtils.isNotBlank(isPartOfTousseMaterial)) { - diposableGoods.setIsPartOfTousseMaterial(isPartOfTousseMaterial); + disposableGoods.setIsPartOfTousseMaterial(isPartOfTousseMaterial); } if (StringUtils.isNotBlank(isApplicationMaterial)) { - diposableGoods.setIsApplicationMaterial(isApplicationMaterial); + disposableGoods.setIsApplicationMaterial(isApplicationMaterial); } if (minApplyAmount != null) { - diposableGoods.setMinApplyAmount(minApplyAmount); + disposableGoods.setMinApplyAmount(minApplyAmount); } if (StringUtils.isNotBlank(certification)) { - diposableGoods.setCertification(certification); + disposableGoods.setCertification(certification); } // 如果验收不合格,那么库存改为0 @@ -2569,14 +2569,12 @@ godownEntryItem.setBatchNumber(batchNumber); godownEntryItem.setIdentification(identification); godownEntryItem.setCost(price); - godownEntryItem.setDiposableGoods(diposableGoods); godownEntryItem.setExpDate(expDate); godownEntryItem.setSterileBatchNumber(sterileBatchNumber); godownEntryItem.setSupplierName(supplierName); godownEntryItem.setProducingArea(producingArea); godownEntryItem.setManufacturer(manufacturer); - godownEntryItem.setDisposableGoodsStockID(diposableGoods.getId()); - godownEntryItem.setDiposableGoods(diposableGoods); + godownEntryItem.setDisposableGoodsID(disposableGoods.getId()); godownEntryItem.setGodownEntry(godownEntry);// 和入库/退库单关联 return godownEntryItem; } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java =================================================================== diff -u -r12787 -r12788 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 12787) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 12788) @@ -417,6 +417,9 @@ DisposableGoods disposableGoods = idToDisposableGoodsMap.get(disposableGoodsID); DisposableGoodsStock disposableGoodsStock = idToDisposableGoodsStockMap.get(disposableGoodsStockID); String batchNumber = godownEntryItem.getBatchNumber(); + if(disposableGoods == null){ + throw new RuntimeException("物品未定义!"); + } if(StringUtils.isBlank(batchNumber)){ throw new RuntimeException("批次号不能为空!"); } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r12756 -r12788 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 12756) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 12788) @@ -136,11 +136,10 @@ } public void loadGodownEntryItemByid() { - String id = StrutsParamUtils.getPraramValue("id", ""); - if (StringUtils.isNotBlank(id) && id.equals("0") == false) {// 初始化加载的数据 + String disposableGoodsID = StrutsParamUtils.getPraramValue("id", ""); + if (StringUtils.isNotBlank(disposableGoodsID) && disposableGoodsID.equals("0") == false) {// 初始化加载的数据 try { - List disposableGoodsBatchStocks = diposableGoodBatchStockManager - .getDiposableGoodBatchStockByDiposableGoodsId(id); + List disposableGoodsBatchStocks = diposableGoodsManager.getDisposableGoodsBatchStocksByDisposableGoodsID(Long.valueOf(disposableGoodsID)); String jsonString = JSONUtil.toJSONString(disposableGoodsBatchStocks, true); StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java =================================================================== diff -u -r12775 -r12788 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 12775) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 12788) @@ -90,6 +90,8 @@ public List getDisposableGoodsStockByDisposableGoodsStockIDs(Collection ids); + public List getDisposableGoodsBatchStocksByDisposableGoodsID(Long disposableGoodsID); + public List getDisposableGoodsByBatchBarcodes_ForUpdate(String warehouseID,Collection barcodes); public List getDisposableGoodsByDisposableGoodsIDs_ForUpdate(Collection ids); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r12775 -r12788 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 12775) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 12788) @@ -914,7 +914,7 @@ public DisposableGoods getDisposableGoodsByName(String name, String specification) { - if (StringUtils.isNotBlank(name)) { + if (StringUtils.isBlank(name)) { return null; } String sql = String.format(" where %s and %s", SqlUtils @@ -1351,6 +1351,17 @@ return objectDao.findBySql(DisposableGoodsStock.class.getSimpleName(),queryString); } + public List getDisposableGoodsBatchStocksByDisposableGoodsID(Long disposableGoodsID){ + if(disposableGoodsID == null){ + return null; + } + String queryString = String + .format(" where %s ", + SqlUtils.getLongFieldPredicate("po.disposableGoodsID", disposableGoodsID)); + // 此时获取的是按照id升序排列的 + return objectDao.findBySql(DisposableGoodsBatchStock.class.getSimpleName(),queryString); + } + public List getDisposableGoodsByBatchBarcodes_ForUpdate(String warehouseID,Collection batchBarcodes){ if(batchBarcodes == null || batchBarcodes.size()==0){ return null;