Forráskód Böngészése

报表:客户转化

yusm 11 hónapja
szülő
commit
d62adc254e

+ 20 - 6
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ContactsController.java

@@ -57,8 +57,8 @@ public class ContactsController {
         return contactsService.addContacts(contacts, request);
     }
     @RequestMapping("/getAllContacts")
-    public HttpRespMsg getAllContacts(HttpServletRequest request){
-        return contactsService.getAllContacts(request);
+    public HttpRespMsg getAllContacts(Integer customerId,HttpServletRequest request){
+        return contactsService.getAllContacts(customerId,request);
     }
 
     /**
@@ -128,8 +128,15 @@ public class ContactsController {
      * 批量删除回收站中的联系人
      */
     @RequestMapping("confirmDeleteContacts")
-    public HttpRespMsg confirmDeleteContacts(List<Integer> ids){
-        return contactsService.confirmDeleteContacts(ids);
+    public HttpRespMsg confirmDeleteContacts(String ids){
+        if (!StringUtils.isEmpty(ids)) {
+            ids="["+ids+"]";
+            List<Integer> array = JSONArray.parseArray(ids, Integer.class);
+            return contactsService.confirmDeleteContacts(array);
+        }
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.setError("参数不能为空");
+        return msg;
     }
 
     /**
@@ -138,8 +145,15 @@ public class ContactsController {
      * @return
      */
     @RequestMapping("returnContacts")
-    public HttpRespMsg returnContacts(List<Integer> ids){
-        return contactsService.returnContacts(ids);
+    public HttpRespMsg returnContacts(String ids){
+        if (!StringUtils.isEmpty(ids)) {
+            ids="["+ids+"]";
+            List<Integer> array = JSONArray.parseArray(ids, Integer.class);
+            return contactsService.returnContacts(array);
+        }
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.setError("参数不能为空");
+        return msg;
     }
 
     @RequestMapping("getContactsDetail")

+ 5 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/ReportController.java

@@ -230,6 +230,11 @@ public class ReportController {
         return  customService.getCustomerTotalCount(startDate, endDate, userId, request);
     }
 
+    @RequestMapping("/getCustomerTransferRate")
+    public HttpRespMsg getCustomerTransferRate(String startDate, String endDate, String userId) {
+        return  customService.getCustomerTransferRate(startDate, endDate, userId, request);
+    }
+
     @RequestMapping("/getReportList")
     public HttpRespMsg getReportList(@RequestParam String date, @RequestParam(required = false) Integer deptId, @RequestParam(required = false) String userId) {
         return reportService.getReportList(date, deptId, userId, request);

+ 2 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/vo/UserVO.java

@@ -29,5 +29,7 @@ public class UserVO extends User {
     private Integer customertotal;//客户总量
     private Integer customerDeal;//客户成交量
     private Double dealRate;//客户成交量率
+    private Integer num;//客户数量
+    private Integer saleNum;//交易客户数量
 
 }

+ 2 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/mapper/UserMapper.java

@@ -60,4 +60,6 @@ public interface UserMapper extends BaseMapper<User> {
     void updateActiveByIds(List<String> array, int isActive);
 
     List<UserVO> getCustomerTotalCount(String startDate, String endDate, String userId, Integer companyId);
+
+    List<UserVO> getCustomerTransferRate(String startDate, String endDate, String userId, Integer companyId);
 }

+ 1 - 1
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/ContactsService.java

@@ -42,7 +42,7 @@ public interface ContactsService extends IService<Contacts> {
 
     HttpRespMsg exportData(String customName, String name, String email, String creatorName, String phone, String ownerName, HttpServletRequest request) throws Exception;
 
-    HttpRespMsg getAllContacts(HttpServletRequest request);
+    HttpRespMsg getAllContacts(Integer customerId, HttpServletRequest request);
 
     int transferContacts(Contacts contactsGet, User user);
 }

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

@@ -56,4 +56,6 @@ public interface CustomService extends IService<Custom> {
     void deleterDelete(List<Integer> ids);
 
     HttpRespMsg getCustomerTotalCount(String startDate, String endDate, String userId, HttpServletRequest request);
+
+    HttpRespMsg getCustomerTransferRate(String startDate, String endDate, String userId, HttpServletRequest request);
 }

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

@@ -586,10 +586,15 @@ public class ContactsServiceImpl extends ServiceImpl<ContactsMapper, Contacts> i
     }
 
     @Override
-    public HttpRespMsg getAllContacts(HttpServletRequest request) {
+    public HttpRespMsg getAllContacts(Integer customerId, HttpServletRequest request) {
         User user = userMapper.selectById(request.getHeader("token"));
         HttpRespMsg mgs = new HttpRespMsg();
-        mgs.setData(contactsMapper.selectList(new QueryWrapper<Contacts>().eq("company_id",user.getCompanyId())));
+        if (customerId!=null){
+            mgs.setData(contactsMapper.selectList(new QueryWrapper<Contacts>()
+                    .eq("company_id",user.getCompanyId())
+                    .eq("custom_id",customerId)));
+        }else
+            mgs.setData(contactsMapper.selectList(new QueryWrapper<Contacts>().eq("company_id",user.getCompanyId())));
         return mgs;
     }
 

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

@@ -411,6 +411,27 @@ public class CustomServiceImpl extends ServiceImpl<CustomMapper, Custom> impleme
         return msg;
     }
 
+    @Override
+    public HttpRespMsg getCustomerTransferRate(String startDate, String endDate, String userId, HttpServletRequest request) {
+        User user = userMapper.selectById(request.getHeader("token"));
+        Integer companyId = user.getCompanyId();
+        List<UserVO> userVoList=userMapper.getCustomerTransferRate(startDate,endDate,userId,companyId);
+        if (userVoList!=null&&!userVoList.isEmpty()){
+            for (UserVO userVO : userVoList) {
+                if (userVO.getNum()==0){
+                    userVO.setDealRate((double) 0);
+                }else {
+                    double v = (double) userVO.getSaleNum() / userVO.getNum();
+                    userVO.setDealRate(v);
+                }
+            }
+        }
+        HttpRespMsg msg = new HttpRespMsg();
+        msg.setData(userVoList);
+        return msg;
+
+    }
+
 
     private Custom setNull(Custom clue) {
         if (clue.getPlate1() == "") {

+ 16 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/resources/mapper/UserMapper.xml

@@ -297,6 +297,22 @@
             group by c.incharger_id
 
     </select>
+    <select id="getCustomerTransferRate" resultType="com.management.platform.entity.vo.UserVO">
+        select count(distinct c.id) as num, count(distinct s.custom_id) as saleNum, c.incharger_id as id  ,u.name
+        from  custom c
+                  left join sales_order s on c.id=s.custom_id
+                  INNER JOIN user u on u.id=c.incharger_id
+        <where>
+            1=1 and c.company_id=#{companyId}
+            <if test="startDate !=null and startDate !='' and endDate !=null and endDate !=''">
+                AND  c.create_time BETWEEN #{startDate} AND #{endDate}
+            </if>
+            <if test="userId !=null and userId!=''">
+                AND  c.incharger_id=#{userId}
+            </if>
+        </where>
+        group by  c.incharger_id
+    </select>
 
     <update id="updateActiveByIds">
         update user set is_active=1 WHERE id IN