Przeglądaj źródła

佰穗莱单据工具类封装

zhangxin 1 rok temu
rodzic
commit
fdddcceccb
28 zmienionych plików z 775 dodań i 7 usunięć
  1. 68 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/domain/BionutritionDocDetails.java
  2. 74 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/domain/BionutritionDocHeader.java
  3. 3 3
      warewms-ams/src/main/java/com/ruoyi/ams/bsl/doc/domain/BslDocDetails.java
  4. 4 4
      warewms-ams/src/main/java/com/ruoyi/ams/bsl/doc/domain/BslDocHeader.java
  5. 29 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/BionutritionDocDetailBaseDTO.java
  6. 30 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/FinishedProductReceiptDetailDTO.java
  7. 24 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/ProductionPickingListDetailDTO.java
  8. 25 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/ProductionReturnOrderDetailDTO.java
  9. 28 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/PurchaseReceiptDetailDTO.java
  10. 28 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/SaleOutboundOrderDetailDTO.java
  11. 25 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/SaleReturnOrderDetailDTO.java
  12. 21 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/BionutritionDocHeaderBaseDTO.java
  13. 16 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/FinishedProductReceiptHeaderDTO.java
  14. 16 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/ProductionPickingListHeaderDTO.java
  15. 16 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/ProductionReturnOrderHeaderDTO.java
  16. 25 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/PurchaseReceiptHeaderDTO.java
  17. 40 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/SaleOutboundOrderHeaderDTO.java
  18. 28 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/SaleReturnOrderHeaderDTO.java
  19. 8 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/mapper/BionutritionDocDetailsMapper.java
  20. 14 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/mapper/BionutritionDocHeaderMapper.java
  21. 15 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/BionutritionDocDetailsService.java
  22. 15 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/BionutritionDocHeaderService.java
  23. 34 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/impl/BionutritionDocDetailsServiceImpl.java
  24. 57 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/impl/BionutritionDocHeaderServiceImpl.java
  25. 67 0
      warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/util/BionutritionDocUtil.java
  26. 7 0
      warewms-ams/src/main/resources/mapper/doc/BionutritionDocDetailsMapper.xml
  27. 7 0
      warewms-ams/src/main/resources/mapper/doc/BionutritionDocHeaderMapper.xml
  28. 51 0
      warewms-base/src/main/java/com/ruoyi/base/constant/type/BizEnum.java

+ 68 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/domain/BionutritionDocDetails.java

@@ -0,0 +1,68 @@
+package com.ruoyi.ams.bionutrition.doc.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.bean.entity.WarewmsExtEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("bsl_doc_details")
+public class BionutritionDocDetails extends WarewmsExtEntity {
+
+    @ApiModelProperty("单据头id")
+    private String docHeaderId;
+
+    @ApiModelProperty("明细行号")
+    private String docLineNo;
+
+    @ApiModelProperty("物料编码")
+    private String skuCode;
+
+    @ApiModelProperty("物料名称")
+    private String skuName;
+
+    @ApiModelProperty("物料数量")
+    private String skuQty;
+
+    @ApiModelProperty("原厂批号")
+    private String originalLotNumber;
+
+    @ApiModelProperty("进厂批号")
+    private String incomeLotNumber;
+
+    @ApiModelProperty("产品名称")
+    private String productName;
+
+    @ApiModelProperty("产品批号")
+    private String productLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("生产日期")
+    private String manufactureDate;
+
+    @ApiModelProperty("收货人")
+    private String receiver;
+
+    @ApiModelProperty("规格")
+    private String specification;
+
+    @ApiModelProperty("质检单号/检验单号")
+    private String qualityInspectionDoc;
+
+    @ApiModelProperty("退库人")
+    private String returner;
+
+    @ApiModelProperty("含税价")
+    private String priceIncludeTax;
+
+    @ApiModelProperty("入库人")
+    private String warehousePerson;
+
+    @ApiModelProperty("复审人")
+    private String reviewerNext;
+
+}

+ 74 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/domain/BionutritionDocHeader.java

@@ -0,0 +1,74 @@
+package com.ruoyi.ams.bionutrition.doc.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.bean.entity.WarewmsExtEntity;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("bsl_doc_header")
+public class BionutritionDocHeader extends WarewmsExtEntity {
+
+    @ApiModelProperty("单据号")
+    private String docNo;
+
+    @ApiModelProperty("单据类型")
+    private String docType;
+
+    @ApiModelProperty("制单人")
+    private String docCreator;
+
+    @ApiModelProperty("业务类型 出库/入库")
+    private String businessType;
+
+    @ApiModelProperty("供应商编码")
+    private String vendorCode;
+
+    @ApiModelProperty("供应商全称")
+    private String vendorName;
+
+    @ApiModelProperty("客户名称")
+    private String customName;
+
+    @ApiModelProperty("采购人")
+    private String purchaser;
+
+    @ApiModelProperty("税率")
+    private String taxRate;
+
+    @ApiModelProperty("部门名称")
+    private String dept;
+
+    @ApiModelProperty("销售退货单位")
+    private String saleReturnUnit;
+
+    @ApiModelProperty("销售退货人")
+    private String saleReturner;
+
+    @ApiModelProperty("销售合同")
+    private String saleContract;
+
+    @ApiModelProperty("发货人")
+    private String shipper;
+
+    @ApiModelProperty("接收人")
+    private String receiver;
+
+    @ApiModelProperty("收货地址")
+    private String receiveAddress;
+
+    @ApiModelProperty("收货人电话")
+    private String receivePhone;
+
+    @ApiModelProperty("审核人")
+    private String reviewer;
+
+    @ApiModelProperty("复审人")
+    private String reviewerNext;
+
+    @ApiModelProperty("仓库类别")
+    private String warehouseType;
+
+}

+ 3 - 3
warewms-ams/src/main/java/com/ruoyi/ams/bsl/doc/domain/BslDocDetails.java

@@ -1,11 +1,11 @@
-package com.ruoyi.ams.bsl.doc.domain;
+package com.ruoyi.ams.bionutrition.doc.dto;
 
-import com.ruoyi.common.core.bean.entity.WarewmsExtEntity;
+import com.ruoyi.common.core.bean.dto.WarewmsExtDTO;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
-public class BslDocDetails extends WarewmsExtEntity {
+public class BionutritionDocDetailsDTO extends WarewmsExtDTO {
 
     @ApiModelProperty("单据头id")
     private String docHeaderId;

+ 4 - 4
warewms-ams/src/main/java/com/ruoyi/ams/bsl/doc/domain/BslDocHeader.java

@@ -1,11 +1,11 @@
-package com.ruoyi.ams.bsl.doc.domain;
+package com.ruoyi.ams.bionutrition.doc.dto;
 
-import com.ruoyi.common.core.bean.entity.WarewmsExtEntity;
+import com.ruoyi.common.core.bean.dto.WarewmsExtDTO;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 @Data
-public class BslDocHeader extends WarewmsExtEntity {
+public class BionutritionDocHeaderDTO extends WarewmsExtDTO {
 
     @ApiModelProperty("单据号")
     private String docNo;
@@ -16,7 +16,7 @@ public class BslDocHeader extends WarewmsExtEntity {
     @ApiModelProperty("制单人")
     private String docCreator;
 
-    @ApiModelProperty("业务类型")
+    @ApiModelProperty("业务类型 出库/入库")
     private String businessType;
 
     @ApiModelProperty("供应商编码")

+ 29 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/BionutritionDocDetailBaseDTO.java

@@ -0,0 +1,29 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import com.ruoyi.common.core.bean.dto.WarewmsExtDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BionutritionDocDetailBaseDTO extends WarewmsExtDTO {
+
+    private static final long serialVersionUID = 1102255580263279150L;
+
+    @ApiModelProperty("单据头id")
+    private String docHeaderId;
+
+    @ApiModelProperty("明细行号")
+    private String docLineNo;
+
+    @ApiModelProperty("物料编码")
+    private String skuCode;
+
+    @ApiModelProperty("物料名称")
+    private String skuName;
+
+    @ApiModelProperty("物料数量")
+    private String skuQty;
+
+    @ApiModelProperty("备注")
+    private String remark;
+}

+ 30 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/FinishedProductReceiptDetailDTO.java

@@ -0,0 +1,30 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 成品入库单明细
+ */
+
+@Data
+public class FinishedProductReceiptDetailDTO extends BionutritionDocDetailBaseDTO {
+
+    @ApiModelProperty("产品批号")
+    private String productLotNumber;
+
+    @ApiModelProperty("收货人")
+    private String receiver;
+
+    @ApiModelProperty("入库人")
+    private String warehousePerson;
+
+    @ApiModelProperty("复审人")
+    private String reviewerNext;
+
+    @ApiModelProperty("规格")
+    private String specification;
+
+    @ApiModelProperty("质检单号/检验单号")
+    private String qualityInspectionDoc;
+}

+ 24 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/ProductionPickingListDetailDTO.java

@@ -0,0 +1,24 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 生产领料单明细
+ */
+@Data
+public class ProductionPickingListDetailDTO extends BionutritionDocDetailBaseDTO {
+
+    @ApiModelProperty("进厂批号")
+    private String incomeLotNumber;
+
+    @ApiModelProperty("产品批号")
+    private String productLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("生产日期")
+    private String manufactureDate;
+
+}

+ 25 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/ProductionReturnOrderDetailDTO.java

@@ -0,0 +1,25 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 生产退库单明细
+ */
+
+@Data
+public class ProductionReturnOrderDetailDTO extends BionutritionDocDetailBaseDTO {
+
+    @ApiModelProperty("进厂批号")
+    private String incomeLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("收货人")
+    private String receiver;
+
+    @ApiModelProperty("退库人")
+    private String returner;
+
+}

+ 28 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/PurchaseReceiptDetailDTO.java

@@ -0,0 +1,28 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 采购收货单明细
+ */
+
+@Data
+public class PurchaseReceiptDetailDTO extends BionutritionDocDetailBaseDTO {
+
+    @ApiModelProperty("原厂批号")
+    private String originalLotNumber;
+
+    @ApiModelProperty("进厂批号")
+    private String incomeLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("生产日期")
+    private String manufactureDate;
+
+    @ApiModelProperty("含税价")
+    private String priceIncludeTax;
+
+}

+ 28 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/SaleOutboundOrderDetailDTO.java

@@ -0,0 +1,28 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 销售出库单明细
+ */
+
+@Data
+public class SaleOutboundOrderDetailDTO extends BionutritionDocDetailBaseDTO {
+
+    @ApiModelProperty("产品名称")
+    private String productName;
+
+    @ApiModelProperty("产品批号")
+    private String productLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("规格")
+    private String specification;
+
+    @ApiModelProperty("质检单号/检验单号")
+    private String qualityInspectionDoc;
+
+}

+ 25 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/detail/SaleReturnOrderDetailDTO.java

@@ -0,0 +1,25 @@
+package com.ruoyi.ams.bionutrition.doc.dto.detail;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 销售退库单明细
+ */
+
+@Data
+public class SaleReturnOrderDetailDTO extends BionutritionDocDetailBaseDTO {
+
+    @ApiModelProperty("产品批号")
+    private String productLotNumber;
+
+    @ApiModelProperty("计量单位")
+    private String measureUnit;
+
+    @ApiModelProperty("规格")
+    private String specification;
+
+    @ApiModelProperty("质检单号/检验单号")
+    private String qualityInspectionDoc;
+
+}

+ 21 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/BionutritionDocHeaderBaseDTO.java

@@ -0,0 +1,21 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import com.ruoyi.common.core.bean.dto.WarewmsExtDTO;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class BionutritionDocHeaderBaseDTO extends WarewmsExtDTO {
+
+    @ApiModelProperty("单据号")
+    private String docNo;
+
+    @ApiModelProperty("单据类型")
+    private String docType;
+
+    @ApiModelProperty("业务类型")
+    private String businessType;
+
+    @ApiModelProperty("备注")
+    private String remark;
+}

+ 16 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/FinishedProductReceiptHeaderDTO.java

@@ -0,0 +1,16 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 成品入库单单头
+ */
+
+@Data
+public class FinishedProductReceiptHeaderDTO extends BionutritionDocHeaderBaseDTO {
+
+    @ApiModelProperty("部门名称")
+    private String dept;
+
+}

+ 16 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/ProductionPickingListHeaderDTO.java

@@ -0,0 +1,16 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 生产领料单单头
+ */
+
+@Data
+public class ProductionPickingListHeaderDTO extends BionutritionDocHeaderBaseDTO {
+
+    @ApiModelProperty("部门名称")
+    private String dept;
+
+}

+ 16 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/ProductionReturnOrderHeaderDTO.java

@@ -0,0 +1,16 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 生产退库单单头
+ */
+
+@Data
+public class ProductionReturnOrderHeaderDTO extends BionutritionDocHeaderBaseDTO {
+
+    @ApiModelProperty("部门名称")
+    private String dept;
+
+}

+ 25 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/PurchaseReceiptHeaderDTO.java

@@ -0,0 +1,25 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 采购收货单单头
+ */
+
+@Data
+public class PurchaseReceiptHeaderDTO extends BionutritionDocHeaderBaseDTO {
+
+    @ApiModelProperty("供应商编码")
+    private String vendorCode;
+
+    @ApiModelProperty("供应商全称")
+    private String vendorName;
+
+    @ApiModelProperty("采购人")
+    private String purchaser;
+
+    @ApiModelProperty("税率")
+    private String taxRate;
+
+}

+ 40 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/SaleOutboundOrderHeaderDTO.java

@@ -0,0 +1,40 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 销售出库单单头
+ */
+
+@Data
+public class SaleOutboundOrderHeaderDTO extends BionutritionDocHeaderBaseDTO {
+
+    @ApiModelProperty("客户名称")
+    private String customName;
+
+    @ApiModelProperty("接收人")
+    private String receiver;
+
+    @ApiModelProperty("收货地址")
+    private String receiveAddress;
+
+    @ApiModelProperty("收货人电话")
+    private String receivePhone;
+
+    @ApiModelProperty("制单人")
+    private String docCreator;
+
+    @ApiModelProperty("审核人")
+    private String reviewer;
+
+    @ApiModelProperty("发货人")
+    private String shipper;
+
+    @ApiModelProperty("复审人")
+    private String reviewerNext;
+
+    @ApiModelProperty("销售合同")
+    private String saleContract;
+
+}

+ 28 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/dto/header/SaleReturnOrderHeaderDTO.java

@@ -0,0 +1,28 @@
+package com.ruoyi.ams.bionutrition.doc.dto.header;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 销售退库单单头
+ */
+
+@Data
+public class SaleReturnOrderHeaderDTO extends BionutritionDocHeaderBaseDTO {
+
+    @ApiModelProperty("销售退货单位")
+    private String saleReturnUnit;
+
+    @ApiModelProperty("销售退货人")
+    private String saleReturner;
+
+    @ApiModelProperty("接收人")
+    private String receiver;
+
+    @ApiModelProperty("复审人")
+    private String reviewerNext;
+
+    @ApiModelProperty("仓库类别")
+    private String warehouseType;
+
+}

+ 8 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/mapper/BionutritionDocDetailsMapper.java

@@ -0,0 +1,8 @@
+package com.ruoyi.ams.bionutrition.doc.mapper;
+
+import com.ruoyi.ams.bionutrition.doc.domain.BionutritionDocDetails;
+import com.ruoyi.framework.mapper.WarewmsMapper;
+
+public interface BionutritionDocDetailsMapper extends WarewmsMapper<BionutritionDocDetails> {
+
+}

+ 14 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/mapper/BionutritionDocHeaderMapper.java

@@ -0,0 +1,14 @@
+package com.ruoyi.ams.bionutrition.doc.mapper;
+
+import com.ruoyi.ams.bionutrition.doc.domain.BionutritionDocHeader;
+import com.ruoyi.framework.mapper.WarewmsMapper;
+
+/**
+ * 出库单Mapper接口
+ *
+ * @author ruoyi
+ * @date 2022-10-28
+ */
+public interface BionutritionDocHeaderMapper extends WarewmsMapper<BionutritionDocHeader> {
+
+}

+ 15 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/BionutritionDocDetailsService.java

@@ -0,0 +1,15 @@
+package com.ruoyi.ams.bionutrition.doc.service;
+
+import com.ruoyi.ams.bionutrition.doc.domain.BionutritionDocDetails;
+import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocDetailsDTO;
+import com.ruoyi.framework.service.CrudService;
+
+/**
+ * 分配查询Service接口
+ *
+ * @author ruoyi
+ * @date 2022-10-28
+ */
+public interface BionutritionDocDetailsService extends CrudService<BionutritionDocDetails, BionutritionDocDetailsDTO> {
+
+}

+ 15 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/BionutritionDocHeaderService.java

@@ -0,0 +1,15 @@
+package com.ruoyi.ams.bionutrition.doc.service;
+
+import com.ruoyi.ams.bionutrition.doc.domain.BionutritionDocHeader;
+import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocHeaderDTO;
+import com.ruoyi.framework.service.CrudService;
+
+/**
+ * 出库单Service接口
+ *
+ * @author ruoyi
+ * @date 2022-10-28
+ */
+public interface BionutritionDocHeaderService extends CrudService<BionutritionDocHeader, BionutritionDocHeaderDTO> {
+
+}

+ 34 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/impl/BionutritionDocDetailsServiceImpl.java

@@ -0,0 +1,34 @@
+package com.ruoyi.ams.bionutrition.doc.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.ams.bionutrition.doc.domain.BionutritionDocDetails;
+import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocDetailsDTO;
+import com.ruoyi.ams.bionutrition.doc.mapper.BionutritionDocDetailsMapper;
+import com.ruoyi.ams.bionutrition.doc.service.BionutritionDocDetailsService;
+import com.ruoyi.framework.service.impl.CrudServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * 分配查询Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2022-10-28
+ */
+@Service
+public class BionutritionDocDetailsServiceImpl extends CrudServiceImpl<BionutritionDocDetailsMapper, BionutritionDocDetails, BionutritionDocDetailsDTO> implements BionutritionDocDetailsService {
+
+
+
+
+
+
+
+    @Override
+    public QueryWrapper<BionutritionDocDetails> getWrapper(Map<String, Object> params) {
+        QueryWrapper<BionutritionDocDetails> queryWrapper = new QueryWrapper<>();
+        return queryWrapper;
+    }
+
+}

+ 57 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/service/impl/BionutritionDocHeaderServiceImpl.java

@@ -0,0 +1,57 @@
+package com.ruoyi.ams.bionutrition.doc.service.impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.google.common.collect.Lists;
+import com.ruoyi.ams.bionutrition.doc.domain.BionutritionDocHeader;
+import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocHeaderDTO;
+import com.ruoyi.ams.bionutrition.doc.mapper.BionutritionDocHeaderMapper;
+import com.ruoyi.ams.bionutrition.doc.service.BionutritionDocHeaderService;
+import com.ruoyi.common.utils.ConvertUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.framework.service.impl.CrudServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class BionutritionDocHeaderServiceImpl extends CrudServiceImpl<BionutritionDocHeaderMapper, BionutritionDocHeader, BionutritionDocHeaderDTO> implements BionutritionDocHeaderService {
+
+
+
+    public List<BionutritionDocHeaderDTO> getBslDocHeaderDTOListByDocNo(String docNo) {
+        return getBslDocHeaderDTOList(null, Lists.newArrayList(docNo), null);
+    }
+
+    public List<BionutritionDocHeaderDTO> getBslDocHeaderDTOListByDocNo(List<String> docNoList) {
+        return getBslDocHeaderDTOList(null, docNoList, null);
+    }
+
+    public List<BionutritionDocHeaderDTO> getBslDocHeaderDTOListById(String id) {
+        return getBslDocHeaderDTOList(Lists.newArrayList(id), null, null);
+    }
+
+    public List<BionutritionDocHeaderDTO> getBslDocHeaderDTOList(List<String> idList) {
+        return getBslDocHeaderDTOList(idList, null, null);
+    }
+
+    public List<BionutritionDocHeaderDTO> getBslDocHeaderDTOList(String docType) {
+        return getBslDocHeaderDTOList(null, null, docType);
+    }
+
+    private List<BionutritionDocHeaderDTO> getBslDocHeaderDTOList(List<String> idList, List<String> docNoList, String docType) {
+        List<BionutritionDocHeader> bionutritionDocHeaderList = baseDao.selectList(Wrappers.<BionutritionDocHeader>lambdaQuery()
+                .in(CollectionUtil.isNotEmpty(idList), BionutritionDocHeader::getId, idList)
+                .in(CollectionUtil.isNotEmpty(docNoList), BionutritionDocHeader::getDocNo, docNoList)
+                .eq(StringUtils.isNotBlank(docType), BionutritionDocHeader::getDocType, docType));
+        return ConvertUtils.sourceToTarget(bionutritionDocHeaderList, BionutritionDocHeaderDTO.class);
+    }
+
+    @Override
+    public QueryWrapper<BionutritionDocHeader> getWrapper(Map<String, Object> params) {
+        QueryWrapper<BionutritionDocHeader> queryWrapper = new QueryWrapper<>();
+        return queryWrapper;
+    }
+}

+ 67 - 0
warewms-ams/src/main/java/com/ruoyi/ams/bionutrition/doc/util/BionutritionDocUtil.java

@@ -0,0 +1,67 @@
+package com.ruoyi.ams.bionutrition.doc.util;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.ruoyi.ams.bionutrition.doc.dto.BionutritionDocHeaderDTO;
+import com.ruoyi.ams.bionutrition.doc.dto.header.BionutritionDocHeaderBaseDTO;
+import com.ruoyi.base.constant.type.BizEnum;
+import com.ruoyi.common.constant.base.EnumUtils;
+import com.ruoyi.common.utils.ConvertUtils;
+import com.ruoyi.common.utils.StringUtils;
+import io.jsonwebtoken.lang.Assert;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Slf4j
+public class BionutritionDocUtil {
+
+    /**
+     * 获取单类型单据单头
+     *
+     * @param bionutritionDocHeaderDTO
+     * @return
+     */
+    @SneakyThrows
+    public static <E extends BionutritionDocHeaderBaseDTO> E buildBslDocHeaderDTO(BionutritionDocHeaderDTO bionutritionDocHeaderDTO) {
+        Assert.isTrue(ObjectUtil.isNotNull(bionutritionDocHeaderDTO), "bslDocHeaderDTO is null");
+        Assert.isTrue(StringUtils.isNotEmpty(bionutritionDocHeaderDTO.getDocType()), "bslDocHeaderDTO docType is blank");
+        BizEnum.BslDocTypeEnum bslDocTypeEnum = EnumUtils.getEnumByCode(bionutritionDocHeaderDTO.getDocType(), BizEnum.BslDocTypeEnum.class);
+        Class<E> docClass = (Class<E>) Class.forName(bslDocTypeEnum.getClassName());
+        return ConvertUtils.sourceToTarget(bionutritionDocHeaderDTO, docClass);
+    }
+
+    /**
+     * 获取单类型单据单头
+     *
+     * @param bionutritionDocHeaderDTOList
+     * @return
+     */
+    @SneakyThrows
+    public static <E extends BionutritionDocHeaderBaseDTO> List<E> buildBslDocHeaderDTOList(List<BionutritionDocHeaderDTO> bionutritionDocHeaderDTOList) {
+        Assert.isTrue(CollectionUtil.isNotEmpty(bionutritionDocHeaderDTOList), "bslDocHeaderDTOList is empty");
+        Assert.isTrue(CollectionUtil.isEmpty(bionutritionDocHeaderDTOList.stream().filter(item -> StringUtils.isBlank(item.getDocType())).collect(Collectors.toList()))
+                , "bslDocHeaderDTOList is have bslDocHeaderDTO docType is blank");
+        BionutritionDocHeaderDTO bionutritionDocHeaderDTO = bionutritionDocHeaderDTOList.stream().findFirst().orElseGet(() -> null);
+        Assert.isTrue(bionutritionDocHeaderDTOList.stream().allMatch(item -> item.getDocType().equals(bionutritionDocHeaderDTO.getDocType())),
+                "bslDocHeaderDTOList docType is not the same type");
+        return bionutritionDocHeaderDTOList.stream().map(item -> (E) buildBslDocHeaderDTO(item)).collect(Collectors.toList());
+    }
+
+    /**
+     * 多类型单据单头根据类型分类
+     *
+     * @param bionutritionDocHeaderDTOList
+     * @return
+     */
+    @SneakyThrows
+    public static <E extends BionutritionDocHeaderBaseDTO> Map<String, List<E>> buildBslDocHeaderDTOByDocTypeMap(List<BionutritionDocHeaderDTO> bionutritionDocHeaderDTOList) {
+        Assert.isTrue(CollectionUtil.isNotEmpty(bionutritionDocHeaderDTOList), "bslDocHeaderDTOList is empty");
+        return bionutritionDocHeaderDTOList.stream().map(item -> (E) buildBslDocHeaderDTO(item)).collect(Collectors.groupingBy(BionutritionDocHeaderBaseDTO::getDocType));
+    }
+
+
+}

+ 7 - 0
warewms-ams/src/main/resources/mapper/doc/BionutritionDocDetailsMapper.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ams.bionutrition.doc.mapper.BionutritionDocDetailsMapper">
+
+</mapper>

+ 7 - 0
warewms-ams/src/main/resources/mapper/doc/BionutritionDocHeaderMapper.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ams.bionutrition.doc.mapper.BionutritionDocHeaderMapper">
+
+</mapper>

+ 51 - 0
warewms-base/src/main/java/com/ruoyi/base/constant/type/BizEnum.java

@@ -55,4 +55,55 @@ public class BizEnum {
         }
     }
 
+
+    public enum BslDocTypeEnum implements IBaseEnum {
+        /**
+         * 成品入库单
+         */
+        FINISHED_PRODUCT_RECEIPT("FinishedProductReceipt", "com.ruoyi.ams.bionutrition.doc.dto.header.FinishedProductReceiptHeaderDTO"),
+        /**
+         * 生产领料单
+         */
+        PRODUCTION_PICKING_LIST("ProductionPickingList", "com.ruoyi.ams.bionutrition.doc.dto.header.ProductionPickingListHeaderDTO"),
+        /**
+         * 生产退库单
+         */
+        PRODUCTION_RETURN_ORDER("ProductionReturnOrder", "com.ruoyi.ams.bionutrition.doc.dto.header.ProductionReturnOrderHeaderDTO"),
+        /**
+         * 采购收货单
+         */
+        PURCHASE_RECEIPT("PurchaseReceipt", "com.ruoyi.ams.bionutrition.doc.dto.header.PurchaseReceiptHeaderDTO"),
+        /**
+         * 销售出库单
+         */
+        SALE_OUTBOUND_ORDER("SaleOutboundOrder", "com.ruoyi.ams.bionutrition.doc.dto.header.SaleOutboundOrderHeaderDTO"),
+        /**
+         * 销售退库单
+         */
+        SALE_RETURN_ORDER("SaleReturnOrder", "com.ruoyi.ams.bionutrition.doc.dto.header.SaleReturnOrderHeaderDTO");
+
+        private String docType;
+
+        private String className;
+
+        BslDocTypeEnum(String docType, String className) {
+            this.docType = docType;
+            this.className = className;
+        }
+
+        public String getClassName() {
+            return className;
+        }
+
+        public String getDocType() {
+            return docType;
+        }
+
+        @Override
+        public String getCode() {
+            return getDocType();
+        }
+
+    }
+
 }