Min 11 meses atrás
pai
commit
d78bd17d34

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

@@ -14485,6 +14485,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             r.put("departmentName",departmentService.getSupDepartment(department.get(),departments));
         });
         Map<String,Object> map=new HashMap<>();
+        resultList=resultList.stream().filter(r->Double.valueOf(String.valueOf(r.get("totalWorkTime")))>0).collect(Collectors.toList());
         map.put("record",resultList);
         map.put("total",total);
         msg.setData(map);

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

@@ -1990,7 +1990,7 @@
         SUM(CASE WHEN groupName='工程部' THEN workTime ELSE 0 END) AS '工程部' ,
         SUM(CASE WHEN groupName='工程部售后' THEN workTime ELSE 0 END) AS '工程部售后' ,
         SUM(CASE WHEN groupName='工程部现场安装施工' THEN workTime ELSE 0 END) AS '工程部现场安装施工',
-        SUM(workTime) AS 'totalWorkTime'
+        IFNULL(SUM(workTime),0) AS totalWorkTime
         FROM (
             SELECT  d.`department_id` AS departmentId,d.`department_name` AS departmentName,u.`job_number` AS jobNumber,u.`name` AS userName ,tg.name AS groupName,rr.realHour AS workTime,u.id
             FROM task_executor te
@@ -2040,7 +2040,7 @@
 
     <select id="groupExpendProcessListForUserCount" resultType="java.lang.Integer">
         select count(1) from (
-        SELECT departmentId,departmentName,jobNumber,userName
+        SELECT departmentId,departmentName,jobNumber,userName,IFNULL(SUM(workTime),0) AS totalWorkTime
         FROM (
             SELECT d.`department_id` AS departmentId,d.`department_name` AS departmentName,u.`job_number` AS jobNumber,u.`name` AS userName ,tg.name AS groupName,rr.realHour AS workTime,u.id
             FROM task_executor te

+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/UserMapper.xml

@@ -63,9 +63,10 @@
         SELECT a.id, a.role_id as roleId, a.role_name as roleName, a.name, a.phone, a.portrait_url AS portraitUrl, a.role, a.company_id AS companyId, a.cost,
         a.department_id AS departmentId, b.department_name AS departmentName, a.department_cascade AS departmentCascade,a.corpwx_userid as corpwxUserid,
         a.month_cost as monthCost, a.salary_type as salaryType, a.is_active as isActive,date_format(a.`inactive_date`, '%Y-%m-%d') AS inactiveDate, a.cost_apply_date as costApplyDate,a.plate1,a.plate2,a.plate3,a.plate4,a.plate5,
-        a.job_number as jobNumber, DATE_FORMAT(a.create_time, '%Y-%m-%d %H:%m')  as createTime, c.name as superiorName, c.corpwx_userid as superiorCorpwxUserid
+        a.job_number as jobNumber, DATE_FORMAT(a.create_time, '%Y-%m-%d %H:%m')  as createTime, c.name as superiorName, c.corpwx_userid as superiorCorpwxUserid,ug.group_name as groupName
         FROM user AS a
         LEFT JOIN department AS b ON a.department_id = b.department_id
+        left join user_group as ug on ug.id=a.user_group_id
         left join user c on c.id = a.superior_id and c.company_id = #{companyId}
         WHERE a.company_id = #{companyId}
           <if test="corpwxUserIds != null">

+ 13 - 11
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/DepartmentServiceImpl.java

@@ -202,18 +202,20 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
                             planList.forEach(p->{
                                 boolean match=true;
                                 Optional<Map<String, Object>> planId = planRealTimeProgressList.stream().filter(plan -> plan.get("planId").equals(p.getId())).findFirst();
-                                Map<String, Object> map = planId.get();
-                                BigDecimal planWorkTime = new BigDecimal(map.get("planWorkTime") == null ? 0 : Double.valueOf(String.valueOf(map.get("planWorkTime"))));
-                                BigDecimal nowWorkTime = new BigDecimal(map.get("nowWorkTime") == null ? 0 : Double.valueOf(String.valueOf(map.get("nowWorkTime"))));
-                                if(nowWorkTime.compareTo(BigDecimal.ZERO)!=0){
-                                    BigDecimal divide = nowWorkTime.divide(planWorkTime, 4, RoundingMode.HALF_UP);
-                                    if(divide.doubleValue()>1){
-                                        match=false;
+                                if(planId.isPresent()){
+                                    Map<String, Object> map = planId.get();
+                                    BigDecimal planWorkTime = new BigDecimal(map.get("planWorkTime") == null ? 0 : Double.valueOf(String.valueOf(map.get("planWorkTime"))));
+                                    BigDecimal nowWorkTime = new BigDecimal(map.get("nowWorkTime") == null ? 0 : Double.valueOf(String.valueOf(map.get("nowWorkTime"))));
+                                    if(nowWorkTime.compareTo(BigDecimal.ZERO)!=0){
+                                        BigDecimal divide = nowWorkTime.divide(planWorkTime, 4, RoundingMode.HALF_UP);
+                                        if(divide.doubleValue()>1){
+                                            match=false;
+                                        }
+                                    }
+                                    if(match){
+                                        p.setForemanName(manager.getName());
+                                        p.setForemanId(manager.getId());
                                     }
-                                }
-                                if(match){
-                                    p.setForemanName(manager.getName());
-                                    p.setForemanId(manager.getId());
                                 }
                             });
                             planService.updateBatchById(planList);