diff --git a/warehousing-system/project/pom.xml b/warehousing-system/project/pom.xml index ad304041..c937220e 100644 --- a/warehousing-system/project/pom.xml +++ b/warehousing-system/project/pom.xml @@ -29,6 +29,18 @@ + + org.hibernate.validator + hibernate-validator + 6.1.7.Final + compile + + + com.yxt + yxt-common-core + 0.0.1 + + org.springframework.boot diff --git a/warehousing-system/project/wh-common/pom.xml b/warehousing-system/project/wh-common/pom.xml index 2598de58..bea62dc5 100644 --- a/warehousing-system/project/wh-common/pom.xml +++ b/warehousing-system/project/wh-common/pom.xml @@ -11,6 +11,17 @@ com.wh wh-common - + + + io.springfox + springfox-swagger2 + 2.9.2 + + + io.springfox + springfox-swagger-ui + 2.9.2 + + \ No newline at end of file diff --git a/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/InStoreHouseMainDto.java b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/InStoreHouseMainDto.java new file mode 100644 index 00000000..60d7217d --- /dev/null +++ b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/InStoreHouseMainDto.java @@ -0,0 +1,27 @@ +package com.wh.pojo.api; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.List; +@Data +public class InStoreHouseMainDto { + @NotBlank(message = "编号不能为空") + private String no; //varchar 50 编号 + @NotBlank(message = "制单日期不能为空") + private String applicationDate; //date 50 制单日期 + private String creatorSid; //varchar 64 制单人Sid + private String creatorName; /// varchar 50 制单人姓名 + @NotBlank(message = "客户Sid不能为空") + private String custerSid; //varchar 64 客户Sid(企业) + @NotBlank(message = "客户名称不能为空") + private String custerName; // varchar 100 客户名称(企业) + private String storeHouseSid; // varchar 64 仓库Sid + private String storeHouseName; // varchar 100 仓库名称 + private String auditorSid; //varchar 64 审核人Sid + private String auditorName; // varchar 50 审核人姓名 + private String state; // varchar 50 审核状态 + private String approvedDate; // varchar 50 审核日期 + private String approvedRemark; // varchar 50 + private List list; +} diff --git a/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/InStorehouseListing.java b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/InStorehouseListing.java new file mode 100644 index 00000000..9b87c10c --- /dev/null +++ b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/InStorehouseListing.java @@ -0,0 +1,35 @@ +package com.wh.pojo.api; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.Positive; + +@Data +@Accessors(chain = true) +@TableName("in_storehouse_listing") +public class InStorehouseListing extends BaseEntity { + private String custerSid;// varchar 64 客户Sid(企业) + private String custerName ;//varchar 100 客户名称(企业) + private String storeHouseSid ;//varchar 64 仓库Sid + private String storeHouseName ;//varchar 100 仓库名称 + @NotBlank(message = "质物名称不能为空") + private String proName;// varchar 50 质物名称 + @NotBlank(message = "规格(型号)不能为空") + private String proModel ;//varchar 50 规格(型号) + private String proUnit ;//varchar 50 规格单位 + private String manufacturer;// varchar 50 生成厂家(产地) + @Positive(message ="数量必须为一个正数" ) + private String num ;//varchar 10 数量 + private String weight ;//varchar 50 重量 + @NotBlank(message = "质权人确认的单价不能为空") + private String confirmedPrice;// decime 50 2 质权人确认的单价 + @NotBlank(message = "核算的价值不能为空") + private String calculatedValue ;//decime 50 2 核算的价值 + private String locationNumber ;//varchar 10 货位号 + private String mainSid ;//varchar 50 申请单的sid +} diff --git a/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/InStorehouseMain.java b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/InStorehouseMain.java new file mode 100644 index 00000000..7eb46b49 --- /dev/null +++ b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/InStorehouseMain.java @@ -0,0 +1,24 @@ +package com.wh.pojo.api; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +@TableName("in_storehouse_main") +public class InStorehouseMain extends BaseEntity { + private String no; //varchar 50 编号 + private String applicationDate; //date 50 制单日期 + private String creatorSid; //varchar 64 制单人Sid + private String creatorName; /// varchar 50 制单人姓名 + private String custerSid; //varchar 64 客户Sid(企业) + private String custerName; // varchar 100 客户名称(企业) + private String storeHouseSid; // varchar 64 仓库Sid + private String storeHouseName; // varchar 100 仓库名称 + private String auditorSid; //varchar 64 审核人Sid + private String auditorName; // varchar 50 审核人姓名 + private String approvedDate; // varchar 50 审核日期 + private String approvedRemark; // varchar 50 审核备注 +} diff --git a/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseListing.java b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseListing.java new file mode 100644 index 00000000..ab6d4b16 --- /dev/null +++ b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseListing.java @@ -0,0 +1,41 @@ +package com.wh.pojo.api; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.experimental.Accessors; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.Positive; + +@Data +@Accessors(chain = true) +@TableName("out_storehouse_listing") +public class OutStorehouseListing extends BaseEntity { + private String custerSid;// varchar 64 客户Sid(企业) + private String custerName ;//varchar 100 客户名称(企业) + private String storeHouseSid ;//varchar 64 仓库Sid + private String storeHouseName ;//varchar 100 仓库名称 + @NotBlank(message = "质物名称不能为空") + private String proName;// varchar 50 质物名称 + @NotBlank(message = "规格(型号)不能为空") + private String proModel ;//varchar 50 规格(型号) + private String proUnit ;//varchar 50 规格单位 + private String manufacturer;// varchar 50 生成厂家(产地) + @Positive(message ="数量必须为一个正数" ) + private String estimateNum ;//varchar 10 预计数量 + private String estimateWeight ;//varchar 50 预计重量 + @NotBlank(message = "预计质权人确认的单价不能空") + private String estimateConfirmedPrice;// decime 50 2 质权人确认的单价 + @NotBlank(message = "预计核算的价值不能空") + private String estimateCalculatedValue ;//decime 50 2 核算的价值 + @Positive(message ="数量必须为一个正数" ) + private String realityNum ;//varchar 10 实际数量 + private String realityWeight ;//varchar 50 实际重量 + @NotBlank(message = "实际质权人确认的单价不能空") + private String realityConfirmedPrice;// decime 50 2 实际质权人确认 + @NotBlank(message = "实际核算的价值不能空") + private String realityCalculatedValue ;//decime 50 2 实际核算的价值 + private String locationNumber ;//varchar 10 货位号 + private String mainSid ;//varchar 50 申请单的sid +} diff --git a/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseMain.java b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseMain.java new file mode 100644 index 00000000..cd518d80 --- /dev/null +++ b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseMain.java @@ -0,0 +1,26 @@ +package com.wh.pojo.api; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.experimental.Accessors; + + +@Data +@Accessors(chain = true) +@TableName("out_storehouse_main") +public class OutStorehouseMain extends BaseEntity { + private String no; //varchar 50 编号 + private String applicationDate; //date 50 制单日期 + private String creatorSid; //varchar 64 制单人Sid + private String creatorName; /// varchar 50 制单人姓名 + private String custerSid; //varchar 64 客户Sid(企业) + private String custerName; // varchar 100 客户名称(企业) + private String storeHouseSid; // varchar 64 仓库Sid + private String storeHouseName; // varchar 100 仓库名称 + private String auditorSid; //varchar 64 审核人Sid + private String auditorName; // varchar 50 审核人姓名 + private String approvedDate; // varchar 50 审核日期 + private String approvedRemark; // varchar 50 审核备注 +} diff --git a/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseMainDto.java b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseMainDto.java new file mode 100644 index 00000000..7d7c7484 --- /dev/null +++ b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/OutStorehouseMainDto.java @@ -0,0 +1,26 @@ +package com.wh.pojo.api; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.util.List; + + +@Data +@Accessors(chain = true) +public class OutStorehouseMainDto { + private String no; //varchar 50 编号 + private String applicationDate; //date 50 制单日期 + private String creatorSid; //varchar 64 制单人Sid + private String creatorName; /// varchar 50 制单人姓名 + private String custerSid; //varchar 64 客户Sid(企业) + private String custerName; // varchar 100 客户名称(企业) + private String storeHouseSid; // varchar 64 仓库Sid + private String storeHouseName; // varchar 100 仓库名称 + private String auditorSid; //varchar 64 审核人Sid + private String auditorName; // varchar 50 审核人姓名 + private String approvedDate; // varchar 50 审核日期 + private String approvedRemark; // varchar 50 审核备注 + private List list; +} diff --git a/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStock.java b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStock.java new file mode 100644 index 00000000..a17a3a2a --- /dev/null +++ b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStock.java @@ -0,0 +1,25 @@ +package com.wh.pojo.api; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +@TableName("prod_stock") +public class ProdStock extends BaseEntity { + private String proName;// varchar 50 质物名称 + private String proModel;// varchar 50 规格(型号) + private String manufacturer;// varchar 50 生成厂家(产地) + private String num;// varchar 10 数量 + private String weight;// varchar 50 重量 + private String confirmedPrice;// decime 50 2 质权人确认的单价 + private String calculatedValue;// decime 50 2 核算的价值 + private String locationNumber;// varchar 10 货位号 + private String custerName;// varchar 50 客户名称(企业) + private String proUnit;// varchar 50 规格单位 + private String custerSid;// varchar 64 客户Sid(企业) + private String storeHouseSid;// varchar 64 仓库Sid + private String storeHouseName;// varchar 100 仓库名称 +} diff --git a/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockDto.java b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockDto.java new file mode 100644 index 00000000..04cc9ace --- /dev/null +++ b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockDto.java @@ -0,0 +1,24 @@ +package com.wh.pojo.api; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class ProdStockDto extends BaseEntity { + private String proName;// varchar 50 质物名称 + private String proModel;// varchar 50 规格(型号) + private String manufacturer;// varchar 50 生成厂家(产地) + private String num;// varchar 10 数量 + private String weight;// varchar 50 重量 + private String confirmedPrice;// decime 50 2 质权人确认的单价 + private String calculatedValue;// decime 50 2 核算的价值 + private String locationNumber;// varchar 10 货位号 + private String custerName;// varchar 50 客户名称(企业) + private String proUnit;// varchar 50 规格单位 + private String custerSid;// varchar 64 客户Sid(企业) + private String storeHouseSid;// varchar 64 仓库Sid + private String storeHouseName;// varchar 100 仓库名称 +} diff --git a/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockQuery.java b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockQuery.java new file mode 100644 index 00000000..919ccc72 --- /dev/null +++ b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockQuery.java @@ -0,0 +1,22 @@ +package com.wh.pojo.api; + +import com.yxt.common.core.query.Query; +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +public class ProdStockQuery implements Query { + private String proName;// varchar 50 质物名称 + private String proModel;// varchar 50 规格(型号) + private String manufacturer;// varchar 50 生成厂家(产地) + private String num;// varchar 10 数量 + private String weight;// varchar 50 重量 + private String confirmedPrice;// decime 50 2 质权人确认的单价 + private String calculatedValue;// decime 50 2 核算的价值 + private String locationNumber;// varchar 10 货位号 + private String custerName;// varchar 50 客户名称(企业) + private String proUnit;// varchar 50 规格单位 + private String custerSid;// varchar 64 客户Sid(企业) + private String storeHouseSid;// varchar 64 仓库Sid + private String storeHouseName;// varchar 100 仓库名称 +} diff --git a/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockVo.java b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockVo.java new file mode 100644 index 00000000..66b8ebb4 --- /dev/null +++ b/warehousing-system/project/wh-common/src/main/java/com/wh/pojo/api/ProdStockVo.java @@ -0,0 +1,21 @@ +package com.wh.pojo.api; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +@Data +public class ProdStockVo implements Vo { + private String proName;// varchar 50 质物名称 + private String proModel;// varchar 50 规格(型号) + private String manufacturer;// varchar 50 生成厂家(产地) + private String num;// varchar 10 数量 + private String weight;// varchar 50 重量 + private String confirmedPrice;// decime 50 2 质权人确认的单价 + private String calculatedValue;// decime 50 2 核算的价值 + private String locationNumber;// varchar 10 货位号 + private String custerName;// varchar 50 客户名称(企业) + private String proUnit;// varchar 50 规格单位 + private String custerSid;// varchar 64 客户Sid(企业) + private String storeHouseSid;// varchar 64 仓库Sid + private String storeHouseName;// varchar 100 仓库名称 +} diff --git a/warehousing-system/project/wh-manage/pom.xml b/warehousing-system/project/wh-manage/pom.xml index bcb02bf5..b1cebb34 100644 --- a/warehousing-system/project/wh-manage/pom.xml +++ b/warehousing-system/project/wh-manage/pom.xml @@ -24,6 +24,11 @@ 21.0.1 compile + + com.yxt + yxt-common-base + 0.0.1 + diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/input/InStoreHouseMainController.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/input/InStoreHouseMainController.java new file mode 100644 index 00000000..7b73fc56 --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/input/InStoreHouseMainController.java @@ -0,0 +1,27 @@ +package com.wh.controller.api.input; + + +import com.wh.pojo.api.InStoreHouseMainDto; +import com.wh.service.api.instorehouse.InStorehouseMainService; +import com.wh.vo.SysResult; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@CrossOrigin +@RequestMapping("/input/") +public class InStoreHouseMainController { + + @Autowired + private InStorehouseMainService inStorehouseMainService; + + @PostMapping("addInStorehouse") + public ResultBean addInStorehouse(@RequestBody InStoreHouseMainDto inStoreHouseMainDto){ + ResultBean resultBean = inStorehouseMainService.addInStorehouse(inStoreHouseMainDto); + return resultBean; + } + + + +} diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/output/OutStorehouseMainController.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/output/OutStorehouseMainController.java new file mode 100644 index 00000000..42bc1873 --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/output/OutStorehouseMainController.java @@ -0,0 +1,26 @@ +package com.wh.controller.api.output; + +import com.wh.pojo.api.OutStorehouseMain; +import com.wh.pojo.api.OutStorehouseMainDto; +import com.wh.service.api.outstorehouse.OutStorehouseMainService; +import com.wh.vo.SysResult; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +@RestController +@CrossOrigin +@RequestMapping("/output/") +public class OutStorehouseMainController { + + @Autowired + private OutStorehouseMainService outStorehouseMainService; + + @PostMapping("addOutStorehouse") + public ResultBean addOutStorehouse(@RequestBody OutStorehouseMainDto outStorehouseMainDto){ + ResultBean resultBean = outStorehouseMainService.addOutStorehouse(outStorehouseMainDto); + return resultBean; + } + +} diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/prodstock/ProdStockController.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/prodstock/ProdStockController.java new file mode 100644 index 00000000..4f0fbd41 --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/controller/api/prodstock/ProdStockController.java @@ -0,0 +1,11 @@ +package com.wh.controller.api.prodstock; + +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@CrossOrigin +@RequestMapping("/stock/") +public class ProdStockController { +} diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/instorehouse/InStorehouseListingMapper.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/instorehouse/InStorehouseListingMapper.java new file mode 100644 index 00000000..3a1f0ced --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/instorehouse/InStorehouseListingMapper.java @@ -0,0 +1,9 @@ +package com.wh.mapper.api.instorehouse; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.wh.pojo.api.InStorehouseListing; +import com.wh.pojo.api.InStorehouseMain; + + +public interface InStorehouseListingMapper extends BaseMapper { +} diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/instorehouse/InStorehouseMainMapper.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/instorehouse/InStorehouseMainMapper.java new file mode 100644 index 00000000..ae77ed8f --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/instorehouse/InStorehouseMainMapper.java @@ -0,0 +1,9 @@ +package com.wh.mapper.api.instorehouse; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.wh.pojo.InStorehouse; +import com.wh.pojo.api.InStorehouseMain; + + +public interface InStorehouseMainMapper extends BaseMapper { +} diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/outstorehouse/OutStorehouseListingMapper.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/outstorehouse/OutStorehouseListingMapper.java new file mode 100644 index 00000000..925ea3e7 --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/outstorehouse/OutStorehouseListingMapper.java @@ -0,0 +1,9 @@ +package com.wh.mapper.api.outstorehouse; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.wh.pojo.api.InStorehouseListing; +import com.wh.pojo.api.OutStorehouseListing; + + +public interface OutStorehouseListingMapper extends BaseMapper { +} diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/outstorehouse/OutStorehouseMainMapper.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/outstorehouse/OutStorehouseMainMapper.java new file mode 100644 index 00000000..73d8e941 --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/outstorehouse/OutStorehouseMainMapper.java @@ -0,0 +1,9 @@ +package com.wh.mapper.api.outstorehouse; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.wh.pojo.api.InStorehouseMain; +import com.wh.pojo.api.OutStorehouseMain; + + +public interface OutStorehouseMainMapper extends BaseMapper { +} diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/prodstock/ProdStockMapper.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/prodstock/ProdStockMapper.java new file mode 100644 index 00000000..1d21b4a6 --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/mapper/api/prodstock/ProdStockMapper.java @@ -0,0 +1,9 @@ +package com.wh.mapper.api.prodstock; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.wh.pojo.api.InStorehouseMain; +import com.wh.pojo.api.ProdStock; + + +public interface ProdStockMapper extends BaseMapper { +} diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/instorehouse/InStorehouseListingService.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/instorehouse/InStorehouseListingService.java new file mode 100644 index 00000000..e9da3c57 --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/instorehouse/InStorehouseListingService.java @@ -0,0 +1,22 @@ +package com.wh.service.api.instorehouse; + + +import com.wh.mapper.api.instorehouse.InStorehouseListingMapper; +import com.wh.pojo.*; +import com.wh.pojo.api.InStorehouseListing; +import com.yxt.common.base.service.MybatisBaseService; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +@Service +public class InStorehouseListingService extends MybatisBaseService { + + public Map getQuery(InStorehouse inStorehouse) { + + Map map = new HashMap<>(); + + return map; + } +} diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/instorehouse/InStorehouseMainService.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/instorehouse/InStorehouseMainService.java new file mode 100644 index 00000000..bb6bee25 --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/instorehouse/InStorehouseMainService.java @@ -0,0 +1,140 @@ +package com.wh.service.api.instorehouse; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.wh.mapper.api.instorehouse.InStorehouseMainMapper; +import com.wh.pojo.api.*; +import com.wh.service.api.prodstock.ProdStockService; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +@Slf4j +@Service +public class InStorehouseMainService extends MybatisBaseService { + + @Autowired + private InStorehouseListingService inStorehouseListingService; + @Autowired + private ProdStockService prodStockService; + @Transactional + public ResultBean addInStorehouse(InStoreHouseMainDto inStoreHouseMainDto) { + ResultBean r = ResultBean.fireFail(); + if(inStoreHouseMainDto==null){ + return r.setMsg("数据不能为空"); + } + if(StringUtils.isBlank(inStoreHouseMainDto.getNo())){ + return r.setMsg("申请单编号不能为空"); + } + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("no",inStoreHouseMainDto.getNo()); + if(baseMapper.selectCount(queryWrapper) != 0){ + return r.setMsg("申请单编号已经存在"); + } + InStorehouseMain in=new InStorehouseMain(); + BeanUtils.copyProperties(inStoreHouseMainDto,in); + List list = inStoreHouseMainDto.getList(); + if(list==null||list.size()==0){ + return r.setMsg("商品不能为空"); + } + //申请单主表信息 + baseMapper.insert(in); + addListing(in, list); + return ResultBean.fireSuccess().setMsg("添加成功"); + } + + /** + * 新增商品信息 + * @param in + * @param list + */ + @Transactional + public void addListing(InStorehouseMain in, List list) { + list.forEach(l->{ + l.setCusterSid(in.getCusterSid()); + l.setCusterName(in.getCusterName()); + l.setMainSid(in.getSid()); + inStorehouseListingService.insert(l); + saveOrUpdateProdStock(l); + }); + } + + /** + * 新增或者修改商品库存信息 + * @param l + */ + private void saveOrUpdateProdStock(InStorehouseListing l) { + PagerVo proStocks = getProdStock(l); + long total = proStocks.getTotal(); + if(total==0){ + addProdStock(l); + }else{ + updateProdStock(l, proStocks); + } + } + + /** + * 修改商品库存信息 + * @param l + * @param proStocks + */ + private void updateProdStock(InStorehouseListing l, PagerVo proStocks) { + ResultBean r = ResultBean.fireFail(); + ProdStock prodStock = proStocks.getRecords().get(0); + String num = prodStock.getNum(); + if(com.yxt.common.base.utils.StringUtils.isBlank(num)){ + log.info("{}",l.getProName()+"商品数量不能为空"); + } + int i=Integer.valueOf(num)+Integer.valueOf(l.getNum()); + prodStock.setNum(i+""); + prodStockService.updateById(prodStock); + } + + /** + * 新增商品库存信息 + * @param l + */ + private void addProdStock(InStorehouseListing l) { + ProdStock prodStock=new ProdStock(); + prodStock.setProName(l.getProName());// varchar 50 质物名称 + prodStock.setProModel(l.getProModel());// varchar 50 规格(型号) + prodStock.setManufacturer(l.getManufacturer());// varchar 50 生成厂家(产地) + prodStock.setNum(l.getNum());// varchar 10 数量 + prodStock.setWeight(l.getWeight());// varchar 50 重量 + prodStock.setConfirmedPrice(l.getConfirmedPrice());// decime 50 2 质权人确认的单价 + prodStock.setCalculatedValue(l.getCalculatedValue());// decime 50 2 核算的价值 + prodStock.setLocationNumber(l.getLocationNumber());// varchar 10 货位号 + prodStock.setCusterName(l.getCusterName());// varchar 50 客户名称(企业) + prodStock.setProUnit(l.getProUnit());// varchar 50 规格单位 + prodStock.setCusterSid(l.getCusterSid());// varchar 64 客户Sid(企业) + prodStock.setStoreHouseSid(l.getStoreHouseSid());// varchar 64 仓库Sid + prodStock.setStoreHouseName(l.getStoreHouseName());// varchar 100 仓库名称 + prodStockService.insert(prodStock); + } + + /** + * 根据商品的名称 规格 客户查询库存信息 + * @param l + * @return + */ + private PagerVo getProdStock(InStorehouseListing l) { + PagerQuery pq=new PagerQuery<>(); + pq.setCurrent(0); + pq.setSize(10); + ProdStockQuery stockQuery = new ProdStockQuery(); + stockQuery.setCusterSid(l.getCusterSid()); + stockQuery.setProModel(l.getProModel()); + stockQuery.setProName(l.getProName()); + pq.setParams(stockQuery); + PagerVo proStocks = prodStockService.getProStocks(pq); + return proStocks; + } +} diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/outstorehouse/OutStorehouseListingService.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/outstorehouse/OutStorehouseListingService.java new file mode 100644 index 00000000..aa5927cf --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/outstorehouse/OutStorehouseListingService.java @@ -0,0 +1,17 @@ +package com.wh.service.api.outstorehouse; + + +import com.wh.mapper.api.instorehouse.InStorehouseMainMapper; +import com.wh.mapper.api.outstorehouse.OutStorehouseListingMapper; +import com.wh.mapper.api.outstorehouse.OutStorehouseMainMapper; +import com.wh.pojo.api.InStorehouseMain; +import com.wh.pojo.api.OutStorehouseListing; +import com.wh.pojo.api.OutStorehouseMain; +import com.yxt.common.base.service.MybatisBaseService; +import org.springframework.stereotype.Service; + +@Service +public class OutStorehouseListingService extends MybatisBaseService { + + +} diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/outstorehouse/OutStorehouseMainService.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/outstorehouse/OutStorehouseMainService.java new file mode 100644 index 00000000..2ec30abe --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/outstorehouse/OutStorehouseMainService.java @@ -0,0 +1,171 @@ +package com.wh.service.api.outstorehouse; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.wh.api.Api; +import com.wh.mapper.api.instorehouse.InStorehouseMainMapper; +import com.wh.mapper.api.outstorehouse.OutStorehouseMainMapper; +import com.wh.mapper.initial.LocationMapper; +import com.wh.mapper.initial.ProductMapper; +import com.wh.mapper.instorehouse.PurchaseMapper; +import com.wh.mapper.instorehouse.PutInMapper; +import com.wh.mapper.instorehouse.ReceivingMapper; +import com.wh.mapper.stock.StockMapper; +import com.wh.mapper.storehousemanage.RemoveMapper; +import com.wh.pojo.*; +import com.wh.pojo.api.*; +import com.wh.service.api.instorehouse.InStorehouseListingService; +import com.wh.service.api.prodstock.ProdStockService; +import com.wh.vo.PageResult; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +@Slf4j +@Service +public class OutStorehouseMainService extends MybatisBaseService { + @Autowired + private OutStorehouseListingService outStorehouseListingService; + @Autowired + private ProdStockService prodStockService; + @Transactional + public ResultBean addOutStorehouse(OutStorehouseMainDto outStorehouseMainDto) { + ResultBean r = ResultBean.fireFail(); + if(outStorehouseMainDto==null){ + return r.setMsg("数据不能为空"); + } + String no = outStorehouseMainDto.getNo(); + if(StringUtils.isBlank(no)){ + return r.setMsg("编码不能为空"); + } + List list = outStorehouseMainDto.getList(); + if(list==null||list.size()==0){ + return r.setMsg("商品信息不能为空"); + } + + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("no",outStorehouseMainDto.getNo()); + if(baseMapper.selectCount(queryWrapper) != 0){ + return r.setMsg("申请单编号已经存在"); + } + + OutStorehouseMain out=new OutStorehouseMain(); + BeanUtils.copyProperties(outStorehouseMainDto,out); + try{ + boolean b = validaProStock(list); + if(!b){ + return r.setMsg("出库数量大于库存数量"); + } + }catch (Exception e){ + return r.setMsg(e.getMessage()); + } + //申请单主表信息 + baseMapper.insert(out); + addListing(out, list); + return ResultBean.fireSuccess().setMsg("添加成功"); + } + /** + * 新增商品信息 + * @param out + * @param list + */ + @Transactional + public void addListing(OutStorehouseMain out, List list) throws RuntimeException{ + list.forEach(l->{ + l.setCusterSid(out.getCusterSid()); + l.setCusterName(out.getCusterName()); + l.setMainSid(out.getSid()); + outStorehouseListingService.insert(l); + saveOrUpdateProdStock(l); + }); + } + + /** + * 新增或者修改商品库存信息 + * @param l + */ + private void saveOrUpdateProdStock(OutStorehouseListing l) { + PagerVo proStocks = getProdStock(l); + long total = proStocks.getTotal(); + if(total==0){ + return; + }else{ + updateProdStock(l, proStocks); + } + } + + /** + * 修改商品库存信息 + * @param l + * @param proStocks + */ + private void updateProdStock(OutStorehouseListing l, PagerVo proStocks) { + ResultBean r = ResultBean.fireFail(); + ProdStock prodStock = proStocks.getRecords().get(0); + String num = prodStock.getNum(); + if(com.yxt.common.base.utils.StringUtils.isBlank(num)){ + log.info("{}",l.getProName()+"商品数量不能为空"); + } + if(Integer.valueOf(l.getRealityNum())>Integer.valueOf(num)){ + return; + } + int i=Integer.valueOf(num)-Integer.valueOf(l.getRealityNum()); + prodStock.setNum(i+""); + prodStockService.updateById(prodStock); + } + + /** + * 验证库存信息 + * @param list + * @return + * @throws RuntimeException + */ + private boolean validaProStock(List list) throws RuntimeException{ + list.forEach(l->{ + PagerVo prodStock = getProdStock(l); + long total = prodStock.getTotal(); + if(total==0){ + throw new RuntimeException(l.getProName()+"不存在库存"); // 抛出异常,事务回滚, + } + ProdStock prodStock1 = prodStock.getRecords().get(0); + String num = prodStock1.getNum(); + int r=Integer.valueOf(num)-Integer.valueOf(l.getRealityNum()); + if(r<0){ + throw new RuntimeException(l.getProName()+"出库数量超出库存"); // 抛出异常,事务回滚, + } + }); + return true; + } + + /** + * 根据商品的名称 规格 客户查询库存信息 + * @param l + * @return + */ + private PagerVo getProdStock(OutStorehouseListing l) { + PagerQuery pq=new PagerQuery<>(); + pq.setCurrent(0); + pq.setSize(10); + ProdStockQuery stockQuery = new ProdStockQuery(); + stockQuery.setCusterSid(l.getCusterSid()); + stockQuery.setProModel(l.getProModel()); + stockQuery.setProName(l.getProName()); + pq.setParams(stockQuery); + PagerVo proStocks = prodStockService.getProStocks(pq); + return proStocks; + } +} diff --git a/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/prodstock/ProdStockService.java b/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/prodstock/ProdStockService.java new file mode 100644 index 00000000..d718cd30 --- /dev/null +++ b/warehousing-system/project/wh-manage/src/main/java/com/wh/service/api/prodstock/ProdStockService.java @@ -0,0 +1,49 @@ +package com.wh.service.api.prodstock; + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.wh.mapper.api.prodstock.ProdStockMapper; +import com.wh.pojo.api.*; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.vo.PagerVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ProdStockService extends MybatisBaseService { + + public PagerVo getProStocks(PagerQuery pq ) { + ProdStockQuery params = pq.getParams(); + QueryWrapper qw = createQueryWrapper(params); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + Integer integer = baseMapper.selectCount(qw); + p.setTotal(integer); + return p; + } + + + private QueryWrapper createQueryWrapper(ProdStockQuery query) { + // todo: 这里根据具体业务调整查询条件 + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + + if (StringUtils.isNotBlank(query.getCusterSid())) { + qw.eq("custer_sid", query.getCusterSid()); + } + if (StringUtils.isNotBlank(query.getProName())) { + qw.eq("pro_name", query.getProName()); + } + if (StringUtils.isNotBlank(query.getProModel())) { + qw.eq("pro_model", query.getProModel()); + } + return qw; + } +}