Browse Source

Merge branch 'master' of http://62.234.61.92:3000/wjm/mec-cloud_IntelligentManufacturing_CLIENT

lph 1 year ago
parent
commit
bb8ebb7709

+ 6 - 3
zkqy-admin/src/main/resources/application.yml

@@ -9,7 +9,7 @@ zkqy:
   # 实例演示开关
   # 实例演示开关
   demoEnabled: true
   demoEnabled: true
   # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
   # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
-  profile: C:/log
+  profile: /Users/zrwj/Desktop/ZKQY_LJJ/log
   # 获取ip地址开关
   # 获取ip地址开关
   addressEnabled: false
   addressEnabled: false
   # 验证码类型 math 数组计算 char 字符验证
   # 验证码类型 math 数组计算 char 字符验证
@@ -46,7 +46,7 @@ logging:
     # 指定日志文件的输出目录
     # 指定日志文件的输出目录
     # 此处将所有生成的日志文件存储在D:/rz/logs路径下(日志文件必须名为)
     # 此处将所有生成的日志文件存储在D:/rz/logs路径下(日志文件必须名为)
     # logback-spring.xml中可以读取这个配置项(注意:日志配置文件必须叫logback-spring.xml)
     # logback-spring.xml中可以读取这个配置项(注意:日志配置文件必须叫logback-spring.xml)
-    path: D:/logs
+    path: C:/logs
 
 
 # 用户配置
 # 用户配置
 user:
 user:
@@ -83,7 +83,7 @@ spring:
     # 端口,默认为6379
     # 端口,默认为6379
     port: 6379
     port: 6379
     # 数据库索引
     # 数据库索引
-    database: 11
+    database: 1
     # 密码
     # 密码
     password:
     password:
     # 连接超时时间
     # 连接超时时间
@@ -138,3 +138,6 @@ xss:
   excludes: /system/notice
   excludes: /system/notice
   # 匹配链接
   # 匹配链接
   urlPatterns: /system/*,/monitor/*,/tool/*
   urlPatterns: /system/*,/monitor/*,/tool/*
+
+projectDownloadZip:
+  mysql: /usr/local/mysql/bin/mysqldump

+ 4 - 0
zkqy-process-execution/pom.xml

@@ -30,6 +30,10 @@
             <artifactId>core</artifactId>
             <artifactId>core</artifactId>
             <version>3.5.1</version>
             <version>3.5.1</version>
         </dependency>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.datatype</groupId>
+            <artifactId>jackson-datatype-jsr310</artifactId>
+        </dependency>
 
 
     </dependencies>
     </dependencies>
 
 

+ 117 - 0
zkqy-process-execution/src/main/java/com/zkqy/execution/produce/dispersed/service/impl/runbpm/jiaoyu/AssembleImpl.java

@@ -0,0 +1,117 @@
+package com.zkqy.execution.produce.dispersed.service.impl.runbpm.jiaoyu;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.zkqy.common.core.domain.AjaxResult;
+import com.zkqy.execution.produce.dispersed.entity.CommonEntity;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.BpmRunNodeFormFilterConditionsVo;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.BpmRunNodeFromVo;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.IRunBPMEntity;
+import com.zkqy.execution.produce.dispersed.service.IRunBPMService;
+import com.zkqy.execution.produce.utils.EchoNodeFormData;
+import com.zkqy.execution.produce.utils.Sending;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.PreDestroy;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 组装节点
+ */
+@Service("3c374962-9557-48ca-b968-65977f608af6")
+@Scope("prototype")
+public class AssembleImpl implements IRunBPMService {
+
+    @Autowired
+    private EchoNodeFormData echoNodeFormData;
+
+    @Autowired
+    private Sending sending;
+
+    @Override
+    public CommonEntity getNodeFormData(BpmRunNodeFromVo bpmRunNodeFromVo) {
+        //不是空的就抛出异常差数据的方法
+        if(!bpmRunNodeFromVo.getFormDataVoList().isEmpty()){
+            return echoNodeFormData.getEchoNodeFormData(bpmRunNodeFromVo);
+        }
+        //不是回滚节点执行
+        Map<String, Object> map = new HashMap<>();
+        map.put("id",Long.valueOf(bpmRunNodeFromVo.getTaskPlanKey()));
+        bpmRunNodeFromVo.getFormDataVoList().add(new BpmRunNodeFormFilterConditionsVo("schedule_table", map, false,false));
+        CommonEntity echoNodeFormData1 = echoNodeFormData.getEchoNodeFormData(bpmRunNodeFromVo);
+        //获取数据采集设备上料数量
+        HashMap requestString=new HashMap();
+        requestString.put("id",echoNodeFormData1.getResultMap().get("taskId"));
+        String string1 = sending.sendGetRequestWithParams("http://mes.063520.com/api/v1/mes/public/task/info", requestString, String.class).toString();
+        Map respMap1 = JSONObject.parseObject(string1, HashMap.class);
+        String string2 = respMap1.get("result").toString();
+        Map respMap2 = JSONObject.parseObject(string2, HashMap.class);
+        String assembled = respMap2.get("assembled").toString();
+        HashMap hashMap=new HashMap();
+        hashMap.put("assembled",assembled);//已组装数量
+        hashMap.put("taskNumber",echoNodeFormData1.getResultMap().get("taskId"));//任务id--计划号
+        echoNodeFormData1.getResultMap().remove("taskProcessKey");
+        echoNodeFormData1.getResultMap().remove("taskNodeKey");
+        echoNodeFormData1.getResultMap().putAll(hashMap);
+        return  echoNodeFormData1;
+    }
+
+    /**
+     * 前置验证节点
+     *
+     * @param iRunBPMEntity 节点执行参数
+     * @return
+     */
+    @Override
+    public AjaxResult preValidation(IRunBPMEntity iRunBPMEntity) {
+        return AjaxResult.success();
+    }
+
+    /**
+     * 节点执行流程
+     *
+     * @param iRunBPMEntity 节点执行参数
+     * @return
+     */
+    @Override
+    public AjaxResult executeNode(IRunBPMEntity iRunBPMEntity) {
+        CommonEntity commonEntity = new CommonEntity();
+        return AjaxResult.success();
+    }
+
+    /**
+     * 后置验证节点
+     *
+     * @param iRunBPMEntity 节点执行参数
+     */
+    @Override
+    public AjaxResult afterValidation(IRunBPMEntity iRunBPMEntity) {
+        return AjaxResult.success();
+    }
+
+    /**
+     * 需要手动修改返回为true!当前实现类中不得写逻辑代码!
+     * 此操作只为验证当前实现类是否存在!
+     * @return
+     */
+    @Override
+    public boolean isVerificationMethod() {
+        return true;
+    }
+
+    /**
+     * @PreDestroy 注解用来清理当前bean。
+     * spring不会清理prototype作用域的bean。
+     *
+     * @return
+     */
+    @Override
+    @PreDestroy
+    public boolean preDestroy() {
+        // 执行清理操作
+        System.err.print("清理成功!");
+        return true;
+    }
+}

+ 119 - 0
zkqy-process-execution/src/main/java/com/zkqy/execution/produce/dispersed/service/impl/runbpm/jiaoyu/DetectionImpl.java

@@ -0,0 +1,119 @@
+package com.zkqy.execution.produce.dispersed.service.impl.runbpm.jiaoyu;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.zkqy.common.core.domain.AjaxResult;
+import com.zkqy.execution.produce.dispersed.entity.CommonEntity;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.BpmRunNodeFormFilterConditionsVo;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.BpmRunNodeFromVo;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.IRunBPMEntity;
+import com.zkqy.execution.produce.dispersed.service.IRunBPMService;
+import com.zkqy.execution.produce.utils.EchoNodeFormData;
+import com.zkqy.execution.produce.utils.Sending;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.PreDestroy;
+import java.util.HashMap;
+import java.util.Map;
+
+//检验
+@Service("412d1936-1a9b-4478-8f7a-05b4bfb5a286")
+@Scope("prototype")
+public class DetectionImpl implements IRunBPMService {
+
+
+    @Autowired
+    private EchoNodeFormData echoNodeFormData;
+
+    @Autowired
+    private Sending sending;
+
+    @Override
+    public CommonEntity getNodeFormData(BpmRunNodeFromVo bpmRunNodeFromVo) {
+        if(!bpmRunNodeFromVo.getFormDataVoList().isEmpty()){
+            return echoNodeFormData.getEchoNodeFormData(bpmRunNodeFromVo);
+        }
+        //不是回滚节点执行
+        Map<String, Object> map = new HashMap<>();
+        map.put("id",Long.valueOf(bpmRunNodeFromVo.getTaskPlanKey()));
+        bpmRunNodeFromVo.getFormDataVoList().add(new BpmRunNodeFormFilterConditionsVo("schedule_table", map, false,false));
+        CommonEntity echoNodeFormData1 = echoNodeFormData.getEchoNodeFormData(bpmRunNodeFromVo);
+        //获取数据采集设备上料数量
+        HashMap requestString=new HashMap();
+        requestString.put("id",echoNodeFormData1.getResultMap().get("taskId"));
+        String string1 = sending.sendGetRequestWithParams("http://mes.063520.com/api/v1/mes/public/task/info", requestString, String.class).toString();
+        Map respMap1 = JSONObject.parseObject(string1, HashMap.class);
+        Map respMap2 = JSONObject.parseObject(respMap1.get("result").toString(), HashMap.class);
+        String assembled = respMap2.get("assembled").toString();
+        String qualified = respMap2.get("qualified").toString();
+        String unqualified = respMap2.get("unqualified").toString();
+        //必须得移除这个要不然第一此保存操作的时候就是修改操作了
+        HashMap hashMap=new HashMap();
+        hashMap.put("assembled",assembled);//已组装数量
+        hashMap.put("qualified",qualified);//质检合格数量
+        hashMap.put("unqualified",unqualified);//质检不合格数量
+        hashMap.put("taskNumber",echoNodeFormData1.getResultMap().get("taskId"));//任务id--计划号
+        echoNodeFormData1.getResultMap().remove("taskProcessKey");
+        echoNodeFormData1.getResultMap().remove("taskNodeKey");
+        echoNodeFormData1.getResultMap().putAll(hashMap);
+        return  echoNodeFormData1;
+    }
+
+    /**
+     * 前置验证节点
+     *
+     * @param iRunBPMEntity 节点执行参数
+     * @return
+     */
+    @Override
+    public AjaxResult preValidation(IRunBPMEntity iRunBPMEntity) {
+        return AjaxResult.success();
+    }
+
+    /**
+     * 节点执行流程
+     *
+     * @param iRunBPMEntity 节点执行参数
+     * @return
+     */
+    @Override
+    public AjaxResult executeNode(IRunBPMEntity iRunBPMEntity) {
+        CommonEntity commonEntity = new CommonEntity();
+        return AjaxResult.success();
+    }
+
+    /**
+     * 后置验证节点
+     *
+     * @param iRunBPMEntity 节点执行参数
+     */
+    @Override
+    public AjaxResult afterValidation(IRunBPMEntity iRunBPMEntity) {
+        return AjaxResult.success();
+    }
+
+    /**
+     * 需要手动修改返回为true!当前实现类中不得写逻辑代码!
+     * 此操作只为验证当前实现类是否存在!
+     * @return
+     */
+    @Override
+    public boolean isVerificationMethod() {
+        return true;
+    }
+
+    /**
+     * @PreDestroy 注解用来清理当前bean。
+     * spring不会清理prototype作用域的bean。
+     *
+     * @return
+     */
+    @Override
+    @PreDestroy
+    public boolean preDestroy() {
+        // 执行清理操作
+        System.err.print("清理成功!");
+        return true;
+    }
+}

+ 137 - 0
zkqy-process-execution/src/main/java/com/zkqy/execution/produce/dispersed/service/impl/runbpm/jiaoyu/LoadingImpl.java

@@ -0,0 +1,137 @@
+package com.zkqy.execution.produce.dispersed.service.impl.runbpm.jiaoyu;
+
+
+import com.alibaba.fastjson2.JSONObject;
+import com.zkqy.common.core.domain.AjaxResult;
+import com.zkqy.execution.produce.dispersed.entity.CommonEntity;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.BpmRunNodeFormFilterConditionsVo;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.BpmRunNodeFromVo;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.IRunBPMEntity;
+import com.zkqy.execution.produce.dispersed.service.IRunBPMService;
+import com.zkqy.execution.produce.utils.EchoNodeFormData;
+import com.zkqy.execution.produce.utils.Sending;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.PreDestroy;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author hmc
+ * @date 2023-12-06 18:23
+ * @Description: 17af9e43-4bbe-4661-babc-ee09f67972b6
+ * 上料
+ */
+@Service("17af9e43-4bbe-4661-babc-ee09f67972b6")
+@Scope("prototype")
+public class LoadingImpl implements IRunBPMService {
+
+
+    @Autowired
+    private EchoNodeFormData echoNodeFormData;
+
+    @Autowired
+    private Sending sending;
+
+    @Override
+    public CommonEntity getNodeFormData(BpmRunNodeFromVo bpmRunNodeFromVo) {
+        //不是空的就执行查询抛出异常的数据的方法
+        if(!bpmRunNodeFromVo.getFormDataVoList().isEmpty()){
+            return echoNodeFormData.getEchoNodeFormData(bpmRunNodeFromVo);
+        }
+        //第一次执行节点获取回显数据的操作
+        Map<String, Object> map = new HashMap<>();
+        map.put("id",Long.valueOf(bpmRunNodeFromVo.getTaskPlanKey()));
+        bpmRunNodeFromVo.getFormDataVoList().add(new BpmRunNodeFormFilterConditionsVo("schedule_table", map, false,false));
+        CommonEntity echoNodeFormData1 = echoNodeFormData.getEchoNodeFormData(bpmRunNodeFromVo);
+        //获取数据采集设备上料数量
+        HashMap requestString=new HashMap();
+        requestString.put("id",echoNodeFormData1.getResultMap().get("taskId"));
+        String string1 = sending.sendGetRequestWithParams("http://mes.063520.com/api/v1/mes/public/task/info", requestString, String.class).toString();
+        Map respMap1 = JSONObject.parseObject(string1, HashMap.class);
+        String string2 = respMap1.get("result").toString();
+        Map respMap2 = JSONObject.parseObject(string2, HashMap.class);
+        String materials = respMap2.get("materials").toString();
+        //必须得移除这个要不然第一此保存操作的时候就是修改操作了
+        HashMap hashMap=new HashMap();
+        hashMap.put("materials",materials);//已上料数量
+        hashMap.put("taskNumber",echoNodeFormData1.getResultMap().get("taskId"));//任务id--计划号
+        echoNodeFormData1.getResultMap().remove("taskProcessKey");
+        echoNodeFormData1.getResultMap().remove("taskNodeKey");
+        echoNodeFormData1.getResultMap().putAll(hashMap);
+        return  echoNodeFormData1;
+    }
+/**
+ * //
+ * //        //查询计划表
+ * //
+ * //        //
+ * //        //投产数量---查询计划表
+ * ////        bpmRunNodeFromVo.get
+ * ////        HashMap hashMap=new HashMap();
+ * ////        hashMap.put("taskId", taskPlanKey);
+ * //        //查询任务执行状态
+ * ////        String string = sending.sendGetRequestWithParams("http://mes.063520.com/api/v1/mes/public/task/info", hashMap, String.class).toString();
+ * //        CommonEntity common=new CommonEntity();
+ * ////        Map map = JSONObject.parseObject(string, HashMap.class);
+ * //        common.setResultMap(map);
+ */
+    /**
+     * 前置验证节点
+     *
+     * @param iRunBPMEntity 节点执行参数
+     * @return
+     */
+    @Override
+    public AjaxResult preValidation(IRunBPMEntity iRunBPMEntity) {
+        return AjaxResult.success();
+    }
+
+    /**
+     * 节点执行流程
+     *
+     * @param iRunBPMEntity 节点执行参数
+     * @return
+     */
+    @Override
+    public AjaxResult executeNode(IRunBPMEntity iRunBPMEntity) {
+        CommonEntity commonEntity = new CommonEntity();
+        return AjaxResult.success();
+    }
+
+    /**
+     * 后置验证节点
+     *
+     * @param iRunBPMEntity 节点执行参数
+     */
+    @Override
+    public AjaxResult afterValidation(IRunBPMEntity iRunBPMEntity) {
+        return AjaxResult.success();
+    }
+
+    /**
+     * 需要手动修改返回为true!当前实现类中不得写逻辑代码!
+     * 此操作只为验证当前实现类是否存在!
+     * @return
+     */
+    @Override
+    public boolean isVerificationMethod() {
+        return true;
+    }
+
+    /**
+     * @PreDestroy 注解用来清理当前bean。
+     * spring不会清理prototype作用域的bean。
+     *
+     * @return
+     */
+    @Override
+    @PreDestroy
+    public boolean preDestroy() {
+        // 执行清理操作
+        System.err.print("清理成功!");
+        return true;
+    }
+}

+ 119 - 0
zkqy-process-execution/src/main/java/com/zkqy/execution/produce/dispersed/service/impl/runbpm/jiaoyu/ProcessingImpl.java

@@ -0,0 +1,119 @@
+package com.zkqy.execution.produce.dispersed.service.impl.runbpm.jiaoyu;
+
+
+import com.alibaba.fastjson2.JSONObject;
+import com.zkqy.common.core.domain.AjaxResult;
+import com.zkqy.execution.produce.dispersed.entity.CommonEntity;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.BpmRunNodeFormFilterConditionsVo;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.BpmRunNodeFromVo;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.IRunBPMEntity;
+import com.zkqy.execution.produce.dispersed.service.IRunBPMService;
+import com.zkqy.execution.produce.utils.EchoNodeFormData;
+import com.zkqy.execution.produce.utils.Sending;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.PreDestroy;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 加工
+ */
+@Service("b73ce52e-f3f4-446d-80bd-38f44e51371c")
+@Scope("prototype")
+public class ProcessingImpl implements IRunBPMService {
+
+
+    @Autowired
+    private EchoNodeFormData echoNodeFormData;
+
+    @Autowired
+    private Sending sending;
+
+    @Override
+    public CommonEntity getNodeFormData(BpmRunNodeFromVo bpmRunNodeFromVo) {
+        //不是空的就执行查询抛出异常的数据的方法
+        if(!bpmRunNodeFromVo.getFormDataVoList().isEmpty()){
+            return echoNodeFormData.getEchoNodeFormData(bpmRunNodeFromVo);
+        }
+        //第一次执行节点获取回显数据的操作
+        Map<String, Object> map = new HashMap<>();
+        map.put("id",Long.valueOf(bpmRunNodeFromVo.getTaskPlanKey()));
+        bpmRunNodeFromVo.getFormDataVoList().add(new BpmRunNodeFormFilterConditionsVo("schedule_table", map, false,false));
+        CommonEntity echoNodeFormData1 = echoNodeFormData.getEchoNodeFormData(bpmRunNodeFromVo);
+        //获取数据采集设备上料数量
+        HashMap requestString=new HashMap();
+        requestString.put("id",echoNodeFormData1.getResultMap().get("taskId"));
+        String string1 = sending.sendGetRequestWithParams("http://mes.063520.com/api/v1/mes/public/task/info", requestString, String.class).toString();
+        Map respMap1 = JSONObject.parseObject(string1, HashMap.class);
+        String string2 = respMap1.get("result").toString();
+        Map respMap2 = JSONObject.parseObject(string2, HashMap.class);
+        String processed = respMap2.get("processed").toString();
+        HashMap hashMap=new HashMap();
+        hashMap.put("processed",processed);//已加工数量
+        hashMap.put("taskNumber",echoNodeFormData1.getResultMap().get("taskId"));//任务id--计划号
+        echoNodeFormData1.getResultMap().remove("taskProcessKey");
+        echoNodeFormData1.getResultMap().remove("taskNodeKey");
+        echoNodeFormData1.getResultMap().putAll(hashMap);
+        return  echoNodeFormData1;
+    }
+
+    /**
+     * 前置验证节点
+     *
+     * @param iRunBPMEntity 节点执行参数
+     * @return
+     */
+    @Override
+    public AjaxResult preValidation(IRunBPMEntity iRunBPMEntity) {
+        return AjaxResult.success();
+    }
+
+    /**
+     * 节点执行流程
+     *
+     * @param iRunBPMEntity 节点执行参数
+     * @return
+     */
+    @Override
+    public AjaxResult executeNode(IRunBPMEntity iRunBPMEntity) {
+        CommonEntity commonEntity = new CommonEntity();
+        return AjaxResult.success();
+    }
+
+    /**
+     * 后置验证节点
+     *
+     * @param iRunBPMEntity 节点执行参数
+     */
+    @Override
+    public AjaxResult afterValidation(IRunBPMEntity iRunBPMEntity) {
+        return AjaxResult.success();
+    }
+
+    /**
+     * 需要手动修改返回为true!当前实现类中不得写逻辑代码!
+     * 此操作只为验证当前实现类是否存在!
+     * @return
+     */
+    @Override
+    public boolean isVerificationMethod() {
+        return true;
+    }
+
+    /**
+     * @PreDestroy 注解用来清理当前bean。
+     * spring不会清理prototype作用域的bean。
+     *
+     * @return
+     */
+    @Override
+    @PreDestroy
+    public boolean preDestroy() {
+        // 执行清理操作
+        System.err.print("清理成功!");
+        return true;
+    }
+}

+ 118 - 0
zkqy-process-execution/src/main/java/com/zkqy/execution/produce/dispersed/service/impl/runbpm/jiaoyu/WareHousingImpl.java

@@ -0,0 +1,118 @@
+package com.zkqy.execution.produce.dispersed.service.impl.runbpm.jiaoyu;
+
+import com.alibaba.fastjson2.JSONObject;
+import com.zkqy.common.core.domain.AjaxResult;
+import com.zkqy.execution.produce.dispersed.entity.CommonEntity;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.BpmRunNodeFormFilterConditionsVo;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.BpmRunNodeFromVo;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.IRunBPMEntity;
+import com.zkqy.execution.produce.dispersed.service.IRunBPMService;
+import com.zkqy.execution.produce.utils.EchoNodeFormData;
+import com.zkqy.execution.produce.utils.Sending;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.PreDestroy;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 入库
+ */
+@Service("524b8b00-1153-41b4-b098-a0c60e66a1a6")
+@Scope("prototype")
+public class WareHousingImpl implements IRunBPMService {
+
+    @Autowired
+    private EchoNodeFormData echoNodeFormData;
+
+
+    @Autowired
+    private Sending sending;
+
+    @Override
+    public CommonEntity getNodeFormData(BpmRunNodeFromVo bpmRunNodeFromVo) {
+        //回滚异常节点表单数据查询
+        if(!bpmRunNodeFromVo.getFormDataVoList().isEmpty()){
+            return echoNodeFormData.getEchoNodeFormData(bpmRunNodeFromVo);
+        }
+        //不是回滚节点执行
+        Map<String, Object> map = new HashMap<>();
+        map.put("id",Long.valueOf(bpmRunNodeFromVo.getTaskPlanKey()));
+        bpmRunNodeFromVo.getFormDataVoList().add(new BpmRunNodeFormFilterConditionsVo("schedule_table", map, false,false));
+        CommonEntity echoNodeFormData1 = echoNodeFormData.getEchoNodeFormData(bpmRunNodeFromVo);
+        //获取数据采集设备上料数量
+        HashMap requestString=new HashMap();
+        requestString.put("id",echoNodeFormData1.getResultMap().get("taskId"));
+        String string1 = sending.sendGetRequestWithParams("http://mes.063520.com/api/v1/mes/public/task/info", requestString, String.class).toString();
+        Map respMap1 = JSONObject.parseObject(string1, HashMap.class);
+        Map respMap2 = JSONObject.parseObject(respMap1.get("result").toString(), HashMap.class);
+        String inStock = respMap2.get("inStock").toString();
+        //必须得移除这个要不然第一此保存操作的时候就是修改操作了
+        HashMap hashMap=new HashMap();
+        hashMap.put("inStock",inStock);//已入库数量
+        hashMap.put("taskNumber",echoNodeFormData1.getResultMap().get("taskId"));//任务id--计划号
+        echoNodeFormData1.getResultMap().remove("taskProcessKey");
+        echoNodeFormData1.getResultMap().remove("taskNodeKey");
+        echoNodeFormData1.getResultMap().putAll(hashMap);
+        return  echoNodeFormData1;
+    }
+
+    /**
+     * 前置验证节点
+     *
+     * @param iRunBPMEntity 节点执行参数
+     * @return
+     */
+    @Override
+    public AjaxResult preValidation(IRunBPMEntity iRunBPMEntity) {
+        return AjaxResult.success();
+    }
+
+    /**
+     * 节点执行流程
+     *
+     * @param iRunBPMEntity 节点执行参数
+     * @return
+     */
+    @Override
+    public AjaxResult executeNode(IRunBPMEntity iRunBPMEntity) {
+        CommonEntity commonEntity = new CommonEntity();
+        return AjaxResult.success();
+    }
+
+    /**
+     * 后置验证节点
+     *
+     * @param iRunBPMEntity 节点执行参数
+     */
+    @Override
+    public AjaxResult afterValidation(IRunBPMEntity iRunBPMEntity) {
+        return AjaxResult.success();
+    }
+
+    /**
+     * 需要手动修改返回为true!当前实现类中不得写逻辑代码!
+     * 此操作只为验证当前实现类是否存在!
+     * @return
+     */
+    @Override
+    public boolean isVerificationMethod() {
+        return true;
+    }
+
+    /**
+     * @PreDestroy 注解用来清理当前bean。
+     * spring不会清理prototype作用域的bean。
+     *
+     * @return
+     */
+    @Override
+    @PreDestroy
+    public boolean preDestroy() {
+        // 执行清理操作
+        System.err.print("清理成功!");
+        return true;
+    }
+}

+ 174 - 0
zkqy-process-execution/src/main/java/com/zkqy/execution/produce/dispersed/service/impl/runbpm/jiaoyu/common/EducationCommonProductionSchedulingServiceImpl.java

@@ -0,0 +1,174 @@
+package com.zkqy.execution.produce.dispersed.service.impl.runbpm.jiaoyu.common;
+
+import cn.hutool.core.date.DateTime;
+import com.alibaba.fastjson2.JSON;
+import com.alibaba.fastjson2.JSONObject;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.databind.SerializerProvider;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.ser.std.DateSerializer;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
+import com.google.gson.JsonObject;
+import com.zkqy.common.utils.StringUtils;
+import com.zkqy.execution.produce.dispersed.entity.BpmExecuteNode;
+import com.zkqy.execution.produce.dispersed.entity.CommonEntity;
+import com.zkqy.execution.produce.dispersed.entity.runbpm.IntoProduction;
+import com.zkqy.execution.produce.dispersed.service.IBpmExecuteNodeService;
+import com.zkqy.execution.produce.dispersed.service.IScriptService;
+import com.zkqy.execution.produce.dispersed.service.impl.CommonServiceImpl;
+import com.zkqy.execution.produce.utils.Sending;
+import org.apache.xmlbeans.soap.SOAPArrayType;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.PreDestroy;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.time.temporal.TemporalAccessor;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 教育行业投产脚本呢
+ */
+@Service("b89c0a3e-2c2b-4959-ac4f-a504966b5db6")
+@Scope("prototype")
+public class EducationCommonProductionSchedulingServiceImpl implements IScriptService {
+
+    @Autowired  // 执行节点记录表
+    private IBpmExecuteNodeService iBpmExecuteNodeService;
+
+    @Autowired
+    private Sending sending;
+
+    @Autowired
+    private CommonServiceImpl commonService;
+
+    @Override
+    public Object preExecutionScript(Object parameter) {
+        return true;
+    }
+
+    @Override
+    public Object executionScript(Object parameter) {
+        // 得到当前脚本执行所需数据
+        IntoProduction intoProduction = (IntoProduction) parameter;
+        // 根据流程别名 把开始节点执行
+        BpmExecuteNode bpmExecuteNode = new BpmExecuteNode();
+        bpmExecuteNode.setTaskNodeState("1");           // 0未执行、1已执行
+        bpmExecuteNode.setTaskNodeType("startEvent");   // 每个流程里只会存在一个开始节点
+        bpmExecuteNode.setTaskProcessKey(intoProduction.getTaskProcessKey()); // 当前任务流程的任务编码
+        iBpmExecuteNodeService.updateNodeState(bpmExecuteNode);  // 执行修改节点状态
+
+        // 修改用户业务表中的状态
+        CommonEntity commonEntity = new CommonEntity();
+        Map<String, Object> conMap = new HashMap<>();  // sql条件map
+        Map<String, Object> basicMap = new HashMap<>();  // 默认参数map
+
+        String con[] = intoProduction.getGuid().split("=");
+        conMap.put(con[0], con[1]);
+        commonEntity.setConditionMap(conMap);  // 得到修改表的条件
+        basicMap.put("tableName", intoProduction.getTableName());
+        commonEntity.setBasicMap(basicMap);  // 得到修改的表名
+        commonEntity.setCommMap(intoProduction.getStateMap());  // 需要修改的列
+        // 根据其他的条件更新投产表状态
+        int  i = sending.sendCommonUpdate(commonEntity);
+        //开启产线
+        //1、查询开启产线需要的相关信息
+        CommonEntity common =new CommonEntity();
+        //2、查询那张表的的数据
+        HashMap basicMapInfo=new HashMap();
+        basicMapInfo.put("tableName",intoProduction.getTableName());//查询的是计划表
+        common.setBasicMap(basicMapInfo);
+        //3、查询表数据的条件信息
+        HashMap conditionMapInfo=new HashMap();
+        conditionMapInfo.put(con[0],con[1]);
+        common.setConditionMap(conditionMapInfo);
+        CommonEntity planInfo = commonService.getInfoById(common);
+        //4、得到这个计划的基本信息
+        Map<String, Object> resultMap = planInfo.getResultMap();
+        resultMap.remove("remark");
+        resultMap.remove("task_name");
+        resultMap.remove("create_by_id");
+        resultMap.remove("create_by");
+        resultMap.remove("update_time");
+        resultMap.remove("process_key");
+        resultMap.remove("id");
+        resultMap.remove("update_by");
+        resultMap.remove("del_flag");
+        resultMap.remove("task_node_key");
+        resultMap.remove("create_time");
+        resultMap.remove("data_approval_status");
+        resultMap.remove("task_process_key");
+        resultMap.remove("update_by_id");
+        resultMap.remove("status");
+        Map<String, Object> resultMap2=new HashMap<>();
+        //转驼峰
+        resultMap.forEach((key,value)->{
+            resultMap2.put(StringUtils.toCamelCase(key),value);
+        });
+        //5、结果转Json对象(是不是启动产线所需要的数据)
+        if(resultMap2!=null){
+            try {
+                //5.1、转换Json SerializerFeature.WriteMapNullValue
+                // 创建 ObjectMapper 实例并设置其配置
+                ObjectMapper mapper = new ObjectMapper();
+                // 开启日期/时间格式化输出
+                mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
+                mapper.registerModule(new JavaTimeModule());
+                SimpleModule module = new SimpleModule();
+                // 自定义日期格式
+                DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+                // 自定义日期格式
+                SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd");
+                // 处理dataTime类型的
+                module.addSerializer(LocalDateTime.class, new LocalDateTimeSerializer(formatter));
+                // 处理data类型的
+                module.addSerializer(Date.class,new JsonSerializer<Date>() {
+                    @Override
+                    public void serialize(Date value, JsonGenerator gen, SerializerProvider serializers)
+                            throws IOException {
+                        String formattedDate = formatter2.format(value);
+                        gen.writeString(formattedDate);
+                    }
+                });
+                mapper.registerModule(module);
+                //空的也让他序列化
+                mapper.setSerializationInclusion(JsonInclude.Include.ALWAYS); // 或者 Include.NON_NULL 如果你想反向操作,排除所有null值
+                String JsonString = mapper.writeValueAsString(resultMap2);
+                //String res =sending.sendPostRequest("http://mes.063520.com/api/v1/mes/public/task/start", JsonString, String.class).toString();
+               // System.err.println(res);
+            } catch (JsonProcessingException e) {
+                throw new RuntimeException(e);
+            }
+        }
+        return null;
+    }
+
+    @Override
+    public Object afterExecutionScript(Object parameter) {
+        return null;
+    }
+
+    @Override
+    public boolean isVerificationMethod() {
+        return true;
+    }
+
+    @Override
+    @PreDestroy
+    public boolean preDestroy() {
+        System.out.println("清理成功!");
+        return true;
+    }
+}

+ 44 - 4
zkqy-process-execution/src/main/java/com/zkqy/execution/produce/utils/Sending.java

@@ -11,17 +11,17 @@ import com.zkqy.system.mapper.SysDictDataMapper;
 import com.zkqy.system.service.ISysBpmNodeScriptService;
 import com.zkqy.system.service.ISysBpmNodeScriptService;
 import com.zkqy.system.service.ISysRoleService;
 import com.zkqy.system.service.ISysRoleService;
 import com.zkqy.system.service.ISysUserService;
 import com.zkqy.system.service.ISysUserService;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
+import org.springframework.http.*;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 import org.springframework.web.client.RestTemplate;
+import org.springframework.web.util.UriComponentsBuilder;
+
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import java.io.UnsupportedEncodingException;
 import java.io.UnsupportedEncodingException;
 import java.lang.reflect.Array;
 import java.lang.reflect.Array;
 import java.lang.reflect.Field;
 import java.lang.reflect.Field;
 import java.net.URLEncoder;
 import java.net.URLEncoder;
+import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
@@ -235,6 +235,46 @@ public class Sending<T> {
         return userService.selectUserByUserIds(userIds);
         return userService.selectUserByUserIds(userIds);
     }
     }
 
 
+    /**
+     * 获取数据采集设备的
+     * @param baseUrl
+     * @param queryParams
+     * @param responseType
+     * @return
+     * @param <T>
+     */
+    public <T> T sendGetRequestWithParams(String baseUrl, Map<String, String> queryParams, Class<T> responseType) {
+        // 使用UriComponentsBuilder构建带有查询参数的URL
+        UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(baseUrl);
+        for (Map.Entry<String, String> entry : queryParams.entrySet()) {
+            builder.queryParam(entry.getKey(), entry.getValue());
+        }
+        String urlWithParams = builder.build().encode().toUriString();
+        // 发送GET请求并获取响应结果
+        ResponseEntity<T> responseEntity = restTemplate.getForEntity(urlWithParams, responseType);
+        // 返回响应体
+        return responseEntity.getBody();
+    }
+
+    /**
+     * 发送启动产线的
+     * @param url
+     * @param requestBody
+     * @param responseType
+     * @return
+     * @param <T>
+     */
+    public <T> T sendPostRequest(String url, Object requestBody, Class<T> responseType) {
+        // 设置请求头内容类型为JSON
+        HttpHeaders headers = new HttpHeaders();
+        headers.setContentType(MediaType.APPLICATION_JSON);
+        // 将请求体转换为HttpEntity对象
+        HttpEntity<Object> entity = new HttpEntity<>(requestBody, headers);
+        // 发送POST请求并获取响应结果
+        return restTemplate.postForObject(url, entity, responseType);
+    }
+
+
     /**
     /**
      * FORM_共通批量新增接口
      * FORM_共通批量新增接口
      */
      */

+ 34 - 23
zkqy-ui/src/views/bussiness/dialogCompments/Edu/Assemble.vue

@@ -1,17 +1,27 @@
 <template>
 <template>
     <!-- 组装 -->
     <!-- 组装 -->
     <div class="app-container">
     <div class="app-container">
-        <el-form ref="form" :model="form" label-width="80px" align="center">
-            <el-form-item label="任务号:">
-                {{form.name}}
-            </el-form-item>
-            <el-form-item label="投产数量:">
-                {{form.tNum}}
-            </el-form-item>
-            <el-form-item label="完成数量:">
-                {{form.cNum}}
-            </el-form-item>
-        </el-form>
+      <el-form ref="form" :model="form" label-width="80px" align="center">
+        <el-form-item label="任务号:" :label-width="'90px'">
+          <el-input v-model="form.taskNumber" readonly disabled></el-input>
+        </el-form-item>
+        <el-form-item label="投产数量:" :label-width="'90px'">
+          <el-input v-model="form.productQuantity" readonly disabled></el-input>
+        </el-form-item>
+        <el-form-item label="已组装数量"  :label-width="'90px'">
+          <el-input v-model="form.assembled" readonly disabled></el-input>
+        </el-form-item>
+        <!--记录信息-->
+        <el-form-item>
+          <el-button
+            type="primary"
+            class="btn"
+            @click="submitHandler"
+            style="margin-left:-500px"
+          >记录信息</el-button
+          >
+        </el-form-item>
+      </el-form>
     </div>
     </div>
 </template>
 </template>
 
 
@@ -24,9 +34,9 @@ export default {
         return {
         return {
             isEdit: false,
             isEdit: false,
             form: {
             form: {
-                name: '',
-                tNum: '',
-                cNum: '',
+              taskNumber: '',
+              productQuantity: '',
+              assembled: '',
             }
             }
         };
         };
     },
     },
@@ -49,9 +59,8 @@ export default {
         },
         },
     },
     },
     mounted() {
     mounted() {
-        
-    },
 
 
+    },
     methods: {
     methods: {
         async submitHandler() {
         async submitHandler() {
             console.log(this.row);
             console.log(this.row);
@@ -64,7 +73,7 @@ export default {
                 payLoad.updateCommonEntityList = [
                 payLoad.updateCommonEntityList = [
                     {
                     {
                     basicMap: {
                     basicMap: {
-                        tableName: "task_team_relevance",
+                        tableName: "product_assembly",
                     },
                     },
                     conditionMap: {
                     conditionMap: {
                         task_process_key: taskProcessKey,
                         task_process_key: taskProcessKey,
@@ -77,17 +86,19 @@ export default {
                     },
                     },
                 ];
                 ];
                 } else {
                 } else {
+                  console.log("新增")
                 payLoad.insertCommonEntityList = [
                 payLoad.insertCommonEntityList = [
                     {
                     {
                     basicMap: {
                     basicMap: {
-                        tableName: "task_team_relevance",
+                        tableName: "product_assembly",
                     },
                     },
                     addListMap: [
                     addListMap: [
                         {
                         {
-                        team_id: teamId,
-                        task_id: this.row.bepTaskPlanKey,
-                        taskProcessKey: this.row.benTaskProcessKey,
-                        taskNodeKey: this.row.benTaskNodeKey,
+                          taskNumber: this.form.taskNumber,
+                          taskQuantity:this.form.productQuantity,
+                          overNumber:this.form.assembled,
+                          taskProcessKey: this.row.benTaskProcessKey,
+                          taskNodeKey: this.row.benTaskNodeKey,
                         },
                         },
                     ],
                     ],
                     },
                     },
@@ -129,4 +140,4 @@ export default {
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 
 
-</style>
+</style>

+ 63 - 51
zkqy-ui/src/views/bussiness/dialogCompments/Edu/Detection.vue

@@ -3,23 +3,30 @@
     <div class="app-container">
     <div class="app-container">
         <el-form ref="form" :model="form" label-width="120px">
         <el-form ref="form" :model="form" label-width="120px">
             <el-form-item label="任务号:">
             <el-form-item label="任务号:">
-                {{form.taskId}}
-            </el-form-item>
-            <el-form-item label="工序名:">
-                {{form.name}}
+              <el-input v-model="form.taskNumber" readonly disabled></el-input>
             </el-form-item>
             </el-form-item>
             <el-form-item label="投产数量:">
             <el-form-item label="投产数量:">
-                {{form.tNum}}
+              <el-input v-model="form.productQuantity" readonly disabled></el-input>
             </el-form-item>
             </el-form-item>
-            <el-form-item label="完成数量:">
-                {{form.cNum}}
+            <el-form-item label="组装数量:">
+              <el-input v-model="form.assembled" readonly disabled></el-input>
             </el-form-item>
             </el-form-item>
             <el-form-item label="合格数量:">
             <el-form-item label="合格数量:">
-                {{form.qualifiedNum}}
+              <el-input v-model="form.qualified"></el-input>
             </el-form-item>
             </el-form-item>
             <el-form-item label="不合格数量:">
             <el-form-item label="不合格数量:">
-                {{form.noQualifiedNum}}
+              <el-input v-model="form.unqualified"></el-input>
             </el-form-item>
             </el-form-item>
+              <!--记录信息-->
+              <el-form-item>
+                <el-button
+                  type="primary"
+                  class="btn"
+                  @click="submitHandler"
+                  style=""
+                >质检信息记录</el-button
+                >
+              </el-form-item>
         </el-form>
         </el-form>
     </div>
     </div>
 </template>
 </template>
@@ -33,12 +40,11 @@ export default {
         return {
         return {
             isEdit: false,
             isEdit: false,
             form: {
             form: {
-                taskId: '',
-                name: '',
-                tnum: '',
-                cnum: '',
-                qualifiedNum: '',
-                noQualifiedNum: ''
+              taskNumber: '',
+                productQuantity: '',
+                assembled: '',
+                qualified: '',
+                unqualified: ''
             }
             }
         };
         };
     },
     },
@@ -51,9 +57,11 @@ export default {
         myFormData: {
         myFormData: {
             handler(nval) {
             handler(nval) {
                 this.form = nval.resultMap;
                 this.form = nval.resultMap;
-                this.isEdit = this.form.taskProcessKey && this.form.taskNodeKey;
+              console.log(this.form,"ddddd")
+                this.isEdit = this.form.taskProcessKey&&this.form.taskNodeKey;
+               console.log(this.isEdit,"acd")
                 this.$nextTick(() => {
                 this.$nextTick(() => {
-                this.$refs.form?.clearValidate();
+                      this.$refs.form?.clearValidate();
                 });
                 });
             },
             },
             deep: true,
             deep: true,
@@ -61,7 +69,7 @@ export default {
         },
         },
     },
     },
     mounted() {
     mounted() {
-        
+
     },
     },
 
 
     methods: {
     methods: {
@@ -70,40 +78,44 @@ export default {
             let res = await this.$refs.form?.validate();
             let res = await this.$refs.form?.validate();
             if (res) {
             if (res) {
                 let payLoad = {};
                 let payLoad = {};
-                let { teamId } = this.form;
                 if (this.isEdit) {
                 if (this.isEdit) {
-                let { taskProcessKey, taskNodeKey } = this.myFormData.resultMap;
-                payLoad.updateCommonEntityList = [
-                    {
-                    basicMap: {
-                        tableName: "task_team_relevance",
-                    },
-                    conditionMap: {
-                        task_process_key: taskProcessKey,
-                        task_node_key: taskNodeKey,
-                    },
-                    commMap: {
-                        team_id: teamId,
-                        task_id: this.row.bepTaskPlanKey,
-                    },
-                    },
-                ];
+                      console.log("修改")
+                      let { taskProcessKey, taskNodeKey } = this.myFormData.resultMap;
+                      payLoad.updateCommonEntityList = [
+                          {
+                          basicMap: {
+                              tableName: "quality_inspection",
+                          },
+                          conditionMap: {
+                              task_process_key: taskProcessKey,
+                              task_node_key: taskNodeKey,
+                          },
+                          commMap: {
+                            qualifiedQuantity:this.form.qualifiedNum,
+                            unqualifiedQuantity:this.form.unqualifiedQuantity
+                          },
+                          },
+                      ];
                 } else {
                 } else {
-                payLoad.insertCommonEntityList = [
-                    {
-                    basicMap: {
-                        tableName: "task_team_relevance",
-                    },
-                    addListMap: [
-                        {
-                        team_id: teamId,
-                        task_id: this.row.bepTaskPlanKey,
-                        taskProcessKey: this.row.benTaskProcessKey,
-                        taskNodeKey: this.row.benTaskNodeKey,
-                        },
-                    ],
-                    },
-                ];
+                  console.log("新增")
+                      payLoad.insertCommonEntityList = [
+                          {
+                          basicMap: {
+                              tableName: "quality_inspection",
+                          },
+                          addListMap: [
+                              {
+                                taskNumber: this.form.taskNumber,
+                                taskQuantity:this.form.productQuantity,
+                                overNumber:this.form.assembled,
+                                taskProcessKey: this.row.benTaskProcessKey,
+                                taskNodeKey: this.row.benTaskNodeKey,
+                                qualifiedQuantity:this.form.qualified,
+                                unqualifiedQuantity:this.form.unqualified
+                              },
+                          ],
+                          },
+                      ];
                 }
                 }
                 submitNodeForm(payLoad).then((response) => {
                 submitNodeForm(payLoad).then((response) => {
                 if (response.code == 200) {
                 if (response.code == 200) {
@@ -141,4 +153,4 @@ export default {
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 
 
-</style>
+</style>

+ 91 - 14
zkqy-ui/src/views/bussiness/dialogCompments/Edu/Loading.vue

@@ -3,13 +3,22 @@
     <div class="app-container">
     <div class="app-container">
         <el-form ref="form" :model="form" label-width="80px" align="center">
         <el-form ref="form" :model="form" label-width="80px" align="center">
             <el-form-item label="任务号:">
             <el-form-item label="任务号:">
-                {{form.name}}
+              <el-input v-model="form.taskNumber" readonly disabled></el-input>
             </el-form-item>
             </el-form-item>
             <el-form-item label="投产数量:">
             <el-form-item label="投产数量:">
-                {{form.tNum}}
+              <el-input v-model="form.productQuantity" readonly disabled></el-input>
             </el-form-item>
             </el-form-item>
-            <el-form-item label="完成数量:">
-                {{form.cNum}}
+            <el-form-item label="上料数量">
+              <el-input v-model="form.materials" readonly disabled></el-input>
+            </el-form-item>
+            <el-form-item>
+              <el-button
+                type="primary"
+                class="btn"
+                @click="submitHandler"
+                style="margin-left:-500px"
+                >记录信息</el-button
+               >
             </el-form-item>
             </el-form-item>
         </el-form>
         </el-form>
     </div>
     </div>
@@ -24,36 +33,104 @@ export default {
         return {
         return {
             isEdit: false,
             isEdit: false,
             form: {
             form: {
-                name: '',
-                tNum: '',
-                cNum: '',
+                taskNumber: '',
+                productQuantity: '',
+                materials: '',
             }
             }
         };
         };
     },
     },
     computed: {
     computed: {
+        //属性计算
         myFormData() {
         myFormData() {
-            return this.formData;
-        },
+             //父组件-传递过来的
+             return this.formData;
+        }
     },
     },
     watch: {
     watch: {
+        //监听的是计算属性里的myFormData
         myFormData: {
         myFormData: {
             handler(nval) {
             handler(nval) {
                 this.form = nval.resultMap;
                 this.form = nval.resultMap;
+                //有这个两个值代表是从新编辑
                 this.isEdit = this.form.taskProcessKey && this.form.taskNodeKey;
                 this.isEdit = this.form.taskProcessKey && this.form.taskNodeKey;
                 this.$nextTick(() => {
                 this.$nextTick(() => {
-                this.$refs.form?.clearValidate();
+                    this.$refs.form?.clearValidate();
                 });
                 });
             },
             },
             deep: true,
             deep: true,
             immediate: true,
             immediate: true,
         },
         },
     },
     },
+    created(){
+        this.aa("created")
+    },
     mounted() {
     mounted() {
-        
+      this.aa("mounted")
     },
     },
-
     methods: {
     methods: {
-        async getFormData() {
+      //处理请求
+      async submitHandler() {
+        //获取父组件传递过来的数据
+        console.log(this.row);
+        //校验表单数据
+        let res = await this.$refs.form?.validate();
+        //校验通过
+        if (res) {
+          //放准备发给后端的数据
+          let payLoad = {};
+          let { taskProcessKey, taskNodeKey } = this.myFormData.resultMap;
+          //判断是否编辑
+          if (this.isEdit) {
+            //准备更新节点的数据
+            payLoad.updateCommonEntityList = [
+              {
+                basicMap: {
+                  tableName: "load_material_info",
+                },
+                conditionMap: {
+                  task_process_key: taskProcessKey,
+                  task_node_key: taskNodeKey,
+                },
+                commMap: {
+                  qualityControlCard:this.form.qualityControlCard,
+                  cardNum:this.form.cardNum
+                },
+              },
+            ];
+          } else {
+            console.log("新增")
+            //插入节点数据总不能被数据
+            payLoad.insertCommonEntityList = [
+              {
+                basicMap: {
+                  tableName: "load_material_info",
+                },
+                addListMap: [
+                  {
+                    taskNumber: this.form.taskNumber,
+                    taskQuantity:this.form.productQuantity,
+                    overNumber:this.form.materials,
+                    taskProcessKey: this.row.benTaskProcessKey,
+                    taskNodeKey: this.row.benTaskNodeKey,
+                  },
+                ],
+              },
+            ];
+          }
+          //提交请求
+          submitNodeForm(payLoad).then((response) => {
+            if (response.code == 200) {
+              this.$modal.msgSuccess("保存成功");
+            } else {
+              this.$modal.error("保存失败,请稍后再试");
+            }
+          });
+        }
+      },
+      aa(str){
+        console.log(str)
+      },
+      async getFormData() {
             let formData = {
             let formData = {
                 flag: false,
                 flag: false,
                 msg: "",
                 msg: "",
@@ -80,4 +157,4 @@ export default {
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 
 
-</style>
+</style>

+ 28 - 18
zkqy-ui/src/views/bussiness/dialogCompments/Edu/Processing.vue

@@ -3,13 +3,23 @@
     <div class="app-container">
     <div class="app-container">
         <el-form ref="form" :model="form" label-width="80px" align="center">
         <el-form ref="form" :model="form" label-width="80px" align="center">
             <el-form-item label="任务号:">
             <el-form-item label="任务号:">
-                {{form.name}}
+              <el-input v-model="form.taskNumber" readonly disabled></el-input>
             </el-form-item>
             </el-form-item>
             <el-form-item label="投产数量:">
             <el-form-item label="投产数量:">
-                {{form.tNum}}
+              <el-input v-model="form.productQuantity" readonly disabled></el-input>
             </el-form-item>
             </el-form-item>
-            <el-form-item label="完成数量:">
-                {{form.cNum}}
+            <el-form-item label="加工完成数量" :label-width="'90px' ">
+              <el-input v-model="form.processed"  readonly disabled></el-input>
+            </el-form-item>
+            <!--记录信息-->
+            <el-form-item>
+              <el-button
+                type="primary"
+                class="btn"
+                @click="submitHandler"
+                style="margin-left:-500px"
+              >记录信息</el-button
+              >
             </el-form-item>
             </el-form-item>
         </el-form>
         </el-form>
     </div>
     </div>
@@ -24,9 +34,9 @@ export default {
         return {
         return {
             isEdit: false,
             isEdit: false,
             form: {
             form: {
-                name: '',
-                tNum: '',
-                cNum: '',
+                taskNumber: '',
+                productQuantity: '',
+                processed: '',
             }
             }
         };
         };
     },
     },
@@ -49,7 +59,7 @@ export default {
         },
         },
     },
     },
     mounted() {
     mounted() {
-        
+
     },
     },
 
 
     methods: {
     methods: {
@@ -58,36 +68,36 @@ export default {
             let res = await this.$refs.form?.validate();
             let res = await this.$refs.form?.validate();
             if (res) {
             if (res) {
                 let payLoad = {};
                 let payLoad = {};
-                let { teamId } = this.form;
                 if (this.isEdit) {
                 if (this.isEdit) {
                 let { taskProcessKey, taskNodeKey } = this.myFormData.resultMap;
                 let { taskProcessKey, taskNodeKey } = this.myFormData.resultMap;
                 payLoad.updateCommonEntityList = [
                 payLoad.updateCommonEntityList = [
                     {
                     {
                     basicMap: {
                     basicMap: {
-                        tableName: "task_team_relevance",
+                        tableName: "product_processing_info",
                     },
                     },
                     conditionMap: {
                     conditionMap: {
                         task_process_key: taskProcessKey,
                         task_process_key: taskProcessKey,
                         task_node_key: taskNodeKey,
                         task_node_key: taskNodeKey,
                     },
                     },
                     commMap: {
                     commMap: {
-                        team_id: teamId,
-                        task_id: this.row.bepTaskPlanKey,
+                      overNumber:this.form.overNumber,
                     },
                     },
                     },
                     },
                 ];
                 ];
                 } else {
                 } else {
+                  console.log("新增")
                 payLoad.insertCommonEntityList = [
                 payLoad.insertCommonEntityList = [
                     {
                     {
                     basicMap: {
                     basicMap: {
-                        tableName: "task_team_relevance",
+                        tableName: "product_processing_info",
                     },
                     },
                     addListMap: [
                     addListMap: [
                         {
                         {
-                        team_id: teamId,
-                        task_id: this.row.bepTaskPlanKey,
-                        taskProcessKey: this.row.benTaskProcessKey,
-                        taskNodeKey: this.row.benTaskNodeKey,
+                          taskNumber: this.form.taskNumber,
+                          taskQuantity:this.form.productQuantity,
+                          overNumber:this.form.processed,
+                          taskProcessKey: this.row.benTaskProcessKey,
+                          taskNodeKey: this.row.benTaskNodeKey,
                         },
                         },
                     ],
                     ],
                     },
                     },
@@ -129,4 +139,4 @@ export default {
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 
 
-</style>
+</style>

+ 30 - 22
zkqy-ui/src/views/bussiness/dialogCompments/Edu/WareHousing.vue

@@ -2,15 +2,25 @@
     <!-- 入库 -->
     <!-- 入库 -->
     <div class="app-container">
     <div class="app-container">
         <el-form ref="form" :model="form" label-width="80px" align="center">
         <el-form ref="form" :model="form" label-width="80px" align="center">
-            <el-form-item label="任务号:">
-                {{form.name}}
-            </el-form-item>
-            <el-form-item label="投产数量:">
-                {{form.tNum}}
-            </el-form-item>
-            <el-form-item label="完成数量:">
-                {{form.cNum}}
+          <el-form-item label="任务号:">
+            <el-input v-model="form.taskNumber" readonly disabled></el-input>
+          </el-form-item>
+          <el-form-item label="投产数量:">
+            <el-input v-model="form.productQuantity" readonly disabled></el-input>
+          </el-form-item>
+            <el-form-item label="入库数量:">
+              <el-input v-model="form.qualifiedQuantity" readonly disabled></el-input>
             </el-form-item>
             </el-form-item>
+          <!--记录信息-->
+          <el-form-item>
+            <el-button
+              type="primary"
+              class="btn"
+              @click="submitHandler"
+              style="margin-left:-500px"
+            >记录信息</el-button
+            >
+          </el-form-item> <!--记录信息-->
         </el-form>
         </el-form>
     </div>
     </div>
 </template>
 </template>
@@ -24,9 +34,9 @@ export default {
         return {
         return {
             isEdit: false,
             isEdit: false,
             form: {
             form: {
-                name: '',
-                tNum: '',
-                cNum: '',
+                taskNumber: '',
+                productQuantity: '',
+                qualifiedQuantity: '',
             }
             }
         };
         };
     },
     },
@@ -39,6 +49,7 @@ export default {
         myFormData: {
         myFormData: {
             handler(nval) {
             handler(nval) {
                 this.form = nval.resultMap;
                 this.form = nval.resultMap;
+                console.log(this.form)
                 this.isEdit = this.form.taskProcessKey && this.form.taskNodeKey;
                 this.isEdit = this.form.taskProcessKey && this.form.taskNodeKey;
                 this.$nextTick(() => {
                 this.$nextTick(() => {
                 this.$refs.form?.clearValidate();
                 this.$refs.form?.clearValidate();
@@ -49,7 +60,7 @@ export default {
         },
         },
     },
     },
     mounted() {
     mounted() {
-        
+
     },
     },
 
 
     methods: {
     methods: {
@@ -58,36 +69,33 @@ export default {
             let res = await this.$refs.form?.validate();
             let res = await this.$refs.form?.validate();
             if (res) {
             if (res) {
                 let payLoad = {};
                 let payLoad = {};
-                let { teamId } = this.form;
+
                 if (this.isEdit) {
                 if (this.isEdit) {
                 let { taskProcessKey, taskNodeKey } = this.myFormData.resultMap;
                 let { taskProcessKey, taskNodeKey } = this.myFormData.resultMap;
                 payLoad.updateCommonEntityList = [
                 payLoad.updateCommonEntityList = [
                     {
                     {
                     basicMap: {
                     basicMap: {
-                        tableName: "task_team_relevance",
+                        tableName: "finished",
                     },
                     },
                     conditionMap: {
                     conditionMap: {
                         task_process_key: taskProcessKey,
                         task_process_key: taskProcessKey,
                         task_node_key: taskNodeKey,
                         task_node_key: taskNodeKey,
                     },
                     },
                     commMap: {
                     commMap: {
-                        team_id: teamId,
-                        task_id: this.row.bepTaskPlanKey,
+                      finished_weight: this.form.qualifiedQuantity,
                     },
                     },
                     },
                     },
                 ];
                 ];
                 } else {
                 } else {
+                  console.log("新增")
                 payLoad.insertCommonEntityList = [
                 payLoad.insertCommonEntityList = [
                     {
                     {
                     basicMap: {
                     basicMap: {
-                        tableName: "task_team_relevance",
+                        tableName: "finished",
                     },
                     },
                     addListMap: [
                     addListMap: [
                         {
                         {
-                        team_id: teamId,
-                        task_id: this.row.bepTaskPlanKey,
-                        taskProcessKey: this.row.benTaskProcessKey,
-                        taskNodeKey: this.row.benTaskNodeKey,
+                          finished_weight: this.form.qualifiedQuantity,
                         },
                         },
                     ],
                     ],
                     },
                     },
@@ -129,4 +137,4 @@ export default {
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 
 
-</style>
+</style>