lxp
2025-03-15 5c92f5ec07c74272c7bfd658ef9c9f5ceb02cfb1
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -17,6 +17,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -193,24 +194,18 @@
    @Autowired
    private RabbitTemplate rabbitTemplate;
    private ReentrantLock lock = new ReentrantLock();
    @Resource
    private ThreadPoolTaskExecutor threadPoolTaskExecutor;
    @Override
    public void exportInsOrderPlanResult(Map<String, Object> data, HttpServletResponse response) {
    public void exportInsOrderPlanResult(QueryResultDTO data, HttpServletResponse response) {
        List<Map<String,Object>> dataList = new ArrayList<>();
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            Object o = getTabHeader(data.get("sonLaboratory").toString(), data.get("samples").toString()).get("tableHeader");// 获取动态表头
            Object o = getTabHeader(data.getSonLaboratory(), data.getSampleType()).get("tableHeader");// 获取动态表头
            List<Map<String, Object>>  tableHeader = objectMapper.readValue(JSONUtil.toJsonStr(o), new TypeReference<List<Map<String, Object>>>() {
            });// 表头数据
            Map<String, Object> table = objectMapper.readValue(JSONUtil.toJsonStr(data.get("trendsTable")), new TypeReference<Map<String, Object>>() {
            });
            List<Map<String, Object>> trendsTable = getInsOrderPlanList(table); // 表格数据
            // 表头数据
            List<Map<String, Object>> trendsTable = getInsOrderPlanList(data); // 表格数据
            for (Map<String, Object> trend : trendsTable) {
                Map<String, Object> addMap = new HashMap<>();
                addMap.put("委托单号", trend.get("entrustCode"));
@@ -241,7 +236,7 @@
            ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream())
                    .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
                    .registerWriteHandler(new SheetWriteHandlerUtil(data.get("samples").toString(),head.size()))
                    .registerWriteHandler(new SheetWriteHandlerUtil(data.getSampleType(),head.size()))
                    .useDefaultStyle(true).relativeHeadRowIndex(1)
                    .registerWriteHandler(horizontalCellStyleStrategy)
                    .build();
@@ -337,29 +332,28 @@
        return headWriteCellStyle;
    }
    @Override
    public List<Map<String, Object>> getInsOrderPlanList(Map<String,Object> data) {
        String sampleType = data.get("sampleType").toString();
        String sonLaboratory = data.get("sonLaboratory").toString();
        String entrustCode = data.get("entrustCode").toString();
    public List<Map<String, Object>> getInsOrderPlanList(QueryResultDTO data) {
        String sampleType = data.getSampleType();
        String sonLaboratory = data.getSonLaboratory();
        String entrustCode = data.getEntrustCode();
        Integer createUser = null;
        String name = "";
        if(StringUtils.isNotBlank(data.get("createUser").toString())) {
             createUser = Integer.parseInt(data.get("createUser").toString());
        if(StringUtils.isNotBlank(data.getCreateUser())) {
             createUser = Integer.parseInt(data.getCreateUser());
             name = userMapper.selectById(createUser).getName();
        }
        String sampleCode = data.get("sampleCode").toString();
        String sampleCode = data.getSampleCode();
        String startTime = "";
        String endTime = "";
        List<Map<String, Object>> maps = new ArrayList<>();
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            if(StringUtils.isNotBlank(data.get("insTime").toString()) && !Objects.isNull(data.get("insTime"))) {
                List insTime = objectMapper.readValue(JSONUtil.toJsonStr(data.get("insTime")), List.class);
                startTime = insTime.get(0).toString();
                endTime = insTime.get(1).toString();
            if(CollectionUtils.isNotEmpty(data.getInsTime())) {
                startTime = data.getInsTime().get(0);
                endTime = data.getInsTime().get(1);
            }
            // 表头信息
            List<Map<String, Object>> headerS = objectMapper.readValue(JSONUtil.toJsonStr(data.get("headerS")), new TypeReference<List<Map<String, Object>>>() {
            List<Map<String, Object>> headerS = objectMapper.readValue(JSONUtil.toJsonStr(data.getHeaderS()), new TypeReference<List<Map<String, Object>>>() {
            });
            // 判断是否是温度循环
            if(sampleType.equals("温度循环")) {
@@ -468,7 +462,10 @@
                        dateTimeFormatter),LocalTime.of(23, 59, 59)
        ).toString();
        // 获取数据
        String company = data.get("company").toString();
        String company = "";
        if(data.containsKey("company")) {
            company =  data.get("company").toString();
        }
        List<CommissionFeesDto> list = insOrderMapper.selectCommissionFees(laboratory,company, start, end);
        list = list.stream().map(dto -> {
            Set<String> uniqueTags = new HashSet<>();
@@ -609,7 +606,7 @@
            }
        }
        if (samples.contains("温度循环")){
        if (Objects.nonNull(samples)&&samples.contains("温度循环")){
            addElementToMaps(maps, "循环次数", "inspectionItems");
            addElementToMaps(maps, "温度点", "inspectionItemSubclass");
            addElementToMaps(maps, "衰减系数1310", "attenuationCoefficient1310");
@@ -676,7 +673,7 @@
            }
            insOrderPlanDTO.setUserId(null);
        }
//        QueryWrapper<InsOrderPlanDTO> wrappers = QueryWrappers.queryWrappers(planDTO);
        QueryWrapper<InsOrderPlanDTO> wrappers = QueryWrappers.queryWrappers(new InsOrderPlanDTO());
        IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(
                page,
                userName,
@@ -687,7 +684,7 @@
                laboratory,
                insOrderPlanDTO.getEntrustCode(),
                insOrderPlanDTO.getInsState(),
                null,
                wrappers,
                insOrderPlanDTO.getSendTimeRange()
                );
        return insOrderPage;