Selaa lähdekoodia

feat:排产表测试接口

xuezizhuo 1 vuosi sitten
vanhempi
säilyke
b9a6fc25ac

+ 4 - 0
ruoyi-admin/src/main/resources/application.yml

@@ -160,3 +160,7 @@ parameter:
     QUERY_USER_EXISTS_BY_ROLEKEY_IP: http://localhost:8080/system/role/selectUserByRoleKey/
     # crm项目查看一组用户是否存在真实用户
     QUERY_USER_EXISTS_BY_USERIDS_IP: http://localhost:8080/system/user/selectUserByUserIds/
+    # form项目共通修改接口
+    FORM_COMMON_UPDATE_IP: http://localhost:8088/dragform/common/batchEdit/
+    #from项目共通获取详情接口
+    FORM_COMMON_GETINFO_IP: http://localhost:8088/dragform/common/getInfo/

+ 22 - 0
ruoyi-common/src/main/java/com/ruoyi/common/config/bpm/BpmProperties.java

@@ -24,6 +24,12 @@ public class BpmProperties {
     @Value("${parameter.ip.QUERY_USER_EXISTS_BY_USERIDS_IP}")
     public String queryUserExistsByUserIdsIp;
 
+    @Value("${parameter.ip.FORM_COMMON_UPDATE_IP}")
+    public String formCommonUpdateIp;
+
+    @Value("${parameter.ip.FORM_COMMON_GETINFO_IP}")
+    public String formCommonGetInfoIp;
+
     public String getMainRolesKeyIp() {
         return mainRolesKeyIp;
     }
@@ -55,4 +61,20 @@ public class BpmProperties {
     public void setQueryUserExistsByUserIdsIp(String queryUserExistsByUserIdsIp) {
         this.queryUserExistsByUserIdsIp = queryUserExistsByUserIdsIp;
     }
+
+    public String getFormCommonUpdateIp() {
+        return formCommonUpdateIp;
+    }
+
+    public void setFormCommonUpdateIp(String formCommonUpdateIp) {
+        this.formCommonUpdateIp = formCommonUpdateIp;
+    }
+
+    public String getFormCommonGetInfoIp() {
+        return formCommonGetInfoIp;
+    }
+
+    public void setFormCommonGetInfoIp(String formCommonGetInfoIp) {
+        this.formCommonGetInfoIp = formCommonGetInfoIp;
+    }
 }

+ 11 - 2
ruoyi-process-execution/src/main/java/com/ruoyi/execution/produce/dispersed/controller/BpmScriptController.java

@@ -3,12 +3,16 @@ package com.ruoyi.execution.produce.dispersed.controller;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.execution.produce.dispersed.enetity.runbpm.IScriptEntity;
 import com.ruoyi.execution.produce.dispersed.enetity.runbpm.IntoProduction;
+import com.ruoyi.execution.produce.dispersed.runbpm.RunImplementationClass;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+
 /**
  * @author hanzihang
  * @date 2023/11/16 6:14 PM
@@ -17,13 +21,18 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/system/script")
 public class BpmScriptController {
 
+    @Resource
+    private RunImplementationClass irunImplementationClass;
+
     /**
      * 共通投产流程接口
      */
     @Log(title = "脚本执行接口", businessType = BusinessType.UPDATE)
     @PostMapping("/execute")
-    public AjaxResult productionScheduling(@RequestBody IntoProduction intoProduction) {
-        return null;
+    public AjaxResult productionScheduling(@RequestBody String scriptKey) {
+        IScriptEntity iScriptEntity = new IScriptEntity();
+        iScriptEntity.setScriptFlowKey(scriptKey); // 脚本别名
+        return AjaxResult.success(irunImplementationClass.RunScriptImplementationClassLogicCode(iScriptEntity,scriptKey));
 //        return AjaxResult.success(ipreExecutionToolClass.ReadyToExecute(intoProduction));
     }
 

+ 102 - 0
ruoyi-process-execution/src/main/java/com/ruoyi/execution/produce/dispersed/service/impl/script/ProductionWarehousing.java

@@ -0,0 +1,102 @@
+package com.ruoyi.execution.produce.dispersed.service.impl.script;
+
+import com.ruoyi.common.config.bpm.BpmProperties;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.execution.produce.dispersed.service.IScriptService;
+import com.ruoyi.system.entity.CommonEntity;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.*;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class ProductionWarehousing implements IScriptService {
+
+    @Autowired
+    private BpmProperties bpmProperties;
+
+    RestTemplate restTemplate = new RestTemplate();
+
+
+    @Override
+    public Object preExecutionScript(Object parameter) {
+
+        //接收参数,查看参数是否存在
+        Map<String,Object> map = (Map<String,Object>)parameter;
+        //判断表名是否存在
+        if(!map.containsKey("basicMap")) return false;
+        //判断字段是否存在
+        if(!map.containsKey("commMap")) return false;
+        //判断修改条件是否存在
+        if(!map.containsKey("conditionMap")) return false;
+        //判断查询条件是否存在
+        if(!map.containsKey("queryConditions")) return false;
+        if(map.get("commMap") == null || map.get("conditionMap") == null || map.get("queryConditions") == null){
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public Object ExecutionScript(Object parameter) {
+        //接收参数
+        Map<String,Object> map = (Map<String,Object>)parameter;
+
+        //查询
+        CommonEntity queryMap = new CommonEntity();
+        queryMap.setBasicMap((Map<String,Object>)map.get("basicMap"));
+        queryMap.setConditionMap((Map<String,Object>)map.get("queryConditions"));
+        ResponseEntity<AjaxResult> response = null;
+        try {
+            response = restTemplate.exchange(
+                    bpmProperties.formCommonGetInfoIp, HttpMethod.GET, new HttpEntity<>(queryMap), AjaxResult.class);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        if(response.getStatusCodeValue() != 200){
+            return false;
+        }
+
+        AjaxResult body = response.getBody();
+        //得到详情数据
+        Map<String,Object> data = (Map<String,Object>)body.get("data");
+        //库里planWeight
+        Long planWeight = Long.valueOf(data.get("planWeight").toString());
+        Map<String,Object> basicMap =  (Map<String,Object>)map.get("basicMap");
+        //累加的planWeight
+        Long planWeight1 =  Long.valueOf(basicMap.get("planWeight").toString());
+        //计算planWeight
+        Long weight = planWeight + planWeight1;
+        String planState = basicMap.get("planState").toString();
+
+        //修改map
+        CommonEntity editMap = new CommonEntity();
+        queryMap.setBasicMap((Map<String,Object>)map.get("basicMap"));
+        Map<String, Object> commMap = new HashMap<>();
+        commMap.put("plan_weight",weight);
+        commMap.put("plan_state",planState);
+        queryMap.setCommMap(commMap);
+        queryMap.setConditionMap((Map<String,Object>)map.get("conditionMap"));
+
+        AjaxResult ajaxResult = restTemplate.postForObject(bpmProperties.formCommonUpdateIp, editMap, AjaxResult.class);
+        if(Long.valueOf(ajaxResult.get("code").toString()) != 200L) return false;
+        return true;
+    }
+
+    @Override
+    public Object afterExecutionScript(Object parameter) {
+
+        return null;
+    }
+
+    @Override
+    public boolean isVerificationMethod() {
+        return false;
+    }
+
+    @Override
+    public boolean preDestroy() {
+        return false;
+    }
+}