Browse Source

删除库房

DESKTOP-GC8JR4P\Administrator 4 years ago
parent
commit
27a375b131

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

@@ -14,6 +14,14 @@ public enum StatusEnum {
     CONTRACT_DO("1", "执行中", "Under implementation"),
     CONTRACT_COMPLETED("3", "已完成", "Completed"),
 
+    // 仓库显示标识
+    HIDE("0","隐藏",""),
+    SHOW("1","显示",""),
+
+    //出入库状态
+    WAREHOUSE_WAIT("1", "已暂存", "wait implementation"),
+    WAREHOUSE_COMPLETED("3", "已提交", "Completed"),
+
     ;
     @Getter
     private String flag;

+ 30 - 5
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseBaseInfoController.java

@@ -1,12 +1,10 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
-import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
+
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
-import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView;
 import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseBaseInfoService;
-import com.yh.saas.plugin.yiliangyiyun.service.IWarehousePositionInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -45,8 +43,8 @@ public class WarehouseBaseInfoController {
      * 查询存储
      */
     @GetMapping("/selectWarehouse")
-    public List<WarehouseBaseInfo> selectWarehose(String compId){
-        return warehouseBaseInfoService.selectWarehose(compId);
+    public List<WarehouseBaseInfo> selectWarehouse(String compId){
+        return warehouseBaseInfoService.selectWarehouse(compId);
     }
     /**
      * 查看库房
@@ -67,5 +65,32 @@ public class WarehouseBaseInfoController {
         return warehouseBaseInfoService.selectWarehouseViewinfo(compId,warehouseName);
     }
 
+    /**
+     * 更改显示状态
+     */
+    @PostMapping("/api/editShow")
+    public String editShow(@RequestBody WarehouseBaseInfo warehouseBaseInfo){
+        return warehouseBaseInfoService.editShow(warehouseBaseInfo.getId());
+    }
+
+    /**
+     * 查询所有库房
+     * @param compId
+     * @return
+     */
+    @GetMapping("/selectAllWarehouse")
+    public List<WarehouseBaseInfo> selectAllWarehouse(String compId){
+        return warehouseBaseInfoService.selectAllWarehouse(compId);
+    }
+
+    /**
+     * 删除库房
+     * @param id
+     */
+    @PostMapping("/api/deleteWarehouse")
+    public void deleteWarehouse(String id){
+        warehouseBaseInfoService.deleteWarehouse(id);
+    }
+
 }
 

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseBaseInfo.java

@@ -72,6 +72,11 @@ public class WarehouseBaseInfo extends BaseModel<WarehouseBaseInfo> {
      * 是否显示
      */
     private String showFlag;
+    /**
+     * 应余量
+     */
+    @TableField(exist = false)
+    private Float residual;
 
     @TableField(exist = false)
     private List<WarehousePositionInfo> warehousePositionInfoList;

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

@@ -33,7 +33,7 @@ public interface IWarehouseBaseInfoService extends IService<WarehouseBaseInfo> {
      * @param compId
      * @return
      */
-    List<WarehouseBaseInfo> selectWarehose(String compId);
+    List<WarehouseBaseInfo> selectWarehouse(String compId);
 
     /**
      * 查看库房
@@ -48,5 +48,18 @@ public interface IWarehouseBaseInfoService extends IService<WarehouseBaseInfo> {
      */
     List<WarehouseView> selectWarehouseViewinfo(String compId,String warehouseName);
 
+    /**
+     * 更改显示状态
+     */
+    String editShow(String id);
 
+    /**
+     *查询所有库房
+     */
+    List<WarehouseBaseInfo> selectAllWarehouse(String compId);
+
+    /**
+     * 删除库房
+     */
+     void deleteWarehouse(String id);
 }

+ 96 - 8
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseBaseInfoServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.common.support.util.StringUtils;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInOutInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionInfo;
@@ -46,12 +47,12 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
      * @return
      */
     @Override
-    public List<WarehouseView> selectWarehouseViewinfo(String compId ,String warehouseName) {
+    public List<WarehouseView> selectWarehouseViewinfo(String compId, String warehouseName) {
         List<WarehouseView> warehouseViews = new ArrayList<>();
         Wrapper<WarehouseBaseInfo> warehouseBaseInfoWrapper = new EntityWrapper<>();
-        warehouseBaseInfoWrapper.eq("comp_id", compId).eq("delete_flag","0").eq("show_flag","1");
-        if(!StringUtils.isEmpty(warehouseName)){
-            warehouseBaseInfoWrapper.eq("warehouse_name",warehouseName);
+        warehouseBaseInfoWrapper.eq("comp_id", compId).eq("delete_flag", "0").eq("show_flag", "1");
+        if (!StringUtils.isEmpty(warehouseName)) {
+            warehouseBaseInfoWrapper.eq("warehouse_name", warehouseName);
         }
         // 查出所有仓库
         List<WarehouseBaseInfo> warehouseBaseInfoList = this.selectList(warehouseBaseInfoWrapper);
@@ -87,7 +88,7 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                                     Float netWeight = 0f;
                                     for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
                                         netWeight = netWeight + warehouse.getNetWeight();
-                                        if("1".equals(warehouse.getStatusFlag())){
+                                        if ("1".equals(warehouse.getStatusFlag())) {
                                             count++;
                                         }
                                     }
@@ -115,7 +116,7 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                                     Float netWeight = 0f;
                                     for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
                                         netWeight = netWeight + warehouse.getNetWeight();
-                                        if("1".equals(warehouse.getStatusFlag())){
+                                        if ("1".equals(warehouse.getStatusFlag())) {
                                             count++;
                                         }
                                     }
@@ -178,7 +179,7 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
      * @return
      */
     @Override
-    public List<WarehouseBaseInfo> selectWarehose(String compId) {
+    public List<WarehouseBaseInfo> selectWarehouse(String compId) {
         List<WarehouseBaseInfo> warehouseBaseInfoList = this.selectList(new EntityWrapper<WarehouseBaseInfo>()
                 .eq("comp_id", compId).eq("delete_flag", "0"));
         return warehouseBaseInfoList;
@@ -196,4 +197,91 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
         return warehouseBaseInfo;
     }
 
-}
+    /**
+     * 更改显示状态
+     */
+    @Override
+    public String editShow(String id) {
+        //查询仓库信息
+        WarehouseBaseInfo warehouseBaseInfo = this.selectById(id);
+        if (warehouseBaseInfo != null) {
+            if (StatusEnum.SHOW.getFlag().equals(warehouseBaseInfo.getShowFlag())) {
+                warehouseBaseInfo.setShowFlag(StatusEnum.HIDE.getFlag());
+            } else {
+                warehouseBaseInfo.setShowFlag(StatusEnum.SHOW.getFlag());
+            }
+            //更改仓库信息
+            this.updateById(warehouseBaseInfo);
+            return "OK";
+        }
+        return "NG";
+    }
+
+    /**
+     * 查询所有库房
+     *
+     * @param compId
+     * @return
+     */
+    @Override
+    public List<WarehouseBaseInfo> selectAllWarehouse(String compId) {
+        // 查出所有仓库
+        List<WarehouseBaseInfo> warehouseBaseInfoList = this.selectList(new EntityWrapper<WarehouseBaseInfo>().eq("comp_id", compId).eq("delete_flag", "0"));
+        if (!CollectionUtils.isEmpty(warehouseBaseInfoList)) {
+            for (WarehouseBaseInfo warehouseBaseInfo : warehouseBaseInfoList) {
+                // 应余量
+                Float residual = 0f;
+                // 以库位为维度查询
+                List<WarehousePositionInfo> warehousePositionInfoList = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
+                        .eq("base_id", warehouseBaseInfo.getId()));
+                if (!CollectionUtils.isEmpty(warehousePositionInfoList)) {
+                    for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfoList) {
+                        // 查询应余量
+                        List<WarehousePositionStorageInfo> warehousePositionStorageInfoList = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
+                                .eq("position_id", warehousePositionInfo.getId()));
+                        if (!CollectionUtils.isEmpty(warehousePositionStorageInfoList)) {
+                            for (WarehousePositionStorageInfo warehousePositionStorageInfo : warehousePositionStorageInfoList) {
+                                residual = residual + warehousePositionStorageInfo.getStorage();
+                            }
+                        }
+                    }
+                }
+                warehouseBaseInfo.setResidual(residual);
+            }
+        }
+        return warehouseBaseInfoList;
+    }
+
+    /**
+     * 删除库房
+     *
+     * @param id
+     */
+    @Override
+    public void deleteWarehouse(String id) {
+        //查询仓库信息
+        WarehouseBaseInfo warehouseBaseInfo = this.selectById(id);
+        this.deleteById(warehouseBaseInfo.getId());
+        //查询仓位信息
+        List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
+                .eq("base_id", warehouseBaseInfo.getId()));
+        if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
+            for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfos) {
+                warehousePositionInfoService.deleteById(warehousePositionInfo.getId());
+                //查询仓位存储量
+                List<WarehousePositionStorageInfo> warehousePositionStorageInfos = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
+                        .eq("position_id", warehousePositionInfo.getId()));
+                if (!CollectionUtils.isEmpty(warehousePositionStorageInfos)) {
+                    for (WarehousePositionStorageInfo warehousePositionStorageInfo : warehousePositionStorageInfos) {
+                        //判断是否有剩余库存
+                        if (warehousePositionStorageInfo.getStorage() > 0) {
+                            throw new YException(YExceptionEnum.WAREHOSE_SYSTEM_ERROR);
+                        } else {
+                            warehousePositionStorageInfoService.deleteById(warehousePositionStorageInfo.getId());
+                        }
+                    }
+                }
+            }
+        }
+    }
+}