| | |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | | import cc.mrbird.febs.common.core.constant.DicCode; |
| | | import cc.mrbird.febs.common.core.entity.constant.FebsConstant; |
| | | import cc.mrbird.febs.common.core.entity.system.DicItem; |
| | | import cc.mrbird.febs.common.core.exception.FebsException; |
| | | import cc.mrbird.febs.common.core.utils.SortUtil; |
| | | import cc.mrbird.febs.server.hr.constant.MyConstant; |
| | | import cc.mrbird.febs.server.hr.entity.EmpAccidentCases; |
| | | import cc.mrbird.febs.server.hr.entity.EmpBaseInfo; |
| | | import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService; |
| | | import cn.hutool.core.util.StrUtil; |
| | |
| | | queryWrapper.eq("a.SettleStatus", empOccupational.getSettleStatus()); |
| | | } |
| | | if (StringUtils.isNotBlank(empOccupational.getEmpStatus())) { |
| | | queryWrapper.eq("a.EmpStatus", empOccupational.getEmpStatus()); |
| | | queryWrapper.in("a.EmpStatus", empOccupational.getEmpStatus().split(",")); |
| | | } |
| | | queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA)); |
| | | Page<EmpOccupational> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | return empOccupationalMapper.selectPageVo(page, queryWrapper); |
| | | SortUtil.handlePageSort(request, page, "createTime", FebsConstant.ORDER_DESC, true); |
| | | IPage<EmpOccupational> pageList = empOccupationalMapper.selectPageVo(page, queryWrapper); |
| | | List<EmpOccupational> list = pageList.getRecords(); |
| | | //处理数据字典 |
| | | pageList.setRecords(covertDicItemName(list)); |
| | | return pageList; |
| | | } |
| | | |
| | | @Override |
| | | public List<EmpOccupational> findEmpOccupationals(EmpOccupational empOccupational) { |
| | | LambdaQueryWrapper<EmpOccupational> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(EmpOccupational::getDelFlag, empOccupational.getDelFlag()); |
| | | return this.baseMapper.selectList(queryWrapper); |
| | | List<EmpOccupational> list = this.baseMapper.selectList(queryWrapper); |
| | | return covertDicItemName(list); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void createEmpOccupational(EmpOccupational empOccupational) { |
| | | public void createEmpOccupational(EmpOccupational empOccupational) throws FebsException { |
| | | LambdaQueryWrapper<EmpOccupational> lambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | lambdaQueryWrapper.eq(EmpOccupational::getEmpId, empOccupational.getEmpId()); |
| | | lambdaQueryWrapper.eq(EmpOccupational::getInjuredTime, empOccupational.getInjuredTime()); |
| | | lambdaQueryWrapper.ne(EmpOccupational::getDelFlag,1); |
| | | if (this.count(lambdaQueryWrapper) > 0) { |
| | | throw new FebsException(MyConstant.MESSAGE); |
| | | } |
| | | |
| | | empOccupational.setOccupationalId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); |
| | | if(empOccupational.getSubmitTime()==null){ |
| | | empOccupational.setSubmitTime(empOccupational.getInjuredTime()); |
| | |
| | | this.save(empOccupational); |
| | | } |
| | | } |
| | | |
| | | private List<EmpOccupational> covertDicItemName(List<EmpOccupational> list){ |
| | | List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class); |
| | | list.parallelStream().forEachOrdered(p -> { |
| | | // 设置结案状态 |
| | | p.setSettleStatusName(dicItems.stream() |
| | | .filter(k -> DicCode.SETTLE_STATUS.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getSettleStatus().toString())) |
| | | .findFirst() |
| | | .map(DicItem::getDicItemName) |
| | | .orElse("")); |
| | | }); |
| | | |
| | | return list; |
| | | } |
| | | } |