jinlin
2024-08-06 cd7b35b1acc7467deac78ba843b5870a22c9c7f6
modules/mainPart/src/main/java/com/zt/life/modules/mainPart/taskReliability/service/SimulatAssessService.java
@@ -19,6 +19,7 @@
import com.zt.life.modules.mainPart.taskReliability.dto.ProductStatusDto;
import com.zt.life.modules.mainPart.taskReliability.dto.TaskModelCheckResult;
import com.zt.life.modules.mainPart.taskReliability.model.*;
import com.zt.life.modules.mainPart.utils.GetStringSpace;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
@@ -37,6 +38,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.awt.*;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -206,7 +208,9 @@
                x2 = x1 + status.getTimes() * pointNumPerHour + 5;
                JSONObject lineJson = new JSONObject(templetsStrMap.get(status.getStatus()));
                setlineXy(lineJson, x1, y, x2, y, "");
                JsonUtils2.setJsonValueByPath(lineJson,"data/status".split("/"),status.getStatus());
                JsonUtils2.setJsonValueByPath(lineJson,"data/startTimes".split("/"),String.format("%.4f", x1));
                JsonUtils2.setJsonValueByPath(lineJson,"data/endTimes".split("/"),String.format("%.4f", x1 + status.getTimes()));
                JsonUtils2.setJsonValueByPath(lineJson, "id".split("/"), UUIDUtil.generateId().toString());
                x1 = x2 - 5;
                jsonArray.add(lineJson);
@@ -224,7 +228,7 @@
        int spaceWitdth = 80;
        x1 = -spaceWitdth;
        x2 = -11;
        y = -100;
        y = -130;
        String[] tlArr = "O,F,I,S,M".split(",");
        for (String s : tlArr) {
            JSONObject f = templetsMap.get(s);
@@ -237,19 +241,20 @@
        //阶段模型及刻度
        x1 = 0;
        x2 = 0;
        double y1 = -60;
        y = -30;
        double y2 = -10;
        JSONObject modelJson = new JSONObject(templetsStrMap.get("model"));
        double y1 = -100;
        y = -70;
        double y2 = -50;
        setlineXy(modelJson, x1, y1, x1, y2, null);
        JSONObject modelJson = new JSONObject(templetsStrMap.get("model"));
        setlineXy(modelJson, 2, y1, 2, y2, null);
        jsonArray.add(modelJson);
        double totalHours = 0;
        for (int i = 0; i < modelDtoList.size(); i++) {
            JSONObject modelJson2 = new JSONObject(templetsStrMap.get("model"));
            SimulatAssessTaskPhaseModel modelDto = modelDtoList.get(i);
            totalHours = totalHours + modelDto.getGkDuration();
            x2 = x2 + modelDto.getGkDuration() * pointNumPerHour;
            double gkPoint = modelDto.getGkDuration() * pointNumPerHour;
            x2 = x2 + gkPoint;
            if (i < modelDtoList.size() - 1) {
                setlineXy(modelJson2, x2, y1, x2, y, null);
            } else {
@@ -265,12 +270,16 @@
                modelName = modelRbd.getModelName();
                modelId = modelRbd.getId().toString();
            }
            Map<String, Integer> mapSpace = GetStringSpace.getStringSpaceSize(modelName, null, 18);
            JSONObject textJson = new JSONObject(templetsStrMap.get("text"));
            JsonUtils2.setJsonValueByPath(textJson, "data/dataId".split("/"), modelId);
            JsonUtils2.setJsonValueByPath(textJson, "id".split("/"), UUIDUtil.generateId().toString());
            JsonUtils2.setJsonValueByPath(textJson, "attrs/label/textWrap/text".split("/"), modelName);
            JsonUtils2.setJsonValueByPath(textJson, "position/x".split("/"), x1 + 30);
            JsonUtils2.setJsonValueByPath(textJson, "size/width".split("/"), mapSpace.get("width") + 20);
            double x11 = x1 + ((gkPoint - mapSpace.get("width") - 20) / 2);
            JsonUtils2.setJsonValueByPath(textJson, "position/x".split("/"), x11);
            JsonUtils2.setJsonValueByPath(textJson, "position/y".split("/"), y1);
            jsonArray.add(textJson);
            x1 = x2;
@@ -279,14 +288,28 @@
        setlineXy(modelJson3, 0, y, x2, y, null);
        jsonArray.add(modelJson3);
        double curPointHour = 10, periodHour = 50;
        Integer curPointHour = 50, periodHour = 50;
        while (curPointHour < totalHours) {
            JSONObject modelJson4 = new JSONObject(templetsStrMap.get("model"));
            double x = curPointHour * pointNumPerHour;
            setlineXy(modelJson4, x, y, x, y, null);
            setlineXy(modelJson4, x, y, x, y2, null);
            jsonArray.add(modelJson4);
            curPointHour += 10.0;
            Map<String, Integer> mapSpace = GetStringSpace.getStringSpaceSize(curPointHour.toString(), null, 20);
            JSONObject textJson = new JSONObject(templetsStrMap.get("text"));
            JsonUtils2.setJsonValueByPath(textJson, "id".split("/"), UUIDUtil.generateId().toString());
            JsonUtils2.setJsonValueByPath(textJson, "attrs/label/textWrap/text".split("/"), curPointHour.toString());
            JsonUtils2.setJsonValueByPath(textJson, "size/width".split("/"), mapSpace.get("width") + 20);
            double x11 = x - mapSpace.get("width") / 2 - 5;
            JsonUtils2.setJsonValueByPath(textJson, "position/x".split("/"), x11);
            JsonUtils2.setJsonValueByPath(textJson, "position/y".split("/"), y2);
            jsonArray.add(textJson);
            curPointHour += periodHour;
        }
        return jsonObject.toString();
    }
@@ -296,6 +319,7 @@
        JsonUtils2.setJsonValueByPath(lineJson, "source/y".split("/"), y1);
        JsonUtils2.setJsonValueByPath(lineJson, "target/x".split("/"), x2);
        JsonUtils2.setJsonValueByPath(lineJson, "target/y".split("/"), y2);
        JsonUtils2.setJsonValueByPath(lineJson, "id".split("/"), UUIDUtil.generateId().toString());
        if (text != null) {
            JsonUtils2.setArrJsonValueByPath(lineJson, "labels".split("/"), null, "0", "attrs/text/text", "");
        }