Prechádzať zdrojové kódy

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper

Lijy 1 rok pred
rodič
commit
d9247401c7

+ 9 - 9
fhKeeper/formulahousekeeper/customerBuler-crm/src/pages/login.vue

@@ -1,14 +1,14 @@
 <template>
-  <div class="loginView w-screen h-screen overflow-hidden pt-20">
-    <div class="w-96 h-3/5 bg-white m-auto border-t-8 border-blue-400 shadow-xl rounded-md pl-9 pr-9">
+  <div class="loginView w-screen h-screen overflow-hidden flex">
+    <div class="w-1/5 h-1/2 bg-white m-auto border-t-8 border-blue-400 shadow-xl rounded-md pl-9 pr-9">
       <div class="m-auto pt-4">
         <img class="w-1/5 h-1/5 m-auto" :src="loginLogo" alt="">
       </div>
       <h2 class="text-xl text-center pt-4 font-bold">客户管家</h2>
-      <div class="pt-5">
-        <el-input :prefix-icon="UserFilled" size="large" class="mt-4" v-model="username" placeholder="账号/手机号" />
-        <el-input :prefix-icon="Lock" show-password size="large" class="mt-8" v-model="password" placeholder="密码" />
-        <div class="pt-8">
+      <div class="pt-4">
+        <el-input :prefix-icon="UserFilled" size="large" class="mt-2" v-model="username" placeholder="账号/手机号" />
+        <el-input :prefix-icon="Lock" show-password size="large" class="mt-6" v-model="password" placeholder="密码" />
+        <div class="pt-6">
           <el-button type="primary" size="large" class="w-full" :loading="loginLoading" @click="login">登录</el-button>
         </div>
       </div>
@@ -17,10 +17,10 @@
         <img class="w-9 m-auto p-1 rounded-full border-blue-300 border-2 cursor-pointer" :src="qiyeweixin" alt="">
       </div>
       <div class="flex justify-between">
-        <div class="cursor-pointer text-blue-400">联系客服</div>
+        <div class="cursor-pointer text-blue-400 hover:text-blue-300">联系客服</div>
         <div class="flex justify-around">
-          <div class="mr-4 cursor-pointer text-blue-400">使用说明</div>
-          <div class="cursor-pointer text-blue-400">企业注册</div>
+          <div class="mr-4 cursor-pointer text-blue-400 hover:text-blue-300">使用说明</div>
+          <div class="cursor-pointer text-blue-400 hover:text-blue-300">企业注册</div>
         </div>
       </div>
     </div>

+ 60 - 54
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -12778,31 +12778,33 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                             item.put("groupName",groupName);
                             item.put("corpwxDeptId",corpwxDeptid);
                             item.put("department_name",departmentName);
-                            if(!taskGroup.isPresent()){
-                                item.put("planHour",0);
-                                item.put("realHour",0);
-                                item.put("realCost",0);
-                                item.put("overHour",0);
-                                item.put("normalHour",0);
-                                item.put("process","0%");
-                            }else {
-                                Optional<Map<String, Object>> first = 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")))))).findFirst();
-                                if(first.isPresent()){
-                                    item.put("planHour",first.get().get("planHour"));
-                                    item.put("realHour",first.get().get("realHour"));
-                                    item.put("realCost",first.get().get("realCost"));
-                                    item.put("overHour",first.get().get("overHour"));
-                                    item.put("normalHour",first.get().get("normalHour"));
-                                    item.put("process",first.get().get("process"));
+                            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());
+                                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());
+                                    item.put("realCost",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
+                                    item.put("overHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
+                                    item.put("normalHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("normalHour")))).sum());
+                                    double realHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("realHour")))).sum();
+                                    double planHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("planHour")))).sum();
+                                    item.put("process",percentFormat.format(realHour/planHour));
                                 }else {
                                     item.put("planHour",0);
                                     item.put("realHour",0);
                                     item.put("realCost",0);
                                     item.put("overHour",0);
                                     item.put("normalHour",0);
-                                    item.put("process","0%");
+                                    item.put("process","0.00%");
                                 }
+                            }else {
+                                item.put("planHour",0);
+                                item.put("realHour",0);
+                                item.put("realCost",0);
+                                item.put("overHour",0);
+                                item.put("normalHour",0);
+                                item.put("process","0.00%");
                             }
                             itemList.add(item);
                         }
@@ -12821,31 +12823,33 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                             item.put("groupName",groupName);
                             item.put("corpwxDeptId",corpwxDeptid);
                             item.put("department_name",departmentName);
-                            if(!taskGroup.isPresent()){
-                                item.put("planHour",0);
-                                item.put("realHour",0);
-                                item.put("realCost",0);
-                                item.put("overHour",0);
-                                item.put("normalHour",0);
-                                item.put("process","0%");
-                            }else {
-                                Optional<Map<String, Object>> first = 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")))))).findFirst();
-                                if(first.isPresent()){
-                                    item.put("planHour",first.get().get("planHour"));
-                                    item.put("realHour",first.get().get("realHour"));
-                                    item.put("realCost",first.get().get("realCost"));
-                                    item.put("overHour",first.get().get("overHour"));
-                                    item.put("normalHour",first.get().get("normalHour"));
-                                    item.put("process",first.get().get("process"));
+                            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());
+                                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());
+                                    item.put("realCost",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
+                                    item.put("overHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
+                                    item.put("normalHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("normalHour")))).sum());
+                                    double realHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("realHour")))).sum();
+                                    double planHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("planHour")))).sum();
+                                    item.put("process",percentFormat.format(realHour/planHour));
                                 }else {
                                     item.put("planHour",0);
                                     item.put("realHour",0);
                                     item.put("realCost",0);
                                     item.put("overHour",0);
                                     item.put("normalHour",0);
-                                    item.put("process","0%");
+                                    item.put("process","0.00%");
                                 }
+                            }else {
+                                item.put("planHour",0);
+                                item.put("realHour",0);
+                                item.put("realCost",0);
+                                item.put("overHour",0);
+                                item.put("normalHour",0);
+                                item.put("process","0.00%");
                             }
                             itemList.add(item);
                         }
@@ -12868,31 +12872,33 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                             item.put("groupName",groupName);
                             item.put("corpwxDeptId",corpwxDeptid);
                             item.put("department_name",departmentName);
-                            if(!taskGroup.isPresent()){
-                                item.put("planHour",0);
-                                item.put("realHour",0);
-                                item.put("realCost",0);
-                                item.put("overHour",0);
-                                item.put("normalHour",0);
-                                item.put("process","0%");
-                            }else {
-                                Optional<Map<String, Object>> first = 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")))))).findFirst();
-                                if(first.isPresent()){
-                                    item.put("planHour",first.get().get("planHour"));
-                                    item.put("realHour",first.get().get("realHour"));
-                                    item.put("realCost",first.get().get("realCost"));
-                                    item.put("overHour",first.get().get("overHour"));
-                                    item.put("normalHour",first.get().get("normalHour"));
-                                    item.put("process",first.get().get("process"));
+                            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());
+                                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());
+                                    item.put("realCost",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
+                                    item.put("overHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("overHour")))).sum());
+                                    item.put("normalHour",mapList.stream().mapToDouble(m-> Double.valueOf(String.valueOf(m.get("normalHour")))).sum());
+                                    double realHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("realHour")))).sum();
+                                    double planHour = mapList.stream().mapToDouble(m -> Double.valueOf(String.valueOf(m.get("planHour")))).sum();
+                                    item.put("process",percentFormat.format(realHour/planHour));
                                 }else {
                                     item.put("planHour",0);
                                     item.put("realHour",0);
                                     item.put("realCost",0);
                                     item.put("overHour",0);
                                     item.put("normalHour",0);
-                                    item.put("process","0%");
+                                    item.put("process","0.00%");
                                 }
+                            }else {
+                                item.put("planHour",0);
+                                item.put("realHour",0);
+                                item.put("realCost",0);
+                                item.put("overHour",0);
+                                item.put("normalHour",0);
+                                item.put("process","0.00%");
                             }
                             itemList.add(item);
                         }

+ 18 - 16
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -1890,22 +1890,24 @@
     </select>
 
     <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(SUM(CASE WHEN (r.create_date BETWEEN #{startDate} AND #{endDate} AND r.state=1 AND r.project_id IS NOT NULL) THEN r.working_time ELSE NULL END),0) AS realHour,
-        IFNULL(SUM(CASE WHEN (r.create_date BETWEEN #{startDate} AND #{endDate} AND r.state=1 AND r.project_id IS NOT NULL) THEN r.cost ELSE NULL END),0) AS realCost,
-        IFNULL(SUM(CASE WHEN (r.create_date BETWEEN #{startDate} AND #{endDate} AND r.state=1 AND r.project_id IS NOT NULL) THEN r.overtime_hours ELSE NULL END),0) AS overHour,
-        IFNULL(SUM(CASE WHEN (r.create_date BETWEEN #{startDate} AND #{endDate} AND r.state=1 AND r.project_id IS NOT NULL) THEN r.working_time ELSE NULL END)
-              -SUM(CASE WHEN (r.create_date BETWEEN #{startDate} AND #{endDate} AND r.state=1 AND r.project_id IS NOT NULL) THEN r.overtime_hours ELSE NULL END),0) AS normalHour,
-        IFNULL(tg.man_day*8,0) AS planHour,
-        CONCAT(ROUND((IFNULL(SUM(CASE WHEN (r.create_date BETWEEN #{startDate} AND #{endDate} AND r.state=1 AND r.project_id IS NOT NULL) THEN r.working_time ELSE NULL END),0)/IFNULL(tg.man_day*8,0))*100,2),'%') as process
-        FROM  task_group tg
-        LEFT JOIN task t ON t.group_id=tg.id
-        LEFT JOIN report r  ON r.task_id=t.id
-        LEFT JOIN project p ON p.id=r.project_id
-        LEFT JOIN department d ON d.department_id=r.dept_id
-        WHERE r.company_id=#{companyId}  AND tg.name IN ('生产部电气','生产部车间','工程部现场安装施工','工程部配合调试','研发部工艺设计','研发部结构设计','研发部BIM设计','研发部电气设计','研发部工艺调试验收','研发部电气调试验收')
+        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 task_id=t.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 task_id=t.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 task_id=t.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 task_id=t.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 task_id=t.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(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 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
+        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 r.creator_id=#{userId}
+            and t.executor_id=#{userId}
         </if>
         <if test="list!=null and list.size()>0">
             and d.department_id in
@@ -1919,7 +1921,7 @@
                 #{item}
             </foreach>
         </if>
-        GROUP BY tg.id ORDER BY p.id,d.department_id
+        GROUP BY p.id,tg.id,d.department_id ORDER BY p.id,d.department_id
     </select>
 
     <select id="projectExpendProcessList" resultType="java.util.Map">