| | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.google.common.collect.Lists; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | public void autoStopContract(String operatorId) { |
| | | empContractinfoMapper.autoStopContract(operatorId); |
| | | } |
| | | |
| | | @Override |
| | | public void updateContractRemindDay() { |
| | | empContractinfoMapper.updateContractRemindDay(); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<EmpContractInfo> findRemindContractinfos(QueryRequest request, EmpContractInfo empContractinfo) { |
| | | int diffDay = Integer.parseInt(redisService.get("contract_remind").toString()); |
| | | List<String> contractStatus = Lists.newArrayList("1","2"); |
| | | QueryWrapper<EmpContractInfo> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("a.DelFlag", empContractinfo.getDelFlag()); |
| | | queryWrapper.eq("a.remindFlag", 0); |
| | | queryWrapper.in("a.contractStatus", contractStatus); |
| | | queryWrapper.between("a.diffDay", 0, diffDay); |
| | | queryWrapper.ge("a.endDate", DateUtil.formatDate(new Date())); |
| | | |
| | | queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA)); |
| | | Page<EmpContractInfo> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | SortUtil.handlePageSort(request, page, "diffDay", FebsConstant.ORDER_ASC, true); |
| | | IPage<EmpContractInfo> iPage = empContractinfoMapper.selectPageVo(page, queryWrapper); |
| | | List<EmpContractInfo> list = iPage.getRecords(); |
| | | //设置字典数据 |
| | | List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class); |
| | | list.forEach(p -> { |
| | | p.setContractStatusName(dicItems.stream() |
| | | .filter(k -> DicCode.CONTRACTSTATUS.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getContractStatus())) |
| | | .findFirst() |
| | | .map(DicItem::getDicItemName) |
| | | .orElse("新签")); |
| | | }); |
| | | iPage.setRecords(list); |
| | | return iPage; |
| | | } |
| | | |
| | | @Override |
| | | public void updateEmpContractRemind(EmpContractInfo empContractinfo) { |
| | | empContractinfoMapper.updateEmpContractRemind(empContractinfo.getContractId()); |
| | | } |
| | | |
| | | @Override |
| | | public void continueEmpContract(EmpContractInfo empContractinfo) { |
| | | Long contractId = empContractinfo.getContractId(); |
| | | //创建一份新合同信息 |
| | | empContractinfo.setDelFlag(0); |
| | | this.createEmpContractinfo(empContractinfo); |
| | | |
| | | //设置不再提醒 |
| | | empContractinfoMapper.updateEmpContractRemind(contractId); |
| | | } |
| | | } |