|
@@ -192,37 +192,38 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
- //判断出入库
|
|
|
- //常用库入库
|
|
|
- if ("2".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
|
|
|
- //判断是否有库
|
|
|
- if (warehouseBaseInfo != null) {
|
|
|
- // 查询库位
|
|
|
- WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
|
|
|
- if (warehousePositionInfo != null) {
|
|
|
- // 查询货物库存量
|
|
|
- WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
- .eq("position_id", warehouseInOutInfo.getPositionId())
|
|
|
- .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey())
|
|
|
- .eq("delete_flag", "0"));
|
|
|
- // 判断是否有货
|
|
|
- if (warehousePositionStorageInfo != null) {
|
|
|
- // 更新库存量
|
|
|
- warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo.getNetWeight());
|
|
|
- warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
|
- }
|
|
|
- // 没有货
|
|
|
- else {
|
|
|
- WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
|
|
|
- warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
|
|
|
- warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo.getPositionId());
|
|
|
- warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo.getBinNumber());
|
|
|
- warehousePositionStorageInfo1.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
|
|
|
- warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo.getGoodsName());
|
|
|
- warehousePositionStorageInfo1.setStorage(warehouseInOutInfo.getNetWeight());
|
|
|
- warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
|
|
|
+ if("1".equals(warehouseInOutInfo.getPcFlag())){
|
|
|
+ //判断出入库
|
|
|
+ //常用库入库
|
|
|
+ if ("2".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
|
|
|
+ //判断是否有库
|
|
|
+ if (warehouseBaseInfo != null) {
|
|
|
+ // 查询库位
|
|
|
+ WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
|
|
|
+ if (warehousePositionInfo != null) {
|
|
|
+ // 查询货物库存量
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
+ .eq("position_id", warehouseInOutInfo.getPositionId())
|
|
|
+ .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey())
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
+ // 判断是否有货
|
|
|
+ if (warehousePositionStorageInfo != null) {
|
|
|
+ // 更新库存量
|
|
|
+ warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo.getNetWeight());
|
|
|
+ warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
|
+ }
|
|
|
+ // 没有货
|
|
|
+ else {
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo1 = new WarehousePositionStorageInfo();
|
|
|
+ warehousePositionStorageInfo1.setId(IdGenerator.generateUUID());
|
|
|
+ warehousePositionStorageInfo1.setPositionId(warehouseInOutInfo.getPositionId());
|
|
|
+ warehousePositionStorageInfo1.setBinNumber(warehouseInOutInfo.getBinNumber());
|
|
|
+ warehousePositionStorageInfo1.setGoodsNameKey(warehouseInOutInfo.getGoodsNameKey());
|
|
|
+ warehousePositionStorageInfo1.setGoodsName(warehouseInOutInfo.getGoodsName());
|
|
|
+ warehousePositionStorageInfo1.setStorage(warehouseInOutInfo.getNetWeight());
|
|
|
+ warehousePositionStorageInfoService.insert(warehousePositionStorageInfo1);
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
// boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(purchaseReceiptReport.getWorkflowId());
|
|
|
// // 不是退回的单子
|
|
@@ -248,86 +249,87 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
|
|
|
// purchaseReceiptReportService.updateById(purchaseReceiptReport);
|
|
|
// workflowService.activateInstance(purchaseReceiptReport.getWorkflowId(), purchaseReceiptReport.getId());
|
|
|
// }
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- //常用库出库
|
|
|
- else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
|
|
|
- //判断是否有货
|
|
|
- if (warehouseBaseInfo != null) {
|
|
|
- // 查询库位
|
|
|
- WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
|
|
|
- if (warehousePositionInfo != null) {
|
|
|
- // 查询货物库存量
|
|
|
- WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
- .eq("position_id", warehouseInOutInfo.getPositionId())
|
|
|
- .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey())
|
|
|
- .eq("delete_flag", "0"));
|
|
|
- // 判断是否有货
|
|
|
- if (warehousePositionStorageInfo != null) {
|
|
|
- if (warehouseInOutInfo.getNetWeight() <= warehousePositionStorageInfo.getStorage()) {
|
|
|
- // 更新库存量
|
|
|
- warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - warehouseInOutInfo.getNetWeight());
|
|
|
- warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
|
+ //常用库出库
|
|
|
+ else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
|
|
|
+ //判断是否有货
|
|
|
+ if (warehouseBaseInfo != null) {
|
|
|
+ // 查询库位
|
|
|
+ WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
|
|
|
+ if (warehousePositionInfo != null) {
|
|
|
+ // 查询货物库存量
|
|
|
+ WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
|
|
|
+ .eq("position_id", warehouseInOutInfo.getPositionId())
|
|
|
+ .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey())
|
|
|
+ .eq("delete_flag", "0"));
|
|
|
+ // 判断是否有货
|
|
|
+ if (warehousePositionStorageInfo != null) {
|
|
|
+ if (warehouseInOutInfo.getNetWeight() <= warehousePositionStorageInfo.getStorage()) {
|
|
|
+ // 更新库存量
|
|
|
+ warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() - warehouseInOutInfo.getNetWeight());
|
|
|
+ warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
|
|
|
+ }
|
|
|
+ //出库量大于库存量
|
|
|
+ else {
|
|
|
+ throw new YException(YExceptionEnum.INVENTORY_NO_ERROR);
|
|
|
+ }
|
|
|
}
|
|
|
- //出库量大于库存量
|
|
|
+ // 没有储存量
|
|
|
else {
|
|
|
- throw new YException(YExceptionEnum.INVENTORY_NO_ERROR);
|
|
|
+ throw new YException(YExceptionEnum.POSITIONSTORAGE_NO_ERROR);
|
|
|
}
|
|
|
}
|
|
|
- // 没有储存量
|
|
|
+ //库位不存在
|
|
|
else {
|
|
|
- throw new YException(YExceptionEnum.POSITIONSTORAGE_NO_ERROR);
|
|
|
+ throw new YException(YExceptionEnum.POSITION_NO_ERROR);
|
|
|
}
|
|
|
}
|
|
|
- //库位不存在
|
|
|
+ //仓库不存在
|
|
|
else {
|
|
|
- throw new YException(YExceptionEnum.POSITION_NO_ERROR);
|
|
|
+ throw new YException(YExceptionEnum.WAREHOUSE_NO_ERROR);
|
|
|
}
|
|
|
}
|
|
|
- //仓库不存在
|
|
|
- else {
|
|
|
- throw new YException(YExceptionEnum.WAREHOUSE_NO_ERROR);
|
|
|
- }
|
|
|
- }
|
|
|
- //临时库出库
|
|
|
- else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "2".equals(warehouseBaseInfo.getWarehouseType())) {
|
|
|
- if (warehouseBaseInfo != null) {
|
|
|
- //定义入库
|
|
|
- String inNetWeight = "";
|
|
|
- // 查询入库量
|
|
|
- List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
|
|
|
- .eq("base_id", warehouseInOutInfo.getBaseId()).eq("in_out_flag", "2").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
|
|
|
- if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
|
|
|
- for (WarehouseInOutInfo warehouseInOutInfos : warehouseInOutInfoList) {
|
|
|
- if (StringUtils.isEmpty(inNetWeight)) {
|
|
|
- inNetWeight = "0";
|
|
|
+ //临时库出库
|
|
|
+ else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "2".equals(warehouseBaseInfo.getWarehouseType())) {
|
|
|
+ if (warehouseBaseInfo != null) {
|
|
|
+ //定义入库
|
|
|
+ String inNetWeight = "";
|
|
|
+ // 查询入库量
|
|
|
+ List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
|
|
|
+ .eq("base_id", warehouseInOutInfo.getBaseId()).eq("in_out_flag", "2").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
|
|
|
+ if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
|
|
|
+ for (WarehouseInOutInfo warehouseInOutInfos : warehouseInOutInfoList) {
|
|
|
+ if (StringUtils.isEmpty(inNetWeight)) {
|
|
|
+ inNetWeight = "0";
|
|
|
+ }
|
|
|
+ inNetWeight = String.valueOf(Float.valueOf(inNetWeight) + warehouseInOutInfos.getNetWeight());
|
|
|
}
|
|
|
- inNetWeight = String.valueOf(Float.valueOf(inNetWeight) + warehouseInOutInfos.getNetWeight());
|
|
|
}
|
|
|
- }
|
|
|
- //定义出库量
|
|
|
- String outNetWeight = "";
|
|
|
- // 查询出库量
|
|
|
- List<WarehouseInOutInfo> warehouseInOutInfo1 = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
|
|
|
- .eq("base_id", warehouseInOutInfo.getBaseId()).eq("in_out_flag", "1")
|
|
|
- .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
|
|
|
- //有出库记录
|
|
|
- if (!CollectionUtils.isEmpty(warehouseInOutInfo1)) {
|
|
|
- for (WarehouseInOutInfo warehouseInOutInfos : warehouseInOutInfo1) {
|
|
|
- if (StringUtils.isEmpty(outNetWeight)) {
|
|
|
- outNetWeight = "0";
|
|
|
+ //定义出库量
|
|
|
+ String outNetWeight = "";
|
|
|
+ // 查询出库量
|
|
|
+ List<WarehouseInOutInfo> warehouseInOutInfo1 = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
|
|
|
+ .eq("base_id", warehouseInOutInfo.getBaseId()).eq("in_out_flag", "1")
|
|
|
+ .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
|
|
|
+ //有出库记录
|
|
|
+ if (!CollectionUtils.isEmpty(warehouseInOutInfo1)) {
|
|
|
+ for (WarehouseInOutInfo warehouseInOutInfos : warehouseInOutInfo1) {
|
|
|
+ if (StringUtils.isEmpty(outNetWeight)) {
|
|
|
+ outNetWeight = "0";
|
|
|
+ }
|
|
|
+ outNetWeight = String.valueOf(Float.valueOf(outNetWeight) + warehouseInOutInfos.getNetWeight());
|
|
|
}
|
|
|
- outNetWeight = String.valueOf(Float.valueOf(outNetWeight) + warehouseInOutInfos.getNetWeight());
|
|
|
+ outNetWeight = String.valueOf(Float.valueOf(outNetWeight) + warehouseInOutInfo.getNetWeight());
|
|
|
+ }
|
|
|
+ //没有出库记录
|
|
|
+ else {
|
|
|
+ outNetWeight = String.valueOf(warehouseInOutInfo.getNetWeight());
|
|
|
+ }
|
|
|
+ //出库量大于入库量
|
|
|
+ if ((outNetWeight.compareTo(inNetWeight)) > 0) {
|
|
|
+ throw new YException(YExceptionEnum.INNETWEIGHT_NO_ERROR);
|
|
|
}
|
|
|
- outNetWeight = String.valueOf(Float.valueOf(outNetWeight) + warehouseInOutInfo.getNetWeight());
|
|
|
- }
|
|
|
- //没有出库记录
|
|
|
- else {
|
|
|
- outNetWeight = String.valueOf(warehouseInOutInfo.getNetWeight());
|
|
|
- }
|
|
|
- //出库量大于入库量
|
|
|
- if ((outNetWeight.compareTo(inNetWeight)) > 0) {
|
|
|
- throw new YException(YExceptionEnum.INNETWEIGHT_NO_ERROR);
|
|
|
}
|
|
|
}
|
|
|
}
|