Browse Source

联系人相关bug修改

zhouyy 5 months ago
parent
commit
d50be45c2d

+ 33 - 4
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/SalesOrderController.java

@@ -8,6 +8,7 @@ import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.*;
 import com.management.platform.util.BeanChangeUtil;
 import com.management.platform.util.HttpRespMsg;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -448,8 +449,19 @@ public class SalesOrderController {
         //订单未回款金额
         BigDecimal unReceivedPayment = salesOrder.getUnReceivedPayment();
         //更新订单数据
-        receivedPayment=receivedPayment.add(new BigDecimal(money));
-        unReceivedPayment=unReceivedPayment.subtract(new BigDecimal(money));
+        if(CollectionUtils.isEmpty(list)){
+            //第一张订单,覆盖数据
+            receivedPayment = new BigDecimal(money);
+            unReceivedPayment = salesOrder.getPrice().subtract(receivedPayment);
+        }else{
+            //更新数据
+//            receivedPayment=receivedPayment.add(new BigDecimal(money));
+//            unReceivedPayment=unReceivedPayment.subtract(new BigDecimal(money));
+
+            receivedPayment=new BigDecimal(sum).add(new BigDecimal(money));
+            unReceivedPayment=salesOrder.getPrice().subtract(receivedPayment);
+        }
+
         salesOrder.setReceivedPayment(receivedPayment);
         salesOrder.setUnReceivedPayment(unReceivedPayment);
         if(money>0){
@@ -594,6 +606,7 @@ public class SalesOrderController {
     * @Date: 2024/5/31
     */
     @RequestMapping("/deletePayment")
+    @Transactional
     public HttpRespMsg deletePayment(Integer paymentId){
         HttpRespMsg msg=new HttpRespMsg();
         SalesOrderPayment payment = salesOrderPaymentService.getById(paymentId);
@@ -601,11 +614,27 @@ public class SalesOrderController {
         BigDecimal oldMoney = payment.getMoney();
         //订单上的已回款金额
         BigDecimal receivedPayment = salesOrder.getReceivedPayment();
-        receivedPayment=receivedPayment.subtract(oldMoney);
+//        receivedPayment=receivedPayment.subtract(oldMoney);
         BigDecimal unReceivedPayment = salesOrder.getUnReceivedPayment();
-        unReceivedPayment=unReceivedPayment.add(oldMoney);
+//        unReceivedPayment=unReceivedPayment.add(oldMoney);
+//        salesOrder.setReceivedPayment(receivedPayment);
+//        salesOrder.setUnReceivedPayment(unReceivedPayment);
+
+        List<SalesOrderPayment> list = salesOrderPaymentService.list(new LambdaQueryWrapper<SalesOrderPayment>()
+                .eq(SalesOrderPayment::getOrderId, salesOrder.getId()));
+        BigDecimal oldSum = new BigDecimal(0);
+        for (SalesOrderPayment orderPayment : list) {
+            oldSum = oldSum.add(orderPayment.getMoney());
+        }
+        //已回款金额
+        //price-原总金额+删掉的单子的回款金额
+        receivedPayment = oldSum.subtract(payment.getMoney());
+        //未回款金额
+        //price-已回款
+        unReceivedPayment = salesOrder.getPrice().subtract(receivedPayment);
         salesOrder.setReceivedPayment(receivedPayment);
         salesOrder.setUnReceivedPayment(unReceivedPayment);
+
         if(unReceivedPayment.doubleValue()>0){
             salesOrder.setReceivedStatus(1);
         }

+ 3 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/mapper/SalesOrderMapper.java

@@ -3,6 +3,7 @@ package com.management.platform.mapper;
 import com.management.platform.entity.SalesOrder;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.management.platform.entity.User;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
@@ -19,4 +20,6 @@ public interface SalesOrderMapper extends BaseMapper<SalesOrder> {
 
     @Select("select * from `sales_order` WHERE company_id = #{companyId} AND is_delete = 0 ")
     List<SalesOrder> getList(User user);
+
+    Integer getNewCloseDealNum(Integer companyId, String startDate, String endDate, String userId, @Param("list")List<String> targetUserIds);
 }

+ 2 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/SalesOrderServiceImpl.java

@@ -1164,6 +1164,8 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
             }
         }
         Map<String, Object> customDataSummary = customService.getDataSummary(companyId, startDate, endDate, userId, targetUserIds);
+        Integer newCloseDealNum = salesOrderMapper.getNewCloseDealNum(companyId,startDate,endDate,userId,targetUserIds);
+        customDataSummary.put("closeDealNum",newCloseDealNum);
         Map<String, Object> businessOpportunityDataSummary =businessOpportunityService.getDataSummary(companyId, startDate, endDate, userId, targetUserIds);
         Map<String, Object> clueDataSummary =clueMapper.getDataSummary(companyId, startDate, endDate, userId, targetUserIds);
         Map<String,Object> resultMap=new HashMap<>();

+ 4 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/TaskServiceImpl.java

@@ -1070,7 +1070,10 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
             return msg;
         }
         LambdaUpdateWrapper<Task> luw = new LambdaUpdateWrapper<>();
-        luw.set(Task::getStatus,taskDto.getStatus()).eq(Task::getId,taskDto.getId());
+        luw.set(Task::getStatus,taskDto.getStatus())
+                .set(Task::getStartDate,taskDto.getStartDate())
+                .set(Task::getEndDate,taskDto.getEndDate())
+                .eq(Task::getId,taskDto.getId());
         taskMapper.update(null,luw);
         TaskLog taskLog = new TaskLog();
         taskLog.setUserId(user.getId()).setTaskId(taskDto.getId()).setUserName(user.getName())

+ 17 - 17
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/ClueMapper.xml

@@ -59,7 +59,7 @@
         from clue c
         left join sys_dict sd on c.customer_level_id = sd.id
         where
-            c.company_id = #{companyId} and is_delete = #{isDelete} and c.is_bo = 0
+            c.company_id = #{companyId} and is_delete = #{isDelete}
         <if test="inchargerId != null and inchargerId != ''  ">
            and c.incharger_id =#{inchargerId}
         </if>
@@ -104,7 +104,7 @@
     <select id="list1" resultType="com.management.platform.entity.Clue">
         select c.id,
         c.company_id,
-        (select company_name from company where company_id = c.id) companyName,
+        (select company.company_name from company where c.company_id = company.id) companyName,
         c.clue_name,
         c.clue_source_id,
         c.phone,
@@ -130,7 +130,7 @@
         from clue c
         left join sys_dict sd on c.customer_level_id = sd.id
         where
-        c.company_id = #{clue.companyId} and c.is_delete = #{clue.isDelete} and c.is_bo = 0
+        c.company_id = #{clue.companyId} and c.is_delete = #{clue.isDelete}
         and (c.incharger_id in
         (SELECT id from `user` WHERE department_id = (SELECT department_id from `user` WHERe id = #{userId}))
         or c.incharger_id is null)
@@ -160,13 +160,13 @@
         </if>
         ORDER BY
         <choose>
-            <when test="isDesc == null">
+            <when test="clue.isDesc == null">
                 c.id DESC
             </when>
-            <when test="isDesc == 0">
+            <when test="clue.isDesc == 0">
                 sd.seq ASC, c.id DESC
             </when>
-            <when test="isDesc == 1">
+            <when test="clue.isDesc == 1">
                 sd.seq DESC, c.id DESC
             </when>
             <otherwise>
@@ -178,7 +178,7 @@
     <select id="list2" resultType="com.management.platform.entity.Clue">
         select c.id,
         c.company_id,
-        (select company_name from company where c.company_id = c.id) companyName,
+        (select company_name from company where c.company_id = company.id) companyName,
         c.clue_name,
         c.clue_source_id,
         c.phone,
@@ -204,7 +204,7 @@
         from clue c
         left join sys_dict sd on c.customer_level_id = sd.id
         where
-        c.company_id = #{clue.companyId} and c.is_delete = #{clue.isDelete} and c.is_bo = 0
+        c.company_id = #{clue.companyId} and c.is_delete = #{clue.isDelete}
         and (c.incharger_id = #{userId} or c.incharger_id is null)
         <if test="clue.inchargerId != null and clue.inchargerId != ''  ">
           and c.incharger_id =#{clue.inchargerId}
@@ -251,7 +251,7 @@
         select count(*)
         from clue c
         where
-        company_id = #{companyId} and is_delete = #{isDelete} and is_bo = 0
+        company_id = #{companyId} and is_delete = #{isDelete}
         <if test="inchargerId != null and inchargerId != ''  ">
             and incharger_id = #{inchargerId}
         </if>
@@ -282,7 +282,7 @@
         COUNT(c.id)
         from clue c
         where
-        c.company_id = #{clue.companyId} and c.is_delete = #{clue.isDelete} and c.is_bo = 0
+        c.company_id = #{clue.companyId} and c.is_delete = #{clue.isDelete}
         and c.incharger_id in
         (SELECT id from `user` WHERE department_id = (SELECT department_id from `user` WHERe id = #{userId}))
         and c.incharger_id is null
@@ -316,7 +316,7 @@
             count(c.id)
         from clue c
         where
-        c.company_id = #{clue.companyId} and c.is_delete = #{clue.isDelete} and c.is_bo = 0
+        c.company_id = #{clue.companyId} and c.is_delete = #{clue.isDelete}
         and (c.incharger_id = #{userId} or c.incharger_id is null)
         <if test="clue.inchargerId != null and clue.inchargerId != ''  ">
             and c.incharger_id =#{clue.inchargerId}
@@ -369,8 +369,8 @@
         where company_id =#{companyId}
     </select>
     <select id="getAlllist1" resultType="com.management.platform.entity.Clue">
-        select id,
-               clue_name
+        select c.id,
+               c.clue_name
         from clue c
                  left join sys_dict sd on c.customer_level_id = sd.id
         where
@@ -417,7 +417,7 @@
         from clue c
         left join sys_dict sd on c.customer_level_id = sd.id
         where
-        c.company_id = #{companyId} and is_delete = #{isDelete} and c.is_bo = 0
+        c.company_id = #{companyId} and is_delete = #{isDelete}
         <if test="inchargerId != null and inchargerId != ''  ">
             and c.incharger_id =#{inchargerId}
         </if>
@@ -488,9 +488,9 @@
         from clue c
         left join sys_dict sd on c.customer_level_id = sd.id
         where
-        c.company_id = #{clue.companyId} and c.is_delete = #{clue.isDelete} and c.is_bo = 0
+        c.company_id = #{clue.companyId} and c.is_delete = #{clue.isDelete}
         and (c.incharger_id in
-        (SELECT id from `user` WHERE department_id = (SELECT department_id from `user` WHERe id = #{userId}))
+        (SELECT id from `user` WHERE department_id = (SELECT department_id from `user` where id = #{userId}))
         or c.incharger_id is null)
         <if test="clue.inchargerId != null and clue.inchargerId != ''  ">
             and  c.incharger_id =#{clue.inchargerId}
@@ -562,7 +562,7 @@
         from clue c
         left join sys_dict sd on c.customer_level_id = sd.id
         where
-        c.company_id = #{clue.companyId} and c.is_delete = #{clue.isDelete} and c.is_bo = 0
+        c.company_id = #{clue.companyId} and c.is_delete = #{clue.isDelete}
         and (c.incharger_id = #{userId} or c.incharger_id is null)
         <if test="clue.inchargerId != null and clue.inchargerId != ''  ">
             and c.incharger_id =#{clue.inchargerId}

+ 3 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/CustomMapper.xml

@@ -369,7 +369,9 @@
     </select>
 
     <select id="getDataSummary" resultType="java.util.Map">
-        SELECT COUNT(*) newNum,SUM(close_deal=1) closeDealNum FROM custom
+        SELECT COUNT(*) newNum
+             <!-- ,SUM(close_deal=1) closeDealNum  -->
+        FROM custom
         WHERE company_id=#{companyId} and is_delete=0
         <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
             and DATE_FORMAT(create_time,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}

+ 17 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/SalesOrderMapper.xml

@@ -39,5 +39,22 @@
     <sql id="Base_Column_List">
         id, company_id, order_name, order_code, custom_id, business_opportunity_id, price, contacts_id, type, place_time, order_start_date, order_end_date, received_payment, un_received_payment, received_status, custom_signer, company_signer, incharger_id, remark, create_time, creator_id, is_delete, status, plate1, plate2, plate3, plate4, plate5, update_time
     </sql>
+    <select id="getNewCloseDealNum" resultType="java.lang.Integer">
+        select count(distinct custom_id)
+        from sales_order
+        WHERE company_id=#{companyId} and is_delete=0
+        <if test="startDate!=null and startDate!='' and endDate!=null and endDate!=''">
+            and DATE_FORMAT(create_time,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
+        </if>
+        <if test="userId!=null and userId!=''">
+            and incharger_id=#{userId}
+        </if>
+        <if test="list!=null and list.size()>0">
+            and incharger_id in
+            <foreach collection="list" separator="," open="(" close=")" item="item">
+                #{item}
+            </foreach>
+        </if>
+    </select>
 
 </mapper>