From 78711520b15c563b7a66c55522505afeb7811206 Mon Sep 17 00:00:00 2001 From: zhaol <15900249928@163.com> Date: Mon, 24 Feb 2025 15:44:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E5=91=8A=E7=94=9F=E6=88=90=E5=99=A8?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/web/CoeProcessLevelWeb.java | 126 +++++++++++++++++- 1 file changed, 125 insertions(+), 1 deletion(-) diff --git a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java index 7d47b1fc..d7d5011a 100755 --- a/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java +++ b/com.actionsoft.apps.coe.pal/src/com/actionsoft/apps/coe/pal/pal/repository/web/CoeProcessLevelWeb.java @@ -33,6 +33,7 @@ import java.util.stream.Collectors; import com.actionsoft.apps.coe.pal.pal.repository.util.PALFrameworkFilterUtil; import com.actionsoft.bpms.bo.engine.BO; import com.actionsoft.bpms.commons.formfile.model.delegate.FormFile; +import com.actionsoft.sdk.local.api.BOQueryAPI; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.poi.hssf.usermodel.HSSFCell; @@ -9679,7 +9680,7 @@ public class CoeProcessLevelWeb extends ActionWeb { sb.append(sb1.substring(0, sb1.length() - 1)); sb.append("未填写,请检查!").append("
"); } - if (!model.getMethodId().equals("process.scheme") && !model.getMethodId().equals("control.policy") && !model.getMethodId().equals("data.form") && !model.getMethodId().equals("process.flowchart")) { + /*if (!model.getMethodId().equals("process.scheme") && !model.getMethodId().equals("control.policy") && !model.getMethodId().equals("data.form") && !model.getMethodId().equals("process.flowchart")) { List list_linker = new LinkedList<>(); List resultLists = new ArrayList<>(); @@ -9780,8 +9781,131 @@ public class CoeProcessLevelWeb extends ActionWeb { sb.append(sb6); } + //System.out.println("sb>>>>>>>>>>>" + sb); + }*/ + + + if (model.getMethodId().equals("process.epc") || model.getMethodId().equals("process.flowchart")) { + BOQueryAPI boActPalCheckShape = SDK.getBOAPI().query("BO_EU_MODEL_CHECK").addQuery("PAL_TYPE=", model.getMethodId()); + List no_linker_shape_from = new LinkedList<>();//这里是将未匹配的文件模型进行数据存储,这个是存储入线模型 + List no_linker_shape_to = new LinkedList<>();//这里是将未匹配的文件模型进行数据存储,这个是存储出线模型 + List list_linker = new LinkedList<>();//连线的json + List resultLists = new ArrayList<>();//非连线的json + List elements_fei = ShapeUtil.getShapeJsonToJsonObject2(obj);//这个是获取全量的模型并转成json + JSONObject jsonObjects = new JSONObject(new LinkedHashMap<>()); + for (JSONObject o : elements_fei) { + String shapeId = o.getString("id"); + String shapeName = o.getString("name"); + String title = o.getString("text"); + if (!shapeName.equals("linker")) { + resultLists.add(o); + jsonObjects.put(shapeId, title); + }else { + list_linker.add(o); + } + } + + for (JSONObject o : resultLists) { + + String shapeId = o.getString("id");//获取对应的shapeid + + String shapeName = o.getString("name");//这个是获取对应的模型名称 + //System.out.println("这个名字是什么>>>>>>>" + shapeName); + BO detail = boActPalCheckShape.addQuery("SHAPE_ID=", shapeName).detail(); + String isRequired = detail.getString("IS_REQUIRED"); + if (isRequired.equals("1")){ + boolean flag_from = false; + boolean flag_to = false; + for (JSONObject jsonObject : list_linker) { + JSONObject from = jsonObject.getJSONObject("from"); + JSONObject to = jsonObject.getJSONObject("to"); + String id = from.getString("id"); + if (shapeId.equals(id) && to.containsKey("id")) { + flag_from = true; + break; + } + } + for (JSONObject jsonObject : list_linker) { + JSONObject to = jsonObject.getJSONObject("to"); + String id = to.getString("id"); + JSONObject from = jsonObject.getJSONObject("from"); + if (shapeId.equals(id) && from.containsKey("id")) { + flag_to = true; + break; + } + } + + if (flag_from&&flag_to){ + continue; + } + + //这个是判断模型没有入线的title标题 + if (flag_from==false){ + String title = o.getString("text"); + no_linker_shape_from.add(title); + } + //这里是判断模型没有出线的title标题 + if (flag_to==false){ + String title = o.getString("text"); + no_linker_shape_to.add(title); + } + }else if (isRequired.equals("0")){ + boolean flag_from = false; + boolean flag_to = false; + for (JSONObject jsonObject : list_linker) { + JSONObject from = jsonObject.getJSONObject("from"); + String id = from.getString("id"); + if (shapeId.equals(id)) { + flag_from = true; + break; + } + } + for (JSONObject jsonObject : list_linker) { + JSONObject to = jsonObject.getJSONObject("to"); + String id = to.getString("id"); + if (shapeId.equals(id)) { + flag_to = true; + break; + } + } + if (flag_from||flag_to){ + continue; + } + if (flag_to==false&&flag_from==false){ + String title = o.getString("text"); + no_linker_shape_to.add(title); + } + }else { + continue; + } + //System.out.println("m的值>>>>>>>>>>>" + ms); + } + System.out.println("入线没有的模型名称>>>>>>>>>>" + no_linker_shape_from); + System.out.println("出线没有的模型名称>>>>>>>>>>" + no_linker_shape_to); + //连线校验增加体术语句 + if (no_linker_shape_from.size() > 0 || no_linker_shape_to.size()>0) { + sb.append("连线校验
"); + for (String d : no_linker_shape_from) { + if (StringUtils.isNotEmpty(d)) { + sb6.append("【" + d + "没有出线】").append(","); + } + } + for (String d : no_linker_shape_to) { + if (StringUtils.isNotEmpty(d)) { + sb6.append("【" + d + "没有入线】").append(","); + } + } + if (sb6.length() > 0) { + sb6.deleteCharAt(sb6.length() - 1); + } + sb6.append("校验未通过,请检查模型是否都已连线!"); + sb.append(sb6); + } + //System.out.println("sb>>>>>>>>>>>" + sb); } + + /***************************************************数据属性校验*************************************************/ Map methodAttributeModelMap = new HashMap<>();