浏览代码

Merge remote-tracking branch 'origin/master'

24282 2 年之前
父节点
当前提交
245af005d6
共有 100 个文件被更改,包括 3522 次插入39 次删除
  1. 8 0
      hx-common/src/main/java/com/fjhx/common/enums/CodingRuleEnum.java
  2. 40 0
      hx-ehsd/src/main/java/com/fjhx/ehsd/controller/quality/StayQualityController.java
  3. 27 1
      hx-mes/src/main/java/com/fjhx/mes/controller/production/ProductionTaskDetailController.java
  4. 4 3
      hx-mes/src/main/java/com/fjhx/mes/entity/production/po/ProductionTaskDetail.java
  5. 5 0
      hx-mes/src/main/java/com/fjhx/mes/entity/production/vo/ProductionTaskDetailVo.java
  6. 24 0
      hx-mes/src/main/java/com/fjhx/mes/service/production/ProductionTaskDetailService.java
  7. 84 18
      hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionTaskDetailServiceImpl.java
  8. 10 0
      hx-sale/src/main/java/com/fjhx/sale/controller/claim/ClaimController.java
  9. 9 0
      hx-sale/src/main/java/com/fjhx/sale/controller/contract/ContractController.java
  10. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityAqlController.java
  11. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityCartonsController.java
  12. 69 0
      hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityController.java
  13. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityPackController.java
  14. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityProblemController.java
  15. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityProductColorController.java
  16. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityProductController.java
  17. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualitySiteTestController.java
  18. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityWorkshipController.java
  19. 6 1
      hx-sale/src/main/java/com/fjhx/sale/entity/claim/po/Claim.java
  20. 3 0
      hx-sale/src/main/java/com/fjhx/sale/entity/claim/vo/ClaimVo.java
  21. 15 0
      hx-sale/src/main/java/com/fjhx/sale/entity/contract/dto/ContractProductSelectDto.java
  22. 15 0
      hx-sale/src/main/java/com/fjhx/sale/entity/contract/dto/ContractSelectDto.java
  23. 8 1
      hx-sale/src/main/java/com/fjhx/sale/entity/contract/vo/ContractBudgetVo.java
  24. 25 0
      hx-sale/src/main/java/com/fjhx/sale/entity/contract/vo/ContractProductVo.java
  25. 9 0
      hx-sale/src/main/java/com/fjhx/sale/entity/purchase/vo/EhsdPurchaseProductVo.java
  26. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityAqlDto.java
  27. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityAqlSelectDto.java
  28. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityCartonsDto.java
  29. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityCartonsSelectDto.java
  30. 20 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityDto.java
  31. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityPackDto.java
  32. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityPackSelectDto.java
  33. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityProblemDto.java
  34. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityProblemSelectDto.java
  35. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityProductColorDto.java
  36. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityProductColorSelectDto.java
  37. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityProductDto.java
  38. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityProductSelectDto.java
  39. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualitySelectDto.java
  40. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualitySiteTestDto.java
  41. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualitySiteTestSelectDto.java
  42. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityWorkshipDto.java
  43. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityWorkshipSelectDto.java
  44. 207 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQuality.java
  45. 82 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityAql.java
  46. 48 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityCartons.java
  47. 78 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityPack.java
  48. 32 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityProblem.java
  49. 78 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityProduct.java
  50. 61 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityProductColor.java
  51. 57 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualitySiteTest.java
  52. 52 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityWorkship.java
  53. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityAqlVo.java
  54. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityCartonsVo.java
  55. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityPackVo.java
  56. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityProblemVo.java
  57. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityProductColorVo.java
  58. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityProductVo.java
  59. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualitySiteTestVo.java
  60. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityVo.java
  61. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityWorkshipVo.java
  62. 9 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/contract/ContractProductMapper.java
  63. 1 1
      hx-sale/src/main/java/com/fjhx/sale/mapper/purchase/EhsdPurchaseProductMapper.java
  64. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityAqlMapper.java
  65. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityCartonsMapper.java
  66. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityMapper.java
  67. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityPackMapper.java
  68. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityProblemMapper.java
  69. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityProductColorMapper.java
  70. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityProductMapper.java
  71. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualitySiteTestMapper.java
  72. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityWorkshipMapper.java
  73. 7 0
      hx-sale/src/main/java/com/fjhx/sale/service/claim/ClaimService.java
  74. 16 0
      hx-sale/src/main/java/com/fjhx/sale/service/claim/impl/ClaimServiceImpl.java
  75. 5 0
      hx-sale/src/main/java/com/fjhx/sale/service/contract/ContractProductService.java
  76. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractProductServiceImpl.java
  77. 27 7
      hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java
  78. 1 1
      hx-sale/src/main/java/com/fjhx/sale/service/purchase/EhsdPurchaseProductService.java
  79. 1 1
      hx-sale/src/main/java/com/fjhx/sale/service/purchase/impl/EhsdPurchaseProductServiceImpl.java
  80. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityAqlService.java
  81. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityCartonsService.java
  82. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityPackService.java
  83. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityProblemService.java
  84. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityProductColorService.java
  85. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityProductService.java
  86. 47 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityService.java
  87. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualitySiteTestService.java
  88. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityWorkshipService.java
  89. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityAqlServiceImpl.java
  90. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityCartonsServiceImpl.java
  91. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityPackServiceImpl.java
  92. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityProblemServiceImpl.java
  93. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityProductColorServiceImpl.java
  94. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityProductServiceImpl.java
  95. 179 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityServiceImpl.java
  96. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualitySiteTestServiceImpl.java
  97. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityWorkshipServiceImpl.java
  98. 1 0
      hx-sale/src/main/resources/mapper/contract/ContractMapper.xml
  99. 57 0
      hx-sale/src/main/resources/mapper/contract/ContractProductMapper.xml
  100. 5 5
      hx-sale/src/main/resources/mapper/purchase/EhsdPurchaseProductMapper.xml

+ 8 - 0
hx-common/src/main/java/com/fjhx/common/enums/CodingRuleEnum.java

@@ -118,6 +118,14 @@ public enum CodingRuleEnum {
             getDefaultRule(RuleTypeEnum.DATE_FORMAT, "yyyyMM-"),
             getDefaultRule(RuleTypeEnum.AUTOINCREMENT, "3")
     )),
+    /**
+     * EHSD到货检验编码
+     */
+    EHSD_QUALITY("ehsd_quality", "到货检验编码", Arrays.asList(
+            getDefaultRule(RuleTypeEnum.CUSTOMIZE, "EHSD-QUALITY-"),
+            getDefaultRule(RuleTypeEnum.DATE_FORMAT, "yyyyMM-"),
+            getDefaultRule(RuleTypeEnum.AUTOINCREMENT, "3")
+    )),
     ;
 
     /**

+ 40 - 0
hx-ehsd/src/main/java/com/fjhx/ehsd/controller/quality/StayQualityController.java

@@ -0,0 +1,40 @@
+package com.fjhx.ehsd.controller.quality;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.contract.dto.ContractProductSelectDto;
+import com.fjhx.sale.entity.contract.vo.ContractProductVo;
+import com.fjhx.sale.entity.sample.dto.SampleSelectDto;
+import com.fjhx.sale.service.contract.ContractProductService;
+import com.fjhx.sale.service.sample.SampleService;
+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;
+
+
+/**
+ * <p>
+ * 待质检
+ * </p>
+ *
+ * @author  czj
+ * @since 2023-05-05
+ */
+@RestController
+@RequestMapping("/stay/quality")
+public class StayQualityController {
+
+    @Autowired
+    private ContractProductService contractProductService;
+
+    /**
+     * 待质检--分页
+     */
+    @PostMapping("/page")
+    public Page<ContractProductVo> page(@RequestBody ContractProductSelectDto dto) {
+        return contractProductService.getEHSDQualityPage(dto);
+    }
+
+
+}

+ 27 - 1
hx-mes/src/main/java/com/fjhx/mes/controller/production/ProductionTaskDetailController.java

@@ -33,6 +33,14 @@ public class ProductionTaskDetailController {
     }
 
     /**
+     * 生产任务明细分页
+     */
+    @PostMapping("/circulationPage")
+    public Page<ProductionTaskDetailVo> circulationPage(@RequestBody ProductionTaskDetailSelectDto dto) {
+        return productionTaskDetailService.circulationPage(dto);
+    }
+
+    /**
      * 生产任务流转
      */
     @PostMapping("/circulation")
@@ -41,13 +49,23 @@ public class ProductionTaskDetailController {
     }
 
     /**
-     * 生产任务完工入库
+     * 生产任务流转完工入库
      */
     @PostMapping("/productStorage")
     public void productStorage(@RequestBody ProductionTaskDetailDto productionTaskDetailDto) {
         productionTaskDetailService.productStorage(productionTaskDetailDto.getId());
     }
 
+
+
+    /**
+     * 生产任务接收分页
+     */
+    @PostMapping("/receivePage")
+    public Page<ProductionTaskDetailVo> receivePage(@RequestBody ProductionTaskDetailSelectDto dto) {
+        return productionTaskDetailService.receivePage(dto);
+    }
+
     /**
      * 生产任务接收
      */
@@ -56,4 +74,12 @@ public class ProductionTaskDetailController {
         productionTaskDetailService.receive(productionTaskDetailDto);
     }
 
+    /**
+     * 生产任务拒绝接收
+     */
+    @PostMapping("/rejection")
+    public void rejection(@RequestBody ProductionTaskDetailDto productionTaskDetailDto) {
+        productionTaskDetailService.rejection(productionTaskDetailDto);
+    }
+
 }

+ 4 - 3
hx-mes/src/main/java/com/fjhx/mes/entity/production/po/ProductionTaskDetail.java

@@ -1,17 +1,18 @@
 package com.fjhx.mes.entity.production.po;
 
-import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.util.Date;
+import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 /**
  * <p>
  * 生产任务明细
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-05-17
  */
 @Getter

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/vo/ProductionTaskDetailVo.java

@@ -33,4 +33,9 @@ public class ProductionTaskDetailVo extends ProductionTaskDetail {
      */
     private String cumulativeTime;
 
+    /**
+     * 流转人名称
+     */
+    private String circulationUserName;
+
 }

+ 24 - 0
hx-mes/src/main/java/com/fjhx/mes/service/production/ProductionTaskDetailService.java

@@ -23,9 +23,33 @@ public interface ProductionTaskDetailService extends BaseService<ProductionTaskD
      */
     Page<ProductionTaskDetailVo> getPage(ProductionTaskDetailSelectDto dto);
 
+    /**
+     * 生产任务流转分页
+     */
+    Page<ProductionTaskDetailVo> circulationPage(ProductionTaskDetailSelectDto dto);
+
+    /**
+     * 生产任务流转
+     */
     void circulation(ProductionTaskDetailDto productionTaskDetailDto);
 
+    /**
+     * 生产任务流转入库
+     */
     void productStorage(Long id);
 
+    /**
+     * 生产任务接收分页
+     */
+    Page<ProductionTaskDetailVo> receivePage(ProductionTaskDetailSelectDto dto);
+
+    /**
+     * 生产任务接收
+     */
     void receive(ProductionTaskDetailDto productionTaskDetailDto);
+
+    /**
+     * 生产任务拒绝接收
+     */
+    void rejection(ProductionTaskDetailDto productionTaskDetailDto);
 }

+ 84 - 18
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionTaskDetailServiceImpl.java

@@ -3,6 +3,7 @@ package com.fjhx.mes.service.production.impl;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.mes.entity.applicable.po.ApplicableProducts;
 import com.fjhx.mes.entity.production.dto.ProductionTaskDetailDto;
@@ -27,6 +28,7 @@ import com.fjhx.wms.service.stock.StockWaitService;
 import com.obs.services.internal.ServiceException;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -74,11 +76,40 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
     @Override
     public Page<ProductionTaskDetailVo> getPage(ProductionTaskDetailSelectDto dto) {
         IWrapper<ProductionTaskDetail> wrapper = getWrapper();
+        return pageCom(wrapper, dto);
+    }
+
+    @Override
+    public Page<ProductionTaskDetailVo> circulationPage(ProductionTaskDetailSelectDto dto) {
+        IWrapper<ProductionTaskDetail> wrapper = getWrapper();
         //过滤负责人为自己的任务
         wrapper.eq(ProductionTaskDetail::getPersonLiableId, SecurityUtils.getUserId());
+        //过滤未在流转的记录
+        wrapper.eq(ProductionTaskDetail::getCirculationStatus,0);
+        //过滤未完成的记录
+        wrapper.eq(ProductionTaskDetail::getFinishStatus,0);
+        return pageCom(wrapper, dto);
+    }
+
+    /**
+     * 分页公共方法
+     */
+    Page<ProductionTaskDetailVo> pageCom(IWrapper<ProductionTaskDetail> wrapper, ProductionTaskDetailSelectDto dto) {
+        //关键字搜索
+        if (ObjectUtil.isNotEmpty(dto.getKeyword())){
+            List<Long> productIds = productInfoService.listObject(ProductInfo::getId, q -> q.like(ProductInfo::getName, dto.getKeyword()));
+            wrapper.and(q->q.in(ProductionTaskDetail::getProductId,productIds).or().like(ProductionTaskDetail::getProductSn,dto.getKeyword()));
+        }
+
         wrapper.orderByDesc("ptd", ProductionTaskDetail::getId);
         Page<ProductionTaskDetailVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<ProductionTaskDetailVo> records = page.getRecords();
+        if(ObjectUtil.isEmpty(records)){
+            return new Page<>();
+        }
+        //赋值流转人名称
+        UserUtil.assignmentNickName(records, ProductionTaskDetailVo::getCirculationUserId, ProductionTaskDetailVo::setCirculationUserName);
+
         //赋值产品名
         productInfoService.attributeAssign(records, ProductionTaskDetailVo::getProductId, (item, productInfo) -> {
             item.setProductName(productInfo.getName());
@@ -86,7 +117,8 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
         //赋值当前工序名 目标工序名
         List<Long> productionTaskIds = records.stream().map(ProductionTaskDetail::getProductionTaskId).collect(Collectors.toList());
         IWrapper<ProductionTaskDetail> wrapper1 = IWrapper.getWrapper();
-        wrapper1.in("pt",ProductionTaskDetail::getId,productionTaskIds);
+        wrapper1.in("pt", ProductionTaskDetail::getId, productionTaskIds);
+        wrapper1.groupBy("wo.id");
         List<WorkOrderVo> workOrderByProductionTask = baseMapper.getWorkOrderByProductionTask(wrapper1);
         Map<Long, WorkOrderVo> WorkOrderMap = workOrderByProductionTask.stream().collect(Collectors.toMap(WorkOrderVo::getProductionTaskId, Function.identity()));
         List<Long> workIds = workOrderByProductionTask.stream().map(WorkOrderVo::getId).collect(Collectors.toList());
@@ -103,13 +135,13 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
 
         for (ProductionTaskDetailVo record : records) {
             WorkOrderVo workOrderVo = WorkOrderMap.get(record.getProductionTaskId());
-            if("1".equals(workOrderVo.getIsCustomized())){
+            if ("1".equals(workOrderVo.getIsCustomized())) {
                 //如果是定制
                 String name = workOrderProductionPMap.get(record.getProductionProcessesId());
                 String nextName = workOrderProductionPMap.get(record.getNextProductionProcessesId());
                 record.setProductionProcessesName(name);
                 record.setNextProductionProcessesName(nextName);
-            }else{
+            } else {
                 //不是定制
                 String name = stringMap.get(record.getProductionProcessesId());
                 String nextName = stringMap.get(record.getNextProductionProcessesId());
@@ -117,6 +149,7 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
                 record.setNextProductionProcessesName(nextName);
             }
         }
+
         return page;
     }
 
@@ -162,19 +195,39 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
     }
 
     /**
-     * 任务流转接收
+     * 任务接收分页
+     */
+    @Override
+    public Page<ProductionTaskDetailVo> receivePage(ProductionTaskDetailSelectDto dto) {
+        IWrapper<ProductionTaskDetail> wrapper = getWrapper();
+        //过滤接收人为自己的任务
+        wrapper.eq(ProductionTaskDetail::getReceivedUserId, SecurityUtils.getUserId());
+        return pageCom(wrapper, dto);
+    }
+
+    /**
+     * 任务接收
      */
     @Override
     public void receive(ProductionTaskDetailDto productionTaskDetailDto) {
+        ProductionTaskDetail productionTaskDetail = getById(productionTaskDetailDto.getId());
+
         //修改流转状态
-        productionTaskDetailDto.setCirculationStatus(0);
+        productionTaskDetail.setCirculationStatus(0);
         //将下一工序赋值到当前工序
-        productionTaskDetailDto.setProductionProcessesId(productionTaskDetailDto.getNextProductionProcessesId());
+        productionTaskDetail.setProductionProcessesId(productionTaskDetail.getNextProductionProcessesId());
         //将负责人赋值为接收人id
-        productionTaskDetailDto.setPersonLiableId(SecurityUtils.getUserId());
+        productionTaskDetail.setPersonLiableId(SecurityUtils.getUserId());
+        //清空接收人
+        productionTaskDetail.setReceivedUserId(-1l);
+
+        //清空下一工序
+        productionTaskDetail.setNextProductionProcessesId(-1l);
 
-        //赋值下一工序相关信息
-        ProductionTask productionTask = productionTaskService.getById(productionTaskDetailDto.getProductionTaskId());
+
+
+        //查找下一工序相关信息 如果有则赋值
+        ProductionTask productionTask = productionTaskService.getById(productionTaskDetail.getProductionTaskId());
         ProductionPlan productionPlan = productionPlanService.getById(productionTask.getProductionPlanId());
         WorkOrder workOrder = workOrderService.getById(productionPlan.getWorkOrderId());
         if ("1".equals(workOrder.getIsCustomized())) {
@@ -188,12 +241,12 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
             //赋值下一工序id
             for (int i = 0; i < workOrderProductionProcesses.size(); i++) {
                 WorkOrderProductionProcesses wopp = workOrderProductionProcesses.get(i);
-                if (wopp.getId().equals(productionTaskDetailDto.getProductionProcessesId())) {
+                if (wopp.getId().equals(productionTaskDetail.getProductionProcessesId())) {
                     //默认赋值空 如果有下一节点赋值下一节点id
-                    productionTaskDetailDto.setNextProductionProcessesId(null);
                     if ((i + 1) < workOrderProductionProcesses.size()) {
                         WorkOrderProductionProcesses nextProductionProcesses = workOrderProductionProcesses.get(i + 1);
-                        productionTaskDetailDto.setNextProductionProcessesId(nextProductionProcesses.getId());
+                        productionTaskDetail.setNextProductionProcessesId(nextProductionProcesses.getId());
+                        break;
                     }
                 }
             }
@@ -213,24 +266,37 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
             String[] split = processRoute.split(",");
             //赋值下一工序id
             for (int i = 0; i < split.length; i++) {
-                if (split[i].equals(productionTaskDetailDto.getProductionProcessesId())) {
+                if (Long.parseLong(split[i])==productionTaskDetail.getProductionProcessesId()) {
                     //默认赋值空 如果有下一节点赋值下一节点id
-                    productionTaskDetailDto.setNextProductionProcessesId(null);
                     if ((i + 1) < split.length) {
-                        productionTaskDetailDto.setNextProductionProcessesId(Long.parseLong(split[i + 1]));
+                        productionTaskDetail.setNextProductionProcessesId(Long.parseLong(split[i + 1]));
+                        break;
                     }
                 }
             }
         }
 
-        this.updateById(productionTaskDetailDto);
+        this.updateById(productionTaskDetail);
 
         //创建任务明细记录
         ProductionTaskDetailRecord productionTaskDetailRecord = new ProductionTaskDetailRecord();
-        productionTaskDetailRecord.setProductionTaskDetailId(productionTaskDetailDto.getId());
-        productionTaskDetailRecord.setProductionProcessesId(productionTaskDetailDto.getProductionProcessesId());
+        productionTaskDetailRecord.setProductionTaskDetailId(productionTaskDetail.getId());
+        productionTaskDetailRecord.setProductionProcessesId(productionTaskDetail.getProductionProcessesId());
         productionTaskDetailRecord.setPersonLiableId(SecurityUtils.getUserId());
         productionTaskDetailRecordService.save(productionTaskDetailRecord);
     }
 
+    /**
+     * 任务接收拒绝
+     */
+    @Override
+    public void rejection(ProductionTaskDetailDto productionTaskDetailDto) {
+        //取消流转状态
+        productionTaskDetailDto.setCirculationStatus(0);
+        //将接收人赋值为空
+        productionTaskDetailDto.setReceivedUserId(-1l);
+        this.updateById(productionTaskDetailDto);
+    }
+
+
 }

+ 10 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/claim/ClaimController.java

@@ -10,6 +10,8 @@ import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.fjhx.sale.service.claim.ClaimService;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.math.BigDecimal;
+
 
 /**
  * <p>
@@ -66,4 +68,12 @@ public class ClaimController {
         claimService.delete(dto.getId());
     }
 
+    /**
+     * 到账认领明细
+     */
+    @GetMapping("/sumClaimMoney")
+    public BigDecimal sumClaimMoney(@RequestParam("businessId") Long businessId) {
+        return claimService.sumClaimMoney(businessId);
+    }
+
 }

+ 9 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/contract/ContractController.java

@@ -6,6 +6,7 @@ import com.fjhx.item.entity.product.vo.ProductInfoVo;
 import com.fjhx.sale.entity.contract.dto.ContractDto;
 import com.fjhx.sale.entity.contract.dto.ContractSelectDto;
 import com.fjhx.sale.entity.contract.po.Contract;
+import com.fjhx.sale.entity.contract.vo.ContractBudgetVo;
 import com.fjhx.sale.entity.contract.vo.ContractPdfInfoVo;
 import com.fjhx.sale.entity.contract.vo.ContractVo;
 import com.fjhx.sale.entity.sample.dto.SampleDto;
@@ -170,4 +171,12 @@ public class ContractController {
     public  Map<String,Object> covenantStatistics(@RequestBody ContractDto dto){
         return  contractService.covenantStatistics(dto);
     }
+
+    /**
+     * 利润预算
+     */
+    @PostMapping("/getProfitBudgetPage")
+    public  Page<ContractBudgetVo> getProfitBudgetPage(@RequestBody ContractSelectDto dto){
+        return  contractService.getProfitBudgetPage(dto);
+    }
 }

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityAqlController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.quality;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityAqlVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityAqlSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityAqlDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.quality.EhsdQualityAqlService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 质检AQL表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@RestController
+@RequestMapping("/ehsdQualityAql")
+public class EhsdQualityAqlController {
+
+    @Autowired
+    private EhsdQualityAqlService ehsdQualityAqlService;
+
+    /**
+     * 质检AQL表分页
+     */
+    @PostMapping("/page")
+    public Page<EhsdQualityAqlVo> page(@RequestBody EhsdQualityAqlSelectDto dto) {
+        return ehsdQualityAqlService.getPage(dto);
+    }
+
+    /**
+     * 质检AQL表明细
+     */
+    @PostMapping("/detail")
+    public EhsdQualityAqlVo detail(@RequestBody BaseSelectDto dto) {
+        return ehsdQualityAqlService.detail(dto.getId());
+    }
+
+    /**
+     * 质检AQL表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody EhsdQualityAqlDto ehsdQualityAqlDto) {
+        ehsdQualityAqlService.add(ehsdQualityAqlDto);
+    }
+
+    /**
+     * 质检AQL表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody EhsdQualityAqlDto ehsdQualityAqlDto) {
+        ehsdQualityAqlService.edit(ehsdQualityAqlDto);
+    }
+
+    /**
+     * 质检AQL表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        ehsdQualityAqlService.delete(dto.getId());
+    }
+
+}

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityCartonsController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.quality;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityCartonsVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityCartonsSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityCartonsDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.quality.EhsdQualityCartonsService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 质检纸箱表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@RestController
+@RequestMapping("/ehsdQualityCartons")
+public class EhsdQualityCartonsController {
+
+    @Autowired
+    private EhsdQualityCartonsService ehsdQualityCartonsService;
+
+    /**
+     * 质检纸箱表分页
+     */
+    @PostMapping("/page")
+    public Page<EhsdQualityCartonsVo> page(@RequestBody EhsdQualityCartonsSelectDto dto) {
+        return ehsdQualityCartonsService.getPage(dto);
+    }
+
+    /**
+     * 质检纸箱表明细
+     */
+    @PostMapping("/detail")
+    public EhsdQualityCartonsVo detail(@RequestBody BaseSelectDto dto) {
+        return ehsdQualityCartonsService.detail(dto.getId());
+    }
+
+    /**
+     * 质检纸箱表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody EhsdQualityCartonsDto ehsdQualityCartonsDto) {
+        ehsdQualityCartonsService.add(ehsdQualityCartonsDto);
+    }
+
+    /**
+     * 质检纸箱表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody EhsdQualityCartonsDto ehsdQualityCartonsDto) {
+        ehsdQualityCartonsService.edit(ehsdQualityCartonsDto);
+    }
+
+    /**
+     * 质检纸箱表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        ehsdQualityCartonsService.delete(dto.getId());
+    }
+
+}

+ 69 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityController.java

@@ -0,0 +1,69 @@
+package com.fjhx.sale.controller.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQuality;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualitySelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.quality.EhsdQualityService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 质检基础信息表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@RestController
+@RequestMapping("/ehsdQuality")
+public class EhsdQualityController {
+
+    @Autowired
+    private EhsdQualityService ehsdQualityService;
+
+    /**
+     * 质检基础信息表分页
+     */
+    @PostMapping("/page")
+    public Page<EhsdQualityVo> page(@RequestBody EhsdQualitySelectDto dto) {
+        return ehsdQualityService.getPage(dto);
+    }
+
+    /**
+     * 质检基础信息表明细
+     */
+    @PostMapping("/detail")
+    public EhsdQuality detail(@RequestBody BaseSelectDto dto) {
+        return ehsdQualityService.detail(dto.getId());
+    }
+
+    /**
+     * 质检基础信息表提交
+     */
+    @PostMapping("/submit")
+    public void add(@RequestBody EhsdQualityDto ehsdQualityDto) {
+        ehsdQualityService.submit(ehsdQualityDto);
+    }
+
+    /**
+     * 质检基础信息表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody EhsdQualityDto ehsdQualityDto) {
+        ehsdQualityService.edit(ehsdQualityDto);
+    }
+
+    /**
+     * 质检基础信息表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        ehsdQualityService.delete(dto.getId());
+    }
+
+}

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityPackController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.quality;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityPackVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityPackSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityPackDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.quality.EhsdQualityPackService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 质检---产品包装明细表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@RestController
+@RequestMapping("/ehsdQualityPack")
+public class EhsdQualityPackController {
+
+    @Autowired
+    private EhsdQualityPackService ehsdQualityPackService;
+
+    /**
+     * 质检---产品包装明细表分页
+     */
+    @PostMapping("/page")
+    public Page<EhsdQualityPackVo> page(@RequestBody EhsdQualityPackSelectDto dto) {
+        return ehsdQualityPackService.getPage(dto);
+    }
+
+    /**
+     * 质检---产品包装明细表明细
+     */
+    @PostMapping("/detail")
+    public EhsdQualityPackVo detail(@RequestBody BaseSelectDto dto) {
+        return ehsdQualityPackService.detail(dto.getId());
+    }
+
+    /**
+     * 质检---产品包装明细表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody EhsdQualityPackDto ehsdQualityPackDto) {
+        ehsdQualityPackService.add(ehsdQualityPackDto);
+    }
+
+    /**
+     * 质检---产品包装明细表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody EhsdQualityPackDto ehsdQualityPackDto) {
+        ehsdQualityPackService.edit(ehsdQualityPackDto);
+    }
+
+    /**
+     * 质检---产品包装明细表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        ehsdQualityPackService.delete(dto.getId());
+    }
+
+}

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityProblemController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.quality;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityProblemVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProblemSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProblemDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.quality.EhsdQualityProblemService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 质检问题表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@RestController
+@RequestMapping("/ehsdQualityProblem")
+public class EhsdQualityProblemController {
+
+    @Autowired
+    private EhsdQualityProblemService ehsdQualityProblemService;
+
+    /**
+     * 质检问题表分页
+     */
+    @PostMapping("/page")
+    public Page<EhsdQualityProblemVo> page(@RequestBody EhsdQualityProblemSelectDto dto) {
+        return ehsdQualityProblemService.getPage(dto);
+    }
+
+    /**
+     * 质检问题表明细
+     */
+    @PostMapping("/detail")
+    public EhsdQualityProblemVo detail(@RequestBody BaseSelectDto dto) {
+        return ehsdQualityProblemService.detail(dto.getId());
+    }
+
+    /**
+     * 质检问题表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody EhsdQualityProblemDto ehsdQualityProblemDto) {
+        ehsdQualityProblemService.add(ehsdQualityProblemDto);
+    }
+
+    /**
+     * 质检问题表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody EhsdQualityProblemDto ehsdQualityProblemDto) {
+        ehsdQualityProblemService.edit(ehsdQualityProblemDto);
+    }
+
+    /**
+     * 质检问题表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        ehsdQualityProblemService.delete(dto.getId());
+    }
+
+}

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityProductColorController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.quality;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityProductColorVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProductColorSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProductColorDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.quality.EhsdQualityProductColorService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 质检--产品规格 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@RestController
+@RequestMapping("/ehsdQualityProductColor")
+public class EhsdQualityProductColorController {
+
+    @Autowired
+    private EhsdQualityProductColorService ehsdQualityProductColorService;
+
+    /**
+     * 质检--产品规格分页
+     */
+    @PostMapping("/page")
+    public Page<EhsdQualityProductColorVo> page(@RequestBody EhsdQualityProductColorSelectDto dto) {
+        return ehsdQualityProductColorService.getPage(dto);
+    }
+
+    /**
+     * 质检--产品规格明细
+     */
+    @PostMapping("/detail")
+    public EhsdQualityProductColorVo detail(@RequestBody BaseSelectDto dto) {
+        return ehsdQualityProductColorService.detail(dto.getId());
+    }
+
+    /**
+     * 质检--产品规格新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody EhsdQualityProductColorDto ehsdQualityProductColorDto) {
+        ehsdQualityProductColorService.add(ehsdQualityProductColorDto);
+    }
+
+    /**
+     * 质检--产品规格编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody EhsdQualityProductColorDto ehsdQualityProductColorDto) {
+        ehsdQualityProductColorService.edit(ehsdQualityProductColorDto);
+    }
+
+    /**
+     * 质检--产品规格删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        ehsdQualityProductColorService.delete(dto.getId());
+    }
+
+}

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityProductController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.quality;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityProductVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProductSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProductDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.quality.EhsdQualityProductService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 质检--商品包装 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@RestController
+@RequestMapping("/ehsdQualityProduct")
+public class EhsdQualityProductController {
+
+    @Autowired
+    private EhsdQualityProductService ehsdQualityProductService;
+
+    /**
+     * 质检--商品包装分页
+     */
+    @PostMapping("/page")
+    public Page<EhsdQualityProductVo> page(@RequestBody EhsdQualityProductSelectDto dto) {
+        return ehsdQualityProductService.getPage(dto);
+    }
+
+    /**
+     * 质检--商品包装明细
+     */
+    @PostMapping("/detail")
+    public EhsdQualityProductVo detail(@RequestBody BaseSelectDto dto) {
+        return ehsdQualityProductService.detail(dto.getId());
+    }
+
+    /**
+     * 质检--商品包装新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody EhsdQualityProductDto ehsdQualityProductDto) {
+        ehsdQualityProductService.add(ehsdQualityProductDto);
+    }
+
+    /**
+     * 质检--商品包装编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody EhsdQualityProductDto ehsdQualityProductDto) {
+        ehsdQualityProductService.edit(ehsdQualityProductDto);
+    }
+
+    /**
+     * 质检--商品包装删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        ehsdQualityProductService.delete(dto.getId());
+    }
+
+}

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualitySiteTestController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.quality;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualitySiteTestVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualitySiteTestSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualitySiteTestDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.quality.EhsdQualitySiteTestService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 质检工艺表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@RestController
+@RequestMapping("/ehsdQualitySiteTest")
+public class EhsdQualitySiteTestController {
+
+    @Autowired
+    private EhsdQualitySiteTestService ehsdQualitySiteTestService;
+
+    /**
+     * 质检工艺表分页
+     */
+    @PostMapping("/page")
+    public Page<EhsdQualitySiteTestVo> page(@RequestBody EhsdQualitySiteTestSelectDto dto) {
+        return ehsdQualitySiteTestService.getPage(dto);
+    }
+
+    /**
+     * 质检工艺表明细
+     */
+    @PostMapping("/detail")
+    public EhsdQualitySiteTestVo detail(@RequestBody BaseSelectDto dto) {
+        return ehsdQualitySiteTestService.detail(dto.getId());
+    }
+
+    /**
+     * 质检工艺表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody EhsdQualitySiteTestDto ehsdQualitySiteTestDto) {
+        ehsdQualitySiteTestService.add(ehsdQualitySiteTestDto);
+    }
+
+    /**
+     * 质检工艺表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody EhsdQualitySiteTestDto ehsdQualitySiteTestDto) {
+        ehsdQualitySiteTestService.edit(ehsdQualitySiteTestDto);
+    }
+
+    /**
+     * 质检工艺表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        ehsdQualitySiteTestService.delete(dto.getId());
+    }
+
+}

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/quality/EhsdQualityWorkshipController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.quality;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityWorkshipVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityWorkshipSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityWorkshipDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.quality.EhsdQualityWorkshipService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 质检问题表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@RestController
+@RequestMapping("/ehsdQualityWorkship")
+public class EhsdQualityWorkshipController {
+
+    @Autowired
+    private EhsdQualityWorkshipService ehsdQualityWorkshipService;
+
+    /**
+     * 质检问题表分页
+     */
+    @PostMapping("/page")
+    public Page<EhsdQualityWorkshipVo> page(@RequestBody EhsdQualityWorkshipSelectDto dto) {
+        return ehsdQualityWorkshipService.getPage(dto);
+    }
+
+    /**
+     * 质检问题表明细
+     */
+    @PostMapping("/detail")
+    public EhsdQualityWorkshipVo detail(@RequestBody BaseSelectDto dto) {
+        return ehsdQualityWorkshipService.detail(dto.getId());
+    }
+
+    /**
+     * 质检问题表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody EhsdQualityWorkshipDto ehsdQualityWorkshipDto) {
+        ehsdQualityWorkshipService.add(ehsdQualityWorkshipDto);
+    }
+
+    /**
+     * 质检问题表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody EhsdQualityWorkshipDto ehsdQualityWorkshipDto) {
+        ehsdQualityWorkshipService.edit(ehsdQualityWorkshipDto);
+    }
+
+    /**
+     * 质检问题表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        ehsdQualityWorkshipService.delete(dto.getId());
+    }
+
+}

+ 6 - 1
hx-sale/src/main/java/com/fjhx/sale/entity/claim/po/Claim.java

@@ -21,7 +21,7 @@ import lombok.Setter;
  */
 @Getter
 @Setter
-@TableName("mapper/claim")
+@TableName("claim")
 public class Claim extends BasePo {
 
     /**
@@ -75,4 +75,9 @@ public class Claim extends BasePo {
      */
     @TableField(exist = false)
     private List<ObsFile> fileList;
+
+    /**
+     * 总金额
+     */
+    private BigDecimal sumAmount;
 }

+ 3 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/claim/vo/ClaimVo.java

@@ -4,6 +4,8 @@ import com.fjhx.sale.entity.claim.po.Claim;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * 到账认领列表查询返回值实体
  *
@@ -14,4 +16,5 @@ import lombok.Setter;
 @Setter
 public class ClaimVo extends Claim {
 
+
 }

+ 15 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/dto/ContractProductSelectDto.java

@@ -15,4 +15,19 @@ import lombok.Setter;
 public class ContractProductSelectDto extends BaseSelectDto {
 
     private String ids;
+
+    /**
+     * 订单类型
+     */
+    private String orderType;
+
+    /**
+     * 质检状态
+     */
+    private String qualityStatus;
+
+    /**
+     * 结论
+     */
+    private String summary;
 }

+ 15 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/dto/ContractSelectDto.java

@@ -24,4 +24,19 @@ public class ContractSelectDto extends BaseSelectDto {
      */
     private String sellCorporationId;
 
+    /**
+     * 客户Id
+     */
+    private String customerId;
+
+    /**
+     * 业务员
+     */
+    private String userName;
+
+    /**
+     * 业务员ID
+     */
+    private String userId;
+
 }

+ 8 - 1
hx-sale/src/main/java/com/fjhx/sale/entity/contract/vo/ContractBudgetVo.java

@@ -16,6 +16,13 @@ import java.math.BigDecimal;
 @Getter
 @Setter
 public class ContractBudgetVo extends Contract {
+
+
+    private String customerName;
+    /**
+     * 合同产品IDS
+     */
+    private String contractProductIds;
     /**
      * 拖车费币种
      */
@@ -99,7 +106,7 @@ public class ContractBudgetVo extends Contract {
     /**
      * 其他租户应付货款
      */
-    private BigDecimal otherumAmount;
+    private BigDecimal otherSumAmount;
 
     /**
      * 毛利

+ 25 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/contract/vo/ContractProductVo.java

@@ -121,4 +121,29 @@ public class ContractProductVo extends ContractProduct {
      * 客户名称
      */
     private String buyCorporationName;
+
+    /**
+     * 质检状态
+     */
+    private String qualityStatus;
+
+    /**
+     * 质检时间
+     */
+    private String qualityTime;
+
+    /**
+     * 验货人
+     */
+    private String qualityUserName;
+
+    /**
+     * 客户名称
+     */
+    private String customerName;
+
+    /**
+     * 结论
+     */
+    private String summary;
 }

+ 9 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/purchase/vo/EhsdPurchaseProductVo.java

@@ -14,4 +14,13 @@ import lombok.Setter;
 @Setter
 public class EhsdPurchaseProductVo extends EhsdPurchaseProduct {
 
+    /**
+     * 合同ID
+     */
+    private Long contractId;
+
+    /**
+     * 金额-货品
+     */
+    private String currencyAmount;
 }

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityAqlDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityAql;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检AQL表新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityAqlDto extends EhsdQualityAql {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityAqlSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检AQL表列表查询入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityAqlSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityCartonsDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityCartons;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检纸箱表新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityCartonsDto extends EhsdQualityCartons {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityCartonsSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检纸箱表列表查询入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityCartonsSelectDto extends BaseSelectDto {
+
+}

+ 20 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityDto.java

@@ -0,0 +1,20 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.fjhx.sale.entity.quality.po.EhsdQuality;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 质检基础信息表新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityDto extends EhsdQuality {
+
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityPackDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityPack;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检---产品包装明细表新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityPackDto extends EhsdQualityPack {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityPackSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检---产品包装明细表列表查询入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityPackSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityProblemDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProblem;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检问题表新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityProblemDto extends EhsdQualityProblem {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityProblemSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检问题表列表查询入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityProblemSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityProductColorDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProductColor;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检--产品规格新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityProductColorDto extends EhsdQualityProductColor {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityProductColorSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检--产品规格列表查询入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityProductColorSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityProductDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProduct;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检--商品包装新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityProductDto extends EhsdQualityProduct {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityProductSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检--商品包装列表查询入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityProductSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualitySelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检基础信息表列表查询入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualitySelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualitySiteTestDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualitySiteTest;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检工艺表新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualitySiteTestDto extends EhsdQualitySiteTest {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualitySiteTestSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检工艺表列表查询入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualitySiteTestSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityWorkshipDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityWorkship;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检问题表新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityWorkshipDto extends EhsdQualityWorkship {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/dto/EhsdQualityWorkshipSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检问题表列表查询入参实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityWorkshipSelectDto extends BaseSelectDto {
+
+}

+ 207 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQuality.java

@@ -0,0 +1,207 @@
+package com.fjhx.sale.entity.quality.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fjhx.file.entity.ObsFile;
+import com.fjhx.file.utils.ObsFileUtil;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityAqlDto;
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 质检基础信息表
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+@TableName("ehsd_quality")
+public class EhsdQuality extends BasePo {
+
+    /**
+     * 业务类型  1:销售合同产品  2:样品单产品
+     */
+    private String businessType;
+
+    /**
+     * 业务ID  1:销售合同产品ID  2:样品单产品ID
+     */
+    private Long businessId;
+
+    /**
+     * 质检单编码
+     */
+    private String code;
+
+    /**
+     * 供应商ID
+     */
+    private Long supplyId;
+
+    /**
+     * 质检时间
+     */
+    private Date inspectionDate;
+
+    /**
+     * 参考样品 0:无  1: 产品规格
+     */
+    private String referenceSample;
+
+    /**
+     * 订单数量
+     */
+    private BigDecimal orderQuantity;
+
+    /**
+     * 质检位置
+     */
+    private String inspectionLocation;
+
+    /**
+     * 质检总结列表JSON {name:passed}
+     */
+    private String inspectionSummary;
+
+    /**
+     * 总结
+     */
+    private String summary;
+
+    /**
+     * 总结结果 0:成功  1:失败
+     */
+    private String summaryResult;
+
+    /**
+     * 总结描述
+     */
+    private String summaryDescription;
+
+    /**
+     * 现场测试结果 0:成功  1:失败
+     */
+    private String siteTestResult;
+
+    /**
+     * 现场测试备注
+     */
+    private String siteTestRemark;
+
+    /**
+     * 状态 0:草稿  10 质检通过
+     */
+    private Integer status;
+
+    /**
+     * 打标类型 0:
+     */
+    private String markingType;
+
+    /**
+     * 标记结果 0:成功  1:失败
+     */
+    private String markingResult;
+
+    /**
+     * 装运唛头JSON  {shippingMarks:0}
+     */
+    private String shippingMarks;
+
+    /**
+     * 步骤节点
+     */
+    private String step;
+
+    /**
+     * 样品是否在现场采集0:YES  1: NO
+     */
+    private String sampleSite;
+
+    /**
+     * AQL列表
+     */
+    @TableField(exist = false)
+    private List<EhsdQualityAql> ehsdQualityAqlList;
+
+
+    /**
+     * 商品包装列表
+     */
+    @TableField(exist = false)
+    private List<EhsdQualityProduct> ehsdQualityProductList;
+
+
+    /**
+     * 工序列表
+     */
+    @TableField(exist = false)
+    private List<EhsdQualityWorkship> ehsdQualityWorkshipList;
+
+
+    /**
+     * 现场测试列表
+     */
+    @TableField(exist = false)
+    private List<EhsdQualitySiteTest> ehsdQualitySiteTestList;
+
+
+    /**
+     * 质检问题列表
+     */
+    @TableField(exist = false)
+    private List<EhsdQualityProblem> ehsdQualityProblemList;
+
+
+    /**
+     * 质检纸箱列表
+     */
+    @TableField(exist = false)
+    private List<EhsdQualityCartons> ehsdQualityCartonsList;
+
+
+    /**
+     * 质检包装明细表
+     */
+    @TableField(exist = false)
+    private List<EhsdQualityPack> ehsdQualityPackList;
+
+
+    /**
+     * 产品规格列表
+     */
+    @TableField(exist = false)
+    private List<EhsdQualityProductColor> ehsdQualityProductColorList;
+
+    /**
+     * 样品采集记录文件列表
+     */
+    @TableField(exist = false)
+    private List<ObsFile> SampleCollectionRecordFileList;
+
+    /**
+     * 工序照片文件列表
+     */
+    @TableField(exist = false)
+    private List<ObsFile> workshipPhotoFileList;
+
+    /**
+     * 物品缺陷照片文件列表
+     */
+    @TableField(exist = false)
+    private List<ObsFile> defectPhotosOfItemsFileList;
+
+    /**
+     * 支持文档视频文件列表
+     */
+    @TableField(exist = false)
+    private List<ObsFile> supportDocumentationFileList;
+}

+ 82 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityAql.java

@@ -0,0 +1,82 @@
+package com.fjhx.sale.entity.quality.po;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.common.core.domain.BaseIdPo;
+import com.ruoyi.common.core.domain.BasePo;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 质检AQL表
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+@TableName("ehsd_quality_aql")
+public class EhsdQualityAql extends BaseIdPo  {
+    /**
+     * 质检单ID
+     */
+    private Long qualityId;
+
+    /**
+     * aqllevel
+     */
+    private String aqlLevel;
+
+    /**
+     * 样品大小
+     */
+    private BigDecimal sampleSize;
+
+    /**
+     * 验收
+     */
+    private String acceptance;
+
+    /**
+     * 发现
+     */
+    private String finding;
+
+    /**
+     * 结果
+     */
+    private String result;
+
+    /**
+     * aql结果 0:
+     */
+    private String aqlResult;
+
+    @TableField(fill = FieldFill.INSERT)
+    private Long createUser;
+
+    /**
+     * 创建时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /**
+     * 更新人
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateUser;
+
+    /**
+     * 更新时间
+     */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Date updateTime;
+
+}

+ 48 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityCartons.java

@@ -0,0 +1,48 @@
+package com.fjhx.sale.entity.quality.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 质检纸箱表
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+@TableName("ehsd_quality_cartons")
+public class EhsdQualityCartons extends BasePo {
+
+    /**
+     * 质检单ID
+     */
+    private Long qualityId;
+
+    /**
+     * 商品
+     */
+    private String item;
+
+    /**
+     * 箱号
+     */
+    private BigDecimal cartonNumber;
+
+    /**
+     * 总数
+     */
+    private BigDecimal total;
+
+    /**
+     * 问题备注
+     */
+    private String remark;
+
+}

+ 78 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityPack.java

@@ -0,0 +1,78 @@
+package com.fjhx.sale.entity.quality.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 质检---产品包装明细表
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+@TableName("ehsd_quality_pack")
+public class EhsdQualityPack extends BasePo {
+
+    /**
+     * 质检单ID
+     */
+    private Long qualityId;
+
+    /**
+     * 商品编号
+     */
+    private String itemNo;
+
+    /**
+     * 箱子规格
+     */
+    private BigDecimal cartonSpec;
+
+    /**
+     * 箱子-实际
+     */
+    private BigDecimal catonActual;
+
+    /**
+     * 箱子大小规格
+     */
+    private BigDecimal cartonSizeSpec;
+
+    /**
+     * 箱子大小-实际
+     */
+    private BigDecimal cartonSizeActual;
+
+    /**
+     * 毛重-规格
+     */
+    private BigDecimal grossWeightSpec;
+
+    /**
+     * 毛重-实际
+     */
+    private BigDecimal grossWeightActual;
+
+    /**
+     * 内箱-规格
+     */
+    private BigDecimal innerBoxSpec;
+
+    /**
+     * 内箱-实际
+     */
+    private BigDecimal innerBoxActual;
+
+    /**
+     * 问题备注
+     */
+    private String remark;
+
+}

+ 32 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityProblem.java

@@ -0,0 +1,32 @@
+package com.fjhx.sale.entity.quality.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 质检问题表
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+@TableName("ehsd_quality_problem")
+public class EhsdQualityProblem extends BasePo {
+
+    /**
+     * 质检单ID
+     */
+    private Long qualityId;
+
+    /**
+     * 问题备注
+     */
+    private String remark;
+
+}

+ 78 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityProduct.java

@@ -0,0 +1,78 @@
+package com.fjhx.sale.entity.quality.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 质检--商品包装
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+@TableName("ehsd_quality_product")
+public class EhsdQualityProduct extends BasePo {
+
+    /**
+     * 质检单ID
+     */
+    private Long qualityId;
+
+    /**
+     * 合同/样品单编码
+     */
+    private String contractCode;
+
+    /**
+     * 商品
+     */
+    private String item;
+
+    /**
+     * 订购数量
+     */
+    private BigDecimal orderQty;
+
+    /**
+     * 纸箱数量
+     */
+    private BigDecimal cartonQty;
+
+    /**
+     * 订购纸箱
+     */
+    private BigDecimal orderCartons;
+
+    /**
+     * 包装数量
+     */
+    private BigDecimal packed;
+
+    /**
+     * 未包装数量
+     */
+    private BigDecimal unpacked;
+
+    /**
+     * 样品包装数量
+     */
+    private BigDecimal samplePacked;
+
+    /**
+     * 样品未包装数量
+     */
+    private BigDecimal sampleUnpacked;
+
+    /**
+     * 问题备注
+     */
+    private String remark;
+
+}

+ 61 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityProductColor.java

@@ -0,0 +1,61 @@
+package com.fjhx.sale.entity.quality.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 质检--产品规格
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+@TableName("ehsd_quality_product_color")
+public class EhsdQualityProductColor extends BasePo {
+
+    /**
+     * 质检单ID
+     */
+    private Long qualityId;
+    /**
+     * 产品表ID
+     */
+    private Long productId;
+
+    /**
+     * 产品尺寸型号
+     */
+    private String productModel;
+
+    /**
+     * 参考样本
+     */
+    private String refSample;
+
+    /**
+     * 参考样本1
+     */
+    private String refSampleOne;
+
+    /**
+     * 参考样本2
+     */
+    private String refSampleTwo;
+
+    /**
+     * 参考样本3
+     */
+    private String refSampleThree;
+
+    /**
+     * 问题备注
+     */
+    private String remark;
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualitySiteTest.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.entity.quality.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 质检--现场测试表
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+@TableName("ehsd_quality_site_test")
+public class EhsdQualitySiteTest extends BasePo {
+
+    /**
+     * 质检单ID
+     */
+    private Long qualityId;
+    /**
+     * 描述
+     */
+    private String description;
+
+    /**
+     * 样品大小
+     */
+    private BigDecimal sampleSize;
+
+    /**
+     * 通过
+     */
+    private String passed;
+
+    /**
+     * 失败
+     */
+    private String failed;
+
+    /**
+     * 问题备注
+     */
+    private String remark;
+
+    /**
+     * 通过 0:
+     */
+    private String result;
+
+}

+ 52 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/po/EhsdQualityWorkship.java

@@ -0,0 +1,52 @@
+package com.fjhx.sale.entity.quality.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 质检工序表
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+@TableName("ehsd_quality_workship")
+public class EhsdQualityWorkship extends BasePo {
+
+    /**
+     * 质检单ID
+     */
+    private Long qualityId;
+
+    /**
+     * 描述
+     */
+    private String description;
+
+    /**
+     * 问题备注
+     */
+    private String remark;
+
+    /**
+     * 最重要
+     */
+    private String critical;
+
+    /**
+     * 主要
+     */
+    private String major;
+
+    /**
+     * 小
+     */
+    private String minor;
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityAqlVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.vo;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityAql;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检AQL表列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityAqlVo extends EhsdQualityAql {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityCartonsVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.vo;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityCartons;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检纸箱表列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityCartonsVo extends EhsdQualityCartons {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityPackVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.vo;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityPack;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检---产品包装明细表列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityPackVo extends EhsdQualityPack {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityProblemVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.vo;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProblem;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检问题表列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityProblemVo extends EhsdQualityProblem {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityProductColorVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.vo;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProductColor;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检--产品规格列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityProductColorVo extends EhsdQualityProductColor {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityProductVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.vo;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProduct;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检--商品包装列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityProductVo extends EhsdQualityProduct {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualitySiteTestVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.vo;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualitySiteTest;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检工艺表列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualitySiteTestVo extends EhsdQualitySiteTest {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.vo;
+
+import com.fjhx.sale.entity.quality.po.EhsdQuality;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检基础信息表列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityVo extends EhsdQuality {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quality/vo/EhsdQualityWorkshipVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.quality.vo;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityWorkship;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 质检问题表列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Getter
+@Setter
+public class EhsdQualityWorkshipVo extends EhsdQualityWorkship {
+
+}

+ 9 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/contract/ContractProductMapper.java

@@ -49,6 +49,15 @@ public interface ContractProductMapper extends BaseMapper<ContractProduct> {
     Page<ContractProductVo> getEHSDPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ContractProduct> wrapper);
 
     /**
+     * ehsd待质检列表
+     * @param page
+     * @param wrapper
+     * @return
+     */
+    Page<ContractProductVo> getEHSDQualityPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ContractProduct> wrapper);
+
+
+    /**
      * 合同交接单
      * @param page
      * @param wrapper

+ 1 - 1
hx-sale/src/main/java/com/fjhx/sale/mapper/purchase/EhsdPurchaseProductMapper.java

@@ -32,5 +32,5 @@ public interface EhsdPurchaseProductMapper extends BaseMapper<EhsdPurchaseProduc
      * @param contractIds
      * @return
      */
-    Map<Long, String> getGroupSumAmount(List<Long> contractIds);
+    List<EhsdPurchaseProductVo> getGroupSumAmount(List<Long> contractIds);
 }

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityAqlMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityAql;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityAqlVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 质检AQL表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityAqlMapper extends BaseMapper<EhsdQualityAql> {
+
+    /**
+     * 质检AQL表分页
+     */
+    Page<EhsdQualityAqlVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<EhsdQualityAql> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityCartonsMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityCartons;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityCartonsVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 质检纸箱表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityCartonsMapper extends BaseMapper<EhsdQualityCartons> {
+
+    /**
+     * 质检纸箱表分页
+     */
+    Page<EhsdQualityCartonsVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<EhsdQualityCartons> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQuality;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 质检基础信息表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityMapper extends BaseMapper<EhsdQuality> {
+
+    /**
+     * 质检基础信息表分页
+     */
+    Page<EhsdQualityVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<EhsdQuality> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityPackMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityPack;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityPackVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 质检---产品包装明细表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityPackMapper extends BaseMapper<EhsdQualityPack> {
+
+    /**
+     * 质检---产品包装明细表分页
+     */
+    Page<EhsdQualityPackVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<EhsdQualityPack> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityProblemMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProblem;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityProblemVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 质检问题表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityProblemMapper extends BaseMapper<EhsdQualityProblem> {
+
+    /**
+     * 质检问题表分页
+     */
+    Page<EhsdQualityProblemVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<EhsdQualityProblem> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityProductColorMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProductColor;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityProductColorVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 质检--产品规格 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityProductColorMapper extends BaseMapper<EhsdQualityProductColor> {
+
+    /**
+     * 质检--产品规格分页
+     */
+    Page<EhsdQualityProductColorVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<EhsdQualityProductColor> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityProductMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProduct;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityProductVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 质检--商品包装 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityProductMapper extends BaseMapper<EhsdQualityProduct> {
+
+    /**
+     * 质检--商品包装分页
+     */
+    Page<EhsdQualityProductVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<EhsdQualityProduct> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualitySiteTestMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualitySiteTest;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualitySiteTestVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 质检工艺表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualitySiteTestMapper extends BaseMapper<EhsdQualitySiteTest> {
+
+    /**
+     * 质检工艺表分页
+     */
+    Page<EhsdQualitySiteTestVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<EhsdQualitySiteTest> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/quality/EhsdQualityWorkshipMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityWorkship;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityWorkshipVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 质检问题表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityWorkshipMapper extends BaseMapper<EhsdQualityWorkship> {
+
+    /**
+     * 质检问题表分页
+     */
+    Page<EhsdQualityWorkshipVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<EhsdQualityWorkship> wrapper);
+
+}

+ 7 - 0
hx-sale/src/main/java/com/fjhx/sale/service/claim/ClaimService.java

@@ -7,6 +7,8 @@ import com.fjhx.sale.entity.claim.vo.ClaimVo;
 import com.fjhx.sale.entity.claim.dto.ClaimSelectDto;
 import com.fjhx.sale.entity.claim.dto.ClaimDto;
 
+import java.math.BigDecimal;
+
 
 /**
  * <p>
@@ -43,4 +45,9 @@ public interface ClaimService extends BaseService<Claim> {
      */
     void delete(Long id);
 
+    /**
+     * 查询已认领金额
+     */
+    BigDecimal sumClaimMoney(Long businessId);
+
 }

+ 16 - 0
hx-sale/src/main/java/com/fjhx/sale/service/claim/impl/ClaimServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fjhx.sale.service.claim.impl;
 
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -14,6 +15,7 @@ import com.fjhx.sale.service.claim.ClaimContractService;
 import com.fjhx.sale.service.claim.ClaimService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.obs.services.internal.ServiceException;
+import com.ruoyi.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -23,6 +25,7 @@ import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.fjhx.sale.entity.claim.dto.ClaimDto;
 import cn.hutool.core.bean.BeanUtil;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 
@@ -120,4 +123,17 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 
     }
 
+    /**
+     * 查询已认领金额
+     * @param businessId
+     */
+    @Override
+    public BigDecimal sumClaimMoney(Long businessId) {
+        QueryWrapper queryWrapper = new QueryWrapper();
+        queryWrapper.select("IFNULL(SUM(amount),0) AS sumAmount");
+        queryWrapper.eq("business_id",businessId);
+        Claim claim = this.getOne(queryWrapper);
+        return claim==null?BigDecimal.ZERO:claim.getSumAmount();
+    }
+
 }

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/ContractProductService.java

@@ -63,6 +63,11 @@ public interface ContractProductService extends BaseService<ContractProduct> {
     Page<ContractProductVo> getEHSDPage(ContractProductSelectDto dto);
 
     /**
+     * ehsd-待质检分页
+     */
+    Page<ContractProductVo> getEHSDQualityPage(ContractProductSelectDto dto);
+
+    /**
      * 合同交接单--分页
      */
     Page<ContractProductVo> contractHandoverPage(ContractProductSelectDto dto);

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractProductServiceImpl.java

@@ -99,6 +99,7 @@ public class ContractProductServiceImpl extends ServiceImpl<ContractProductMappe
         }
         return page;
     }
+
     /**
      * 根据合同ID和客户ID查询未包装的产品
      * @param customerId
@@ -159,6 +160,51 @@ public class ContractProductServiceImpl extends ServiceImpl<ContractProductMappe
     }
 
     /**
+     * 待质检分页
+     * @param dto
+     * @return
+     */
+    @Override
+    public Page<ContractProductVo> getEHSDQualityPage(ContractProductSelectDto dto) {
+        IWrapper<ContractProduct> wrapper = getWrapper();
+        wrapper.orderByDesc("t1.ct");
+        if(StringUtils.isNotEmpty(dto.getKeyword())){
+            wrapper.keyword(dto.getKeyword(),new SqlField("t1.`contractCode`"),new SqlField("t1.`userName`"));
+        }
+        if(StringUtils.isNotEmpty(dto.getOrderType())){
+            wrapper.eq("t1.orderType",dto.getOrderType());
+        }
+        if(StringUtils.isNotEmpty(dto.getQualityStatus())){
+            wrapper.eq("t1.qualityStatus",dto.getQualityStatus());
+        }
+        if(StringUtils.isNotEmpty(dto.getSummary())){
+            wrapper.eq("t1.summary",dto.getSummary());
+        }
+        Page<ContractProductVo> page = this.baseMapper.getEHSDPage(dto.getPage(), wrapper);
+        List<ContractProductVo> list = page.getRecords();
+        if(CollectionUtils.isNotEmpty(list)){
+            // 赋值产品属性
+            productInfoService.attributeAssign(list, ContractProductVo::getProductId, (item, product) -> {
+                item.setProductCode(product.getCode());
+                item.setProductUnit(product.getUnit());
+                item.setProductType(product.getType());
+//                item.setProductName(product.getName());
+                item.setProductSpec(product.getSpec());
+                item.setProductCategoryId(product.getProductClassifyId());
+            });
+            // 赋值产品分类名称
+            productClassifyService.attributeAssign(list, ContractProductVo::getProductCategoryId, (item, productClassify) -> {
+                item.setProductCategory(productClassify.getName());
+            });
+            // 赋值客户名称
+            customerService.attributeAssign(list, ContractProductVo::getBuyCorporationId, (item, customer) -> {
+                item.setCustomerName(customer.getName());
+            });
+        }
+        return page;
+    }
+
+    /**
      * 合同交接单--分页
      */
     @Override

+ 27 - 7
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractServiceImpl.java

@@ -28,7 +28,9 @@ import com.fjhx.common.service.documentary.GetDocumentaryBusinessTemplate;
 import com.fjhx.customer.entity.customer.dto.CustomerDto;
 import com.fjhx.customer.entity.customer.po.Customer;
 import com.fjhx.customer.service.customer.CustomerService;
+import com.fjhx.sale.entity.contract.bo.ContractCurrencyRate;
 import com.fjhx.sale.entity.purchase.po.EhsdPurchaseProduct;
+import com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo;
 import com.fjhx.sale.entity.serviceContract.po.ServiceContract;
 import com.fjhx.sale.service.purchase.EhsdPurchaseProductService;
 import com.fjhx.file.entity.FileInfoVo;
@@ -116,6 +118,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
     @Autowired
     private CurrencyRateService currencyRateService;
 
+
     /**
      * 分页
      *
@@ -187,11 +190,27 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
         IWrapper<Contract> wrapper = getWrapper();
         wrapper.orderByDesc("t1", Contract::getCreateTime);
         wrapper.between("t1", Contract::getStatus, FlowStatusEnum.PASS.getKey(), FlowStatusEnum.CANCELLATION.getKey() - 1);
+        if(StringUtils.isNotEmpty(dto.getCustomerId())){
+            wrapper.eq("t1",Contract::getBuyCorporationId,dto.getCustomerId());
+        }
+        if(StringUtils.isNotEmpty(dto.getUserId())){
+            wrapper.eq("t1",Contract::getCreateUser,dto.getUserId());
+        }
+        if(StringUtils.isNotEmpty(dto.getKeyword())){
+            wrapper.keyword(dto.getKeyword(),new SqlField("t1.code"));
+        }
         Page<ContractBudgetVo> page = this.baseMapper.getProfitBudgetPage(dto.getPage(), wrapper);
         List<ContractBudgetVo> list = page.getRecords();
         if(CollectionUtils.isNotEmpty(list)){
+            // 赋值客户名称
+            customerService.attributeAssign(list, Contract::getBuyCorporationId, (item, customer) -> {
+                item.setCustomerName(customer.getName());
+            });
+            //取出EHSD采购所有金额和货币-通过合同ID分组
             List<Long> contractIds = list.stream().map(ContractBudgetVo::getContractId).collect(Collectors.toList());
-            Map<Long,String> ehsdAmountMap = ehsdPurchaseProductService.getGroupSumAmount(contractIds);
+            List<EhsdPurchaseProductVo> ehsdAmountList = ehsdPurchaseProductService.getGroupSumAmount(contractIds);
+            //取出采购所有金额和货币-通过合同ID分组
+            Map<Long,String> ehsdAmountMap = ehsdAmountList.stream().collect(Collectors.toMap(EhsdPurchaseProductVo::getContractId,EhsdPurchaseProductVo::getCurrencyAmount));
             List<PurchaseDetailVo> otherAmountList = purchaseDetailService.getSumCountInDataResourceIds(contractIds);
             Map<Long,String> otherAmountMap = otherAmountList.stream().collect(Collectors.toMap(PurchaseDetailVo::getDataResourceId,PurchaseDetailVo::getSumAmountCurrency));
             List<CurrencyRate> currencyRateList = currencyRateService.getList();
@@ -215,13 +234,14 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
                         BigDecimal amount = new BigDecimal(concatAmountCurrency.split("-")[0]);
                         String currency = concatAmountCurrency.split("-")[1];
                         BigDecimal rate = currencyRateMap.getOrDefault(currency,BigDecimal.ONE);
-                        v.setOtherumAmount(amount.multiply(rate));
+                        v.setOtherSumAmount(amount.multiply(rate));
                     }else{
-                        v.setOtherumAmount(BigDecimal.ZERO);
+                        v.setOtherSumAmount(BigDecimal.ZERO);
                     }
                 }
                 if(StringUtils.isNotEmpty(v.getCurrencyRateJson())){//如果此条合同有汇率了
-                    Map<String,Object> map = JSON.parseObject(v.getCurrencyRateJson());
+                    List<ContractCurrencyRate> contractCurrencyRates = JSON.parseArray(v.getCurrencyRateJson(), ContractCurrencyRate.class);
+                    Map<String,BigDecimal> map = contractCurrencyRates.stream().collect(Collectors.toMap(ContractCurrencyRate::getType,ContractCurrencyRate::getRate));
                     //计算收入总计=合同金额(转人民币)+应退税金额(转人民币)
                     v.setIncomeAmount(v.getAmount().multiply(new BigDecimal(map.getOrDefault(v.getCurrency(), BigDecimal.ONE).toString())).add(v.getRefundableAmount()));
                     //计算支出总计 除合同金额(转人民币)+应退税金额(转人民币) 其他金额相加
@@ -233,7 +253,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
                             (v.getCommission()==null?BigDecimal.ZERO:v.getCommission().multiply(new BigDecimal(map.getOrDefault(v.getCommissionCurrency(),BigDecimal.ONE).toString()))).add
                             (v.getOther()==null?BigDecimal.ZERO:v.getOther().multiply(new BigDecimal(map.getOrDefault(v.getOtherCurrency(),BigDecimal.ONE).toString()))).add
                             (v.getEhsdSumAmount()==null?BigDecimal.ZERO:v.getEhsdSumAmount()).add
-                            (v.getOtherumAmount()==null?BigDecimal.ZERO:v.getOtherumAmount()));
+                            (v.getOtherSumAmount()==null?BigDecimal.ZERO:v.getOtherSumAmount()));
                 }else{//没有汇率取默认汇率
                     //计算收入总计=合同金额(转人民币)+应退税金额(转人民币)
                     v.setIncomeAmount(v.getAmount().multiply(currencyRateMap.getOrDefault(v.getContractId(),new BigDecimal("1"))).add(v.getRefundableAmount()));
@@ -246,10 +266,10 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
                             (v.getCommission()==null?BigDecimal.ZERO:v.getCommission().multiply(new BigDecimal(currencyRateMap.getOrDefault(v.getCommissionCurrency(),BigDecimal.ONE).toString()))).add
                             (v.getOther()==null?BigDecimal.ZERO:v.getOther().multiply(new BigDecimal(currencyRateMap.getOrDefault(v.getOtherCurrency(),BigDecimal.ONE).toString()))).add
                             (v.getEhsdSumAmount()==null?BigDecimal.ZERO:v.getEhsdSumAmount()).add
-                            (v.getOtherumAmount()==null?BigDecimal.ZERO:v.getOtherumAmount()));
+                            (v.getOtherSumAmount()==null?BigDecimal.ZERO:v.getOtherSumAmount()));
                 }
                 //计算毛利 收入-支出
-                v.setGross(v.getExpenditureAmount().subtract(v.getIncomeAmount()));
+                v.setGross(v.getIncomeAmount().subtract(v.getExpenditureAmount()));
                 //计算毛利率 毛利/收入
                 v.setGrossRate(v.getGross().divide(v.getIncomeAmount(), RoundingMode.CEILING));
             }

+ 1 - 1
hx-sale/src/main/java/com/fjhx/sale/service/purchase/EhsdPurchaseProductService.java

@@ -52,5 +52,5 @@ public interface EhsdPurchaseProductService extends BaseService<EhsdPurchaseProd
      * @param contractIds
      * @return
      */
-    Map<Long, String> getGroupSumAmount(List<Long> contractIds);
+    List<EhsdPurchaseProductVo> getGroupSumAmount(List<Long> contractIds);
 }

+ 1 - 1
hx-sale/src/main/java/com/fjhx/sale/service/purchase/impl/EhsdPurchaseProductServiceImpl.java

@@ -64,7 +64,7 @@ public class EhsdPurchaseProductServiceImpl extends ServiceImpl<EhsdPurchaseProd
      * @return
      */
     @Override
-    public Map<Long, String> getGroupSumAmount(List<Long> contractIds) {
+    public List<EhsdPurchaseProductVo> getGroupSumAmount(List<Long> contractIds) {
         return baseMapper.getGroupSumAmount(contractIds);
     }
 

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityAqlService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityAql;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityAqlVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityAqlSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityAqlDto;
+
+
+/**
+ * <p>
+ * 质检AQL表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityAqlService extends BaseService<EhsdQualityAql> {
+
+    /**
+     * 质检AQL表分页
+     */
+    Page<EhsdQualityAqlVo> getPage(EhsdQualityAqlSelectDto dto);
+
+    /**
+     * 质检AQL表明细
+     */
+    EhsdQualityAqlVo detail(Long id);
+
+    /**
+     * 质检AQL表新增
+     */
+    void add(EhsdQualityAqlDto ehsdQualityAqlDto);
+
+    /**
+     * 质检AQL表编辑
+     */
+    void edit(EhsdQualityAqlDto ehsdQualityAqlDto);
+
+    /**
+     * 质检AQL表删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityCartonsService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityCartons;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityCartonsVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityCartonsSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityCartonsDto;
+
+
+/**
+ * <p>
+ * 质检纸箱表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityCartonsService extends BaseService<EhsdQualityCartons> {
+
+    /**
+     * 质检纸箱表分页
+     */
+    Page<EhsdQualityCartonsVo> getPage(EhsdQualityCartonsSelectDto dto);
+
+    /**
+     * 质检纸箱表明细
+     */
+    EhsdQualityCartonsVo detail(Long id);
+
+    /**
+     * 质检纸箱表新增
+     */
+    void add(EhsdQualityCartonsDto ehsdQualityCartonsDto);
+
+    /**
+     * 质检纸箱表编辑
+     */
+    void edit(EhsdQualityCartonsDto ehsdQualityCartonsDto);
+
+    /**
+     * 质检纸箱表删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityPackService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityPack;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityPackVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityPackSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityPackDto;
+
+
+/**
+ * <p>
+ * 质检---产品包装明细表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityPackService extends BaseService<EhsdQualityPack> {
+
+    /**
+     * 质检---产品包装明细表分页
+     */
+    Page<EhsdQualityPackVo> getPage(EhsdQualityPackSelectDto dto);
+
+    /**
+     * 质检---产品包装明细表明细
+     */
+    EhsdQualityPackVo detail(Long id);
+
+    /**
+     * 质检---产品包装明细表新增
+     */
+    void add(EhsdQualityPackDto ehsdQualityPackDto);
+
+    /**
+     * 质检---产品包装明细表编辑
+     */
+    void edit(EhsdQualityPackDto ehsdQualityPackDto);
+
+    /**
+     * 质检---产品包装明细表删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityProblemService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProblem;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityProblemVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProblemSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProblemDto;
+
+
+/**
+ * <p>
+ * 质检问题表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityProblemService extends BaseService<EhsdQualityProblem> {
+
+    /**
+     * 质检问题表分页
+     */
+    Page<EhsdQualityProblemVo> getPage(EhsdQualityProblemSelectDto dto);
+
+    /**
+     * 质检问题表明细
+     */
+    EhsdQualityProblemVo detail(Long id);
+
+    /**
+     * 质检问题表新增
+     */
+    void add(EhsdQualityProblemDto ehsdQualityProblemDto);
+
+    /**
+     * 质检问题表编辑
+     */
+    void edit(EhsdQualityProblemDto ehsdQualityProblemDto);
+
+    /**
+     * 质检问题表删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityProductColorService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProductColor;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityProductColorVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProductColorSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProductColorDto;
+
+
+/**
+ * <p>
+ * 质检--产品规格 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityProductColorService extends BaseService<EhsdQualityProductColor> {
+
+    /**
+     * 质检--产品规格分页
+     */
+    Page<EhsdQualityProductColorVo> getPage(EhsdQualityProductColorSelectDto dto);
+
+    /**
+     * 质检--产品规格明细
+     */
+    EhsdQualityProductColorVo detail(Long id);
+
+    /**
+     * 质检--产品规格新增
+     */
+    void add(EhsdQualityProductColorDto ehsdQualityProductColorDto);
+
+    /**
+     * 质检--产品规格编辑
+     */
+    void edit(EhsdQualityProductColorDto ehsdQualityProductColorDto);
+
+    /**
+     * 质检--产品规格删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityProductService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProduct;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityProductVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProductSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProductDto;
+
+
+/**
+ * <p>
+ * 质检--商品包装 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityProductService extends BaseService<EhsdQualityProduct> {
+
+    /**
+     * 质检--商品包装分页
+     */
+    Page<EhsdQualityProductVo> getPage(EhsdQualityProductSelectDto dto);
+
+    /**
+     * 质检--商品包装明细
+     */
+    EhsdQualityProductVo detail(Long id);
+
+    /**
+     * 质检--商品包装新增
+     */
+    void add(EhsdQualityProductDto ehsdQualityProductDto);
+
+    /**
+     * 质检--商品包装编辑
+     */
+    void edit(EhsdQualityProductDto ehsdQualityProductDto);
+
+    /**
+     * 质检--商品包装删除
+     */
+    void delete(Long id);
+
+}

+ 47 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityService.java

@@ -0,0 +1,47 @@
+package com.fjhx.sale.service.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQuality;
+import com.ruoyi.common.annotation.LogicIgnore;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualitySelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityDto;
+
+
+/**
+ * <p>
+ * 质检基础信息表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityService extends BaseService<EhsdQuality> {
+
+    /**
+     * 质检基础信息表分页
+     */
+    Page<EhsdQualityVo> getPage(EhsdQualitySelectDto dto);
+
+    /**
+     * 质检基础信息表明细
+     */
+    EhsdQuality detail(Long id);
+
+    /**
+     * 质检基础信息表新增
+     */
+    void submit(EhsdQualityDto ehsdQualityDto);
+
+    /**
+     * 质检基础信息表编辑
+     */
+    void edit(EhsdQualityDto ehsdQualityDto);
+
+    /**
+     * 质检基础信息表删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualitySiteTestService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualitySiteTest;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualitySiteTestVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualitySiteTestSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualitySiteTestDto;
+
+
+/**
+ * <p>
+ * 质检工艺表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualitySiteTestService extends BaseService<EhsdQualitySiteTest> {
+
+    /**
+     * 质检工艺表分页
+     */
+    Page<EhsdQualitySiteTestVo> getPage(EhsdQualitySiteTestSelectDto dto);
+
+    /**
+     * 质检工艺表明细
+     */
+    EhsdQualitySiteTestVo detail(Long id);
+
+    /**
+     * 质检工艺表新增
+     */
+    void add(EhsdQualitySiteTestDto ehsdQualitySiteTestDto);
+
+    /**
+     * 质检工艺表编辑
+     */
+    void edit(EhsdQualitySiteTestDto ehsdQualitySiteTestDto);
+
+    /**
+     * 质检工艺表删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/EhsdQualityWorkshipService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.quality;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityWorkship;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityWorkshipVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityWorkshipSelectDto;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityWorkshipDto;
+
+
+/**
+ * <p>
+ * 质检问题表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface EhsdQualityWorkshipService extends BaseService<EhsdQualityWorkship> {
+
+    /**
+     * 质检问题表分页
+     */
+    Page<EhsdQualityWorkshipVo> getPage(EhsdQualityWorkshipSelectDto dto);
+
+    /**
+     * 质检问题表明细
+     */
+    EhsdQualityWorkshipVo detail(Long id);
+
+    /**
+     * 质检问题表新增
+     */
+    void add(EhsdQualityWorkshipDto ehsdQualityWorkshipDto);
+
+    /**
+     * 质检问题表编辑
+     */
+    void edit(EhsdQualityWorkshipDto ehsdQualityWorkshipDto);
+
+    /**
+     * 质检问题表删除
+     */
+    void delete(Long id);
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityAqlServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.quality.impl;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityAql;
+import com.fjhx.sale.mapper.quality.EhsdQualityAqlMapper;
+import com.fjhx.sale.service.quality.EhsdQualityAqlService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityAqlVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityAqlSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityAqlDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 质检AQL表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Service
+public class EhsdQualityAqlServiceImpl extends ServiceImpl<EhsdQualityAqlMapper, EhsdQualityAql> implements EhsdQualityAqlService {
+
+    @Override
+    public Page<EhsdQualityAqlVo> getPage(EhsdQualityAqlSelectDto dto) {
+        IWrapper<EhsdQualityAql> wrapper = getWrapper();
+        wrapper.orderByDesc("eqa", EhsdQualityAql::getId);
+        Page<EhsdQualityAqlVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public EhsdQualityAqlVo detail(Long id) {
+        EhsdQualityAql EhsdQualityAql = this.getById(id);
+        EhsdQualityAqlVo result = BeanUtil.toBean(EhsdQualityAql, EhsdQualityAqlVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(EhsdQualityAqlDto ehsdQualityAqlDto) {
+        this.save(ehsdQualityAqlDto);
+    }
+
+    @Override
+    public void edit(EhsdQualityAqlDto ehsdQualityAqlDto) {
+        this.updateById(ehsdQualityAqlDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityCartonsServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.quality.impl;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityCartons;
+import com.fjhx.sale.mapper.quality.EhsdQualityCartonsMapper;
+import com.fjhx.sale.service.quality.EhsdQualityCartonsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityCartonsVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityCartonsSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityCartonsDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 质检纸箱表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Service
+public class EhsdQualityCartonsServiceImpl extends ServiceImpl<EhsdQualityCartonsMapper, EhsdQualityCartons> implements EhsdQualityCartonsService {
+
+    @Override
+    public Page<EhsdQualityCartonsVo> getPage(EhsdQualityCartonsSelectDto dto) {
+        IWrapper<EhsdQualityCartons> wrapper = getWrapper();
+        wrapper.orderByDesc("eqc", EhsdQualityCartons::getId);
+        Page<EhsdQualityCartonsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public EhsdQualityCartonsVo detail(Long id) {
+        EhsdQualityCartons EhsdQualityCartons = this.getById(id);
+        EhsdQualityCartonsVo result = BeanUtil.toBean(EhsdQualityCartons, EhsdQualityCartonsVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(EhsdQualityCartonsDto ehsdQualityCartonsDto) {
+        this.save(ehsdQualityCartonsDto);
+    }
+
+    @Override
+    public void edit(EhsdQualityCartonsDto ehsdQualityCartonsDto) {
+        this.updateById(ehsdQualityCartonsDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityPackServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.quality.impl;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityPack;
+import com.fjhx.sale.mapper.quality.EhsdQualityPackMapper;
+import com.fjhx.sale.service.quality.EhsdQualityPackService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityPackVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityPackSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityPackDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 质检---产品包装明细表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Service
+public class EhsdQualityPackServiceImpl extends ServiceImpl<EhsdQualityPackMapper, EhsdQualityPack> implements EhsdQualityPackService {
+
+    @Override
+    public Page<EhsdQualityPackVo> getPage(EhsdQualityPackSelectDto dto) {
+        IWrapper<EhsdQualityPack> wrapper = getWrapper();
+        wrapper.orderByDesc("eqp", EhsdQualityPack::getId);
+        Page<EhsdQualityPackVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public EhsdQualityPackVo detail(Long id) {
+        EhsdQualityPack EhsdQualityPack = this.getById(id);
+        EhsdQualityPackVo result = BeanUtil.toBean(EhsdQualityPack, EhsdQualityPackVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(EhsdQualityPackDto ehsdQualityPackDto) {
+        this.save(ehsdQualityPackDto);
+    }
+
+    @Override
+    public void edit(EhsdQualityPackDto ehsdQualityPackDto) {
+        this.updateById(ehsdQualityPackDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityProblemServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.quality.impl;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProblem;
+import com.fjhx.sale.mapper.quality.EhsdQualityProblemMapper;
+import com.fjhx.sale.service.quality.EhsdQualityProblemService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityProblemVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProblemSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProblemDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 质检问题表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Service
+public class EhsdQualityProblemServiceImpl extends ServiceImpl<EhsdQualityProblemMapper, EhsdQualityProblem> implements EhsdQualityProblemService {
+
+    @Override
+    public Page<EhsdQualityProblemVo> getPage(EhsdQualityProblemSelectDto dto) {
+        IWrapper<EhsdQualityProblem> wrapper = getWrapper();
+        wrapper.orderByDesc("eqp", EhsdQualityProblem::getId);
+        Page<EhsdQualityProblemVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public EhsdQualityProblemVo detail(Long id) {
+        EhsdQualityProblem EhsdQualityProblem = this.getById(id);
+        EhsdQualityProblemVo result = BeanUtil.toBean(EhsdQualityProblem, EhsdQualityProblemVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(EhsdQualityProblemDto ehsdQualityProblemDto) {
+        this.save(ehsdQualityProblemDto);
+    }
+
+    @Override
+    public void edit(EhsdQualityProblemDto ehsdQualityProblemDto) {
+        this.updateById(ehsdQualityProblemDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityProductColorServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.quality.impl;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProductColor;
+import com.fjhx.sale.mapper.quality.EhsdQualityProductColorMapper;
+import com.fjhx.sale.service.quality.EhsdQualityProductColorService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityProductColorVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProductColorSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProductColorDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 质检--产品规格 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Service
+public class EhsdQualityProductColorServiceImpl extends ServiceImpl<EhsdQualityProductColorMapper, EhsdQualityProductColor> implements EhsdQualityProductColorService {
+
+    @Override
+    public Page<EhsdQualityProductColorVo> getPage(EhsdQualityProductColorSelectDto dto) {
+        IWrapper<EhsdQualityProductColor> wrapper = getWrapper();
+        wrapper.orderByDesc("eqpc", EhsdQualityProductColor::getId);
+        Page<EhsdQualityProductColorVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public EhsdQualityProductColorVo detail(Long id) {
+        EhsdQualityProductColor EhsdQualityProductColor = this.getById(id);
+        EhsdQualityProductColorVo result = BeanUtil.toBean(EhsdQualityProductColor, EhsdQualityProductColorVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(EhsdQualityProductColorDto ehsdQualityProductColorDto) {
+        this.save(ehsdQualityProductColorDto);
+    }
+
+    @Override
+    public void edit(EhsdQualityProductColorDto ehsdQualityProductColorDto) {
+        this.updateById(ehsdQualityProductColorDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityProductServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.quality.impl;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityProduct;
+import com.fjhx.sale.mapper.quality.EhsdQualityProductMapper;
+import com.fjhx.sale.service.quality.EhsdQualityProductService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityProductVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProductSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityProductDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 质检--商品包装 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Service
+public class EhsdQualityProductServiceImpl extends ServiceImpl<EhsdQualityProductMapper, EhsdQualityProduct> implements EhsdQualityProductService {
+
+    @Override
+    public Page<EhsdQualityProductVo> getPage(EhsdQualityProductSelectDto dto) {
+        IWrapper<EhsdQualityProduct> wrapper = getWrapper();
+        wrapper.orderByDesc("eqp", EhsdQualityProduct::getId);
+        Page<EhsdQualityProductVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public EhsdQualityProductVo detail(Long id) {
+        EhsdQualityProduct EhsdQualityProduct = this.getById(id);
+        EhsdQualityProductVo result = BeanUtil.toBean(EhsdQualityProduct, EhsdQualityProductVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(EhsdQualityProductDto ehsdQualityProductDto) {
+        this.save(ehsdQualityProductDto);
+    }
+
+    @Override
+    public void edit(EhsdQualityProductDto ehsdQualityProductDto) {
+        this.updateById(ehsdQualityProductDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 179 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityServiceImpl.java

@@ -0,0 +1,179 @@
+package com.fjhx.sale.service.quality.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.fjhx.common.enums.CodingRuleEnum;
+import com.fjhx.common.enums.FlowStatusEnum;
+import com.fjhx.common.service.coding.CodingRuleService;
+import com.fjhx.file.enums.FileTypeEnums;
+import com.fjhx.file.utils.ObsFileUtil;
+import com.fjhx.sale.entity.quality.po.*;
+import com.fjhx.sale.mapper.quality.EhsdQualityMapper;
+import com.fjhx.sale.service.quality.*;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.obs.services.internal.ServiceException;
+import com.ruoyi.common.annotation.LogicIgnore;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualitySelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityDto;
+
+
+/**
+ * <p>
+ * 质检基础信息表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Service
+public class EhsdQualityServiceImpl extends ServiceImpl<EhsdQualityMapper, EhsdQuality> implements EhsdQualityService {
+
+    @Autowired
+    private CodingRuleService codingRuleService;
+
+    @Autowired
+    private EhsdQualityAqlService ehsdQualityAqlService;
+
+    @Autowired
+    private EhsdQualityProblemService ehsdQualityProblemService;
+
+    @Autowired
+    private EhsdQualityProductService ehsdQualityProductService;
+
+    @Autowired
+    private EhsdQualityProductColorService ehsdQualityProductColorService;
+
+    @Autowired
+    private EhsdQualityWorkshipService ehsdQualityWorkshipService;
+
+    @Autowired
+    private EhsdQualityCartonsService ehsdQualityCartonsService;
+
+    @Autowired
+    private EhsdQualityPackService ehsdQualityPackService;
+
+    @Autowired
+    private EhsdQualitySiteTestService ehsdQualitySiteTestService;
+
+    @Override
+    public Page<EhsdQualityVo> getPage(EhsdQualitySelectDto dto) {
+        IWrapper<EhsdQuality> wrapper = getWrapper();
+        wrapper.orderByDesc("eq", EhsdQuality::getId);
+        Page<EhsdQualityVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+
+        return page;
+    }
+
+    /**
+     * 详情
+     * @param id
+     * @return
+     */
+    @Override
+    public EhsdQuality detail(Long id) {
+        EhsdQuality quality = this.getById(id);
+        if(ObjectUtils.isEmpty(quality)){
+            throw new ServiceException("质检单不存在");
+        }
+        quality.setEhsdQualityAqlList(ehsdQualityAqlService.list(Wrappers.<EhsdQualityAql>query().lambda()));
+        quality.setEhsdQualityProblemList(ehsdQualityProblemService.list(Wrappers.<EhsdQualityProblem>query().lambda().eq(EhsdQualityProblem::getQualityId,id)));
+        quality.setEhsdQualitySiteTestList(ehsdQualitySiteTestService.list(Wrappers.<EhsdQualitySiteTest>query().lambda().eq(EhsdQualitySiteTest::getQualityId,id)));
+        quality.setEhsdQualityPackList(ehsdQualityPackService.list(Wrappers.<EhsdQualityPack>query().lambda().eq(EhsdQualityPack::getQualityId,id)));
+        quality.setEhsdQualityCartonsList(ehsdQualityCartonsService.list(Wrappers.<EhsdQualityCartons>query().lambda().eq(EhsdQualityCartons::getQualityId,id)));
+        quality.setEhsdQualityWorkshipList(ehsdQualityWorkshipService.list(Wrappers.<EhsdQualityWorkship>query().lambda().eq(EhsdQualityWorkship::getQualityId,id)));
+        quality.setEhsdQualityProductColorList(ehsdQualityProductColorService.list(Wrappers.<EhsdQualityProductColor>query().lambda().eq(EhsdQualityProductColor::getQualityId,id)));
+        quality.setEhsdQualityProductList(ehsdQualityProductService.list(Wrappers.<EhsdQualityProduct>query().lambda().eq(EhsdQualityProduct::getQualityId,id)));
+        return quality;
+    }
+
+    /**
+     * 提交
+     * @param ehsdQualityDto
+     */
+    @Override
+    @LogicIgnore(tableName = {""},alias = {""})
+    public void submit(EhsdQualityDto ehsdQualityDto) {
+        if(ObjectUtils.isEmpty(ehsdQualityDto.getId())){//添加
+            ehsdQualityDto.setCode(codingRuleService.createCode(CodingRuleEnum.CONTRACT.getKey(),null));
+            this.save(ehsdQualityDto);
+        }else{//修改
+            this.updateById(ehsdQualityDto);
+            //清空数据
+            ehsdQualityAqlService.remove(Wrappers.<EhsdQualityAql>query().lambda().eq(EhsdQualityAql::getQualityId,ehsdQualityDto.getId()));
+            ehsdQualityProductService.remove(Wrappers.<EhsdQualityProduct>query().lambda().eq(EhsdQualityProduct::getQualityId,ehsdQualityDto.getId()));
+            ehsdQualityWorkshipService.remove(Wrappers.<EhsdQualityWorkship>query().lambda().eq(EhsdQualityWorkship::getQualityId,ehsdQualityDto.getId()));
+            ehsdQualityCartonsService.remove(Wrappers.<EhsdQualityCartons>query().lambda().eq(EhsdQualityCartons::getQualityId,ehsdQualityDto.getId()));
+            ehsdQualityPackService.remove(Wrappers.<EhsdQualityPack>query().lambda().eq(EhsdQualityPack::getQualityId,ehsdQualityDto.getId()));
+            ehsdQualityProductColorService.remove(Wrappers.<EhsdQualityProductColor>query().lambda().eq(EhsdQualityProductColor::getQualityId,ehsdQualityDto.getId()));
+            ehsdQualityProblemService.remove(Wrappers.<EhsdQualityProblem>query().lambda().eq(EhsdQualityProblem::getQualityId,ehsdQualityDto.getId()));
+            ehsdQualitySiteTestService.remove(Wrappers.<EhsdQualitySiteTest>query().lambda().eq(EhsdQualitySiteTest::getQualityId,ehsdQualityDto.getId()));
+            //清空文件
+            ObsFileUtil.removeFile(ehsdQualityDto.getId());
+        }
+        if(CollectionUtils.isNotEmpty(ehsdQualityDto.getEhsdQualityAqlList())){
+            ehsdQualityDto.getEhsdQualityAqlList().forEach(object -> object.setQualityId(ehsdQualityDto.getId()));
+            ehsdQualityAqlService.saveBatch(ehsdQualityDto.getEhsdQualityAqlList());
+        }
+        if(CollectionUtils.isNotEmpty(ehsdQualityDto.getEhsdQualityProblemList())){
+            ehsdQualityDto.getEhsdQualityProblemList().forEach(object -> object.setQualityId(ehsdQualityDto.getId()));
+            ehsdQualityProblemService.saveBatch(ehsdQualityDto.getEhsdQualityProblemList());
+        }
+        if(CollectionUtils.isNotEmpty(ehsdQualityDto.getEhsdQualityPackList())){
+            ehsdQualityDto.getEhsdQualityPackList().forEach(object -> object.setQualityId(ehsdQualityDto.getId()));
+            ehsdQualityPackService.saveBatch(ehsdQualityDto.getEhsdQualityPackList());
+        }
+        if(CollectionUtils.isNotEmpty(ehsdQualityDto.getEhsdQualityProductList())){
+            ehsdQualityDto.getEhsdQualityProductList().forEach(object -> object.setQualityId(ehsdQualityDto.getId()));
+            ehsdQualityProductService.saveBatch(ehsdQualityDto.getEhsdQualityProductList());
+        }
+        if(CollectionUtils.isNotEmpty(ehsdQualityDto.getEhsdQualityProductColorList())){
+            ehsdQualityDto.getEhsdQualityProductColorList().forEach(object -> object.setQualityId(ehsdQualityDto.getId()));
+            ehsdQualityProductColorService.saveBatch(ehsdQualityDto.getEhsdQualityProductColorList());
+        }
+        if(CollectionUtils.isNotEmpty(ehsdQualityDto.getEhsdQualityWorkshipList())){
+            ehsdQualityDto.getEhsdQualityWorkshipList().forEach(object -> object.setQualityId(ehsdQualityDto.getId()));
+            ehsdQualityWorkshipService.saveBatch(ehsdQualityDto.getEhsdQualityWorkshipList());
+        }
+        if(CollectionUtils.isNotEmpty(ehsdQualityDto.getEhsdQualityCartonsList())){
+            ehsdQualityDto.getEhsdQualityCartonsList().forEach(object -> object.setQualityId(ehsdQualityDto.getId()));
+            ehsdQualityCartonsService.saveBatch(ehsdQualityDto.getEhsdQualityCartonsList());
+        }
+        if(CollectionUtils.isNotEmpty(ehsdQualityDto.getEhsdQualitySiteTestList())){
+            ehsdQualityDto.getEhsdQualitySiteTestList().forEach(object -> object.setQualityId(ehsdQualityDto.getId()));
+            ehsdQualitySiteTestService.saveBatch(ehsdQualityDto.getEhsdQualitySiteTestList());
+        }
+        //样品采集记录文件列表
+        if(CollectionUtils.isNotEmpty(ehsdQualityDto.getSampleCollectionRecordFileList())){
+            ObsFileUtil.saveFile(ehsdQualityDto.getSampleCollectionRecordFileList(), ehsdQualityDto.getId(),FileTypeEnums.FILE_TYPE_10.getKey());
+        }
+        //工序照片文件列表列表
+        if(CollectionUtils.isNotEmpty(ehsdQualityDto.getWorkshipPhotoFileList())){
+            ObsFileUtil.saveFile(ehsdQualityDto.getWorkshipPhotoFileList(), ehsdQualityDto.getId(),FileTypeEnums.FILE_TYPE_20.getKey());
+        }
+        //物品缺陷照片文件列表
+        if(CollectionUtils.isNotEmpty(ehsdQualityDto.getDefectPhotosOfItemsFileList())){
+            ObsFileUtil.saveFile(ehsdQualityDto.getDefectPhotosOfItemsFileList(), ehsdQualityDto.getId(),FileTypeEnums.FILE_TYPE_30.getKey());
+        }
+        //支持文档视频文件列表
+        if(CollectionUtils.isNotEmpty(ehsdQualityDto.getSupportDocumentationFileList())){
+            ObsFileUtil.saveFile(ehsdQualityDto.getSupportDocumentationFileList(), ehsdQualityDto.getId(),FileTypeEnums.FILE_TYPE_40.getKey());
+        }
+    }
+
+    @Override
+    public void edit(EhsdQualityDto ehsdQualityDto) {
+        this.updateById(ehsdQualityDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualitySiteTestServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.quality.impl;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualitySiteTest;
+import com.fjhx.sale.mapper.quality.EhsdQualitySiteTestMapper;
+import com.fjhx.sale.service.quality.EhsdQualitySiteTestService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualitySiteTestVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualitySiteTestSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.quality.dto.EhsdQualitySiteTestDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 质检工艺表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Service
+public class EhsdQualitySiteTestServiceImpl extends ServiceImpl<EhsdQualitySiteTestMapper, EhsdQualitySiteTest> implements EhsdQualitySiteTestService {
+
+    @Override
+    public Page<EhsdQualitySiteTestVo> getPage(EhsdQualitySiteTestSelectDto dto) {
+        IWrapper<EhsdQualitySiteTest> wrapper = getWrapper();
+        wrapper.orderByDesc("eqst", EhsdQualitySiteTest::getId);
+        Page<EhsdQualitySiteTestVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public EhsdQualitySiteTestVo detail(Long id) {
+        EhsdQualitySiteTest EhsdQualitySiteTest = this.getById(id);
+        EhsdQualitySiteTestVo result = BeanUtil.toBean(EhsdQualitySiteTest, EhsdQualitySiteTestVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(EhsdQualitySiteTestDto ehsdQualitySiteTestDto) {
+        this.save(ehsdQualitySiteTestDto);
+    }
+
+    @Override
+    public void edit(EhsdQualitySiteTestDto ehsdQualitySiteTestDto) {
+        this.updateById(ehsdQualitySiteTestDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/quality/impl/EhsdQualityWorkshipServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.quality.impl;
+
+import com.fjhx.sale.entity.quality.po.EhsdQualityWorkship;
+import com.fjhx.sale.mapper.quality.EhsdQualityWorkshipMapper;
+import com.fjhx.sale.service.quality.EhsdQualityWorkshipService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.quality.vo.EhsdQualityWorkshipVo;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityWorkshipSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.quality.dto.EhsdQualityWorkshipDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 质检问题表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+@Service
+public class EhsdQualityWorkshipServiceImpl extends ServiceImpl<EhsdQualityWorkshipMapper, EhsdQualityWorkship> implements EhsdQualityWorkshipService {
+
+    @Override
+    public Page<EhsdQualityWorkshipVo> getPage(EhsdQualityWorkshipSelectDto dto) {
+        IWrapper<EhsdQualityWorkship> wrapper = getWrapper();
+        wrapper.orderByDesc("eqw", EhsdQualityWorkship::getId);
+        Page<EhsdQualityWorkshipVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public EhsdQualityWorkshipVo detail(Long id) {
+        EhsdQualityWorkship EhsdQualityWorkship = this.getById(id);
+        EhsdQualityWorkshipVo result = BeanUtil.toBean(EhsdQualityWorkship, EhsdQualityWorkshipVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(EhsdQualityWorkshipDto ehsdQualityWorkshipDto) {
+        this.save(ehsdQualityWorkshipDto);
+    }
+
+    @Override
+    public void edit(EhsdQualityWorkshipDto ehsdQualityWorkshipDto) {
+        this.updateById(ehsdQualityWorkshipDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 1 - 0
hx-sale/src/main/resources/mapper/contract/ContractMapper.xml

@@ -12,6 +12,7 @@
 
     <select id="getProfitBudgetPage" resultType="com.fjhx.sale.entity.contract.vo.ContractBudgetVo">
         SELECT
+            (select GROUP_CONCAT(id) from contract_product WHERE contract_id = t1.id) AS contractProductIds,
             t1.id AS contractId,
             t1.`code`,
             t1.buy_corporation_id ,

+ 57 - 0
hx-sale/src/main/resources/mapper/contract/ContractProductMapper.xml

@@ -63,6 +63,63 @@
         ) t1
             ${ew.customSqlSegment}
     </select>
+    <select id="getEHSDQualityPage" resultType="com.fjhx.sale.entity.contract.vo.ContractProductVo">
+        SELECT
+            *
+        FROM
+            (
+                SELECT
+                    t1.create_time AS ct,
+                    "外销合同" AS orderType,
+                    t1.id,
+                    t1.product_model AS productModel,
+                    t1.product_name AS productName,
+                    t1.contract_id,
+                    t1.product_id,
+                    t2.`code` AS `contractCode`,
+                    t2.user_name AS userName,
+                    t2.version AS contractVersion,
+                    t1.expend_quantity AS expendQuantity,
+                    t3.`status` AS qualityStatus,
+                    t3.create_time AS qualityTime,
+                    t3.user_name AS qualityUserName,
+                    t2.buy_corporation_id,
+                    t3.summary AS summary
+                FROM
+                    contract_product t1
+            LEFT JOIN contract t2 ON t1.contract_id = t2.id
+            LEFT JOIN ehsd_quality t3 ON t1.id = t3.business_id
+            WHERE
+                t2.`status` &gt;= 30
+              AND t2.`status` &lt; 88
+        UNION ALL
+        SELECT
+            t1.create_time AS ct,
+            "样品单" AS orderType,
+            t1.id,
+            t1.product_model AS productModel,
+            t1.product_name AS productName,
+            t1.sample_id,
+            t1.product_id,
+            t2.`code` AS `contractCode`,
+            t2.user_name AS userName,
+            t2.versions AS contractVersion,
+            t1.expend_quantity AS expendQuantity,
+            t3.`status` AS qualityStatus,
+            t3.create_time AS qualityTime,
+            t3.user_name AS qualityUserName,
+            t2.buy_corporation_id
+            t3.summary AS summary
+                FROM
+            sample_product t1
+            LEFT JOIN sample t2 ON t1.sample_id = t2.id
+            LEFT JOIN ehsd_quality t3 ON t1.id = t3.business_id
+        WHERE
+            t2.`status` &gt;= 30
+          AND t2.`status` &lt; 88
+            ) t1
+            ${ew.customSqlSegment}
+    </select>
     <select id="getListByIds" resultType="com.fjhx.sale.entity.contract.vo.ContractProductVo">
         SELECT
             t1.id,

+ 5 - 5
hx-sale/src/main/resources/mapper/purchase/EhsdPurchaseProductMapper.xml

@@ -21,10 +21,10 @@
             ${ew.customSqlSegment}
     </select>
 
-    <select id="getGroupSumAmount" resultType="java.util.Map">
+    <select id="getGroupSumAmount" resultType="com.fjhx.sale.entity.purchase.vo.EhsdPurchaseProductVo">
         SELECT
-            CONCAT( IFNULL( SUM( t1.amount ), 0 ), "-", IFNULL(t2.currency,"¥") ),
-            t1.data_resource_id
+            CONCAT( IFNULL( SUM( t1.amount ), 0 ), "-", IFNULL(t2.currency,"¥") )  AS currencyAmount,
+            t1.contract_id AS contractId
         FROM
             ehsd_purchase_product t1
         LEFT JOIN ehsd_purchase t2 ON t1.purchase_id = t2.id
@@ -32,10 +32,10 @@
         t2.`status` &gt;= 30
         AND t2.`status` &lt; 88
         <if test="contractIds neq null and contractIds.size() > 0">
-            <foreach collection="contractIds" item="contractId" open="AND t1.data_resource_id IN (" separator="," close=")">
+            <foreach collection="contractIds" item="contractId" open="AND t1.contract_id IN (" separator="," close=")">
                 #{contractId}
             </foreach>
         </if>
-        GROUP BY t1.data_resource_id
+        GROUP BY t1.contract_id
     </select>
 </mapper>

部分文件因为文件数量过多而无法显示