hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -1,8 +1,13 @@
package com.mes;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.service.BigStorageCageDetailsService;
import com.mes.bigstorage.service.BigStorageCageService;
import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
@@ -28,9 +33,8 @@
import java.net.HttpURLConnection;
import java.net.URL;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
 * @Author : zhoush
@@ -140,6 +144,8 @@
    }
    @Test
    public void computeTargetByLine() {
        plcStorageCageTask.computeTargetByLine(2001);
@@ -168,13 +174,18 @@
    @Test
    public void insertDamage() {
        Damage damage=new Damage();
        damage.setGlassId("P24060403|3|6");
        damage.setLine(2001);
        damage.setWorkingProcedure("冷加工");
        damage.setRemark("");
        damage.setStatus(2);
        damageService.insertDamage(damage);
//        Damage damage=new Damage();
//        damage.setGlassId("P24060403|3|6");
//        damage.setLine(2001);
//        damage.setWorkingProcedure("冷加工");
//        damage.setRemark("");
//        damage.setStatus(2);
//        damageService.insertDamage(damage);
        Damage damage=damageService.getOne(
                new LambdaQueryWrapper<Damage>()
                .eq(Damage::getGlassId,"P24071503|12|4")
        );
        damageService.submitReport(damage);
    }
    @Test
@@ -192,10 +203,45 @@
    }
    @Test
    public void deleteByGlassId(){
        damageService.deleteByGlassId("P24081203|2|5");
    }
    @Test
    public void testttt(){
        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(6);
        List<Integer> deviceUseds = deviceUsedList;
        List<BigStorageCageDetails> engineerCount1 = bigStorageCageDetailsService.list(
                new LambdaQueryWrapper<BigStorageCageDetails>()
                        .notIn(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT,Const.GLASS_STATE_DAMAGE,Const.GLASS_STATE_TAKE)
                        .select(BigStorageCageDetails::getEngineerId)
                        .groupBy(BigStorageCageDetails::getEngineerId)
                        .between(BigStorageCageDetails::getDeviceId, 1, 5)
        );
        List<BigStorageCageDetails> engineerCount2 = bigStorageCageDetailsService.list(
                new LambdaQueryWrapper<BigStorageCageDetails>()
                        .notIn(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT,Const.GLASS_STATE_DAMAGE,Const.GLASS_STATE_TAKE)
                        .select(BigStorageCageDetails::getEngineerId)
                        .groupBy(BigStorageCageDetails::getEngineerId)
                        .between(BigStorageCageDetails::getDeviceId, 6, 8)
        );
        if (engineerCount1.size() > engineerCount2.size()) {
            deviceUsedList.removeIf(device -> device < 6);
        } else {
            deviceUsedList.removeIf(device -> device > 5);
        }
        if (CollectionUtils.isEmpty(deviceUsedList)) {
            deviceUsedList = deviceUseds;
        }
        log.info("zhi:{}",deviceUsedList);
    }
    @Test
    public void ca(){
        try {
            // 目标系统的API URL
            String url = "http://192.168.3.119:8086/reportingWork/mesSave";
            String url = "http://192.168.3.119:8086/reportingWork/mesSaveReportingWorkWorn";
            URL obj = new URL(url);
            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
@@ -205,9 +251,10 @@
            con.setRequestProperty("Accept", "application/json");
            con.setDoOutput(true);
            // 创建消息体
            String jsonInputString = "小廖";
            ReportingWork reportingWork=new ReportingWork();
            // 创建 JSON 对象
            JSONObject result = new JSONObject();
            ReportingWork reportingWork = new ReportingWork();
            reportingWork.setOrderId("NG24042301");
            reportingWork.setProductionId("NG24042301A");
            reportingWork.setProcessId("NG24042301A001");
@@ -221,11 +268,33 @@
            reportingWork.setTeamsGroupsName("小廖一号");
            reportingWork.setCreator("小廖");
            ReportingWorkDetail reportingWorkDetail=new ReportingWorkDetail();
            List<ReportingWorkDetail> reportingWorkDetails = new ArrayList<>();
            ReportingWorkDetail reportingWorkDetail = new ReportingWorkDetail();
            reportingWorkDetail.setTechnologyNumber(1);
            reportingWorkDetail.setOrderNumber(1);
            reportingWorkDetail.setCompletedQuantity(1);
            reportingWorkDetail.setBreakageQuantity(0);
            reportingWorkDetails.add(reportingWorkDetail);
            ObjectMapper objectMapper = new ObjectMapper();
            // 将 ReportingWork 转换为 JSONObject
            JSONObject reportingWorkJson = new JSONObject(objectMapper.writeValueAsString(reportingWork));
            reportingWorkJson.put("reportingWorkTime", reportingWork.getReportingWorkTime().format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
            // 将 ReportingWorkDetail 列表转换为 JSONArray
            JSONArray detailsJsonArray = new JSONArray(objectMapper.writeValueAsString(reportingWorkDetails));
            // 将 JSON 对象和数组添加到结果对象中
            result.put("title", reportingWorkJson);
            result.put("detail", detailsJsonArray);
            result.put("type", 0);
            result.put("userId", "admin");
            result.put("userName", "admin");
            result.put("qualityInsStatus", 0);
            // 将 result 对象转换为字符串
            String jsonInputString = result.toString();
            System.out.println("jsonInputString : " + result);
            // 发送请求
            try (OutputStream os = con.getOutputStream()) {
                byte[] input = jsonInputString.getBytes("utf-8");
@@ -235,6 +304,7 @@
            // 获取响应码
            int responseCode = con.getResponseCode();
            System.out.println("Response Code : " + responseCode);
            // 获取响应内容
            try (BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"))) {
                StringBuilder response = new StringBuilder();