diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerBlackController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerBlackController.java new file mode 100644 index 0000000..7989eec --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerBlackController.java @@ -0,0 +1,93 @@ +package com.bonus.bmw.controller; +import com.bonus.bmw.domain.vo.BmWorkerBlack; +import com.bonus.bmw.domain.vo.BmWorkerContract; +import com.bonus.bmw.domain.vo.BmWorkerLight; +import com.bonus.bmw.domain.vo.PmWorker; +import com.bonus.bmw.service.BmWorkerBlackService; +import com.bonus.bmw.service.impl.BmWorkerBlackServiceImpl; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.common.log.annotation.SysLog; +import com.bonus.common.log.enums.OperaType; +import com.bonus.common.security.annotation.InnerAuth; +import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.List; + +/** +* 人员黑名单(失信人员) +* +* @author fly +*/ +@RestController +@RequestMapping("/workerBlack") +public class BmWorkerBlackController extends BaseController { +/** +* 服务对象 +*/ + @Autowired + private BmWorkerBlackService service; + + /** + * 查询列表-黑名单人员 + * @param o + * @return + * , requiresPermissions = @RequiresPermissions("system:workerLight:list") + */ + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false)) + @GetMapping("/getWorkerBlackList") + @SysLog(title = "人员黑名单", businessType = OperaType.QUERY, logType = 0, module = "施工人员->红绿灯管理->红绿灯统计", details = "黑名单人员列表") + public TableDataInfo getWorkerBlackList(BmWorkerBlack o) { + try { + startPage(); + List list = service.getWorkerBlackList(o); + return getDataTable(list); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return getDataTableError(new ArrayList<>()); + } + + /** + * 黑名单人员添加 + * @param o + * @return + */ + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth) + @PostMapping("/insert") + @SysLog(title = "人员入场管理", businessType = OperaType.UPDATE, logType = 0, module = "施工人员->出入场管理->人员入场管理", details = "黑名单人员添加") + public AjaxResult insert(@Validated @RequestBody BmWorkerBlack o) { + try { + return service.insert(o); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 黑名单人员解除 + * @param o + * @return + */ + //, requiresPermissions = @RequiresPermissions("system:workerBlack:edit") + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth) + @PostMapping("/remove/{id}") + @SysLog(title = "人员黑名单", businessType = OperaType.QUERY, logType = 0, module = "施工人员->红绿灯管理->人员黑名单", details = "黑名单人员解除") + public AjaxResult edit(@PathVariable("id") String idNumber) { + try { + return toAjax(service.updateByPrimaryKey(idNumber)); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerContractController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerContractController.java index 02fe41f..ee7022c 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerContractController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerContractController.java @@ -57,7 +57,7 @@ public class BmWorkerContractController extends BaseController { } /** - * 查询列表 + * 查询单人列表 * @param o * @return * , requiresPermissions = @RequiresPermissions("system:contract:list") diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerLightController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerLightController.java new file mode 100644 index 0000000..4496436 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerLightController.java @@ -0,0 +1,95 @@ +package com.bonus.bmw.controller; +import com.bonus.bmw.domain.dto.PmWorkerDto; +import com.bonus.bmw.domain.vo.BmWorkerLight; +import com.bonus.bmw.domain.vo.PmWorker; +import com.bonus.bmw.service.BmWorkerLightService; +import com.bonus.bmw.service.impl.BmWorkerLightServiceImpl; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.common.log.annotation.SysLog; +import com.bonus.common.log.enums.OperaType; +import com.bonus.common.security.annotation.InnerAuth; +import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth; +import org.springframework.web.bind.annotation.*; + +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.ArrayList; +import java.util.List; + +/** +* 红绿灯统计 +* +* @author fly +*/ +@RestController +@RequestMapping("/workerLight") +public class BmWorkerLightController extends BaseController { +/** +* 服务对象 +*/ + @Autowired + private BmWorkerLightService service; + + /** + * 查询列表-分公司 + * @param o + * @return + * , requiresPermissions = @RequiresPermissions("system:workerLight:list") + */ + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false)) + @GetMapping("/getSubComLightList") + @SysLog(title = "红绿灯统计", businessType = OperaType.QUERY, logType = 0, module = "施工人员->红绿灯管理->红绿灯统计", details = "分公司红绿灯统计") + public TableDataInfo getSubComLightList(BmWorkerLight o) { + try { + startPage(); + List list = service.getSubComLightList(o); + return getDataTable(list); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return getDataTableError(new ArrayList<>()); + } + + + /** + * 查询列表-工程 + * @param o + * @return + * , requiresPermissions = @RequiresPermissions("system:workerLight:list") + */ + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false)) + @GetMapping("/getProLightList") + @SysLog(title = "红绿灯统计", businessType = OperaType.QUERY, logType = 0, module = "施工人员->红绿灯管理->红绿灯统计", details = "工程红绿灯统计") + public TableDataInfo getProLightList(BmWorkerLight o) { + try { + startPage(); + List list = service.getProLightList(o); + return getDataTable(list); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return getDataTableError(new ArrayList<>()); + } + + /** + * 查询列表-人员 + * @param o + * @return + * , requiresPermissions = @RequiresPermissions("system:workerLight:list") + */ + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false)) + @GetMapping("/getWorkerLightList") + @SysLog(title = "红绿灯统计", businessType = OperaType.QUERY, logType = 0, module = "施工人员->红绿灯管理->红绿灯统计", details = "人员红绿灯统计") + public TableDataInfo getWorkerLightList(BmWorkerLight o) { + try { + startPage(); + List list = service.getWorkerLightList(o); + return getDataTable(list); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return getDataTableError(new ArrayList<>()); + } + +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerBlack.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerBlack.java new file mode 100644 index 0000000..98985a2 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerBlack.java @@ -0,0 +1,74 @@ +package com.bonus.bmw.domain.vo; + +import lombok.Data; + +/** + * 人员黑名单(失信人员) + */ +@Data +public class BmWorkerBlack { + /** + * 编号 + */ + private Integer id; + + /** + * 施工人员id + */ + private Integer workerId; + + /** + * 身份证 + */ + private String idNumber; + + /** + * 姓名 + */ + private String name; + + /** + * 岗位 + */ + private String postName; + + /** + * 工程 + */ + private String proName; + + /** + * 分包 + */ + private String subName; + + /** + * 理由 + */ + private String reason; + + /** + * 开始时间 + */ + private String startTime; + + /** + * 结束时间 + */ + private String endTime; + + /** + * 是否解除 0 未解除 1 已解除 + */ + private Integer isRemove; + + /** + * 创建人 + */ + private String createUser; + + /** + * 修改人 + */ + private String updateUser; +} \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerContract.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerContract.java index fdecbb2..8db9dc5 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerContract.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerContract.java @@ -118,4 +118,6 @@ public class BmWorkerContract { */ private String isActive; + private String einStatus; + } \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerLight.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerLight.java new file mode 100644 index 0000000..20feda3 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerLight.java @@ -0,0 +1,101 @@ +package com.bonus.bmw.domain.vo; + +import java.util.Date; +import lombok.Data; + +/** + * 所有在场人员实时信息表-离场就删除 + */ +@Data +public class BmWorkerLight { + + /** + * 工程 + */ + private String proName; + + /** + * 工程id + */ + private Integer proId; + + /** + * 班组 + */ + private String teamName; + + /** + * 班组id + */ + private Integer teamId; + + /** + * 分包 + */ + private String subName; + + /** + * 分包id + */ + private Integer subId; + + /** + * 工种 + */ + private String postName; + + /** + * 工种id + */ + private Integer postId; + + + /** + * 1 黄灯 2 绿灯 + */ + private Integer lightStatus; + + + /** + * 分公司 + */ + private String subComName; + /** + * 分公司id + */ + private String subComId; + /** + * 手机号 + */ + private String phone; + /** + * 姓名 + */ + private String name; + /** + * 身份证号 + */ + private String idNumber; + /** + * 在场人员数量 + */ + private String einNum; + /** + * 黄灯数量 + */ + private String yellowNum; + /** + * 绿灯数量 + */ + private String greenNum; + + + + public String getSubComId() { + return subComId; + } + + public void setSubComId(String subComId) { + this.subComId = subComId; + } +} \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmWorker.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmWorker.java index 9c1f58a..5607bfd 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmWorker.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmWorker.java @@ -1,6 +1,8 @@ package com.bonus.bmw.domain.vo; import java.util.Date; + +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; /** @@ -56,11 +58,13 @@ public class PmWorker { /** * 有效期开始时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") private Date startTime; /** * 有效期结束时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") private Date endTime; /** diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerBlackMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerBlackMapper.java new file mode 100644 index 0000000..4e877fb --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerBlackMapper.java @@ -0,0 +1,40 @@ +package com.bonus.bmw.mapper; + +import com.bonus.bmw.domain.vo.BmWorkerBlack; +import com.bonus.bmw.domain.vo.BmWorkerLight; +import com.bonus.bmw.domain.vo.PmWorker; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface BmWorkerBlackMapper { + + /** + * update record + * @param idNumber the updated record + * @return update count + */ + int updateByPrimaryKey(String idNumber); + + /** + * select by primary key + * @param o primary key + * @return object by primary key + */ + List getWorkerBlackList(BmWorkerBlack o); + + /** + * select by primary key + * @param idNumber primary key + * @return object by primary key + */ + BmWorkerBlack getWorkerBlackByNumber(String idNumber); + + /** + * insert record to table + * @param o the record to insert + * @return insert count + */ + int insert(BmWorkerBlack o); +} \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerLightMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerLightMapper.java new file mode 100644 index 0000000..6902954 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerLightMapper.java @@ -0,0 +1,16 @@ +package com.bonus.bmw.mapper; + +import com.bonus.bmw.domain.vo.BmWorkerLight; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface BmWorkerLightMapper { + + List getSubComLightList(BmWorkerLight o); + + List getProLightList(BmWorkerLight o); + + List getWorkerLightList(BmWorkerLight o); +} \ No newline at end of file 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 4abb4c5..cb1eb42 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 @@ -78,4 +78,12 @@ public interface PmWorkerMapper { * @return */ void updateEinRecordLast(Integer id); + + /** + * update record + * + * @param record the updated record + * @return update count + */ + int updateByPrimaryKey(PmWorker record); } \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerBlackService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerBlackService.java new file mode 100644 index 0000000..9e7f165 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerBlackService.java @@ -0,0 +1,26 @@ +package com.bonus.bmw.service; + +import com.bonus.bmw.domain.vo.BmWorkerBlack; +import com.bonus.bmw.domain.vo.BmWorkerLight; +import com.bonus.common.core.web.domain.AjaxResult; + +import java.util.List; + +public interface BmWorkerBlackService{ + + int updateByPrimaryKey(String idNumber); + + /** + * 黑名单人员列表 + * @param o + * @return + */ + List getWorkerBlackList(BmWorkerBlack o); + + /** + * 黑名单人员添加 + * @param o + * @return + */ + AjaxResult insert(BmWorkerBlack o); +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerLightService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerLightService.java new file mode 100644 index 0000000..e471e1c --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerLightService.java @@ -0,0 +1,29 @@ +package com.bonus.bmw.service; + +import com.bonus.bmw.domain.vo.BmWorkerLight; + +import java.util.List; + +public interface BmWorkerLightService{ + + /** + * 分公司红绿灯统计 + * @param o + * @return + */ + List getSubComLightList(BmWorkerLight o); + + /** + * 工程红绿灯统计 + * @param o + * @return + */ + List getProLightList(BmWorkerLight o); + + /** + * 人员红绿灯统计 + * @param o + * @return + */ + List getWorkerLightList(BmWorkerLight o); +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerBlackServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerBlackServiceImpl.java new file mode 100644 index 0000000..7a6687e --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerBlackServiceImpl.java @@ -0,0 +1,80 @@ +package com.bonus.bmw.service.impl; + +import com.bonus.bmw.domain.vo.BmWorkerLight; +import com.bonus.bmw.domain.vo.PmWorker; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.security.utils.SecurityUtils; +import org.springframework.stereotype.Service; + +import org.springframework.beans.factory.annotation.Autowired; + +import com.bonus.bmw.domain.vo.BmWorkerBlack; +import com.bonus.bmw.mapper.BmWorkerBlackMapper; +import com.bonus.bmw.service.BmWorkerBlackService; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; +import java.util.Collections; +import java.util.List; + +@Service +public class BmWorkerBlackServiceImpl implements BmWorkerBlackService{ + + @Autowired + private BmWorkerBlackMapper mapper; + + + @Override + public int updateByPrimaryKey(String idNumber) { + return mapper.updateByPrimaryKey(idNumber); + } + + @Override + public List getWorkerBlackList(BmWorkerBlack o) { + return mapper.getWorkerBlackList(o); + } + + @Override + public AjaxResult insert(BmWorkerBlack o) { + // 添加员工时,判断员工编号是否已存在 + BmWorkerBlack worker = mapper.getWorkerBlackByNumber(o.getIdNumber()); + if(worker != null && worker.getId() != null){ + return new AjaxResult(500, "施工人员身份证已存在,当前姓名为"+worker.getName()); + } + o.setCreateUser(SecurityUtils.getUsername()); + int isRemove = 0; + if(!"永久".equals(o.getEndTime())){ + boolean beforeToday = isBeforeToday(o.getEndTime()); + if(beforeToday){ + isRemove = 2; + } + } + o.setCreateUser(SecurityUtils.getUsername()); + o.setIsRemove(isRemove); + int insert = mapper.insert(o); + return insert>0?new AjaxResult(200, "添加成功"):new AjaxResult(500, "添加失败"); + } + + /** + * 判断给定的 yyyy-MM-dd 日期是否在今天之前 + * @param dateStr 日期字符串,格式为 yyyy-MM-dd + * @return true 表示在今天之前;false 表示等于或晚于今天,或解析失败 + */ + public boolean isBeforeToday(String dateStr) { + if (dateStr == null || dateStr.trim().isEmpty()) { + return false; + } + try { + LocalDate inputDate = LocalDate.parse(dateStr.trim(), DateTimeFormatter.ofPattern("yyyy-MM-dd")); + LocalDate today = LocalDate.now(); + return inputDate.isBefore(today); + } catch (DateTimeParseException e) { + // 解析出错,直接返回 false(也可根据需要返回 null 或抛异常) + return false; + } + } + + + +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerLightServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerLightServiceImpl.java new file mode 100644 index 0000000..ca65640 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerLightServiceImpl.java @@ -0,0 +1,39 @@ +package com.bonus.bmw.service.impl; + +import org.springframework.stereotype.Service; + +import org.springframework.beans.factory.annotation.Autowired; + +import com.bonus.bmw.mapper.BmWorkerLightMapper; +import com.bonus.bmw.domain.vo.BmWorkerLight; +import com.bonus.bmw.service.BmWorkerLightService; + +import java.util.Collections; +import java.util.List; + +@Service +public class BmWorkerLightServiceImpl implements BmWorkerLightService{ + + @Autowired + private BmWorkerLightMapper mapper; + + /** + * 分公司红绿灯统计 + * @param o + * @return + */ + @Override + public List getSubComLightList(BmWorkerLight o) { + return mapper.getSubComLightList(o); + } + + @Override + public List getProLightList(BmWorkerLight o) { + return mapper.getProLightList(o); + } + + @Override + public List getWorkerLightList(BmWorkerLight o) { + return mapper.getWorkerLightList(o); + } +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerExitServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerExitServiceImpl.java index af433ca..2e51b37 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerExitServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerExitServiceImpl.java @@ -1,24 +1,13 @@ package com.bonus.bmw.service.impl; -import cn.hutool.core.date.DateUtil; import com.bonus.bmw.domain.dto.PmWorkerDto; -import com.bonus.bmw.domain.vo.BmWorkerContract; -import com.bonus.bmw.domain.vo.BmWorkerWageCard; import com.bonus.bmw.domain.vo.PmWorker; import com.bonus.bmw.mapper.PmWorkerExitMapper; -import com.bonus.bmw.mapper.PmWorkerMapper; import com.bonus.bmw.service.BmWorkerContractService; -import com.bonus.bmw.service.BmWorkerWageCardService; import com.bonus.bmw.service.PmWorkerExitService; -import com.bonus.bmw.service.PmWorkerService; -import com.bonus.common.core.web.domain.AjaxResult; -import com.bonus.common.security.utils.SecurityUtils; -import com.github.pagehelper.util.StringUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import java.util.Collections; import java.util.List; @Service 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 bcbd520..354c0bb 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 @@ -78,16 +78,16 @@ public class PmWorkerServiceImpl implements PmWorkerService{ private void addWorkerWageCardDataAndContract(PmWorker record) { BmWorkerWageCard bmWorkerWageCard = record.getBmWorkerWageCard(); BmWorkerContract bmWorkerContract = record.getBmWorkerContract(); - if(StringUtil.isNotEmpty(bmWorkerWageCard.getBankCardCode())){ + if(bmWorkerWageCard != null && StringUtil.isNotEmpty(bmWorkerWageCard.getBankCardCode())){ bmWorkerWageCard.setCreateUser(SecurityUtils.getUsername()); bmWorkerWageCard.setWorkerId(record.getId()); - if(bmWorkerWageCard.getId() != null){ - wageCardService.updateByPrimaryKeySelective(bmWorkerWageCard); - }else{ +// if(bmWorkerWageCard.getId() != null){ +// wageCardService.updateByPrimaryKeySelective(bmWorkerWageCard); +// }else{ wageCardService.updateByPrimaryKey(bmWorkerWageCard); - } +// } } - if(StringUtil.isNotEmpty(bmWorkerContract.getContractCode())){ + if(bmWorkerContract != null && StringUtil.isNotEmpty(bmWorkerContract.getContractCode())){ bmWorkerContract.setCreateUser(SecurityUtils.getUsername()); bmWorkerContract.setWorkerId(record.getId()); contractService.updateByPrimaryKey(bmWorkerContract); @@ -122,6 +122,9 @@ public class PmWorkerServiceImpl implements PmWorkerService{ @Transactional @Override public int updateByPrimaryKey(PmWorker record) { + //更新基础数据 + record.setUpdateUser(SecurityUtils.getUsername()); + int update = mapper.updateByPrimaryKey(record); //更新入场记录最新记录标识 再入场,清除最新标识 mapper.updateEinRecordLast(record.getId()); //已经入过场了 diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerBlackMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerBlackMapper.xml new file mode 100644 index 0000000..951c4e4 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerBlackMapper.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + id, worker_id, id_number, `name`, post_name, pro_name, sub_name, reason, start_time, + end_time, is_remove, create_user, update_user + + + + update bm_worker_black + set is_remove = 1 + where id_number = #{idNumber} + + + + + + + + insert into bm_worker_black (id_number, `name`, post_name, pro_name, sub_name, reason, start_time, + end_time, is_remove,create_user) + values (#{idNumber}, #{name}, #{postName}, #{proName}, #{subName}, #{reason}, #{startTime}, + #{endTime}, #{isRemove}, #{createUser}) + + \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerContractMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerContractMapper.xml index 91a0ff3..ff3a173 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerContractMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerContractMapper.xml @@ -24,6 +24,8 @@ + + @@ -55,6 +57,7 @@ + SELECT + psc.id as sub_com_id, + psc.sub_company_name, + COUNT(bwem.worker_id) AS einNum, + COUNT(CASE WHEN bwem.light_status = 1 THEN 1 END) AS yellowNum, + COUNT(CASE WHEN bwem.light_status = 2 THEN 1 END) AS greenNum + FROM + pm_sub_company psc + LEFT JOIN pm_project pp ON psc.id = pp.sub_com_id AND pp.is_active = 1 + LEFT JOIN bm_worker_ein_msg bwem ON pp.id = bwem.pro_id + WHERE + psc.is_active = 1 + GROUP BY + psc.id + + + + + + + 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 8601a48..12b32be 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 @@ -65,7 +65,6 @@ update pm_worker set is_active = 0 where id = #{id}; - update bm_worker_ein_pro set is_active = 0 where worker_id = #{id}; @@ -162,4 +161,47 @@ update bm_worker_ein_pro_record set is_last = 0 where worker_id = #{id} + + + update pm_worker + + + `name` = #{name}, + + + id_number = #{idNumber}, + + + sex = #{sex}, + + + phone = #{phone}, + + + birthday = #{birthday}, + + + nation = #{nation}, + + + issuing_authority = #{issuingAuthority}, + + + start_time = #{startTime}, + + + end_time = #{endTime}, + + + address = #{address}, + + + face_photo = #{facePhoto}, + + + update_user = #{updateUser}, + + + where id = #{id} + \ No newline at end of file