diff --git a/bonus-modules/bonus-bmw/pom.xml b/bonus-modules/bonus-bmw/pom.xml index 6c0619c..5742b3b 100644 --- a/bonus-modules/bonus-bmw/pom.xml +++ b/bonus-modules/bonus-bmw/pom.xml @@ -19,6 +19,12 @@ + + commons-beanutils + commons-beanutils + 1.9.4 + + com.github.ulisesbocchio diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerAttController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerAttController.java index cfd0b3b..d368ed0 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerAttController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerAttController.java @@ -2,7 +2,6 @@ package com.bonus.bmw.controller; import com.bonus.bmw.domain.vo.*; import com.bonus.bmw.service.BmWorkerAttService; -import com.bonus.bmw.service.BmWorkerAttService; import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.page.TableDataInfo; @@ -20,9 +19,13 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; +import static com.bonus.bmw.utils.OwnPermissionUtil.dealWithPermission; + /** * 考勤统计 * @@ -48,6 +51,12 @@ public class BmWorkerAttController extends BaseController { @SysLog(title = "考勤统计", businessType = OperaType.QUERY, logType = 0, module = "施工人员->考勤管理->考勤统计", details = "分公司考勤统计") public TableDataInfo getSubComAttList(BmWorkerAtt o) { try { + Map map= dealWithPermission(); + if(!map.isEmpty()){ + // 3. 将 map 中的值复制到 o 对象中 + // 一行代码搞定!自动将 map 的 key 匹配到 bean 的属性并赋值 + org.apache.commons.beanutils.BeanUtils.populate(o, map); + } startPage(); List list = service.getSubComAttList(o); return getDataTable(list); @@ -57,7 +66,6 @@ public class BmWorkerAttController extends BaseController { return getDataTableError(new ArrayList<>()); } - /** * 查询列表-工程 * @param o @@ -68,6 +76,11 @@ public class BmWorkerAttController extends BaseController { @SysLog(title = "工程考勤统计", businessType = OperaType.QUERY, logType = 0, module = "施工人员->考勤管理->考勤统计", details = "工程考勤统计") public TableDataInfo getProAttList(BmWorkerAtt o) { try { + Map map=dealWithPermission(); + if(!map.isEmpty()){ + // 3. 将 map 中的值复制到 o 对象中 + BeanUtils.copyProperties(map, o); + } startPage(); List list = service.getProAttList(o); return getDataTable(list); @@ -161,6 +174,11 @@ public class BmWorkerAttController extends BaseController { @SysLog(title = "考勤导出-工程维度", businessType = OperaType.EXPORT, logType = 0, module = "施工人员->红绿灯管理->合同管理", details = "考勤导出-工程维度") public void attExportByPro(HttpServletResponse response, BmWorkerAtt o) { try { + Map map=dealWithPermission(); + if(!map.isEmpty()){ + // 3. 将 map 中的值复制到 o 对象中 + BeanUtils.copyProperties(map, o); + } List list = service.getProAttList(o); List exportList = list.stream() .map(worker -> { diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerAtt.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerAtt.java index 1106c9f..fd3df64 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerAtt.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerAtt.java @@ -169,4 +169,6 @@ public class BmWorkerAtt { */ private Integer teamEinStatus; + private Integer orgId; + } \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerAttServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerAttServiceImpl.java index d4bdcf7..1ce237d 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerAttServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerAttServiceImpl.java @@ -124,7 +124,7 @@ public class BmWorkerAttServiceImpl implements BmWorkerAttService { @Override public List getWorkerAttList(BmWorkerAtt o) { //1.查询 工程 班组 时间区间 姓名 身份证号码 - //根据区间产讯处最新的人员基础数据 + //根据区间查询最新的人员基础数据 List list = mapper.getWorkerEinMsgListByDateRange(o); //查询考勤天数 根据 时间区间 工程 班组 查询 List listAtt = mapper.getWorkerAttDayNumByDateRange(o); diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/utils/OwnPermissionUtil.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/utils/OwnPermissionUtil.java new file mode 100644 index 0000000..17cf120 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/utils/OwnPermissionUtil.java @@ -0,0 +1,30 @@ +package com.bonus.bmw.utils; + +import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.system.api.domain.SysUser; + +import java.util.HashMap; +import java.util.Map; + +public class OwnPermissionUtil { + + public static Map dealWithPermission() { + Map map=new HashMap<>(); + SysUser sysUser = SecurityUtils.getLoginUser().getSysUser(); + if("公司级".equals(sysUser.getRoleLevel())){ + + }else if("分公司级".equals(sysUser.getRoleLevel())){ + map.put("subComId", Math.toIntExact(sysUser.getBandId())); + }else if("项目部级".equals(sysUser.getRoleLevel())){ + map.put("subComId", Math.toIntExact(sysUser.getAffCompany())); + map.put("orgId", Math.toIntExact(sysUser.getBandId())); + }else if("分包商级".equals(sysUser.getRoleLevel())){ + + }else if("施工人员级".equals(sysUser.getRoleLevel())){ + map.put("subComId", Math.toIntExact(sysUser.getAffCompany())); + map.put("proId", Math.toIntExact(sysUser.getBandId())); + } + return map; + } + +} diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerAttMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerAttMapper.xml index 79f263f..ba8ab7a 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerAttMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerAttMapper.xml @@ -57,6 +57,9 @@ LEFT JOIN bm_att_person bap ON bap.pro_id = pp.id AND bap.att_day = #{startDate} WHERE psc.is_active = 1 + + AND psc.id = #{subComId} + GROUP BY psc.id @@ -65,7 +68,7 @@ SELECT pp.id as pro_id, pp.pro_name, - pp.pro_status, + pp.pro_status, ps.sub_name, pst.id as team_id, pst.team_name, @@ -80,7 +83,6 @@ AND bsc.pro_id = bstc.pro_id AND bstc.is_active = 1 LEFT JOIN pm_sub_team pst ON pst.id = bstc.team_id - LEFT JOIN bm_worker_ein_day_record bwem ON pp.id = bwem.pro_id and bwem.ein_day = #{startDate} LEFT JOIN bm_att_person bap ON bap.pro_id = pp.id AND bap.att_day = #{startDate} WHERE @@ -89,6 +91,9 @@ AND pp.pro_name LIKE CONCAT('%',#{proName},'%') + + AND pp.org_id = #{orgId} + GROUP BY bstc.id @@ -123,7 +128,6 @@ @@ -203,7 +213,7 @@ and bwedr.pro_id = #{proId} GROUP BY - bwedr.worker_id + bwedr.worker_id,bwedr.ein_day