| | |
| | | import com.itextpdf.text.pdf.PdfStamper; |
| | | import com.yuanchu.mom.common.GetLook; |
| | | import com.yuanchu.mom.common.PrintChina; |
| | | import com.yuanchu.mom.dto.InsReportDto; |
| | | import com.yuanchu.mom.dto.InsReportDto1; |
| | | import com.yuanchu.mom.dto.ReportPageDto; |
| | | import com.yuanchu.mom.dto.SampleProductDto; |
| | | import com.yuanchu.mom.dto.*; |
| | | import com.yuanchu.mom.exception.ErrorException; |
| | | import com.yuanchu.mom.mapper.*; |
| | | import com.yuanchu.mom.pojo.*; |
| | |
| | | map.put("head", PrintChina.printChina(ReportPageDto.class)); |
| | | Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("pageInsReport"); |
| | | if (map1.get("look") == 1) reportPageDto.setCreateUser(map1.get("userId")); |
| | | User user = userMapper.selectById(map1.get("userId"));//当前登录的人 |
| | | //获取当前人所属实验室id |
| | | String departLimsId = user.getDepartLimsId(); |
| | | String laboratory = null; |
| | | if (ObjectUtils.isNotEmpty(departLimsId) && !departLimsId.equals("")) { |
| | | String[] split = departLimsId.split(","); |
| | | //查询对应架构名称(通信实验室,电力实验室,检测办) |
| | | String departLims = insOrderMapper.seldepLimsId(Integer.parseInt(split[split.length - 1])); |
| | | if (departLims.contains("实验室")) { |
| | | laboratory = departLims; |
| | | } |
| | | } |
| | | map.put("body", insReportMapper.pageInsReport(page, QueryWrappers.queryWrappers(reportPageDto), laboratory)); |
| | | map.put("body", insReportMapper.pageInsReport(page, QueryWrappers.queryWrappers(reportPageDto))); |
| | | return map; |
| | | } |
| | | |
| | |
| | | if (files != null) { |
| | | for (File f : files) { |
| | | // 根据文件名查询id |
| | | String name = f.getName(); |
| | | InsReport insReport = insReportMapper.selectOne(Wrappers.<InsReport>lambdaQuery().like(InsReport::getCode, f.getName().replace(".docx", ""))); |
| | | if (ObjectUtils.isEmpty(insReport)) { |
| | | throw new ErrorException("没有找到 " + f.getName() + " 这个文件对应的报告数据"); |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public int isReport(InsReportDto insReportDto) { |
| | | //先判断该订单是否可以去生产报告 |
| | | Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery().eq(InsOrderState::getInsOrderId, insReportDto.getId()).eq(InsOrderState::getInsState, 5)); |
| | | //先判断该订单是否可以去生产报告(是否结束试验) |
| | | Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery() |
| | | .eq(InsOrderState::getInsOrderId, insReportDto.getId()).eq(InsOrderState::getInsState, 5)); |
| | | if (count > 0) { |
| | | if (insReportDto.getState() == 1) { |
| | | List<InsReportDto1> insReportDto1s = insReportDto.getInsReportDto1s(); |
| | | wordUtils.generateReport(insReportDto.getId(), insReportDto1s); |
| | | for (InsReportDto1 insReportDto1 : insReportDto1s) { |
| | | wordUtils.generateReport(insReportDto.getId(), insReportDto1); |
| | | } |
| | | } else { |
| | | //结束订单 |
| | | InsOrder insOrder = new InsOrder(); |
| | | insOrder.setId(insReportDto.getId()); |
| | | insOrder.setState(4); |
| | | insOrderMapper.updateById(insOrder); |
| | | //如果不生成就一直挂着 |
| | | } |
| | | } else { |
| | | throw new ErrorException("该订单还未结束试验,无法生产报告!"); |
| | | throw new ErrorException("该订单还未结束试验,无法生成报告!"); |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | //查出该订单下每个站点下的检验次数 |
| | | @Override |
| | | public List<InsOrderState> getInsOrderStateCount(Integer id) { |
| | | List<InsOrderState> insOrderStates = insOrderStateMapper.getInsOrderStateCount(id); |
| | | return insOrderStates; |
| | | public List<InsOrderStateDto> getInsOrderStateCount(Integer id) { |
| | | List<InsOrderStateDto> insOrderStateDtos = new ArrayList<>(); |
| | | List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, id)); |
| | | for (InsSample insSample : insSamples) { |
| | | InsOrderStateDto insOrderStateDto = new InsOrderStateDto(); |
| | | insOrderStateDto.setInsSample(insSample); |
| | | List<InsOrderState> insOrderStates = insOrderStateMapper.getInsOrderStateCount(id, insSample.getId()); |
| | | insOrderStateDto.setInsOrderStates(insOrderStates); |
| | | insOrderStateDtos.add(insOrderStateDto); |
| | | } |
| | | return insOrderStateDtos; |
| | | } |
| | | |
| | | |