yzc 1 год назад
Родитель
Сommit
380cfde45b

+ 1 - 1
hx-sale/src/main/java/com/fjhx/sale/service/contract/impl/ContractOutboundInfoServiceImpl.java

@@ -68,7 +68,7 @@ public class ContractOutboundInfoServiceImpl extends ServiceImpl<ContractOutboun
         List<ContractOutboundRecordsVo> contractOutboundRecordsVos = BeanUtil.copyToList(list, ContractOutboundRecordsVo.class);
         //赋值产品信息
         productInfoService.attributeAssign(contractOutboundRecordsVos, ContractOutboundRecordsVo::getProductId, (item, productInfo) -> {
-            item.setProductCode(productInfo.getCode());
+            item.setProductCode(productInfo.getCustomCode());
             item.setProductName(productInfo.getName());
             item.setProductLength(productInfo.getLength());
             item.setProductWidth(productInfo.getWidth());

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

@@ -3242,7 +3242,7 @@ public class ContractServiceImpl extends ServiceImpl<ContractMapper, Contract>
             records.setPrice(contractProduct.getPrice());
 
             //忽略空数量数据
-            if (ObjectUtil.isEmpty(records.getQuantity())) {
+            if (ObjectUtil.isEmpty(records.getQuantity()) || records.getQuantity().compareTo(BigDecimal.ZERO) <= 0) {
                 continue;
             }
 

+ 18 - 22
hx-sale/src/main/resources/mapper/contract/ContractOutboundInfoMapper.xml

@@ -1,32 +1,28 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fjhx.sale.mapper.contract.ContractOutboundInfoMapper">
-    <select id="getPage" resultType="com.fjhx.sale.entity.contract.vo.ContractOutboundInfoVo">
-        SELECT
-        coi.*,
-        c.`code` AS contractCode,
-        count( cor.product_id ) AS modCount,
-        sum( cor.quantity ) AS sumQuantity
-        FROM
-        contract_outbound_info coi
-        JOIN contract_outbound_records cor ON cor.record_id = coi.id
-        LEFT JOIN contract c ON coi.contract_id = c.id
-        <where>
-            ${ew.sqlSegment}
-        </where>
-        GROUP BY
-        coi.id
-    </select>
 
-    <select id="detail" resultType="com.fjhx.sale.entity.contract.vo.ContractOutboundInfoVo">
+    <sql id="list">
         SELECT coi.*,
-               c.`code`              AS contractCode,
-               count(cor.product_id) AS modCount,
-               sum(cor.quantity)     AS sumQuantity
+               c.`code`                  AS contractCode,
+               IFNULL(t1.modCount, 0)    AS modCount,
+               IFNULL(t1.sumQuantity, 0) AS sumQuantity
         FROM contract_outbound_info coi
-                 JOIN contract_outbound_records cor ON cor.record_id = coi.id
                  LEFT JOIN contract c ON coi.contract_id = c.id
+                 LEFT JOIN (SELECT cor.record_id,
+                                   count(cor.product_id) AS modCount,
+                                   sum(cor.quantity)     AS sumQuantity
+                            FROM contract_outbound_records cor
+                            GROUP BY cor.record_id) t1 ON t1.record_id = coi.id
+    </sql>
+
+    <select id="getPage" resultType="com.fjhx.sale.entity.contract.vo.ContractOutboundInfoVo">
+        <include refid="list"/>
+        ${ew.customSqlSegment}
+    </select>
+
+    <select id="detail" resultType="com.fjhx.sale.entity.contract.vo.ContractOutboundInfoVo">
+        <include refid="list"/>
         WHERE coi.id = #{id}
-        GROUP BY coi.id
     </select>
 </mapper>