| | |
| | | import com.ruoyi.system.service.InformationNotificationService; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.poi.xwpf.usermodel.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.core.io.ClassPathResource; |
| | | import org.springframework.mock.web.MockMultipartFile; |
| | |
| | | |
| | | @Override |
| | | public IPage<InsOrderPlanVO> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) { |
| | | // todo: 仅看自己或者实验室 |
| | | //获取当前人所属实验室id |
| | | |
| | | String laboratory = null; |
| | | |
| | | String userName = null; |
| | | Integer userId = null; |
| | | if (ObjectUtil.isNotEmpty(insOrderPlanDTO.getUserId())) { |
| | | userId = SecurityUtils.getUserId().intValue(); |
| | | userName = userMapper.selectById(userId).getName(); |
| | | // 检测管理人员全查,非检测管理人员只查看自己的 |
| | | InsOrderPlanQueryDto insOrderPlanQueryDto = new InsOrderPlanQueryDto(); |
| | | insOrderPlanQueryDto.setCheckUserFlag(SecurityUtils.hasRole("inspector")); |
| | | insOrderPlanQueryDto.setTestAdminFlag(SecurityUtils.hasRole("testadmin")); |
| | | // 判断是否触发只查看自己 |
| | | if(null != insOrderPlanDTO.getUserId()){ |
| | | insOrderPlanQueryDto.setViewMySelfFlag(true); |
| | | insOrderPlanDTO.setUserId(null); |
| | | } |
| | | Integer isCheck = insOrderPlanDTO.getIsCheck(); |
| | | insOrderPlanQueryDto.setIsCheck(insOrderPlanDTO.getIsCheck()); |
| | | insOrderPlanDTO.setIsCheck(null); |
| | | String sonLaboratory = insOrderPlanDTO.getSonLaboratory();//试验室 |
| | | insOrderPlanQueryDto.setUserId(SecurityUtils.getUserId().intValue()); |
| | | IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, |
| | | QueryWrappers.queryWrappers(insOrderPlanDTO), |
| | | userName, |
| | | userId, |
| | | sonLaboratory, |
| | | laboratory, |
| | | isCheck); |
| | | QueryWrappers.queryWrappers(insOrderPlanDTO),insOrderPlanQueryDto); |
| | | return insOrderPage; |
| | | } |
| | | |
| | |
| | | insContext.forEach((k, v) -> { |
| | | JSONObject jo = JSON.parseObject(JSON.toJSONString(v)); |
| | | InsProduct insProduct = new InsProduct(); |
| | | insProduct.setId(Integer.parseInt(k)); |
| | | insProduct.setId(Long.valueOf(Integer.parseInt(k))); |
| | | InsProduct product = insProductMapper.selectById(insProduct.getId()); |
| | | if (currentTable.equals(product.getTemplateId()) && currentSampleId.equals(product.getInsSampleId())) { |
| | | List<InsProductResult> oldResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery() |
| | |
| | | } |
| | | newResult.setEquipName(JSON.toJSONString(ev)); |
| | | } |
| | | //测试开始时间 |
| | | if (jo.get("testStartTime") != null) { |
| | | JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("testStartTime"))); |
| | | List<Map<String, Object>> ev = new ArrayList<>(); |
| | | for (Object o : jsonArray2) { |
| | | JSONObject testStartTimeValue = JSON.parseObject(JSON.toJSONString(o)); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("v", JSON.parseObject(JSON.toJSONString(testStartTimeValue.get("v"))).get("v")); |
| | | ev.add(map); |
| | | } |
| | | newResult.setTestStartTime(JSON.toJSONString(ev)); |
| | | } |
| | | //测试结束时间 |
| | | if (jo.get("testEndTime") != null) { |
| | | JSONArray jsonArray2 = JSON.parseArray(JSON.toJSONString(jo.get("testEndTime"))); |
| | | List<Map<String, Object>> ev = new ArrayList<>(); |
| | | for (Object o : jsonArray2) { |
| | | JSONObject testEndTimeValue = JSON.parseObject(JSON.toJSONString(o)); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("v", JSON.parseObject(JSON.toJSONString(testEndTimeValue.get("v"))).get("v")); |
| | | ev.add(map); |
| | | } |
| | | newResult.setTestEndTime(JSON.toJSONString(ev)); |
| | | } |
| | | //结论 |
| | | try { |
| | | JSONObject insResult = JSON.parseObject(JSON.toJSONString(jo.get("insResult"))); |
| | |
| | | |
| | | insProduct.setUpdateUser(userId); |
| | | insProductMapper.updateById(insProduct); |
| | | insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId())); |
| | | insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), Math.toIntExact(insProduct.getId()))); |
| | | |
| | | insSample.setInsState(1); |
| | | Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery() |
| | |
| | | |
| | | // 7.校验一下result表(避免出现多个检验项结果) |
| | | threadPoolTaskExecutor.execute(() -> { |
| | | List<Integer> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList()); |
| | | for (Integer ip : ips) { |
| | | List<Long> ips = insProducts.stream().map(InsProduct::getId).distinct().collect(Collectors.toList()); |
| | | for (Long ip : ips) { |
| | | List<InsProductResult> insProductResults = insProductResultMapper.selectList(Wrappers.<InsProductResult>lambdaQuery() |
| | | .eq(InsProductResult::getInsProductId, ip)); |
| | | if (insProductResults.size() > 1) { |
| | |
| | | InsOrderRates insOrderRates = new InsOrderRates(); |
| | | insOrderRates.setInsOrderId(orderId); |
| | | insOrderRates.setInsSampleId(insProduct.getInsSampleId()); |
| | | insOrderRates.setInsProductId(insProduct.getId()); |
| | | insOrderRates.setInsProductId(Math.toIntExact(insProduct.getId())); |
| | | insOrderRates.setSampleCode(insProduct.getSampleCode()); |
| | | insOrderRates.setEntrustCode(order.getEntrustCode()); |
| | | insOrderRates.setInspectionItemClass(insProduct.getInspectionItemClass()); |