Procházet zdrojové kódy

销售明细 问题处理

yzc před 1 rokem
rodič
revize
d4ef8cd7b4

+ 1 - 2
hx-sale/src/main/java/com/fjhx/sale/mapper/sale/SaleQuotationMapper.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.customer.entity.customer.dto.CustomerDto;
-import com.fjhx.customer.entity.customer.dto.CustomerSelectDto;
 import com.fjhx.sale.entity.sale.po.SaleQuotation;
 import com.fjhx.sale.entity.sale.vo.SaleQuotationVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
@@ -42,7 +41,7 @@ public interface SaleQuotationMapper extends BaseMapper<SaleQuotation> {
      */
     List<SaleQuotationVo> getAmount(CustomerDto dto);
 
-    Page<SaleQuotationVo> saleDetail(@Param("page") Page<Object> page,@Param("dto") CustomerSelectDto dto);
+    Page<SaleQuotationVo> saleDetail(@Param("page") Page<Object> page, @Param("ew") IWrapper<SaleQuotation> ew);
 
     Page<SaleQuotationVo> latestFollowUp(@Param("page") Page<Object> page, @Param("ew") IWrapper<Object> orderByDesc, @Param("id") Long id, @Param("tenantId") String tenantId);
 

+ 6 - 2
hx-sale/src/main/java/com/fjhx/sale/service/sale/impl/SaleQuotationServiceImpl.java

@@ -15,6 +15,7 @@ import com.fjhx.account.controller.utils.DateUtils;
 import com.fjhx.area.utils.CustomizeAreaUtil;
 import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.enums.CodingRuleEnum;
+import com.fjhx.common.enums.FlowStatusEnum1;
 import com.fjhx.common.service.coding.CodingRuleService;
 import com.fjhx.common.service.corporation.CorporationService;
 import com.fjhx.customer.entity.customer.dto.CustomerDto;
@@ -24,7 +25,6 @@ import com.fjhx.customer.entity.customer.vo.CustomerVo;
 import com.fjhx.customer.service.customer.CustomerService;
 import com.fjhx.flow.service.flow.FlowExampleService;
 import com.fjhx.item.service.product.ProductInfoService;
-import com.fjhx.sale.entity.contract.po.ContractProduct;
 import com.fjhx.sale.entity.contract.vo.ContractVo;
 import com.fjhx.sale.entity.quotation.po.QuotationPay;
 import com.fjhx.sale.entity.quotation.po.QuotationProduct;
@@ -372,7 +372,11 @@ public class SaleQuotationServiceImpl extends ServiceImpl<SaleQuotationMapper, S
      */
     @Override
     public Page<SaleQuotationVo> saleDetail(CustomerSelectDto dto) {
-        Page<SaleQuotationVo> saleQuotationVoPage = baseMapper.saleDetail(dto.getPage(), dto);
+        IWrapper<SaleQuotation> wrapper = IWrapper.getWrapper();
+        wrapper.eq("t1", SaleQuotation::getBuyCorporationId, dto.getId());
+        wrapper.eq("t1.status", FlowStatusEnum1.PASS.getKey());
+        wrapper.orderByDesc("t1", SaleQuotation::getCreateTime);
+        Page<SaleQuotationVo> saleQuotationVoPage = baseMapper.saleDetail(dto.getPage(), wrapper);
         List<SaleQuotationVo> records = saleQuotationVoPage.getRecords();
         // 赋值用户名称
         UserUtil.assignmentNickName(records, SaleQuotationVo::getCreateUser, SaleQuotationVo::setUserName);

+ 23 - 24
hx-sale/src/main/resources/mapper/sale/SaleQuotationMapper.xml

@@ -32,30 +32,29 @@
             time
     </select>
     <select id="saleDetail" resultType="com.fjhx.sale.entity.sale.vo.SaleQuotationVo">
-        SELECT
-            create_time,
-            create_user,
-            IFNULL(advance_ratio,0) advanceRatio,
-            amount,
-            ifnull(ROUND((amount * advance_ratio/100),2),0) advanceCharge,
-            buy_contact_name,
-            10 as type
-        FROM
-            sale_quotation
-        WHERE
-            buy_corporation_id = #{dto.id}
-        UNION
-        SELECT
-            create_time,
-            create_user,
-            IFNULL(advance_ratio,0) advanceRatio,
-            amount,
-            ifnull(ROUND((amount * advance_ratio/100),2),0) advanceCharge,
-            buy_contact_name,
-            20 as type
-        FROM contract
-        WHERE
-            buy_corporation_id = #{dto.id}
+        select *
+        from (SELECT t1.create_time,
+                     t1.create_user,
+                     IFNULL(t1.advance_ratio, 0)                               advanceRatio,
+                     t1.amount,
+                     ifnull(ROUND((t1.amount * t1.advance_ratio / 100), 2), 0) advanceCharge,
+                     t1.buy_contact_name,
+                     10 as                                                     type,
+                     t1.buy_corporation_id,
+                     t1.status
+              FROM sale_quotation t1
+              UNION
+              SELECT t1.create_time,
+                     t1.create_user,
+                     IFNULL(t1.advance_ratio, 0)                               advanceRatio,
+                     t1.amount,
+                     ifnull(ROUND((t1.amount * t1.advance_ratio / 100), 2), 0) advanceCharge,
+                     t1.buy_contact_name,
+                     20 as                                                     type,
+                     t1.buy_corporation_id,
+                     t1.status
+              FROM contract t1) t1
+            ${ew.customSqlSegment}
     </select>
 
     <select id="latestFollowUp" resultType="com.fjhx.sale.entity.sale.vo.SaleQuotationVo">