DESKTOP-GC8JR4P\Administrator 4 年之前
父节点
当前提交
3d9bc378ce

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

@@ -1,9 +1,16 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+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.service.IWarehouseBaseInfoService;
+import com.yh.saas.plugin.yiliangyiyun.service.IWarehousePositionInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import javax.validation.Valid;
+import java.util.List;
 
 /**
  * <p>
@@ -17,5 +24,36 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/warehouseBaseInfo")
 public class WarehouseBaseInfoController {
 
+    @Autowired
+    private IWarehouseBaseInfoService warehouseBaseInfoService;
+    /**
+     * 添加仓库
+     */
+    @PostMapping("/api/addWarehouse")
+    public String addWarehouse(@RequestBody WarehouseBaseInfo warehouseBaseInfo) {
+        return warehouseBaseInfoService.addWarehouse(warehouseBaseInfo);
+    }
+    /**
+     * 编辑仓库
+     */
+    @PostMapping("/api/addWarehouse")
+    public String editWarehouse(@RequestBody WarehouseBaseInfo warehouseBaseInfo) {
+        return warehouseBaseInfoService.editWarehouse(warehouseBaseInfo);
+    }
+    /**
+     * 查询存储
+     */
+    @GetMapping("/selectWarehouse")
+    public List<WarehouseBaseInfo> selectWarehose(String compId){
+        return warehouseBaseInfoService.selectWarehose(compId);
+    }
+    /**
+     * 查看库房
+     */
+    @GetMapping("/getWarehouse")
+    public WarehouseBaseInfo getWarehouse(String id){
+        return warehouseBaseInfoService.getWarehouse(id);
+    }
+
 }
 

+ 15 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehousePositionInfoController.java

@@ -1,8 +1,12 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IWarehousePositionInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -17,5 +21,15 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/warehousePositionInfo")
 public class WarehousePositionInfoController {
 
+    @Autowired
+    private IWarehousePositionInfoService warehousePositionInfoService;
+    /**
+     * 删除仓位
+     */
+    @PostMapping("/api/deleteWarehousePosition")
+    public void deleteWarehousePosition(@RequestBody WarehousePositionInfo warehousePositionInfo){
+            warehousePositionInfoService.deleteWarehousePosition(warehousePositionInfo.getId());
+    }
+
 }
 

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

@@ -2,7 +2,9 @@ package com.yh.saas.plugin.yiliangyiyun.entity;
 
 import com.baomidou.mybatisplus.activerecord.Model;
 import java.io.Serializable;
+import java.util.List;
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.annotations.Version;
@@ -67,6 +69,9 @@ public class WarehouseBaseInfo extends BaseModel<WarehouseBaseInfo> {
      */
     private String warehousePositioning;
 
+    @TableField(exist = false)
+    private List<WarehousePositionInfo> warehousePositionInfoList;
+
 
     @Override
     protected Serializable pkVal() {

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

@@ -3,6 +3,7 @@ package com.yh.saas.plugin.yiliangyiyun.entity;
 import com.baomidou.mybatisplus.activerecord.Model;
 import java.io.Serializable;
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.annotations.Version;
@@ -56,6 +57,7 @@ public class WarehousePositionInfo extends BaseModel<WarehousePositionInfo> {
     private String remark;
 
 
+
     @Override
     protected Serializable pkVal() {
         return this.id;

+ 27 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YException.java

@@ -0,0 +1,27 @@
+package com.yh.saas.plugin.yiliangyiyun.exception;
+
+import lombok.Getter;
+
+@Getter
+public class YException extends RuntimeException {
+
+	private static final long serialVersionUID = 1L;
+
+	private final String code;
+
+	private final String message;
+
+	public YException(YExceptionEnum exceptionEnum) {
+		super(exceptionEnum.getDesc());
+
+		this.code = exceptionEnum.getValue();
+		this.message = exceptionEnum.getDesc();
+	}
+
+	public YException(String code, String message) {
+		super(message);
+
+		this.code = code;
+		this.message = message;
+	}
+}

+ 32 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java

@@ -0,0 +1,32 @@
+package com.yh.saas.plugin.yiliangyiyun.exception;
+
+import lombok.Getter;
+
+/**
+ * 服务商管理错误码
+ * 
+ * @author yul
+ *
+ */
+public enum YExceptionEnum {
+
+	WAREHOSE_SYSTEM_ERROR("ERROR", "现有库存不为0,不可删除!"),
+
+	;
+
+	@Getter
+	private String value;
+
+	@Getter
+	private String desc;
+
+	private YExceptionEnum(String value, String desc) {
+		this.value = value;
+		this.desc = desc;
+	}
+
+	@Override
+	public String toString() {
+		return "[" + this.value + "]" + this.desc;
+	}
+}

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

@@ -3,6 +3,8 @@ package com.yh.saas.plugin.yiliangyiyun.service;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.baomidou.mybatisplus.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 记录仓库信息 服务类
@@ -13,4 +15,29 @@ import com.baomidou.mybatisplus.service.IService;
  */
 public interface IWarehouseBaseInfoService extends IService<WarehouseBaseInfo> {
 
+
+    /**
+     * 添加仓库
+     */
+    String addWarehouse(WarehouseBaseInfo warehouseBaseInfo);
+
+
+    /**
+     * 编辑仓库
+     */
+    String editWarehouse(WarehouseBaseInfo warehouseBaseInfo);
+
+    /**
+     * 查询存储
+     * @param compId
+     * @return
+     */
+    List<WarehouseBaseInfo> selectWarehose(String compId);
+
+    /**
+     * 查看库房
+     */
+    WarehouseBaseInfo getWarehouse(String id);
+
+
 }

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

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionInfo;
 import com.baomidou.mybatisplus.service.IService;
 
@@ -13,4 +14,8 @@ import com.baomidou.mybatisplus.service.IService;
  */
 public interface IWarehousePositionInfoService extends IService<WarehousePositionInfo> {
 
+    /**
+     * 删除仓位
+     */
+    void deleteWarehousePosition(String id);
 }

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

@@ -1,10 +1,19 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionInfo;
+import com.yh.saas.plugin.yiliangyiyun.exception.YException;
+import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.WarehouseBaseInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseBaseInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.yh.saas.plugin.yiliangyiyun.service.IWarehousePositionInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +26,65 @@ import org.springframework.stereotype.Service;
 @Service
 public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoMapper, WarehouseBaseInfo> implements IWarehouseBaseInfoService {
 
+    @Autowired
+    private IWarehousePositionInfoService warehousePositionInfoService;
+    /**
+     * 添加仓库
+     */
+    @Override
+    public String addWarehouse(WarehouseBaseInfo warehouseBaseInfo) {
+        //新增主键id
+        warehouseBaseInfo.setId(IdGenerator.generateUUID());
+        List<WarehousePositionInfo> warehousePositionInfoList = warehouseBaseInfo.getWarehousePositionInfoList();
+        if (!CollectionUtils.isEmpty(warehousePositionInfoList)) {
+            for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfoList) {
+                warehousePositionInfo.setId(IdGenerator.generateUUID());
+                warehousePositionInfo.setBaseId(warehouseBaseInfo.getId());
+            }
+        }
+        boolean one = this.insert(warehouseBaseInfo);
+        boolean two = warehousePositionInfoService.insertBatch(warehousePositionInfoList);
+        // 假如 都成功返回ok
+        if (one && two) {
+            return "OK";
+        } else {
+            return "NG";
+        }
+    }
+
+    /**
+     * 编辑仓库
+     */
+    @Override
+    public String editWarehouse(WarehouseBaseInfo warehouseBaseInfo) {
+        List<WarehousePositionInfo> warehousePositionInfoList = warehouseBaseInfo.getWarehousePositionInfoList();
+        this.updateById(warehouseBaseInfo);
+        warehousePositionInfoService.updateBatchById(warehousePositionInfoList);
+        return warehouseBaseInfo.getId();
+    }
+
+    /**
+     * 查询仓储
+     *
+     * @return
+     */
+    @Override
+    public List<WarehouseBaseInfo> selectWarehose(String compId) {
+        List<WarehouseBaseInfo> warehouseBaseInfoList = this.selectList(new EntityWrapper<WarehouseBaseInfo>()
+        .eq("comp_id",compId).eq("delete_flag","0"));
+        return warehouseBaseInfoList;
+    }
+
+    /**
+     * 查看库房
+     */
+    @Override
+    public WarehouseBaseInfo getWarehouse(String id){
+        WarehouseBaseInfo warehouseBaseInfo = this.selectById(id);
+        List<WarehousePositionInfo> warehousePositionInfoList = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
+                .eq("base_id",id));
+        warehouseBaseInfo.setWarehousePositionInfoList(warehousePositionInfoList);
+        return warehouseBaseInfo;
+    }
+
 }

+ 33 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehousePositionInfoServiceImpl.java

@@ -1,10 +1,19 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionStorageInfo;
+import com.yh.saas.plugin.yiliangyiyun.exception.YException;
+import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.WarehousePositionInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IWarehousePositionInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.yh.saas.plugin.yiliangyiyun.service.IWarehousePositionStorageInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
 
 /**
  * <p>
@@ -17,4 +26,28 @@ import org.springframework.stereotype.Service;
 @Service
 public class WarehousePositionInfoServiceImpl extends ServiceImpl<WarehousePositionInfoMapper, WarehousePositionInfo> implements IWarehousePositionInfoService {
 
+    @Autowired
+    private IWarehousePositionStorageInfoService warehousePositionStorageInfoService;
+
+    /**
+     * 删除仓位
+     */
+    @Override
+    public void deleteWarehousePosition(String id) {
+        WarehousePositionInfo warehousePositionInfo = this.selectById(id);
+        if (warehousePositionInfo != null && warehousePositionInfo.getNowStorage() > 0) {
+            throw new YException(YExceptionEnum.WAREHOSE_SYSTEM_ERROR);
+        } else {
+            this.deleteById(warehousePositionInfo.getId());
+            List<WarehousePositionStorageInfo> warehousePositionStorageInfoList = warehousePositionStorageInfoService
+                    .selectList(new EntityWrapper<WarehousePositionStorageInfo>()
+                            .eq("position_id", id));
+            if (!CollectionUtils.isEmpty(warehousePositionStorageInfoList)) {
+                warehousePositionStorageInfoList.forEach(warehousePositionStorageInfo -> {
+                    warehousePositionStorageInfoService.deleteById(warehousePositionStorageInfo.getId());
+                });
+            }
+        }
+    }
+
 }