| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | |
| | | // 查询厂家密度 |
| | | String supplierDensity = ""; |
| | | SampleProductDto sampleProductDto = list.get(0); |
| | | if (CollectionUtils.isNotEmpty(list)) { |
| | | SampleProductDto sampleProductDto = list.get(0); |
| | | |
| | | // 判断有没有绑定型号 |
| | | String modelValue = insSampleMapper.selectSupplierDensityModel(sampleProductDto.getSample(), |
| | | order.getProduction(), |
| | | sampleProductDto.getModel()); |
| | | if (StringUtils.isNotBlank(modelValue)) { |
| | | supplierDensity = modelValue; |
| | | } else { |
| | | supplierDensity = insSampleMapper.selectSupplierDensity(sampleProductDto.getSample(), |
| | | order.getProduction()); |
| | | // 判断有没有绑定型号 |
| | | String modelValue = insSampleMapper.selectSupplierDensityModel(sampleProductDto.getSample(), |
| | | order.getProduction(), |
| | | sampleProductDto.getModel()); |
| | | if (StringUtils.isNotBlank(modelValue)) { |
| | | supplierDensity = modelValue; |
| | | } else { |
| | | supplierDensity = insSampleMapper.selectSupplierDensity(sampleProductDto.getSample(), |
| | | order.getProduction()); |
| | | } |
| | | } |
| | | map.put("supplierDensity", supplierDensity); |
| | | return map; |
| | |
| | | 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()); |
| | |
| | | // 检测依据 |
| | | Set<String> standardMethod = new HashSet<>(); |
| | | StringBuilder standardMethod2 = new StringBuilder(); |
| | | standardMethod.add(baseMapper.getStandardMethodCode(insSample.getStandardMethodListId())); |
| | | // TODO 检验的对象的检验标准由一个多个 数据类型由int变字符串 需要重写写这块逻辑 |
| | | // standardMethod.add(baseMapper.getStandardMethodCode(insSample.getStandardMethodListId())); |
| | | for (String s : standardMethod) { |
| | | standardMethod2.append("、").append(s); |
| | | } |
| | |
| | | samples.forEach(a -> { |
| | | Map<Integer, String> map2 = new HashMap<>(); |
| | | models.add(a.getModel()); |
| | | String standardMethodCode = baseMapper.getStandardMethodCode(a.getStandardMethodListId()); |
| | | // TODO 检验的对象的检验标准由一个多个 数据类型由int变字符串 需要重写写这块逻辑 |
| | | // String standardMethodCode = baseMapper.getStandardMethodCode(a.getStandardMethodListId()); |
| | | String standardMethodCode = ""; |
| | | if (StrUtil.isNotBlank(a.getSpecialStandardMethod())) { |
| | | standardMethodCode = standardMethodCode + "+" + a.getSpecialStandardMethod(); |
| | | } |