From 8a6fdf641ac013d998224622370c625e20dbbd29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E4=BA=AE?= Date: Tue, 12 Aug 2025 18:35:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=85=A5=E5=9C=BA=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bmw/controller/PmWorkerController.java | 123 +++++++ .../com/bonus/bmw/domain/dto/PmWorkerDto.java | 56 +++ .../com/bonus/bmw/domain/vo/PmWorker.java | 157 ++++++++ .../bmw/mapper/BmWorkerContractMapper.java | 7 + .../bmw/mapper/BmWorkerWageCardMapper.java | 10 + .../com/bonus/bmw/mapper/PmWorkerMapper.java | 97 +++++ .../bmw/service/BmWorkerContractService.java | 7 + .../bmw/service/BmWorkerWageCardService.java | 14 + .../bonus/bmw/service/PmWorkerService.java | 25 ++ .../impl/BmWorkerContractServiceImpl.java | 5 + .../impl/BmWorkerWageCardServiceImpl.java | 25 ++ .../bmw/service/impl/PmWorkerServiceImpl.java | 142 ++++++++ .../mapper/bmw/BmWorkerContractMapper.xml | 28 ++ .../mapper/bmw/BmWorkerWageCardMapper.xml | 52 ++- .../resources/mapper/bmw/PmWorkerMapper.xml | 341 ++++++++++++++++++ 15 files changed, 1085 insertions(+), 4 deletions(-) create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmWorkerController.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmWorker.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmWorkerService.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java create mode 100644 bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmWorkerController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmWorkerController.java new file mode 100644 index 0000000..2daeaa6 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmWorkerController.java @@ -0,0 +1,123 @@ +package com.bonus.bmw.controller; +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.service.impl.PmWorkerServiceImpl; +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; + +/** +* 人员基础信息表(pm_worker)表控制层 +* +* @author xxxxx +*/ +@RestController +@RequestMapping("/worker") +public class PmWorkerController extends BaseController { +/** +* 服务对象 +*/ + @Autowired + private PmWorkerServiceImpl service; + + /** + * 通过主键查询单条数据 + * + * @param id 主键 + * @return 单条数据 + */ + @GetMapping("selectOne") + public PmWorker selectOne(Integer id) { + return service.selectByPrimaryKey(id); + } + + /** + * 查询列表 + * @param o + * @return + * , requiresPermissions = @RequiresPermissions("system:workerEin:list") + */ + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false)) + @GetMapping("/list") + @SysLog(title = "人员入场管理", businessType = OperaType.QUERY, logType = 0, module = "施工人员->出入场管理->人员入场管理", details = "查询人员入场列表") + public TableDataInfo list(PmWorkerDto o) { + try { + startPage(); + List list = service.selectWorkList(o); + return getDataTable(list); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return getDataTableError(new ArrayList<>()); + } + + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth) + @PostMapping("/insert") + @SysLog(title = "人员入场管理", businessType = OperaType.UPDATE, logType = 0, module = "施工人员->出入场管理->人员入场管理", details = "新增人员入场") + public AjaxResult insert(@Validated @RequestBody PmWorker o) { + try { + return service.insert(o); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + //, requiresPermissions = @RequiresPermissions("system:wageCard:edit") + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth) + @PostMapping("/select/{id}") + @SysLog(title = "人员入场管理", businessType = OperaType.UPDATE, logType = 0, module = "施工人员->出入场管理->人员入场管理", details = "修改人员入场") + public AjaxResult select(@PathVariable("id") Integer id) { + try { + AjaxResult ajax = AjaxResult.success(); + PmWorker worker = service.selectByPrimaryKey(id); + ajax.put("data", worker); + return ajax; + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + //, requiresPermissions = @RequiresPermissions("system:wageCard:edit") + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth) + @PostMapping("/edit") + @SysLog(title = "人员入场管理", businessType = OperaType.UPDATE, logType = 0, module = "施工人员->出入场管理->人员入场管理", details = "修改人员入场") + public AjaxResult edit(@Validated @RequestBody PmWorker o) { + try { + return toAjax(service.updateByPrimaryKey(o)); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + //, requiresPermissions = @RequiresPermissions("system:contract:remove") + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth) + @PostMapping("/delete/{id}") + @SysLog(title = "人员入场管理", businessType = OperaType.DELETE, logType = 0, module = "施工人员->出入场管理->人员入场管理", details = "删除人员") + public AjaxResult remove(@PathVariable("id") Integer id) { + try { + return toAjax(service.deleteByPrimaryKey(id)); + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + + +} 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 new file mode 100644 index 0000000..d858321 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/dto/PmWorkerDto.java @@ -0,0 +1,56 @@ +package com.bonus.bmw.domain.dto; + +import lombok.Data; + +import java.util.Date; + +/** + * 人员基础信息表 + */ +@Data +public class PmWorkerDto { + /** + * 编号 + */ + private Integer id; + + /** + * 姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idNumber; + + + /** + * 手机号 + */ + private String phone; + /** + * 项目名称 + */ + private String proId; + /** + * 分包名称 + */ + private String subId; + /** + * 班组名称 + */ + private String teamId; + + /** + * 岗位名称 + */ + private String postId; + + /** + * 入场状态 + */ + private Integer einStatus; + + +} \ 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 new file mode 100644 index 0000000..3d60334 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmWorker.java @@ -0,0 +1,157 @@ +package com.bonus.bmw.domain.vo; + +import java.util.Date; +import lombok.Data; + +/** + * 人员基础信息表 + */ +@Data +public class PmWorker { + /** + * 编号 + */ + private Integer id; + + /** + * 入场项目表主键 + */ + private Integer einProId; + + /** + * 姓名 + */ + private String name; + + /** + * 身份证 + */ + private String idNumber; + + /** + * 性别 + */ + private String sex; + + /** + * 年龄 + */ + private Integer age; + + /** + * 手机号 + */ + private String phone; + + /** + * 出生日期 生日 + */ + private String birthday; + + /** + * 民族 + */ + private String nation; + + /** + * 签发机关 + */ + private String issuingAuthority; + + /** + * 有效期开始时间 + */ + private Date startTime; + + /** + * 有效期结束时间 + */ + private Date endTime; + + /** + * 家庭住址 + */ + private String address; + + /** + * 人脸照片 + */ + private String facePhoto; + + /** + * 入场状态 0未入场 1 已入场 + */ + private Integer einStatus; + + /** + * 0 默认 1 黄灯 2 绿灯 3 失信人员 + */ + private Integer lightStatus; + + /** + * 创建人 + */ + private String createUser; + + /** + * 修改人 + */ + private String updateUser; + /** + * 项目名称 + */ + private String proName; + /** + * 分包名称 + */ + private String subName; + /** + * 班组名称 + */ + private String teamName; + + /** + * 岗位名称 + */ + private String postName; + + /** + * 项目名称 + */ + private String proId; + /** + * 分包名称 + */ + private String subId; + /** + * 班组名称 + */ + private String teamId; + + /** + * 岗位名称 + */ + private String postId; + + /** + * 入场时间 + */ + private String einTime; + + /** + * 创建时间 + */ + private Integer contractId; + + + /** + * 合同信息 + */ + private BmWorkerContract bmWorkerContract; + + /** + * 工资卡信息 + */ + private BmWorkerWageCard bmWorkerWageCard; + +} \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerContractMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerContractMapper.java index 97564c6..f012c31 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerContractMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerContractMapper.java @@ -34,4 +34,11 @@ public interface BmWorkerContractMapper { * @return */ List selectContractListByWorkerId(BmWorkerContract o); + + /** + * 查询单人有效合同列表 + * @param o + * @return + */ + BmWorkerContract selectContractListByWorkerIdAndValid(BmWorkerContract o); } \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerWageCardMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerWageCardMapper.java index 23e0e86..87ad218 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerWageCardMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmWorkerWageCardMapper.java @@ -36,4 +36,14 @@ public interface BmWorkerWageCardMapper { * @return */ List selectWageCardList(BmWorkerWageCard o); + + BmWorkerWageCard selectWageCardByWorkerId(BmWorkerWageCard o); + + /** + * update record + * + * @param record the updated record + * @return update count + */ + int updateByPrimaryKeySelective(BmWorkerWageCard record); } \ 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 new file mode 100644 index 0000000..31f5794 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmWorkerMapper.java @@ -0,0 +1,97 @@ +package com.bonus.bmw.mapper; + +import com.bonus.bmw.domain.dto.PmWorkerDto; +import com.bonus.bmw.domain.vo.PmWorker; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface PmWorkerMapper { + /** + * delete by primary key + * + * @param id primaryKey + * @return deleteCount + */ + int deleteByPrimaryKey(Integer id); + + /** + * insert record to table + * + * @param record the record + * @return insert count + */ + int insert(PmWorker record); + + /** + * insert record to table selective + * + * @param record the record + * @return insert count + */ + int insertSelective(PmWorker record); + + /** + * select by primary key + * + * @param id primary key + * @return object by primary key + */ + PmWorker selectByPrimaryKey(Integer id); + + /** + * update record selective + * + * @param record the updated record + * @return update count + */ + int updateByPrimaryKeySelective(PmWorker record); + + /** + * update record + * + * @param record the updated record + * @return update count + */ + int updateByPrimaryKey(PmWorker record); + + /** + * 查询人员列表 + * + * @param o + * @return + */ + List selectWorkList(PmWorkerDto o); + + /** + * 根据身份证查询人员 + * + * @param idNumber + * @return + */ + PmWorker getWorkerByNumber(String idNumber); + + /** + * 插入入场实时数据信息 + * + * @param record + * @return + */ + int insertEinMsg(PmWorker record); + + /** + * 插入入场历史数据信息 + * + * @param record + * @return + */ + int insertEinPro(PmWorker record); + /** + * 插入入场历史数据信息 + * + * @param record + * @return + */ + int insertEinProRecord(PmWorker record); +} \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerContractService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerContractService.java index 24c341c..de7b5ba 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerContractService.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerContractService.java @@ -34,4 +34,11 @@ public interface BmWorkerContractService{ * @return */ List selectContractListByWorkerId(BmWorkerContract o); + + /** + * 根据施工人员id查询有效合同列表 + * @param o + * @return + */ + BmWorkerContract selectContractListByWorkerIdAndValid(BmWorkerContract o); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerWageCardService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerWageCardService.java index a24415b..1e61677 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerWageCardService.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerWageCardService.java @@ -13,6 +13,13 @@ public interface BmWorkerWageCardService { */ int updateByPrimaryKey(BmWorkerWageCard record); + /** + * 修改工资卡 + * @param record + * @return + */ + int updateByPrimaryKeySelective(BmWorkerWageCard record); + /** * 查询工资卡列表 * @param o @@ -20,6 +27,13 @@ public interface BmWorkerWageCardService { */ List selectWageCardList(BmWorkerWageCard o); + /** + * 查询工资卡列表 + * @param o + * @return + */ + BmWorkerWageCard selectWageCardByWorkerId(BmWorkerWageCard o); + /** * 删除工资卡 * @param id diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmWorkerService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmWorkerService.java new file mode 100644 index 0000000..ab7c147 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmWorkerService.java @@ -0,0 +1,25 @@ +package com.bonus.bmw.service; + +import com.bonus.bmw.domain.dto.PmWorkerDto; +import com.bonus.bmw.domain.vo.BmWorkerWageCard; +import com.bonus.bmw.domain.vo.PmWorker; +import com.bonus.common.core.web.domain.AjaxResult; + +import java.util.List; + +public interface PmWorkerService{ + + int deleteByPrimaryKey(Integer id); + + AjaxResult insert(PmWorker record); + + int insertSelective(PmWorker record); + + PmWorker selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(PmWorker record); + + int updateByPrimaryKey(PmWorker record); + + List selectWorkList(PmWorkerDto o); +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerContractServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerContractServiceImpl.java index 8e398db..d5ef75f 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerContractServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerContractServiceImpl.java @@ -74,4 +74,9 @@ public class BmWorkerContractServiceImpl implements BmWorkerContractService{ return mapper.selectContractListByWorkerId(o); } + @Override + public BmWorkerContract selectContractListByWorkerIdAndValid(BmWorkerContract o) { + return mapper.selectContractListByWorkerIdAndValid(o); + } + } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerWageCardServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerWageCardServiceImpl.java index 58785b4..941a143 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerWageCardServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerWageCardServiceImpl.java @@ -19,6 +19,12 @@ public class BmWorkerWageCardServiceImpl implements BmWorkerWageCardService { @Resource private BmWorkerWageCardMapper mapper; + /** + * 新增工资卡 + * + * @param record + * @return + */ @Override public int updateByPrimaryKey(BmWorkerWageCard record) { //存在则删除后新增,不存在则新增 @@ -30,6 +36,20 @@ public class BmWorkerWageCardServiceImpl implements BmWorkerWageCardService { return mapper.insert(record); } + /** + * 按需修改工资卡 + * + * @param record + * @return + */ + @Override + public int updateByPrimaryKeySelective(BmWorkerWageCard record) { + record.setUpdateUser(SecurityUtils.getUsername()); + //添加到文件库和minio上 TODO + return mapper.updateByPrimaryKeySelective(record); + } + + /** * 查询工资卡列表 * @@ -41,6 +61,11 @@ public class BmWorkerWageCardServiceImpl implements BmWorkerWageCardService { return mapper.selectWageCardList(o); } + @Override + public BmWorkerWageCard selectWageCardByWorkerId(BmWorkerWageCard o) { + return mapper.selectWageCardByWorkerId(o); + } + /** * 删除工资卡 * 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 new file mode 100644 index 0000000..b223ac9 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmWorkerServiceImpl.java @@ -0,0 +1,142 @@ +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.service.BmWorkerContractService; +import com.bonus.bmw.service.BmWorkerWageCardService; +import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.security.utils.SecurityUtils; +import com.github.pagehelper.util.StringUtil; +import org.springframework.stereotype.Service; + +import org.springframework.beans.factory.annotation.Autowired; + +import com.bonus.bmw.mapper.PmWorkerMapper; +import com.bonus.bmw.domain.vo.PmWorker; +import com.bonus.bmw.service.PmWorkerService; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collections; +import java.util.Date; +import java.util.List; + +@Service +public class PmWorkerServiceImpl implements PmWorkerService{ + + @Autowired + private PmWorkerMapper mapper; + + @Autowired + private BmWorkerWageCardService wageCardService; + + @Autowired + private BmWorkerContractService contractService; + + @Override + public int deleteByPrimaryKey(Integer id) { + return mapper.deleteByPrimaryKey(id); + } + + @Override + @Transactional + public AjaxResult insert(PmWorker record) { + // 添加员工时,判断员工编号是否已存在 + PmWorker worker = mapper.getWorkerByNumber(record.getIdNumber()); + if(worker != null && worker.getId() != null){ + return new AjaxResult(500, "施工人员身份证已存在,当前系统姓名为"+worker.getName()+"如果想入场请去修改数据即可"); + } + record.setCreateUser(SecurityUtils.getUsername()); + int insert = mapper.insert(record); + if(insert > 0){ + //入场相关数据添加 + addWorkerEinData(record); + } + return new AjaxResult(200, "添加成功"); + } + + /** + * 基础数据添加完毕,在进行入场数据添加 + * @param record + */ + private void addWorkerEinData(PmWorker record) { + //工资卡和合同数据 + addWorkerWageCardDataAndContract(record); + record.setEinTime(DateUtil.now()); + record.setEinStatus(1); + //1.bm_worker_ein_msg + int i = mapper.insertEinMsg(record); + //2.bm_worker_ein_pro + int j = mapper.insertEinPro(record); + //3.bm_worker_ein_pro_record + int k = mapper.insertEinProRecord(record); + } + + private void addWorkerWageCardDataAndContract(PmWorker record) { + BmWorkerWageCard bmWorkerWageCard = record.getBmWorkerWageCard(); + BmWorkerContract bmWorkerContract = record.getBmWorkerContract(); + if(StringUtil.isNotEmpty(bmWorkerWageCard.getBankCardCode())){ + bmWorkerWageCard.setCreateUser(SecurityUtils.getUsername()); + bmWorkerWageCard.setWorkerId(record.getId()); + if(bmWorkerWageCard.getId() != null){ + wageCardService.updateByPrimaryKeySelective(bmWorkerWageCard); + }else{ + wageCardService.updateByPrimaryKey(bmWorkerWageCard); + } + } + if(StringUtil.isNotEmpty(bmWorkerContract.getContractCode())){ + bmWorkerContract.setCreateUser(SecurityUtils.getUsername()); + bmWorkerContract.setWorkerId(record.getId()); + contractService.updateByPrimaryKey(bmWorkerContract); + record.setContractId(bmWorkerContract.getId()); + } + } + + @Override + public int insertSelective(PmWorker record) { + return mapper.insertSelective(record); + } + + @Override + public PmWorker selectByPrimaryKey(Integer id) { + //人员数据 + PmWorker worker = mapper.selectByPrimaryKey(id); + //查询工资卡 数据 + BmWorkerWageCard wageCard = new BmWorkerWageCard(); + wageCard.setWorkerId(id); + BmWorkerWageCard bmWorkerWageCard = wageCardService.selectWageCardByWorkerId(wageCard); + worker.setBmWorkerWageCard(bmWorkerWageCard); + if(worker.getEinStatus() == 1){ + //查询合同数据 只有入场才会有合同 + BmWorkerContract contract = new BmWorkerContract(); + contract.setWorkerId(id); + BmWorkerContract workerContract = contractService.selectContractListByWorkerIdAndValid(contract); + worker.setBmWorkerContract(workerContract); + } + return worker; + } + + @Override + public int updateByPrimaryKeySelective(PmWorker record) { + return mapper.updateByPrimaryKeySelective(record); + } + + @Override + public int updateByPrimaryKey(PmWorker record) { + //已经入过场了 + if(record.getEinStatus() == 1){ + addWorkerWageCardDataAndContract(record); + }else { + addWorkerEinData(record); + } + return 1; + } + + @Override + public List selectWorkList(PmWorkerDto o) { + return mapper.selectWorkList(o); + } + +} 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 ae84f72..c5be2b8 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 @@ -116,4 +116,32 @@ order by bwc.id desc + + \ No newline at end of file diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerWageCardMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerWageCardMapper.xml index 47b3cce..511d15f 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerWageCardMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerWageCardMapper.xml @@ -45,17 +45,61 @@ AND bwwc.is_active = 1 WHERE pw.is_active = 1 - + AND pw.name LIKE CONCAT('%', #{name}, '%') - + AND pw.id_number LIKE CONCAT('%', #{idNumber}, '%') - + AND pw.phone LIKE CONCAT('%', #{phone}, '%') - + AND bwwc.bank_card_code LIKE CONCAT('%', #{bankCardCode}, '%') + + AND bwwc.worker_id LIKE CONCAT('%', #{workerId}, '%') + + + + + + update bm_worker_wage_card + + + bank_card_code = #{bankCardCode}, + + + bank_name = #{bankName}, + + + bank_branch_name = #{bankBranchName}, + + + where id = #{id} + \ No newline at end of file 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 new file mode 100644 index 0000000..17f5da5 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmWorkerMapper.xml @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + id, `name`, id_number, sex, age, phone, birthday, nation, issuing_authority, start_time, + end_time, address, face_photo, ein_status, light_status, create_user, update_user + + + + update pm_worker set is_active = 0 where id = #{id}; + update bm_worker_ein_pro set is_active = 0 where worker_id = #{id}; + + + + insert into pm_worker (`name`, id_number, sex, age, phone, birthday, nation, issuing_authority, + start_time, end_time, address, face_photo, create_user) + values (#{name}, #{idNumber}, #{sex}, #{age}, #{phone}, #{birthday}, #{nation}, #{issuingAuthority}, + #{startTime}, #{endTime}, #{address}, #{facePhoto}, #{createUser}) + + + + insert into pm_worker + + + `name`, + + + id_number, + + + sex, + + + age, + + + phone, + + + birthday, + + + nation, + + + issuing_authority, + + + start_time, + + + end_time, + + + address, + + + face_photo, + + + ein_status, + + + light_status, + + + create_user, + + + update_user, + + + + + #{name}, + + + #{idNumber}, + + + #{sex}, + + + #{age}, + + + #{phone}, + + + #{birthday}, + + + #{nation}, + + + #{issuingAuthority}, + + + #{startTime}, + + + #{endTime}, + + + #{address}, + + + #{facePhoto}, + + + #{einStatus}, + + + #{lightStatus}, + + + #{createUser}, + + + #{updateUser}, + + + + + + update pm_worker + + + `name` = #{name}, + + + id_number = #{idNumber}, + + + sex = #{sex}, + + + age = #{age}, + + + phone = #{phone}, + + + birthday = #{birthday}, + + + nation = #{nation}, + + + issuing_authority = #{issuingAuthority}, + + + start_time = #{startTime}, + + + end_time = #{endTime}, + + + address = #{address}, + + + face_photo = #{facePhoto}, + + + ein_status = #{einStatus}, + + + light_status = #{lightStatus}, + + + create_user = #{createUser}, + + + update_user = #{updateUser}, + + + where id = #{id} + + + + update pm_worker + set `name` = #{name}, + id_number = #{idNumber}, + sex = #{sex}, + age = #{age}, + phone = #{phone}, + birthday = #{birthday}, + nation = #{nation}, + issuing_authority = #{issuingAuthority}, + start_time = #{startTime}, + end_time = #{endTime}, + address = #{address}, + face_photo = #{facePhoto}, + ein_status = #{einStatus}, + light_status = #{lightStatus}, + create_user = #{createUser}, + update_user = #{updateUser} + where id = #{id} + + + + + + + + INSERT INTO bm_worker_ein_msg(worker_id,post_id,post_name,pro_id,pro_name,sub_id,sub_name,team_id,team_name,ein_time + + ,contract_id + + ) VALUES + (#{id},#{postId},#{postName},#{proId},#{proName},#{subId},#{subName},#{teamId},#{teamName},#{einTime} + + ,#{contractId} + + ) + + + + INSERT INTO bm_worker_ein_pro(worker_id,pro_id,pro_name,create_user) VALUES + (#{id},#{proId},#{proName},#{createUser}) + + + + INSERT INTO bm_worker_ein_pro_record(ein_pro_id,team_id,team_name,sub_id,sub_name,post_id,post_name,ein_time,ein_status,create_user + + ,contract_id + + ) VALUES + (#{einProId},#{teamId},#{teamName},#{subId},#{subName},#{postId},#{postName},#{einTime},#{einStatus},#{createUser} + + ,#{contractId} + + ) + + \ No newline at end of file