Ver código fonte

Merge remote-tracking branch 'origin/test' into test

wks 1 ano atrás
pai
commit
62c8bda8a1

+ 13 - 0
src/main/java/com/ydtech/modules/admin/model/dto/QxFrontlineAgentDto.java

@@ -1,5 +1,6 @@
 package com.ydtech.modules.admin.model.dto;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -132,6 +133,18 @@ public class QxFrontlineAgentDto implements Serializable {
     @ApiModelProperty(value = "预计利润")
     private BigDecimal estimatedProfit;
 
+    //入口总金额
+    @ApiModelProperty(value = "入口总金额")
+    private BigDecimal entranceAllFee;
+
+    //出口总金额
+    @ApiModelProperty(value = "出口总金额")
+
+    private BigDecimal exportAllFee;
+    //毛利润
+    @ApiModelProperty(value = "毛利润")
+    private BigDecimal distributionAmount;
+
     private Integer totalManpowerNum;
 
     private Double totalPremiumNum;

+ 5 - 5
src/main/java/com/ydtech/modules/admin/service/impl/UserReportServiceImpl.java

@@ -271,8 +271,8 @@ public class UserReportServiceImpl implements UserReportService {
                 }
                 qxFrontlineAgentVo.setUserId(dto.getUserId());
                 //预期净利润
-//                BigDecimal ExpectNetProfit = insAreaCompanyService.getExpectNetProfit(qxFrontlineAgentVo);
-//                dto.setEstimatedProfit(ExpectNetProfit);
+                BigDecimal ExpectNetProfit = insAreaCompanyService.getExpectNetProfit(qxFrontlineAgentVo);
+                dto.setEstimatedProfit(ExpectNetProfit);
 
             }
             resultPage.setContent(qxFrontlineAgentDtos);
@@ -374,9 +374,9 @@ public class UserReportServiceImpl implements UserReportService {
                 }
             }
             qxFrontlineAgentVo.setUserId(dto.getUserId());
-            //预期净利润
-            BigDecimal ExpectNetProfit = insAreaCompanyService.getExpectNetProfit(qxFrontlineAgentVo);
-            dto.setEstimatedProfit(ExpectNetProfit);
+//            //预期净利润
+//            BigDecimal ExpectNetProfit = insAreaCompanyService.getExpectNetProfit(qxFrontlineAgentVo);
+//            dto.setEstimatedProfit(ExpectNetProfit);
 
             QxFrontlineAgentExcel qxFrontlineAgentExcel = new QxFrontlineAgentExcel();
             BeanUtils.copyProperties(dto,qxFrontlineAgentExcel);

+ 7 - 1
src/main/java/com/ydtech/modules/order/dao/InsAreaCompanyMapper.java

@@ -399,7 +399,13 @@ public interface InsAreaCompanyMapper extends BaseMapper<InsAreaCompany> {
      * @return  通过 用户id 获取1-3 级分销金额
      */
     HashMap<String, BigDecimal> getDistributionAllAmount(@Param("vo") QxFrontlineAgentVo qxFrontlineAgentVo);
-
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/10/22 11:00
+     *  @Description:  获取时间范围内的已承保的订单数据
+     */
+    List<InsAreaCompany> findListByDate(@Param("benginDate") String benginDate, @Param("endDate") String endDate);
 }
 
 

+ 7 - 0
src/main/java/com/ydtech/modules/order/service/InsAreaCompanyService.java

@@ -281,4 +281,11 @@ public interface InsAreaCompanyService extends IService<InsAreaCompany> {
      * @return
      */
     BigDecimal getExpectNetProfit(QxFrontlineAgentVo qxFrontlineAgentVo);
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/10/22 10:58
+     *  @Description:  获取时间范围内的已承保的订单
+     */
+    List<InsAreaCompany> findListByDate(String benginDate, String endDate);
 }

+ 13 - 10
src/main/java/com/ydtech/modules/order/service/impl/InsAreaCompanyServiceImpl.java

@@ -1125,19 +1125,22 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
             BigDecimal entranceAllFee = insAreaCompany.getEntranceAllFee();// 入口金额
             BigDecimal exportAllFee = insAreaCompany.getExportAllFee(); // 出口金额
             BigDecimal distributionAmount = insAreaCompany.getDistributionAmount(); // 毛利润
-//            // 计算三级分销金额
-//            HashMap<String,BigDecimal> distribution  =baseMapper.getDistributionAllAmount(qxFrontlineAgentVo);
-//            if(!distribution.isEmpty()){
-//                BigDecimal bigDecimal = distribution.get("distributionAmount");
-//                // 利润= 入口- 出口 - 分销
-//                return entranceAllFee.subtract(exportAllFee).subtract(bigDecimal);
-//            }else {
-//                return entranceAllFee.subtract(exportAllFee) ;
-//            }
-            entranceAllFee.subtract(exportAllFee).subtract(distributionAmount);
+            return  entranceAllFee.subtract(exportAllFee).subtract(distributionAmount);
+
         }
         return BigDecimal.ZERO;
     }
+
+    /**
+     *  @version
+     *  @author: hxl
+     *  @Date: 2024/10/22 10:59
+     *  @Description: 获取时间范围内已承保的订单
+     */
+    @Override
+    public List<InsAreaCompany> findListByDate(String benginDate, String endDate) {
+        return baseMapper.findListByDate(benginDate,endDate);
+    }
 }
 
 

+ 20 - 8
src/main/resources/mapper/modules/order/InsAreaCompanyMapper.xml

@@ -3294,10 +3294,10 @@
 
     <select id="getExpectNetProfit" resultType="com.ydtech.modules.order.entity.InsAreaCompany">
         select
-        IFNULL(ifon.jq_costs_premiums,0) + IFNULL(ifon.sy_costs_premiums,0) + IFNULL (ifon.no_costs_premiums,0) as "entranceAllFee",
-        IFNULL(jq_export_other_costs_premiums,0) + IFNULL(jq_export_supervise_costs_premiums,0) +IFNULL(sy_export_other_costs_premiums,0) +IFNULL(sy_export_supervise_costs_premiums,0)
-        +IFNULL(no_export_supervise_costs_premiums,0)+IFNULL(no_export_supervise_costs_premiums,0)  as "exportAllFee",
-        IFNULL(b.distributionAmount,0) as "distributionAmount"
+        sum(IFNULL(ifon.jq_costs_premiums,0) + IFNULL(ifon.sy_costs_premiums,0) + IFNULL (ifon.no_costs_premiums,0)) as "entranceAllFee",
+        sum(IFNULL(jq_export_other_costs_premiums,0) + IFNULL(jq_export_supervise_costs_premiums,0) +IFNULL(sy_export_other_costs_premiums,0) +IFNULL(sy_export_supervise_costs_premiums,0)
+        +IFNULL(no_export_supervise_costs_premiums,0)+IFNULL(no_export_supervise_costs_premiums,0) ) as "exportAllFee",
+        sum(IFNULL(b.distributionAmount,0)) as "distributionAmount"
         from ins_area_company iac
         left join ins_orders io on io.orderno = iac.orderno
         LEFT JOIN ins_fee_order_new ifon ON iac.id = ifon.ins_order_no
@@ -3316,7 +3316,7 @@
                     ifon.first_level_user_id  =#{vo.userId}
                 </if>
                 <if test="vo.ids  != null  and  vo.ids.size()>0 ">
-                    AND io.userid IN
+                    AND ifon.first_level_user_id IN
                     <foreach item="item"  collection="vo.ids" open="(" separator="," close=")">
                         #{item}
                     </foreach>
@@ -3339,7 +3339,7 @@
                     ifon.two_level_user_id  =#{vo.userId}
                 </if>
                 <if test="vo.ids  != null  and  vo.ids.size()>0 ">
-                    AND io.userid IN
+                    AND ifon.two_level_user_id IN
                     <foreach item="item"  collection="vo.ids" open="(" separator="," close=")">
                         #{item}
                     </foreach>
@@ -3363,7 +3363,7 @@
                     ifon.three_level_user_id  =#{vo.userId}
                 </if>
                 <if test="vo.ids  != null  and  vo.ids.size()>0 ">
-                    AND io.userid IN
+                    AND ifon.three_level_user_id IN
                     <foreach item="item"  collection="vo.ids" open="(" separator="," close=")">
                         #{item}
                     </foreach>
@@ -3377,7 +3377,7 @@
         ) b   on b.firstLevelUserId =iac.leader_id
         <where>
             <if test="vo.userId !=null  and  vo.userId  !=''">
-                iac.leader_id  =#{vo.userId}
+                io.userid  =#{vo.userId}
             </if>
             <if test="vo.ids  != null  and  vo.ids.size()>0 ">
                 AND io.userid IN
@@ -3467,4 +3467,16 @@
         ) c on  c.threeLevelUserId = a.firstLevelUserId
     </select>
 
+    <select id="findListByDate" resultType="com.ydtech.modules.order.entity.InsAreaCompany">
+        SELECT
+        iac.*
+        FROM ins_area_company as iac
+        <where>
+            iac.orderstatus = 3
+            <if test="benginDate  != null  and  benginDate!=''  and endDate  != null  and  endDate!=''">
+                AND iac.createtime BETWEEN #{benginDate} AND #{endDate}
+            </if>
+        </where>
+        order by  iac.createtime
+    </select>
 </mapper>