Browse Source

到货检验列表

caozj 2 years ago
parent
commit
3a138c8596

+ 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);
+    }
+
+
+}

+ 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;
 }

+ 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/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

+ 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

+ 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,