Browse Source

Merge branch 'test2' into test

anderx 1 year ago
parent
commit
84c26e1a12

+ 31 - 0
src/main/java/com/goafanti/RD/bo/InputRdList.java

@@ -4,11 +4,42 @@ public class InputRdList {
     private String rdStart;
     private String rdEnd;
     private String rdName;
+    private String endTime;
+    private String startTime;
+    /**
+     * 公司名称
+     */
+    private String userName;
     private String rdNo;
     private String consultantName;
     private Integer pageSize;
     private Integer pageNo;
 
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
     public String getConsultantName() {
         return consultantName;
     }

+ 13 - 2
src/main/java/com/goafanti/RD/bo/OutExcelRdDetails.java

@@ -1,10 +1,8 @@
 package com.goafanti.RD.bo;
 
-import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.utils.excel.Excel;
 
 import java.math.BigDecimal;
-import java.util.Date;
 
 public class OutExcelRdDetails extends InputRdDetails{
 
@@ -97,6 +95,19 @@ public class OutExcelRdDetails extends InputRdDetails{
     @Excel(name="咨询师名称")
     private String consultantName;
 
+    /**
+     * 上传时间
+     */
+    @Excel(name="上传时间")
+    private String createTimeStr;
+
+    public String getCreateTimeStr() {
+        return createTimeStr;
+    }
+
+    public void setCreateTimeStr(String createTimeStr) {
+        this.createTimeStr = createTimeStr;
+    }
 
     @Override
     public String getRdStartStr() {

+ 5 - 1
src/main/java/com/goafanti/RD/service/impl/RDServiceImpl.java

@@ -82,8 +82,12 @@ public class RDServiceImpl extends BaseMybatisDao<RdDetailsMapper> implements RD
         param.put("RdEnd", in.getRdEnd());
         param.put("RdName", in.getRdName());
         param.put("consultantName", in.getConsultantName());
+        param.put("userName", in.getUserName());
+        if (in.getStartTime()!=null&&in.getEndTime()!=null){
+            param.put("startTime",in.getStartTime());
+            param.put("endTime",in.getEndTime()+" 23:59:59");
+        }
         if (TokenManager.hasRole(AFTConstants.SUPERADMIN)||TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_ASSISTANT)||TokenManager.hasRole(AFTConstants.CED)){
-
         }else {
             param.put("aid", TokenManager.getAdminId());
         }

+ 1 - 0
src/main/java/com/goafanti/common/dao/TOrderTaskMapper.java

@@ -163,5 +163,6 @@ public interface TOrderTaskMapper {
     List<TOrderTask> selectTasksByTid(Integer tid);
 
     List<TOrderTaskBo> selectAdminTaskByTid(Integer tid);
+    List<TOrderTaskBo> selectAdminTaskByAid(String aid);
 }
 

+ 12 - 0
src/main/java/com/goafanti/common/mapper/RdDetailsMapper.xml

@@ -316,6 +316,12 @@
     <if test="aid !=null ">
       and a.aid =#{aid}
     </if>
+    <if test="userName !=null">
+      and a.user_name like concat('%',#{userName},'%')
+    </if>
+    <if test="startTime !=null and endTime !=null">
+      and a.create_time between #{startTime} and #{endTime}
+    </if>
     <if test="page_sql !=null ">
         ${page_sql}
     </if>
@@ -340,6 +346,12 @@
     <if test="aid !=null ">
       and a.aid =#{aid}
     </if>
+    <if test="userName !=null">
+      and a.user_name like concat('%',#{userName},'%')
+    </if>
+    <if test="startTime !=null and endTime !=null">
+      and a.create_time between #{startTime} and #{endTime}
+    </if>
   </select>
 
     <insert id="insertBatch">

+ 8 - 1
src/main/java/com/goafanti/common/mapper/TOrderTaskMapper.xml

@@ -3072,9 +3072,16 @@
         select a.id,a.task_receiver taskReceiver,a.score_number scoreNumber,c.sort cSort,a.score_status scoreStatus
         from t_order_task a left join business_project b on a.commodity_id =b.id
                             left join business_category c on b.cid =c.id
-            where c.sort in (3,6,9) and a.task_distribution_time>'2024-01-01' and a.split_status in (0,2)
+        where c.sort in (3,6,9) and a.task_distribution_time>'2024-01-01' and a.split_status in (0,2)
           and a.task_receiver in (SELECT task_receiver from t_order_task
                                   where id = #{tid})
     </select>
+    <select id="selectAdminTaskByAid" resultType="com.goafanti.order.bo.TOrderTaskBo">
+        select a.id,a.task_receiver taskReceiver,a.score_number scoreNumber,c.sort cSort,a.score_status scoreStatus
+        from t_order_task a left join business_project b on a.commodity_id =b.id
+                            left join business_category c on b.cid =c.id
+        where c.sort in (3,6,9) and a.task_distribution_time>'2024-01-01' and a.split_status in (0,2)
+          and a.task_receiver = #{aid}
+    </select>
 </mapper>
 

+ 59 - 1
src/main/java/com/goafanti/common/utils/AsyncUtils.java

@@ -25,6 +25,8 @@ import org.springframework.stereotype.Component;
 import javax.annotation.Resource;
 import javax.mail.MessagingException;
 import java.io.UnsupportedEncodingException;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -71,7 +73,8 @@ public class AsyncUtils {
 	private FinanceCountMapper financeCountMapper;
 	@Resource
 	private WeChatUtils weChatUtils;
-
+	@Resource
+	private AdminProjectStatisticsMapper adminProjectStatisticsMapper;
 
 
 	/**
@@ -837,4 +840,59 @@ public class AsyncUtils {
 		Admin admin = adminMapper.selectByPrimaryKey(publicCarbonCopy);
 		weChatUtils.addSendCopyNotice(admin.getOpenId(), id, name, startTime, endTime, typeName, plan);
 	}
+	public void updateAdminByAid(String aid,String aid2) {
+		updateAdminByAid(aid);
+		updateAdminByAid(aid2);
+	}
+    public void updateAdminByAid(String aid) {
+		List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectAdminTaskByAid(aid);
+
+			int htSatCount = 0,htSatScoreCount = 0,htSatNotScoreCount = 0,
+					memberCount=0,memberScoreCount = 0,memberNotScoreCount = 0;
+			BigDecimal ht_satSum=new BigDecimal(0);
+			BigDecimal hySum=new BigDecimal(0);
+			for (TOrderTaskBo tOrderTaskBo : tOrderTaskBos) {
+				if (aid ==null) aid =tOrderTaskBo.getTaskReceiver();
+				if (tOrderTaskBo.getcSort()==3||tOrderTaskBo.getcSort()==9){
+					htSatCount++;
+					if (tOrderTaskBo.getScoreStatus()==1){
+						htSatNotScoreCount++;
+					}else if (tOrderTaskBo.getScoreStatus()==2){
+						htSatScoreCount++;
+						ht_satSum=ht_satSum.add(new BigDecimal(tOrderTaskBo.getScoreNumber()));
+					}
+
+				}else  if (tOrderTaskBo.getcSort()==6) {
+					memberCount++;
+					if (tOrderTaskBo.getScoreStatus()==1){
+						memberNotScoreCount++;
+					}else if (tOrderTaskBo.getScoreStatus()==2){
+						memberScoreCount++;
+						hySum=hySum.add(new BigDecimal(tOrderTaskBo.getScoreNumber()));
+					}
+
+				}
+			}
+			BigDecimal htSatScoreAverage = BigDecimal.ZERO;
+			BigDecimal memberScoreAverage = BigDecimal.ZERO;
+			if (htSatScoreCount>0)htSatScoreAverage=ht_satSum.divide(new BigDecimal(htSatScoreCount),2, RoundingMode.HALF_UP);
+			if (memberScoreCount>0)memberScoreAverage=hySum.divide(new BigDecimal(memberScoreCount),2, RoundingMode.HALF_UP);
+			AdminProjectStatistics adminProjectStatistics = adminProjectStatisticsMapper.queryByAid(aid);
+			AdminProjectStatistics aps=new AdminProjectStatistics();
+			aps.setAid(aid);
+			aps.setHtSatCount(htSatCount);
+			aps.setHtSatScoreAverage(htSatScoreAverage.doubleValue());
+			aps.setHtSatNotScoreCount(htSatNotScoreCount);
+			aps.setHtSatScoreCount(htSatScoreCount);
+			aps.setMemberScoreAverage(memberScoreAverage.doubleValue());
+			aps.setMemberScoreCount(memberScoreCount);
+			aps.setMemberNotScoreCount(memberNotScoreCount);
+			aps.setMemberCount(memberCount);
+			if (adminProjectStatistics==null){
+				adminProjectStatisticsMapper.insert(aps);
+			}else {
+				aps.setId(adminProjectStatistics.getId());
+				adminProjectStatisticsMapper.update(aps);
+			}
+    }
 }

+ 2 - 0
src/main/java/com/goafanti/order/service/TaskScoreService.java

@@ -62,4 +62,6 @@ public interface TaskScoreService {
     Result listExport(InputTaskScore in);
 
     void updateAdminByTid(Integer id);
+
+    void updateAdminByAid(String adminId);
 }

+ 5 - 3
src/main/java/com/goafanti/order/service/impl/OrderProjectServiceImpl.java

@@ -142,6 +142,8 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 	private UserTransferLogMapper userTransferLogMapper;
 	@Autowired
 	private TaskScoreService taskScoreService;
+	@Autowired
+	private AdminProjectStatisticsMapper adminProjectStatisticsMapper;
 
 
 	@Value(value = "${upload.path}")
@@ -240,10 +242,10 @@ public class OrderProjectServiceImpl extends BaseMybatisDao<TOrderTaskMapper> im
 		//派单后设置用户客户统计
 		if (type==0){
 			customerService.updateAdminUserCount(tn.getSalesmanId(),date);
-
+			asyncUtils.updateAdminByAid(taskReceiverId);
+		}else {
+			asyncUtils.updateAdminByAid(TokenManager.getAdminId(),taskReceiverId);
 		}
-		//修改用户项目统计数
-		taskScoreService.updateAdminByTid(t.getId());
 		return 1;
 	}
 

+ 14 - 2
src/main/java/com/goafanti/order/service/impl/TaskScoreServiceImpl.java

@@ -93,14 +93,24 @@ public class TaskScoreServiceImpl extends BaseMybatisDao<TaskScoreMapper> implem
     @Override
     public void updateAdminByTid(Integer tid) {
         List<TOrderTaskBo> tOrderTaskBos = tOrderTaskMapper.selectAdminTaskByTid(tid);
-        String aid=null;
         //项目数量
+        pushAdminProjectStatistics(tOrderTaskBos, null);
+    }
+    @Override
+    public void updateAdminByAid(String aid) {
+        pushAdminProjectStatistics(null, aid);
+    }
+
+    private void pushAdminProjectStatistics(List<TOrderTaskBo> tOrderTaskBos, String aid) {
+        if (tOrderTaskBos==null){
+            tOrderTaskBos=tOrderTaskMapper.selectAdminTaskByAid(aid);
+        }
         int htSatCount = 0,htSatScoreCount = 0,htSatNotScoreCount = 0,
                 memberCount=0,memberScoreCount = 0,memberNotScoreCount = 0;
         BigDecimal ht_satSum=new BigDecimal(0);
         BigDecimal hySum=new BigDecimal(0);
         for (TOrderTaskBo tOrderTaskBo : tOrderTaskBos) {
-            if (aid==null)aid=tOrderTaskBo.getTaskReceiver();
+            if (aid ==null) aid =tOrderTaskBo.getTaskReceiver();
             if (tOrderTaskBo.getcSort()==3||tOrderTaskBo.getcSort()==9){
                 htSatCount++;
                 if (tOrderTaskBo.getScoreStatus()==1){
@@ -144,6 +154,8 @@ public class TaskScoreServiceImpl extends BaseMybatisDao<TaskScoreMapper> implem
         }
     }
 
+
+
     /**
      * 通过ID查询单条数据
      *

+ 1 - 1
src/main/resources/props/config_local.properties

@@ -59,7 +59,7 @@ amb.maxLvl=6
 #avatar.host=//172.16.1.199:3000
 #static.host=//172.16.0.255:3000/1.2.62
 avatar.host=//static.jishutao.com
-rd.static.host=//static.jishutao.com/RD/1.0.03
+rd.static.host=//static.jishutao.com/RD/1.0.04
 
 #\u5FAE\u4FE1\u6253\u5361\u5C0F\u7A0B\u5E8F
 wx.appId=wxff2f5720ed7d7f63

+ 1 - 1
src/main/resources/props/config_test.properties

@@ -54,7 +54,7 @@ amb.maxLvl=6
 portal.host=//static.jishutao.com/portal/2.0.6
 avatar.host=//static.jishutao.com
 
-rd.static.host=//static.jishutao.com/RD/1.0.03
+rd.static.host=//static.jishutao.com/RD/1.0.04
 avatar.upload.host=//static.jishutao.com/upload
 
 wx.appId=wxff2f5720ed7d7f63