| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | import java.util.concurrent.ExecutorService; |
| | | import java.util.concurrent.Executors; |
| | | import java.util.stream.Collectors; |
| | |
| | | Long gxStepId = sgProgressReportDO.getGxStepId(); |
| | | List<SgGxStepDO> list = sgGxStepMapper.selectByGxInfoId(gxDeviceId); |
| | | SgGxStepDO sgGxStepDO = sgGxStepMapper.selectById(gxStepId); |
| | | LambdaQueryChainWrapper<SgProgressReportDO> wrapper = new LambdaQueryChainWrapper<>(sgProgressReportMapper) |
| | | .eq(SgProgressReportDO::getGxStepId, gxStepId).eq(SgProgressReportDO::getGxDeviceId,gxDeviceId); |
| | | if ( sgProgressReportMapper.selectOne(wrapper)!=null){ |
| | | throw new ServiceException("此工序已存在审批!"); |
| | | } |
| | | for (SgGxStepDO gxStepDO : list) { |
| | | if (Integer.parseInt(sgGxStepDO.getGxStepNum()) - Integer.parseInt(gxStepDO.getGxStepNum()) == 1) { |
| | | LambdaQueryChainWrapper<SgProgressReportDO> wrapper = new LambdaQueryChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getGxStepId, gxStepDO.getId()); |
| | | SgProgressReportDO one = sgProgressReportMapper.selectOne(wrapper); |
| | | LambdaQueryChainWrapper<SgProgressReportDO> wrapper1 = new LambdaQueryChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getGxStepId, gxStepDO.getId()); |
| | | SgProgressReportDO one = sgProgressReportMapper.selectOne(wrapper1); |
| | | if (one != null && one.getStatus() != 3) { |
| | | throw new ServiceException("请先完成" + gxStepDO.getGxStepName() + "的审批!"); |
| | | } |
| | |
| | | updateChainWrapper.set(SgProgressReportDO::getStatus,1).set(SgProgressReportDO::getAuditPerson,nextUser.getUserId()).update(); |
| | | } |
| | | }else { |
| | | updateChainWrapper.set(SgProgressReportDO::getStatus,0); |
| | | updateChainWrapper.set(SgProgressReportDO::getStatus,3); |
| | | List<SgReportUserDO> sgReportUserDOS = new LambdaQueryChainWrapper<>(sgReportUserMapper).eq(SgReportUserDO::getReportId, id).eq(SgReportUserDO::getIsHis,0) |
| | | .orderByAsc(SgReportUserDO::getApprovalOrder).list() |
| | | // .stream().distinct() |
| | |
| | | public void updateReport(SgProgressReportDO sgProgressReportDO) { |
| | | sgProgressReportMapper.updateById(sgProgressReportDO); |
| | | } |
| | | |
| | | @Override |
| | | public List<SgProgressReportVO> queryList(ProjectSearchDTO searchDTO) { |
| | | Long userId = AuthUtil.getUserId(); |
| | | searchDTO.setUserId(userId); |
| | | List<SgProgressReportVO> list = sgProgressReportMapper.queryList(searchDTO); |
| | | return list; |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Long> countList(ProjectSearchDTO searchDTO) { |
| | | Long userId = AuthUtil.getUserId(); |
| | | searchDTO.setUserId(userId); |
| | | Long pending = sgProgressReportMapper.countList(searchDTO); |
| | | Long over = sgProgressReportMapper.countList(searchDTO); |
| | | Map<String, Long> map = new HashMap<>(); |
| | | map.put("pending",pending); |
| | | map.put("over",over); |
| | | return map; |
| | | } |
| | | } |
| | | |
| | | |