Min hai 1 ano
pai
achega
b9cb1f17e6

+ 6 - 9
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/SysDictController.java

@@ -2,10 +2,7 @@ package com.management.platform.controller;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.management.platform.entity.Clue;
-import com.management.platform.entity.Custom;
-import com.management.platform.entity.SysDict;
-import com.management.platform.entity.SysForm;
+import com.management.platform.entity.*;
 import com.management.platform.mapper.UserMapper;
 import com.management.platform.service.ClueService;
 import com.management.platform.service.CustomService;
@@ -20,6 +17,7 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -44,12 +42,11 @@ public class SysDictController {
     private CustomService customService;
 
 
-    @RequestMapping("/list")
-    public HttpRespMsg list(){
+    @RequestMapping("/data_type")
+    public HttpRespMsg data_type(){
         HttpRespMsg msg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
-        List<SysDict> list = sysDictService.list(new LambdaQueryWrapper<SysDict>().eq(SysDict::getCompanyId, companyId));
-        msg.setData(list);
+        List<Map<String, Object>> sysDictList = SysDict.getSysDictList();
+        msg.setData(sysDictList);
         return msg;
     }
 

+ 35 - 0
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/entity/SysDict.java

@@ -5,6 +5,11 @@ import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -54,4 +59,34 @@ public class SysDict extends Model<SysDict> {
         return this.id;
     }
 
+    public static final String[] TYPE_LIST=new String[]{"ClueSources","CustomLevel","CustomIndustry","CustomSources","BusinessStage","ProductType","ProductUnit","OrderType"};
+
+    public static List<Map<String,Object>> getSysDictList(){
+        List<Map<String,Object>> itemList=new ArrayList<>();
+        for (String type : TYPE_LIST) {
+            Map<String,Object> map=new HashMap<>();
+            map.put("id",type);
+            switch (type){
+                case "ClueSources":map.put("name","线索来源");
+                break;
+                case "CustomLevel":map.put("name","客户级别");
+                    break;
+                case "CustomIndustry":map.put("name","客户行业");
+                    break;
+                case "CustomSources":map.put("name","客户来源");
+                    break;
+                case "BusinessStage":map.put("name","商机阶段");
+                    break;
+                case "ProductType":map.put("name","产品类型");
+                    break;
+                case "ProductUnit":map.put("name","产品单位");
+                    break;
+                case "OrderType":map.put("name","订单类型");
+                    break;
+            }
+            itemList.add(map);
+        }
+        return itemList;
+    }
+
 }

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

@@ -12823,6 +12823,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                             item.put("corpwxDeptId",corpwxDeptid);
                             item.put("department_name",departmentName);
                             if(!taskGroup.isPresent()){
+
                                 item.put("planHour",0);
                                 item.put("realHour",0);
                                 item.put("realCost",0);

+ 9 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -12815,8 +12815,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                             item.put("corpwxDeptId",corpwxDeptid);
                             item.put("department_name",departmentName);
                             if(taskGroup.isPresent()){
+//                                List<Map<String, Object>> mapList = resultList.stream().filter(r -> Integer.valueOf(String.valueOf(r.get("projectId"))).equals(project.getId())
+//                                        && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId()) && (Integer.valueOf(String.valueOf(r.get("deptId"))).equals(7459) || subDeptIds.contains(Integer.valueOf(String.valueOf(r.get("deptId")))))).collect(Collectors.toList());
                                 List<Map<String, Object>> mapList = resultList.stream().filter(r -> Integer.valueOf(String.valueOf(r.get("projectId"))).equals(project.getId())
-                                        && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId()) && (Integer.valueOf(String.valueOf(r.get("deptId"))).equals(7459) || subDeptIds.contains(Integer.valueOf(String.valueOf(r.get("deptId")))))).collect(Collectors.toList());
+                                        && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId())).collect(Collectors.toList());
                                 if(mapList!=null&&mapList.size()>0){
                                     item.put("planHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("planHour")))).sum());
                                     item.put("realHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realHour")))).sum());
@@ -12860,8 +12862,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                             item.put("corpwxDeptId",corpwxDeptid);
                             item.put("department_name",departmentName);
                             if(taskGroup.isPresent()){
+//                                List<Map<String, Object>> mapList = resultList.stream().filter(r -> Integer.valueOf(String.valueOf(r.get("projectId"))).equals(project.getId())
+//                                        && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId()) && (Integer.valueOf(String.valueOf(r.get("deptId"))).equals(7460) || subDeptIds.contains(Integer.valueOf(String.valueOf(r.get("deptId")))))).collect(Collectors.toList());
                                 List<Map<String, Object>> mapList = resultList.stream().filter(r -> Integer.valueOf(String.valueOf(r.get("projectId"))).equals(project.getId())
-                                        && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId()) && (Integer.valueOf(String.valueOf(r.get("deptId"))).equals(7460) || subDeptIds.contains(Integer.valueOf(String.valueOf(r.get("deptId")))))).collect(Collectors.toList());
+                                        && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId())).collect(Collectors.toList());
                                 if(mapList!=null&&mapList.size()>0){
                                     item.put("planHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("planHour")))).sum());
                                     item.put("realHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realHour")))).sum());
@@ -12909,8 +12913,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                             item.put("corpwxDeptId",corpwxDeptid);
                             item.put("department_name",departmentName);
                             if(taskGroup.isPresent()){
+//                                List<Map<String, Object>> mapList = resultList.stream().filter(r -> Integer.valueOf(String.valueOf(r.get("projectId"))).equals(project.getId())
+//                                        && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId()) && (Integer.valueOf(String.valueOf(r.get("deptId"))).equals(7458) || subDeptIds.contains(Integer.valueOf(String.valueOf(r.get("deptId")))))).collect(Collectors.toList());
                                 List<Map<String, Object>> mapList = resultList.stream().filter(r -> Integer.valueOf(String.valueOf(r.get("projectId"))).equals(project.getId())
-                                        && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId()) && (Integer.valueOf(String.valueOf(r.get("deptId"))).equals(7458) || subDeptIds.contains(Integer.valueOf(String.valueOf(r.get("deptId")))))).collect(Collectors.toList());
+                                        && Integer.valueOf(String.valueOf(r.get("groupId"))).equals(taskGroup.get().getId())).collect(Collectors.toList());
                                 if(mapList!=null&&mapList.size()>0){
                                     item.put("planHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("planHour")))).sum());
                                     item.put("realHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("realHour")))).sum());

+ 17 - 19
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -1894,36 +1894,34 @@
 
     <select id="groupExpendProcessList" resultType="java.util.Map">
         SELECT p.project_name AS projectName,p.id AS projectId,tg.id AS groupId,d.department_name,d.department_id AS deptId,d.corpwx_deptid AS corpwxDeptId,tg.name AS groupName,
-        IFNULL((SELECT SUM(working_time) FROM report  WHERE group_id=tg.id AND dept_id=d.department_id AND create_date BETWEEN #{startDate} AND #{endDate} AND state=1 AND project_id IS NOT NULL),0) AS realHour,
-        IFNULL((SELECT SUM(cost) FROM report  WHERE group_id=tg.id AND dept_id=d.department_id AND create_date BETWEEN #{startDate} AND #{endDate} AND state=1 AND project_id IS NOT NULL) ,0) AS realCost,
-        IFNULL((SELECT SUM(overtime_hours) FROM report  WHERE group_id=tg.id AND dept_id=d.department_id AND create_date BETWEEN #{startDate} AND #{endDate} AND state=1 AND project_id IS NOT NULL ),0) AS overHour,
-        (IFNULL((SELECT SUM(working_time) FROM report  WHERE group_id=tg.id AND dept_id=d.department_id AND create_date BETWEEN #{startDate} AND #{endDate} AND state=1 AND project_id IS NOT NULL),0)
-        -IFNULL((SELECT SUM(overtime_hours) FROM report  WHERE group_id=tg.id AND dept_id=d.department_id AND create_date BETWEEN #{startDate} AND #{endDate} AND state=1 AND project_id IS NOT NULL ),0)) as normalHour,
+        IFNULL(r.realHour,0) AS realHour,IFNULL(r.realCost,0) AS realCost,IFNULL(r.normalHour,0) as normalHour,IFNULL(r.overHour,0) as overHour,
         IFNULL(SUM(te.plan_hours),0) AS planHour
         FROM task_executor te
         LEFT JOIN task t ON t.id=te.task_id
-        LEFT JOIN user u ON te.executor_id=u.id
+        LEFT JOIN USER u ON te.executor_id=u.id
         LEFT JOIN task_group tg ON tg.id=t.group_id
         LEFT JOIN project p ON p.id=tg.project_id
         LEFT JOIN department d ON d.department_id=u.department_id
+        LEFT JOIN (
+        SELECT SUM(working_time) AS realHour,SUM(cost) AS realCost,(SUM(working_time)-SUM(overtime_hours)) AS normalHour,SUM(overtime_hours) AS overHour,group_id
+        FROM report  WHERE create_date BETWEEN #{startDate} AND #{endDate} AND state=1 AND project_id IS NOT NULL AND company_id=#{companyId} GROUP BY group_id) r ON r.group_id=tg.`id`
         WHERE u.company_id=#{companyId}
         AND tg.name IN ('生产部电气','生产部车间','工程部现场安装施工','工程部配合调试','研发部工艺设计','研发部结构设计','研发部BIM设计','研发部电气设计','研发部工艺调试验收','研发部电气调试验收')
-        AND d.department_id IN ( 7458, 7459, 7902, 7903, 7460, 7813, 7814, 7815, 7816)
         <if test="userId!=null and userId!=''">
             and t.executor_id=#{userId}
         </if>
-        <if test="list!=null and list.size()>0">
-            and d.department_id in
-            <foreach collection="list" open="(" close=")" item="item" separator=",">
-                #{item}
-            </foreach>
-        </if>
-        <if test="listSecond!=null and listSecond.size()>0">
-            and d.department_id in
-            <foreach collection="listSecond" open="(" close=")" item="item" separator=",">
-                #{item}
-            </foreach>
-        </if>
+<!--        <if test="list!=null and list.size()>0">-->
+<!--            and d.department_id in-->
+<!--            <foreach collection="list" open="(" close=")" item="item" separator=",">-->
+<!--                #{item}-->
+<!--            </foreach>-->
+<!--        </if>-->
+<!--        <if test="listSecond!=null and listSecond.size()>0">-->
+<!--            and d.department_id in-->
+<!--            <foreach collection="listSecond" open="(" close=")" item="item" separator=",">-->
+<!--                #{item}-->
+<!--            </foreach>-->
+<!--        </if>-->
         GROUP BY p.id,tg.id,d.department_id ORDER BY p.id,d.department_id
     </select>