diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/KqCmdController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/KqCmdController.java index 2dac6a0..78ebe44 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/KqCmdController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/KqCmdController.java @@ -14,6 +14,9 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.Map; + +import static com.bonus.bmw.utils.OwnPermissionUtil.dealWithPermission; /** * 考勤机操作控制层 @@ -40,6 +43,11 @@ public class KqCmdController extends BaseController { @SysLog(title = "工程考勤机树", businessType = OperaType.QUERY, logType = 0, module = "工程考勤机树", details = "工程考勤机树") public AjaxResult getProKqjTree(KqCmdBean o) { try { + Map map = dealWithPermission(); + if(!map.isEmpty()){ + // 3. 将 map 中的值复制到 o 对象中 + org.apache.commons.beanutils.BeanUtils.populate(o, map); + } return service.getProKqjTree(o); } catch (Exception e) { logger.error(e.toString(), e); diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubComController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubComController.java index d9d6850..cf9bd88 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubComController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubComController.java @@ -1,5 +1,6 @@ package com.bonus.bmw.controller; +import com.bonus.bmw.domain.po.BmBasicDataHisVo; import com.bonus.bmw.domain.po.PmSubCompany; import com.bonus.bmw.service.PmSubComService; import com.bonus.common.core.web.controller.BaseController; @@ -11,7 +12,6 @@ import com.bonus.common.security.annotation.InnerAuth; import com.bonus.common.security.annotation.RequiresPermissions; import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.beanutils.BeanUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -118,4 +118,21 @@ public class PmSubComController extends BaseController { return getDataTableError(new ArrayList<>()); } + /** + * 分公司/项目部/总工程/工程 历史修改记录 + */ + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("sub:company:list")) + @GetMapping("/getHisList") + @SysLog(title = "分公司管理", businessType = OperaType.QUERY, logType = 0, module = "分公司管理->分公司列表") + public TableDataInfo getHisList(BmBasicDataHisVo bean) { + try { + startPage(); + List list = pmSubComService.getHisList(bean); + return getDataTable(list); + } catch (Exception e) { + log.error(e.toString(), e); + } + return getDataTableError(new ArrayList<>()); + } + } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java index f4aeca7..211a679 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java @@ -2,8 +2,6 @@ package com.bonus.bmw.domain.dto; import lombok.Data; -import java.util.Date; - /** * 人员基础信息表 */ @@ -95,4 +93,9 @@ public class PmWorkerDto { */ private String photoIds; + /** + * 0 默认 1 黄灯 2 绿灯 3 失信人员 + */ + private String lightStatus; + } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmMainProject.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmMainProject.java index 97237ec..f3d0b76 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmMainProject.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmMainProject.java @@ -80,4 +80,14 @@ public class PmMainProject { */ private String orgId; + /** + *开始时间 + */ + private String startDate; + + /** + *结束时间 + */ + private String endDate; + } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmOrg.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmOrg.java index 8332402..007eca9 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmOrg.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmOrg.java @@ -68,4 +68,14 @@ public class PmOrg { *关键字搜索 */ private String keyWord; + + /** + *开始时间 + */ + private String startDate; + + /** + *结束时间 + */ + private String endDate; } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmProject.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmProject.java index a9728bc..3a15a28 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmProject.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmProject.java @@ -119,4 +119,16 @@ public class PmProject { * 是否有效 */ private Integer isActive; + + + /** + *开始时间 + */ + private String startDate; + + /** + *结束时间 + */ + private String endDate; + } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubCompany.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubCompany.java index edc72bf..2d665bc 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubCompany.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubCompany.java @@ -72,4 +72,15 @@ public class PmSubCompany { * 项目部列表 */ private List pmOrgList; + + /** + *开始时间 + */ + private String startDate; + + /** + *结束时间 + */ + private String endDate; + } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/KqCmdBean.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/KqCmdBean.java index e73fda2..f3652ca 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/KqCmdBean.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/KqCmdBean.java @@ -140,6 +140,8 @@ public class KqCmdBean { private String workerName; private String phone; + private Integer subComId; + /** * 是否在库 */ diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmSubComMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmSubComMapper.java index 3fbbac6..f9badeb 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmSubComMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmSubComMapper.java @@ -45,4 +45,6 @@ public interface PmSubComMapper { * @param bmBasicDataHisVo */ void insertOldSubComName(BmBasicDataHisVo bmBasicDataHisVo); + + List getHisList(BmBasicDataHisVo bean); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java index 17f80ea..f37ee8a 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java @@ -164,4 +164,10 @@ public interface PmWorkerMapper { Integer getTeamIdByTeamName(@Param("teamName") String teamName, @Param("subId") Integer subId); Integer getPostIdByPostName(String postName); + + /** + * 更新人员岗位 + * @param record + */ + void updateWorkerPost(PmWorker record); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmSubComService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmSubComService.java index 82fa550..2ff616e 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmSubComService.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmSubComService.java @@ -1,5 +1,6 @@ package com.bonus.bmw.service; +import com.bonus.bmw.domain.po.BmBasicDataHisVo; import com.bonus.bmw.domain.po.PmSubCompany; import java.util.List; @@ -22,4 +23,11 @@ public interface PmSubComService { int delSubCompany(PmSubCompany pmSubCompany); List selectSubCompanyListAll(PmSubCompany pmSubCompany); + + /** + * 获取历史记录 + * @param bean + * @return + */ + List getHisList(BmBasicDataHisVo bean); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmOrgServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmOrgServiceImpl.java index a15dcad..3d84cbd 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmOrgServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmOrgServiceImpl.java @@ -64,7 +64,7 @@ public class PmOrgServiceImpl implements PmOrgService { PmOrg oldOrgName = pmOrgMapper.getPmOrgByOrgId(pmOrg.getId()); if (!oldOrgName.getOrgName().equals(pmOrg.getOrgName())){ BmBasicDataHisVo bmBasicDataHisVo = new BmBasicDataHisVo(); - bmBasicDataHisVo.setOrgId(pmOrg.getOrgId()); + bmBasicDataHisVo.setOrgId(pmOrg.getId()); bmBasicDataHisVo.setType(3); bmBasicDataHisVo.setOldName(oldOrgName.getOrgName()); bmBasicDataHisVo.setName(pmOrg.getOrgName()); diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubComServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubComServiceImpl.java index e10b623..dd7cf81 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubComServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubComServiceImpl.java @@ -106,4 +106,9 @@ public class PmSubComServiceImpl implements PmSubComService { } return pmSubCompanyList; } + + @Override + public List getHisList(BmBasicDataHisVo bean) { + return pmSubComMapper.getHisList(bean); + } } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java index 04ba052..7ed65da 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java @@ -52,6 +52,9 @@ public class PmWorkerServiceImpl implements PmWorkerService{ @Resource private AppRecognitionService appRecognitionService; + @Autowired + private TbProConfigService configService; + @Autowired private FileUploadUtils fileUploadUtils; @@ -229,6 +232,12 @@ public class PmWorkerServiceImpl implements PmWorkerService{ //人员数据 PmWorker worker = mapper.selectByIdNumber(idNumber); if(worker != null){ + //20251229 人员多入场不再依赖与是否上海工程而是根据配置,使用接口查询 + TbProConfigVo config = new TbProConfigVo(); + config.setProId(String.valueOf(worker.getProId())); + AjaxResult configByProId = configService.getConfigByProId(config); + Map map = (Map) configByProId.get("data"); + worker.setIsShanghai(map.get("dgc")); worker.setFiles(fileUploadUtils.getFileList("", worker.getId().toString(), Constants.FILE_UPLOAD_WORKER, "")); //查询工资卡 数据 BmWorkerWageCard wageCard = new BmWorkerWageCard(); @@ -453,6 +462,10 @@ public class PmWorkerServiceImpl implements PmWorkerService{ } if(record.getEinStatus() == 1){ //已经入过场了 + //是否修改工种 + if(record.getPostId() != null && record.getPostId() > 0){ + mapper.updateWorkerPost(record); + } addWorkerWageCardDataAndContract(record,fileMsg); }else { //重新入场 再入场,清除最新标识 diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/TbProConfigServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/TbProConfigServiceImpl.java index e680396..4a02117 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/TbProConfigServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/TbProConfigServiceImpl.java @@ -6,7 +6,6 @@ import com.bonus.bmw.service.TbProConfigService; import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.web.domain.AjaxResult; import lombok.extern.slf4j.Slf4j; -import org.checkerframework.checker.units.qual.A; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -153,7 +152,7 @@ public class TbProConfigServiceImpl implements TbProConfigService { */ @Override public AjaxResult getConfigByProId(TbProConfigVo params) { - Map map=new HashMap(); + Map map=new HashMap<>(); try{ List list=mapper.getConfigByProId(params); if(list!=null&& !list.isEmpty()){ diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/KqCmdTaskMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/KqCmdTaskMapper.xml index cbb77f9..3bcdc95 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/KqCmdTaskMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/KqCmdTaskMapper.xml @@ -82,14 +82,22 @@ pad.device_code, ps.id as sub_id, ps.sub_name, - pst.id as team_id - ,pst.team_name, - pad.on_line onLine + pst.id as team_id, + pst.team_name, + pad.on_line onLine FROM pm_att_device pad INNER JOIN pm_project pp ON pad.pro_id = pp.id LEFT JOIN pm_sub ps ON ps.id = pad.sub_id LEFT JOIN pm_sub_team pst ON pst.id = pad.team_id + + + AND (pp.sub_com_id = #{subComId} or pp.sub_com_id is null) + + + AND pp.Id = #{proId} + + order by pad.on_line desc - select pmp.id,pmp.main_pro_name,pmp.vol_level,pmp.create_user,pmp.update_user,pmp.create_time, + select pmp.id,pmp.main_pro_name,pmp.vol_level,pmp.create_user,pmp.update_user, + if(bbdh.create_time is null,pmp.create_time,bbdh.create_time) as createTime, pmp.update_time,pmp.pro_status,pmp.sub_com_id,psc.sub_company_name as subComName from pm_main_project pmp left join pm_sub_company psc on pmp.sub_com_id = psc.id + left join bm_basic_data_his bbdh on bbdh.id = pmp.id and bbdh.type = 4 where pmp.is_active='1' and pmp.main_pro_name LIKE CONCAT('%', #{mainProName}, '%') @@ -49,6 +51,9 @@ or pmp.vol_level like concat('%', #{keyWord}, '%') ) + + and DATE_FORMAT(if(bbdh.create_time is null,pmp.create_time,bbdh.create_time), '%Y-%m-%d') between #{startDate} and #{endDate} + order by pmp.create_time desc - - insert into bm_basic_data_his (id, type, old_name, name) - values (#{id}, #{type}, #{oldName}, #{name}) + insert into bm_basic_data_his (id, type, old_name, name, update_user) + values (#{id}, #{type}, #{oldName}, #{name}, #{updateUser}) - insert into bm_basic_data_his (org_id,type,old_name,name) - values (#{orgId},#{type},#{oldName},#{name}) + insert into bm_basic_data_his (org_id,type,old_name,name,update_user) + values (#{orgId},#{type},#{oldName},#{name},#{updateUser}) - insert into bm_basic_data_his (id, type, old_name, name) - values (#{id}, #{type}, #{oldName}, #{name}) + insert into bm_basic_data_his (id, type, old_name, name, update_user) + values (#{id}, #{type}, #{oldName}, #{name}, #{updateUser}) diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubComMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubComMapper.xml index db218ef..db7554b 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubComMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubComMapper.xml @@ -35,10 +35,11 @@ psc.is_enable as isEnable, psc.create_user as createUser, psc.update_user as updateUser, - psc.create_time as createTime, + if(bbdh.create_time is null,psc.create_time,bbdh.create_time) as createTime, psc.update_time as updateTime from pm_sub_company psc left join pm_company pc on psc.com_id = pc.id + left join bm_basic_data_his bbdh on psc.id = bbdh.id and bbdh.type = 2 where psc.is_active = '1' and psc.sub_company_name LIKE CONCAT('%', #{subCompanyName}, '%') @@ -48,6 +49,9 @@ and psc.id = #{subComId} + + + and DATE_FORMAT(if(bbdh.create_time is null,psc.create_time,bbdh.create_time), '%Y-%m-%d') between #{startDate} and #{endDate} order by psc.create_time desc @@ -93,4 +97,15 @@ insert into bm_basic_data_his (id, type, old_name, name, update_user) values (#{id}, #{type}, #{oldName}, #{name}, #{updateUser}) + + diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml index 59c3af8..06cc1eb 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml @@ -24,6 +24,7 @@ + select id from pm_post_type where post_name = #{postName} + + + update bm_worker_ein_msg set post_id = #{postId},post_name = #{postName} where worker_id = #{id}; + update bm_worker_ein_pro_record set post_id = #{postId},post_name = #{postName} where worker_id = #{id}; +