Browse Source

出入库任务

gongdecai 4 years ago
parent
commit
c33e8960a9

+ 4 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/StatusEnum.java

@@ -53,6 +53,10 @@ public enum StatusEnum {
     NOT_SIGNED("1", "未签合同", "not_signed"),
     SIGNED("3", "已签合同", "signed"),
 
+    //出入库任务状态
+    TASK_REVIEWED("1", "待审核", "reviewed"),
+    TASK_DO("3", "执行中", "Under implementation"),
+    TASK_COMPLETED("5", "已完成", "Completed"),
 
 
     ;

+ 11 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseInOutInfoController.java

@@ -99,5 +99,16 @@ public class WarehouseInOutInfoController {
     }
 
 
+    /**
+     * 出入库任务新增 编辑
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @PostMapping("/insertOrUpdateInOutTask")
+    public String insertOrUpdateInOutTask (@RequestBody WarehouseInOutInfo warehouseInOutInfo) {
+        return warehouseInOutInfoService.insertOrUpdateInOutTask(warehouseInOutInfo);
+    }
+
 }
 

+ 12 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseInOutInfoService.java

@@ -23,6 +23,7 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
      * @return
      */
     Page<WarehouseInOutInfo> selectWarehouseInOutInfo(WarehouseInOutInfo warehouseInOutInfo);
+
     /**
      * 待完成页面列表(临时仓库)
      *
@@ -30,6 +31,7 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
      * @return
      */
     Page<WarehouseInOutInfo> selectWarehouseInOutInfoTemporary(WarehouseInOutInfo warehouseInOutInfo);
+
     /**
      * 删除记录
      */
@@ -38,7 +40,7 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
     /**
      * 出入库
      */
-    String InOutWarehouse (WarehouseInOutInfo warehouseInOutInfo);
+    String InOutWarehouse(WarehouseInOutInfo warehouseInOutInfo);
 
     /**
      * 流转记录分页查询
@@ -63,4 +65,13 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
      * @return
      */
     List<WarehouseInOutInfo> selectTemporaryGoodsNameList(String baseId);
+
+
+    /**
+     * 出入库任务新增 编辑
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    String insertOrUpdateInOutTask(WarehouseInOutInfo warehouseInOutInfo);
 }

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

@@ -62,10 +62,10 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
         Page<WarehouseInOutInfo> warehouseInOutInfoPage = this.selectPage(warehouseInOutInfo.getQueryPage(), new EntityWrapper<WarehouseInOutInfo>()
                 .eq("base_id", warehouseInOutInfo.getBaseId())
                 .eq("position_id", warehouseInOutInfo.getPositionId())
-                .eq("status_flag",StatusEnum.TEMPORARILY_STORED.getFlag())
-                .orderBy("update_date",false));
+                .eq("status_flag", StatusEnum.TEMPORARILY_STORED.getFlag())
+                .orderBy("update_date", false));
         List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoPage.getRecords();
-        if (warehouseInOutInfoList!=null){
+        if (warehouseInOutInfoList != null) {
             for (WarehouseInOutInfo warehouseInOutInfo1 : warehouseInOutInfoList) {
                 //查询化验数据
                 Wrapper<WarehouseInOutDetail> warehouseInOutDetailWrapper = new EntityWrapper<>();
@@ -77,9 +77,9 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
         }
         warehouseInOutInfoPage.setRecords(warehouseInOutInfoList);
         //查询总数
-        Integer count=this.selectCount( new EntityWrapper<WarehouseInOutInfo>()
+        Integer count = this.selectCount(new EntityWrapper<WarehouseInOutInfo>()
                 .eq("base_id", warehouseInOutInfo.getBaseId())
-                .eq("status_flag",StatusEnum.TEMPORARILY_STORED.getFlag())
+                .eq("status_flag", StatusEnum.TEMPORARILY_STORED.getFlag())
                 .eq("position_id", warehouseInOutInfo.getPositionId()));
         warehouseInOutInfoPage.setSize(count);
         return warehouseInOutInfoPage;
@@ -96,10 +96,10 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
         //查询页面信息
         Page<WarehouseInOutInfo> warehouseInOutInfoPage = this.selectPage(warehouseInOutInfo.getQueryPage(), new EntityWrapper<WarehouseInOutInfo>()
                 .eq("base_id", warehouseInOutInfo.getBaseId())
-                .eq("status_flag",StatusEnum.TEMPORARILY_STORED.getFlag())
-                .orderBy("update_date",true));
+                .eq("status_flag", StatusEnum.TEMPORARILY_STORED.getFlag())
+                .orderBy("update_date", true));
         List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoPage.getRecords();
-        if (warehouseInOutInfoList!=null){
+        if (warehouseInOutInfoList != null) {
             for (WarehouseInOutInfo warehouseInOutInfo1 : warehouseInOutInfoList) {
                 //查询化验数据
                 Wrapper<WarehouseInOutDetail> warehouseInOutDetailWrapper = new EntityWrapper<>();
@@ -111,9 +111,9 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
         }
         warehouseInOutInfoPage.setRecords(warehouseInOutInfoList);
         //查询总数
-        Integer count=this.selectCount( new EntityWrapper<WarehouseInOutInfo>()
+        Integer count = this.selectCount(new EntityWrapper<WarehouseInOutInfo>()
                 .eq("base_id", warehouseInOutInfo.getBaseId())
-                .eq("status_flag",StatusEnum.TEMPORARILY_STORED.getFlag()));
+                .eq("status_flag", StatusEnum.TEMPORARILY_STORED.getFlag()));
         warehouseInOutInfoPage.setSize(count);
         return warehouseInOutInfoPage;
     }
@@ -139,6 +139,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
 
     /**
      * 出入库
+     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -147,114 +148,118 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
         WarehouseInOutDetail warehouseInOutDetail = warehouseInOutInfo.getWarehouseInOutDetail();
         // 查询仓库
         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);
-                }
+        //判断暂存提交(前端传参1暂存3提交)
+        if ("1".equals(warehouseInOutInfo.getStatusFlag())) {
+            //插入记录
+            if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
+                warehouseInOutInfo.setId(IdGenerator.generateUUID());
+                warehouseInOutInfo.setStatusFlag(StatusEnum.TEMPORARILY_STORED.getFlag());
+                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()) && "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);
-                            }
+        } 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);
                         }
                     }
-                } 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 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.POSITIONSTORAGE_NO_ERROR);
+                                throw new YException(YExceptionEnum.INVENTORY_NO_ERROR);
                             }
                         }
-                        //库位不存在
+                        // 没有储存量
                         else {
-                            throw new YException(YExceptionEnum.POSITION_NO_ERROR);
+                            throw new YException(YExceptionEnum.POSITIONSTORAGE_NO_ERROR);
                         }
                     }
-                    //库不存在
+                    //库不存在
                     else {
-                        throw new YException(YExceptionEnum.WAREHOUSE_NO_ERROR);
+                        throw new YException(YExceptionEnum.POSITION_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 {
-                    warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
-                    this.updateById(warehouseInOutInfo);
-                    warehouseInOutDetailService.updateById(warehouseInOutDetail);
+                    throw new YException(YExceptionEnum.WAREHOUSE_NO_ERROR);
                 }
             }
-            return "OK";
+
+            //插入记录
+            if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
+                warehouseInOutInfo.setId(IdGenerator.generateUUID());
+                warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
+                warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
+                this.insert(warehouseInOutInfo);
+                // 详情
+                warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
+                warehouseInOutDetail.setId(IdGenerator.generateUUID());
+                warehouseInOutDetailService.insert(warehouseInOutDetail);
+            }
+            // 编辑修改记录
+            else {
+                warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
+                warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
+                this.updateById(warehouseInOutInfo);
+                warehouseInOutDetailService.updateById(warehouseInOutDetail);
+            }
+        }
+        return "OK";
     }
+
     /**
      * 流转记录查询
      *
@@ -319,8 +324,54 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
      */
     @Override
     public List<WarehouseInOutInfo> selectTemporaryGoodsNameList(String baseId) {
-            List<WarehouseInOutInfo> warehouseInOutInfoList = this.selectList(new EntityWrapper<WarehouseInOutInfo>()
-                    .eq("base_id", baseId).eq("delete_flag", "0").eq("status_flag","3"));
-            return warehouseInOutInfoList;
+        List<WarehouseInOutInfo> warehouseInOutInfoList = this.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("base_id", baseId).eq("delete_flag", "0").eq("status_flag", "3"));
+        return warehouseInOutInfoList;
+    }
+
+
+    /******************************************仓库任务使用*****************************************************/
+
+    /**
+     * 出入库任务新增 编辑
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @Override
+    public String insertOrUpdateInOutTask(WarehouseInOutInfo warehouseInOutInfo) {
+        // 根据传参id判断是否是新增
+        //  空是新增
+        if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
+
+            // 主键id
+            warehouseInOutInfo.setId(IdGenerator.generateUUID());
+            warehouseInOutInfo.setTaskStatusKey(StatusEnum.TASK_REVIEWED.getFlag());
+            warehouseInOutInfo.setTaskStatus(StatusEnum.TASK_REVIEWED.getName());
+            // 化验数据
+            WarehouseInOutDetail warehouseInOutDetail = warehouseInOutInfo.getWarehouseInOutDetail();
+            if (warehouseInOutDetail != null) {
+                warehouseInOutDetail.setId(IdGenerator.generateUUID());
+                warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
+                // 操作详情数据库
+                warehouseInOutDetailService.insert(warehouseInOutDetail);
+            }
+
+            // 操作主表数据
+            this.insert(warehouseInOutInfo);
+        }
+        //  有id是修改
+        else {
+            // 化验数据
+            WarehouseInOutDetail warehouseInOutDetail = warehouseInOutInfo.getWarehouseInOutDetail();
+            if (warehouseInOutDetail != null) {
+                // 操作详情数据库
+                warehouseInOutDetailService.updateById(warehouseInOutDetail);
+            }
+            // 操作主表数据
+            this.updateById(warehouseInOutInfo);
         }
+        return warehouseInOutInfo.getId();
+    }
+
 }