Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java =================================================================== diff -u -r12721 -r12722 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 12721) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/GodownEntryManagerImpl.java (.../GodownEntryManagerImpl.java) (revision 12722) @@ -171,6 +171,7 @@ Set disposableGoodsBatchNumberSet = new HashSet();// 批次号集合 Set identificationIDsSet = new HashSet();// 标识号id集合 Map idToDisposableGoodsMap = new HashMap(); + Map disposableGoodsIDToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsBatchMap = new HashMap(); Map idToDisposableGoodsBatchStockMap = new HashMap(); @@ -179,8 +180,8 @@ summaryDiposableGoodsInfo(godownEntry, disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, disposableGoodsBatchNumberSet, identificationIDsSet); // 获取并锁定一次性物品相关资源 - lockAndGetDiposableGoodsResources(disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, - disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, + lockAndGetDiposableGoodsResources(GodownEntry.TYPE_IN,godownEntry.getWareHouseId(),godownEntry.getWareHouseName(),disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, + disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,disposableGoodsIDToDisposableGoodsStockMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, idToDisposableGoodsBatchStockMap, idToIdentificationMap); List itemList = new ArrayList(godownEntry.getItemsList()); @@ -216,6 +217,7 @@ Set disposableGoodsBatchNumberSet = new HashSet();// 批次号集合 Set identificationIDsSet = new HashSet();// 标识号id集合 Map idToDisposableGoodsMap = new HashMap(); + Map disposableGoodsIDToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsBatchMap = new HashMap(); Map idToDisposableGoodsBatchStockMap = new HashMap(); @@ -224,8 +226,8 @@ summaryDiposableGoodsInfoForGodownOutEntry(godownEntry, disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, disposableGoodsBatchNumberSet, identificationIDsSet); // 获取并锁定一次性物品相关资源 - lockAndGetDiposableGoodsResources(disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, - disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, + lockAndGetDiposableGoodsResources(GodownEntry.TYPE_OUT,godownEntry.getWareHouseId(),godownEntry.getWareHouseName(),disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, + disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,disposableGoodsIDToDisposableGoodsStockMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, idToDisposableGoodsBatchStockMap, idToIdentificationMap); ////////// // 删除各个item @@ -305,7 +307,7 @@ private void saveGodownEntry_internal(Collection entrys, Map result) { - if (entrys == null) { + if (entrys == null || entrys.isEmpty()) { return; } Set disposableGoodsIDsSet = new HashSet();// 一次性物品id集合 @@ -315,19 +317,24 @@ Set disposableGoodsBatchNumberSet = new HashSet();// 批次号集合 Set identificationIDsSet = new HashSet();// 标识号id集合 Map idToDisposableGoodsMap = new HashMap(); + Map disposableGoodsIDToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsBatchMap = new HashMap(); Map idToDisposableGoodsBatchStockMap = new HashMap(); Map idToIdentificationMap = new HashMap(); + Long warehouseID = null; + String warehouseName = null; for (GodownEntry godownEntry : entrys) { + warehouseID = godownEntry.getWareHouseId(); + warehouseName = godownEntry.getWareHouseName(); // 汇总信息 summaryDiposableGoodsInfo(godownEntry, disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, disposableGoodsBatchNumberSet, identificationIDsSet); } // 获取并锁定一次性物品相关资源 - lockAndGetDiposableGoodsResources(disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, - disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, + lockAndGetDiposableGoodsResources(GodownEntry.TYPE_IN,warehouseID,warehouseName,disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, + disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,disposableGoodsIDToDisposableGoodsStockMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, idToDisposableGoodsBatchStockMap, idToIdentificationMap); for (GodownEntry godownEntry : entrys) { saveGodownEntry_internal(godownEntry, idToDisposableGoodsStockMap, @@ -509,6 +516,7 @@ Set disposableGoodsBatchNumberSet = new HashSet();// 批次号集合 Set identificationIDsSet = new HashSet();// 标识号id集合 Map idToDisposableGoodsMap = new HashMap(); + Map disposableGoodsIDToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsBatchMap = new HashMap(); Map idToDisposableGoodsBatchStockMap = new HashMap(); @@ -525,8 +533,8 @@ throw new RuntimeException("入库单已被删除!"); } // 获取并锁定一次性物品相关资源 - lockAndGetDiposableGoodsResources(disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, - disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, + lockAndGetDiposableGoodsResources(GodownEntry.TYPE_IN,original.getWareHouseId(),original.getWareHouseName(),disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, + disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,disposableGoodsIDToDisposableGoodsStockMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, idToDisposableGoodsBatchStockMap, idToIdentificationMap); List originalItemList = original.getItemsList(); @@ -815,27 +823,61 @@ } } } + // 根据库存操作类型来新建相关的批次和库存对象。 + private void createDisposableGoodsBatchAndStockByEntryType(String entryType,Long warehouseID,String warehouseName,Set diposableGoodsIDsSet,Set diposableGoodsStockIDsSet,Set disposableGoodsBatchIDsSet, + Set disposableGoodsBatchStockIDsSet, Set batchNumbersSet, + Set identificationIdsSet, + Map idToDiposableGoodsMap,Map disposableGoodsIDToDisposableGoodsStockMap,Map idToDisposableGoodsStockMap, + Map idToDisposableGoodsBatchMap ,Map idToBatchStockMap, + Map idToIdentificationMap){ + if(!StringUtils.equals(entryType, GodownEntry.TYPE_IN)){ + return;// 目前只有入库才会新加批次和库存对象 + } + // 首先增加物品库存对象 + for (Map.Entry entry : idToDiposableGoodsMap.entrySet()) { + Long disposableGoodsID = entry.getKey(); + DisposableGoods disposableGoods = entry.getValue(); + if(!disposableGoodsIDToDisposableGoodsStockMap.containsKey(disposableGoodsID)){ + // 新增物品库存 + DisposableGoodsStock disposableGoodsStock = diposableGoodsManager.createDisposableGoodsStock(warehouseID, warehouseName, disposableGoods); + idToDisposableGoodsStockMap.put(disposableGoodsStock.getId(), disposableGoodsStock); + disposableGoodsIDToDisposableGoodsStockMap.put(disposableGoodsStock.getDisposableGoodsID(), disposableGoodsStock); + } + } + + } // 获取并锁定一次性物品相关资源 - private void lockAndGetDiposableGoodsResources(Set diposableGoodsIDsSet,Set diposableGoodsStockIDsSet,Set disposableGoodsBatchIDsSet, + private void lockAndGetDiposableGoodsResources(String entryType,Long warehouseID,String warehouseName,Set diposableGoodsIDsSet,Set diposableGoodsStockIDsSet,Set disposableGoodsBatchIDsSet, Set disposableGoodsBatchStockIDsSet, Set batchNumbersSet, Set identificationIdsSet, - Map idToDiposableGoodsMap,Map idToDisposableGoodsStockMap, + Map idToDiposableGoodsMap,Map disposableGoodsIDToDisposableGoodsStockMap,Map idToDisposableGoodsStockMap, Map idToDisposableGoodsBatchMap ,Map idToBatchStockMap, Map idToIdentificationMap) { + if(!DatabaseUtil.isPoIdValid(warehouseID)){ + throw new RuntimeException("仓库信息不能为空!"); + } // 锁定一次性物品 - String diposableGoodsIDsStr = SqlUtils - .joinToWhereInConditionForNonStringProperties(diposableGoodsStockIDsSet); - String diposableGoodsIDsSql = String.format(" where po.id in (%s) ", - diposableGoodsIDsStr); - List allDiposableGoods = diposableGoodsManager - .getDiposableGoodsBySql_ForUpdate(diposableGoodsIDsSql); - if (allDiposableGoods == null - || allDiposableGoods.size() != diposableGoodsStockIDsSet.size()) { + String getDisposableGoodsSql = String.format(" where po.id in (%s) ", + SqlUtils.getNonStringFieldInCollectionsPredicate("po.id", diposableGoodsIDsSet)); + List disposableGoodsList = diposableGoodsManager.getDisposableGoodsBySql_ForUpdate(getDisposableGoodsSql); + if (disposableGoodsList == null + || disposableGoodsList.size() != diposableGoodsIDsSet.size()) { throw new RuntimeException("某些物品已被删除!"); } - for (DisposableGoodsStock diposableGoods : allDiposableGoods) { - idToDisposableGoodsStockMap.put(diposableGoods.getId(), diposableGoods); + for (DisposableGoods disposableGoods : disposableGoodsList) { + idToDiposableGoodsMap.put(disposableGoods.getId(), disposableGoods); } + // 获取仓库下面对应的物品库存对象 + String getDisposableGoodsStockSql = String.format(" where %s and po.warehouseID=%s", + SqlUtils.getStringFieldInCollectionsPredicate("po.disposableGoodsID", diposableGoodsIDsSet),warehouseID); + List disposableGoodsStocks = objectDao.findBySql(DisposableGoodsStock.class.getSimpleName(),getDisposableGoodsStockSql); + if(disposableGoodsStocks != null){ + for (DisposableGoodsStock disposableGoodsStock : disposableGoodsStocks) { + idToDisposableGoodsStockMap.put(disposableGoodsStock.getId(), disposableGoodsStock); + disposableGoodsIDToDisposableGoodsStockMap.put(disposableGoodsStock.getDisposableGoodsID(), disposableGoodsStock); + } + } + // 获取相关批次和标识号 List batchStocks = null; String batchStockIDsStr = SqlUtils @@ -857,19 +899,12 @@ diposableGoodBatchStock); } } + String getIdentificationSql = String.format(" where %s ", + SqlUtils.getNonStringFieldInCollectionsPredicate("po.id", identificationIdsSet)); + List identifications = (List) objectDao + .findBySql(IdentificationOfDiposableGoods.class.getSimpleName(), + getIdentificationSql); - List identifications = null; - String identificationIDsStr = SqlUtils - .joinToWhereInConditionForNonStringProperties(identificationIdsSet); - - if(StringUtils.isNotBlank(identificationIDsStr)){ - String identificationSql = String.format(" where po.id in (%s) ", - identificationIDsStr); - identifications = (List) objectDao - .findBySql(IdentificationOfDiposableGoods.class.getSimpleName(), - identificationSql); - } - // if (identifications == null // || identifications.size() != identificationIdsSet.size()) { // throw new RuntimeException("某些标识号已被删除!"); @@ -880,6 +915,7 @@ identificationOfDiposableGoods); } } + createDisposableGoodsBatchAndStockByEntryType(entryType, warehouseID, warehouseName, diposableGoodsIDsSet, diposableGoodsStockIDsSet, disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, batchNumbersSet, identificationIdsSet, idToDiposableGoodsMap, disposableGoodsIDToDisposableGoodsStockMap, idToDisposableGoodsStockMap, idToDisposableGoodsBatchMap, idToBatchStockMap, idToIdentificationMap); } private void summaryDiposableGoodsInfo(GodownEntry entry,Set disposableGoodsIDsSet, @@ -1126,19 +1162,24 @@ Set disposableGoodsBatchNumberSet = new HashSet();// 批次号集合 Set identificationIDsSet = new HashSet();// 标识号id集合 Map idToDisposableGoodsMap = new HashMap(); + Map disposableGoodsIDToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsBatchMap = new HashMap(); Map idToDisposableGoodsBatchStockMap = new HashMap(); Map idToIdentificationMap = new HashMap(); + Long warehouseID = null; + String warehouseName = null; for (GodownEntry godownEntry : entrys) { + warehouseID = godownEntry.getWareHouseId(); + warehouseName = godownEntry.getWareHouseName(); // 汇总信息 summaryDiposableGoodsInfoForGodownOutEntry(godownEntry, disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, disposableGoodsBatchNumberSet, identificationIDsSet); } // 获取并锁定一次性物品相关资源 - lockAndGetDiposableGoodsResources(disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, - disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, + lockAndGetDiposableGoodsResources(GodownEntry.TYPE_OUT,warehouseID,warehouseName,disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, + disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,disposableGoodsIDToDisposableGoodsStockMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, idToDisposableGoodsBatchStockMap, idToIdentificationMap); for (GodownEntry godownEntry : entrys) { saveGodownOutEntry_internal(godownEntry, idToDisposableGoodsStockMap, idToDisposableGoodsBatchStockMap); @@ -1154,6 +1195,7 @@ Set disposableGoodsBatchNumberSet = new HashSet();// 批次号集合 Set identificationIDsSet = new HashSet();// 标识号id集合 Map idToDisposableGoodsMap = new HashMap(); + Map disposableGoodsIDToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsBatchMap = new HashMap(); Map idToDisposableGoodsBatchStockMap = new HashMap(); @@ -1162,8 +1204,8 @@ summaryDiposableGoodsInfoForGodownOutEntry(godownEntry, disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, disposableGoodsBatchNumberSet, identificationIDsSet); // 获取并锁定一次性物品相关资源 - lockAndGetDiposableGoodsResources(disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, - disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, + lockAndGetDiposableGoodsResources(GodownEntry.TYPE_OUT,godownEntry.getWareHouseId(),godownEntry.getWareHouseName(),disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, + disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,disposableGoodsIDToDisposableGoodsStockMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, idToDisposableGoodsBatchStockMap, idToIdentificationMap); saveGodownOutEntry_internal(godownEntry, idToDisposableGoodsStockMap, @@ -1417,6 +1459,7 @@ Set disposableGoodsBatchNumberSet = new HashSet();// 批次号集合 Set identificationIDsSet = new HashSet();// 标识号id集合 Map idToDisposableGoodsMap = new HashMap(); + Map disposableGoodsIDToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsStockMap = new HashMap(); Map idToDisposableGoodsBatchMap = new HashMap(); Map idToDisposableGoodsBatchStockMap = new HashMap(); @@ -1433,8 +1476,8 @@ throw new RuntimeException("退库单已被删除!"); } // 获取并锁定一次性物品相关资源 - lockAndGetDiposableGoodsResources(disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, - disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, + lockAndGetDiposableGoodsResources(GodownEntry.TYPE_OUT,original.getWareHouseId(),original.getWareHouseName(),disposableGoodsIDsSet,disposableGoodsStockIDsSet,disposableGoodsBatchIDsSet, disposableGoodsBatchStockIDsSet, + disposableGoodsBatchNumberSet, identificationIDsSet, idToDisposableGoodsMap,disposableGoodsIDToDisposableGoodsStockMap,idToDisposableGoodsStockMap,idToDisposableGoodsBatchMap, idToDisposableGoodsBatchStockMap, idToIdentificationMap); List originalItemList = original.getItemsList(); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r12718 -r12722 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 12718) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 12722) @@ -1082,6 +1082,12 @@ DisposableGoodsStock.class.getSimpleName(), sql); return retList; } + + public List getDisposableGoodsBySql_ForUpdate(String sql){ + List retList = objectDao.findBySql_ForUpdate( + DisposableGoods.class.getSimpleName(), sql); + return retList; + } // 会一次加载所有的一次性物品以及批次,标识号对象 public List getDiposableGoodsByBatchBarcodes_ForUpdate(String warehouseID,Collection batchBarcodes){ if(batchBarcodes == null || batchBarcodes.size()==0){ @@ -1266,4 +1272,35 @@ namePredicate, specificationPredicate); objectDao.executeUpdate(sql); } + + public DisposableGoodsStock createDisposableGoodsStock(Long warehouseID,String warehouseName,DisposableGoods disposableGoods){ + DisposableGoodsStock disposableGoodsStock = new DisposableGoodsStock(); + disposableGoodsStock.setAmount(0L); + disposableGoodsStock.setCertification(disposableGoods.getCertification()); + disposableGoodsStock.setDisposableGoodsID(disposableGoods.getId()); + disposableGoodsStock.setExternalCode(disposableGoods.getExternalCode()); + disposableGoodsStock.setGuid(disposableGoods.getGuid()); + disposableGoodsStock.setInventorySerialNumber(disposableGoods.getInventorySerialNumber()); + disposableGoodsStock.setIsApplicationMaterial(disposableGoods.getIsApplicationMaterial()); + disposableGoodsStock.setIsPartOfTousseMaterial(disposableGoods.getIsPartOfTousseMaterial()); + disposableGoodsStock.setIsSupplyRoomGoods(disposableGoods.getIsSupplyRoomGoods()); + disposableGoodsStock.setMaxStorage(disposableGoods.getMaxStorage()); + disposableGoodsStock.setMinApplyAmount(disposableGoods.getMinApplyAmount()); + disposableGoodsStock.setMinStorage(disposableGoods.getMinStorage()); + disposableGoodsStock.setName(disposableGoods.getName()); + disposableGoodsStock.setPackageSpec(disposableGoods.getPackageSpec()); + disposableGoodsStock.setReferencePrice(disposableGoods.getReferencePrice()); + disposableGoodsStock.setShowName(); + disposableGoodsStock.setSpecification(disposableGoods.getSpecification()); + disposableGoodsStock.setSpelling(disposableGoods.getSpelling()); + disposableGoodsStock.setType(disposableGoods.getType()); + disposableGoodsStock.setUnit(disposableGoods.getUnit()); + disposableGoodsStock.setUnitConvertCoefficient(disposableGoods.getUnitConvertCoefficient()); + disposableGoodsStock.setWarehouseID(warehouseID); + disposableGoodsStock.setWarehouseName(warehouseName); + disposableGoodsStock.setWbCode(disposableGoods.getWbCode()); + + objectDao.save(disposableGoodsStock); + return disposableGoodsStock; + } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoodsStock.java =================================================================== diff -u -r12721 -r12722 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoodsStock.java (.../DisposableGoodsStock.java) (revision 12721) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/assestmanagement/DisposableGoodsStock.java (.../DisposableGoodsStock.java) (revision 12722) @@ -85,6 +85,7 @@ private String inventorySerialNumber; // 物资系统的物资编码,用于与物资系统交互 + private Long disposableGoodsID; // 一次性物品定义ID private Long warehouseID;// 仓库ID private String warehouseName;// 仓库名字 @JsonIgnore @@ -307,6 +308,14 @@ this.inventorySerialNumber = inventorySerialNumber; } + public Long getDisposableGoodsID() { + return disposableGoodsID; + } + + public void setDisposableGoodsID(Long disposableGoodsID) { + this.disposableGoodsID = disposableGoodsID; + } + public Long getWarehouseID() { return warehouseID; } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java =================================================================== diff -u -r12718 -r12722 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 12718) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 12722) @@ -61,6 +61,8 @@ public List getDiposableGoodsBySql_ForUpdate(String sql); + public List getDisposableGoodsBySql_ForUpdate(String sql); + public List getDiposableGoodsByBatchBarcodes_ForUpdate(String warehouseID,Collection barcodes); // public List getDiposableGoodsByIds_ForUpdate(asd); @@ -73,4 +75,6 @@ String batchID); public void update_TRANS_REQUIRED(DisposableGoodsStock disposableGoodsStock); + + public DisposableGoodsStock createDisposableGoodsStock(Long warehouseID,String warehouseName,DisposableGoods disposableGoods); } Index: forgon-tools/src/main/java/com/forgon/tools/util/SqlUtils.java =================================================================== diff -u -r12703 -r12722 --- forgon-tools/src/main/java/com/forgon/tools/util/SqlUtils.java (.../SqlUtils.java) (revision 12703) +++ forgon-tools/src/main/java/com/forgon/tools/util/SqlUtils.java (.../SqlUtils.java) (revision 12722) @@ -79,6 +79,15 @@ String s = joinToWhereInConditionForStringProperties(p); return String.format(" %s IN (%s) ", field, s); } + // 获取非字符串集合的sql条件 + public static String getNonStringFieldInCollectionsPredicate(String field, + Iterable p) { + if (p == null || !p.iterator().hasNext()) { + return String.format(" 1=0 "); + } + String s = joinToWhereInConditionForNonStringProperties(p); + return String.format(" %s IN (%s) ", field, s); + } // 获取字符串的sql条件 public static String getStringFieldPredicate(String field, Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsItemVO.java =================================================================== diff -u -r12679 -r12722 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsItemVO.java (.../ReturnGoodsItemVO.java) (revision 12679) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsItemVO.java (.../ReturnGoodsItemVO.java) (revision 12722) @@ -20,7 +20,7 @@ private Double cost; private Double fluctuationPrice; private Long storage; - + public String getBarcode() { return barcode; } @@ -106,6 +106,8 @@ private Double fluctuationPrice;//浮动价格 private Long sentAmount; private Long returnedAmount; + private Long warehouseID;// 仓库ID + private String warehouseName;// 仓库名字 public Double getFluctuationPrice() { return fluctuationPrice; @@ -139,5 +141,21 @@ this.returnedAmount = returnedAmount; } + public Long getWarehouseID() { + return warehouseID; + } + + public void setWarehouseID(Long warehouseID) { + this.warehouseID = warehouseID; + } + + public String getWarehouseName() { + return warehouseName; + } + + public void setWarehouseName(String warehouseName) { + this.warehouseName = warehouseName; + } + } }