diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java index 947a73889..07b3bc0b4 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/SystemUser.java @@ -14,6 +14,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; +import java.util.List; /** * @Description: 账号 @@ -193,6 +194,18 @@ public class SystemUser implements Serializable { @ApiModelProperty(value = "项目组织机构名称") private java.lang.String projectOrgName; + @TableField(exist = false) + @ApiModelProperty(value = "项目组织机构ID") + private java.lang.String projectOrgId; + + @TableField(exist = false) + @ApiModelProperty(value = "项目组织机构名称") + private java.lang.String ancestors; + + @TableField(exist = false) + @ApiModelProperty(value = "项目组织机构名称") + private List ancestorsName; + @TableField(exist = false) private java.lang.Long enterpriseId; diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml index c4e47b115..3dab6d2cf 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml @@ -37,7 +37,9 @@ group_concat(distinct c.role_name) as role_name, group_concat(distinct b.role_id) as role_id, d.worker_name, + po.id as projectOrgId, po.dept_name as projectOrgName, + po.ancestors, d.enterprise_id, d.person_mail, ei.enterprise_name diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java index 8e99908c2..fe244eb7f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java @@ -54,11 +54,14 @@ import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper; import com.zhgd.xmgl.modules.worker.service.IUserEnterpriseService; import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl; +import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg; import com.zhgd.xmgl.modules.xz.entity.XzRegistry; +import com.zhgd.xmgl.modules.xz.mapper.XzProjectOrgMapper; import com.zhgd.xmgl.modules.xz.mapper.XzRegistryMapper; import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecord; import com.zhgd.xmgl.modules.xz.security.enums.XzSecurityQualityInspectionRecordStatusEnum; import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRecordService; +import com.zhgd.xmgl.modules.xz.service.IXzProjectOrgService; import com.zhgd.xmgl.modules.xz.service.impl.XzRegistryServiceImpl; import com.zhgd.xmgl.security.JwtTokenProvider; import com.zhgd.xmgl.security.entity.UserInfo; @@ -188,6 +191,8 @@ public class SystemUserServiceImpl extends ServiceImpl getToken(Map map) { @@ -327,19 +332,20 @@ public class SystemUserServiceImpl extends ServiceImpl dealList(List list) { + if (list.size() > 0) { + List xzProjectOrgList = xzProjectOrgMapper.selectList(null); + for (SystemUser systemUser : list) { + String ancestors = systemUser.getAncestors(); + List name = new ArrayList<>(); + if (ancestors.equals("0")) { + name.add(systemUser.getProjectOrgName()); + } else { + String[] split = ancestors.split(","); + for (int i = 1; i < split.length; i++) { + int finalI = i; + List collect = xzProjectOrgList.stream().filter(l -> l.getId().toString().equals(split[finalI])).collect(Collectors.toList()); + if (collect.size() > 0) { + name.add(collect.get(0).getDeptName()); + } + } + name.add(systemUser.getProjectOrgName()); + } + systemUser.setAncestorsName(name); + } + } + return list; } @Override diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/mapper/QualityInspectionRecordMapper.java b/src/main/java/com/zhgd/xmgl/modules/quality/mapper/QualityInspectionRecordMapper.java index 0967f0f96..f4b7898d3 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/mapper/QualityInspectionRecordMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/quality/mapper/QualityInspectionRecordMapper.java @@ -215,6 +215,14 @@ public interface QualityInspectionRecordMapper extends BaseMapper statsByInspectManVo(@Param("param") Map paramMap, Page page); + /** + * 检查人统计 + * + * @param paramMap + * @param page + * @return + */ + Page statsByParentInspectManVo(@Param("param") Map paramMap, Page page); /** * 按分包单位统计 * @@ -224,6 +232,15 @@ public interface QualityInspectionRecordMapper extends BaseMapper statsByEnterprise(@Param("param") Map paramMap, Page page); + /** + * 按总包单位统计 + * + * @param paramMap + * @param page + * @return + */ + Page statsByParentEnterprise(@Param("param") Map paramMap, Page page); + /** * 隐患类型分析 * diff --git a/src/main/java/com/zhgd/xmgl/modules/quality/mapper/xml/QualityInspectionRecordMapper.xml b/src/main/java/com/zhgd/xmgl/modules/quality/mapper/xml/QualityInspectionRecordMapper.xml index 7cd67b7a5..9653b75c9 100644 --- a/src/main/java/com/zhgd/xmgl/modules/quality/mapper/xml/QualityInspectionRecordMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/quality/mapper/xml/QualityInspectionRecordMapper.xml @@ -674,6 +674,39 @@ order by rectifiedNum desc) t + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml index a030323f2..0df802c37 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/worker/mapper/xml/WorkerInfoMapper.xml @@ -438,17 +438,21 @@ and w1.person_type = #{personType} - SELECT COUNT(1) totalPerson, IFNULL(sum((CASE WHEN w1.person_type = 1 then 1 ELSE 0 END)), 0) lwPersonTotal, IFNULL(sum((CASE WHEN w1.person_type = 2 then 1 ELSE 0 END)), 0) glPersonTotal, IFNULL(sum((CASE WHEN w1.person_type = 3 then 1 ELSE 0 END)), 0) lsPersonTotal, COUNT(distinct w1.team_id) total_team_num FROM worker_info w1 + JOIN project_enterprise pe on pe.enterprise_id=w1.enterprise_id and pe.project_sn=w1.project_sn w1.project_sn = #{projectSn} + + and pe.parent_enterprise_id = 0 + and w1.inService_type = 1 and w1.project_sn in @@ -479,9 +483,13 @@ IFNULL(sum((CASE WHEN w1.person_type = 3 then 1 ELSE 0 END)), 0) lsPersonTotal, COUNT(distinct g.worker_type_id) total_worker_type_num from worker_info w1 + JOIN project_enterprise pe on pe.enterprise_id=w1.enterprise_id and pe.project_sn=w1.project_sn INNER JOIN worker_attendance_presence p ON w1.person_sn = p.person_sn Left JOIN team_info g ON (w1.project_sn = g.project_sn and w1.team_id = g.id) + + pe.parent_enterprise_id = 0 + AND (w1.enterprise_id = #{supplierEnterpriseId} OR w1.enterprise_id IN ( SELECT t.enterprise_id FROM project_enterprise t WHERE find_in_set(#{projectEnterpriseId}, ancestors) )) @@ -694,6 +702,50 @@ + + + + + + + + + + + + + + +