zss
2024-12-17 aad28a866d7d200e1228f7a5d053348e7f9653a4
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -17,10 +17,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.InsOrderPlanDTO;
import com.yuanchu.mom.dto.InsProductResultDto;
import com.yuanchu.mom.dto.SampleProductDto;
import com.yuanchu.mom.dto.SubmitPlanDto;
import com.yuanchu.mom.dto.*;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.*;
import com.yuanchu.mom.pojo.*;
@@ -128,6 +125,9 @@
    @Resource
    FuSheUtils fuSheUtils;
    @Resource
    DianLuUtils dianLuUtils;
    @Override
    public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
@@ -310,7 +310,7 @@
    }
    @Override
    public int uploadFile(Integer orderId, MultipartFile file, String sonLaboratory, Integer sampleId) {
    public Object uploadFile(Integer orderId, MultipartFile file, String sonLaboratory, Integer sampleId) {
        String urlString;
        String pathName;
        String path;
@@ -344,19 +344,18 @@
            file.transferTo(new File(urlString));
            insOrderFile.setFileUrl(pathName);
            insOrderFileMapper.insert(insOrderFile);
            //如果是辐射试验(近场/远程上传的csv文件)
            String[] split = filename.split("\\.");
            if (ObjectUtils.isNotEmpty(sonLaboratory) && (sonLaboratory.equals("近场") || sonLaboratory.equals("远场")) &&
                    split[split.length - 1].equals("csv")) {
                //判断是哪种csv文件,是否有——
                if (sonLaboratory.equals("近场")) {
                    fuSheUtils.getFuSheWord1(sonLaboratory, insOrderFile);
                } else {
                    fuSheUtils.getFuSheWord2(sonLaboratory, insOrderFile);
                }
            if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("近场") && split[split.length - 1].equals("csv")) {
                fuSheUtils.getFuSheWord1(sonLaboratory, insOrderFile);
            } else if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("远场") && split[split.length - 1].equals("xlsx")) {
                fuSheUtils.getFuSheWord2(sonLaboratory, insOrderFile);
            } else if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("电路试验") && split[split.length - 1].equals("xlsx") && filename.contains("交调")) {
                dianLuUtils.readDianLuFile1(sampleId, insOrderFile);
            } else if (ObjectUtils.isNotEmpty(sonLaboratory) && sonLaboratory.equals("电路试验") && split[split.length - 1].equals("csv") && filename.contains("驻波")) {
                dianLuUtils.readDianLuFile2(sampleId, insOrderFile);
            }
        } catch (Exception e) {
            System.err.println("附件上传错误");
            throw new ErrorException(e.getMessage());
        }
        return 0;
    }
@@ -766,6 +765,8 @@
                .in(InsProductResult2::getInsProductId, insProductResultDtos.getInsProductResult2s().stream().map(InsProductResult2::getInsProductId).distinct().collect(Collectors.toList()))
                .eq(InsProductResult2::getNum, orderState.getNum())
                .eq(InsProductResult2::getFrequency, insProductResultDtos.getFrequency()));
        List<InsProductResult2> result2s = new ArrayList<>();
        List<InsProductUser> insProductUsers = new ArrayList<>();
        for (InsProductResult2 insProductResult2 : insProductResultDtos.getInsProductResult2s()) {
            InsProduct insProduct = new InsProduct();
            insProduct.setId(insProductResult2.getInsProductId());//项目id
@@ -843,10 +844,13 @@
            }
            result2.setCreateUser(userId);
            result2.setUpdateUser(userId);
            insProductResult2Mapper.insert(result2);
            insProduct.setUpdateUser(userId);
            insProductMapper.updateById(insProduct);
            insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
            result2s.add(result2);
            //insProductResult2Mapper.insert(result2);
            //insProduct.setUpdateUser(userId);
            //insProducts.add(insProduct);
            //insProductMapper.updateById(insProduct);
            insProductUsers.add(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
            //insProductUserMapper.insert(new InsProductUser(null, userId, LocalDateTime.now(), insProduct.getId()));
            /*更新样品的检验状态*/
            insSample.setInsState(1);
            Long l = insProductMapper.selectCount(Wrappers.<InsProduct>lambdaQuery()
@@ -862,8 +866,10 @@
                //如果所有项目都有结论,那么该样品状态已检
                insSample.setInsState(2);
            }
            insSampleMapper.updateById(insSample);
        }
        insProductResult2Mapper.saveBatch(result2s);
        insProductUserMapper.saveBatch(insProductUsers);
        insSampleMapper.updateById(insSample);
        /*判断该站点的检验项目是否全部已检*/
        int count = insProductMapper.selectInsProductCountByOrderId(insSample.getInsOrderId());
        if (count == 0) {
@@ -874,6 +880,15 @@
                    .set(InsOrderState::getInsState, 2));
        }
        return list;
    }
    //电路试验的保存检验内容(返回/提交)
    @Override
    public int saveInsContext2s(InsProductResultDtos insProductResultDtos) {
        for (InsProductResultDto insProductResultDto : insProductResultDtos.getInsProductResultDtos()) {
            saveInsContext2(insProductResultDto);
        }
       return  1;
    }
    //温湿度试验+功率试验的保存检验内容
@@ -1046,7 +1061,10 @@
                    if (insOrder.getFormType().equals("原理样机")) {
                        //出库
                        try {
                            outInsOrderState(laboratory, insSample.getSampleCode(), insOrder.getEntrustCode());
                            List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, insSample.getInsOrderId()));
                            for (InsSample sample : insSamples) {
                                outInsOrderState(laboratory, sample.getSampleCode(), insOrder.getEntrustCode());
                            }
                        } catch (Exception e) {
                        }
@@ -1186,7 +1204,7 @@
        insSampleUserMapper.insert(insSampleUser);
        /*生成电路试验的站点报告并上传到附件中*/
        if (submitPlanDto.getLaboratory().equals("电路试验")) {
            //wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
//            wordUtils.generateWord(submitPlanDto.getTerm(), orderState);
            //todo 电路站点报告 正式库部署放开
            try {
                wordUtils.generateWord(submitPlanDto.getTerm(), orderState);