Bläddra i källkod

出入库判断仓库类型

zxz 4 år sedan
förälder
incheckning
9e6a1b989b

+ 91 - 95
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java

@@ -145,119 +145,115 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
     @Override
     public String InOutWarehouse(WarehouseInOutInfo warehouseInOutInfo) {
         WarehouseInOutDetail warehouseInOutDetail = warehouseInOutInfo.getWarehouseInOutDetail();
-        //判断暂存提交(前端传参1暂存3提交)
-        if ("1".equals(warehouseInOutInfo.getStatusFlag())) {
-            //插入记录
-            if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
-                warehouseInOutInfo.setId(IdGenerator.generateUUID());
-                warehouseInOutInfo.setStatus(StatusEnum.TEMPORARILY_STORED.getName());
-                this.insert(warehouseInOutInfo);
-                // 详情
-                warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
-                warehouseInOutDetail.setId(IdGenerator.generateUUID());
-                warehouseInOutDetailService.insert(warehouseInOutDetail);
-            }
-            // 编辑修改记录
-            else {
-                this.updateById(warehouseInOutInfo);
-                warehouseInOutDetailService.updateById(warehouseInOutDetail);
-            }
-
-        } else {
-            //判断出入库
-            if ("2".equals(warehouseInOutInfo.getInOutFlag())) {
-                //判断是否有货
-                // 查询仓库
-                WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectById(warehouseInOutInfo.getBaseId());
-                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);
-                        }
-                    }
+        // 查询仓库
+        WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectById(warehouseInOutInfo.getBaseId());
+            //判断暂存提交(前端传参1暂存3提交)
+            if ("1".equals(warehouseInOutInfo.getStatusFlag())) {
+                //插入记录
+                if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
+                    warehouseInOutInfo.setId(IdGenerator.generateUUID());
+                    warehouseInOutInfo.setStatus(StatusEnum.TEMPORARILY_STORED.getName());
+                    this.insert(warehouseInOutInfo);
+                    // 详情
+                    warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
+                    warehouseInOutDetail.setId(IdGenerator.generateUUID());
+                    warehouseInOutDetailService.insert(warehouseInOutDetail);
+                }
+                // 编辑修改记录
+                else {
+                    this.updateById(warehouseInOutInfo);
+                    warehouseInOutDetailService.updateById(warehouseInOutDetail);
                 }
 
             } else {
-                //判断是否有货
-                // 查询仓库
-                WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectById(warehouseInOutInfo.getBaseId());
-                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()) {
+                //判断出入库
+                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());
+                                warehousePositionStorageInfo.setStorage(warehousePositionStorageInfo.getStorage() + warehouseInOutInfo.getNetWeight());
                                 warehousePositionStorageInfoService.updateById(warehousePositionStorageInfo);
                             }
-                            //出库量大于库存量
+                            // 没有货
                             else {
-                                throw new YException(YExceptionEnum.INVENTORY_NO_ERROR);
+                                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);
                             }
                         }
-                        // 没有储存量
+                    }
+                } 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.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);
                     }
                 }
-                //仓库不存在
+
+                //插入记录
+                if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
+                    warehouseInOutInfo.setId(IdGenerator.generateUUID());
+                    warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
+                    this.insert(warehouseInOutInfo);
+                    // 详情
+                    warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
+                    warehouseInOutDetail.setId(IdGenerator.generateUUID());
+                    warehouseInOutDetailService.insert(warehouseInOutDetail);
+                }
+                // 编辑修改记录
                 else {
-                    throw new YException(YExceptionEnum.WAREHOUSE_NO_ERROR);
+                    warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
+                    this.updateById(warehouseInOutInfo);
+                    warehouseInOutDetailService.updateById(warehouseInOutDetail);
                 }
             }
-
-            //插入记录
-            if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
-                warehouseInOutInfo.setId(IdGenerator.generateUUID());
-                warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
-                this.insert(warehouseInOutInfo);
-                // 详情
-                warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
-                warehouseInOutDetail.setId(IdGenerator.generateUUID());
-                warehouseInOutDetailService.insert(warehouseInOutDetail);
-            }
-            // 编辑修改记录
-            else {
-                warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
-                this.updateById(warehouseInOutInfo);
-                warehouseInOutDetailService.updateById(warehouseInOutDetail);
-            }
-        }
-
-        return "OK";
+            return "OK";
     }
     /**
      * 流转记录查询