Bladeren bron

矿山域-流程管理

ltt 1 jaar geleden
bovenliggende
commit
2bc0d4c230
26 gewijzigde bestanden met toevoegingen van 523 en 143 verwijderingen
  1. 9 0
      business-modules/business-mine/pom.xml
  2. 2 2
      business-modules/business-mine/src/main/java/com/sckw/mine/common/OrderServerCommon.java
  3. 5 6
      business-modules/business-mine/src/main/java/com/sckw/mine/controller/MineController.java
  4. 19 8
      business-modules/business-mine/src/main/java/com/sckw/mine/controller/TaskCardController.java
  5. 29 9
      business-modules/business-mine/src/main/java/com/sckw/mine/controller/WorkFlowController.java
  6. 1 1
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessActionTrack.java
  7. 1 1
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessMineOrder.java
  8. 25 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/dto/NodeStatusDTO.java
  9. 2 3
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/ReviewOrderParam.java
  10. 2 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/WorkFlowPageListParam.java
  11. 1 1
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/MineOrderDetailRes.java
  12. 1 1
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/MineOrderPageListRes.java
  13. 1 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/OrderFlowStepRes.java
  14. 3 10
      business-modules/business-mine/src/main/java/com/sckw/mine/enums/MineStatusEnum.java
  15. 1 1
      business-modules/business-mine/src/main/java/com/sckw/mine/mapper/MineOrderMapper.java
  16. 3 0
      business-modules/business-mine/src/main/java/com/sckw/mine/mapper/NodeMapper.java
  17. 2 0
      business-modules/business-mine/src/main/java/com/sckw/mine/mapper/WorkFlowMapper.java
  18. 8 0
      business-modules/business-mine/src/main/java/com/sckw/mine/mapper/WorkFlowNodeMapper.java
  19. 161 66
      business-modules/business-mine/src/main/java/com/sckw/mine/service/MineService.java
  20. 136 22
      business-modules/business-mine/src/main/java/com/sckw/mine/service/TaskCardService.java
  21. 67 9
      business-modules/business-mine/src/main/java/com/sckw/mine/service/WorkFlowService.java
  22. 2 2
      business-modules/business-mine/src/main/resources/mapper/KwBusinessActionTrackMapper.xml
  23. 8 1
      business-modules/business-mine/src/main/resources/mapper/MineOrderMapper.xml
  24. 11 0
      business-modules/business-mine/src/main/resources/mapper/NodeMapper.xml
  25. 8 0
      business-modules/business-mine/src/main/resources/mapper/WorkFlowMapper.xml
  26. 15 0
      business-modules/business-mine/src/main/resources/mapper/WorkFlowNodeMapper.xml

+ 9 - 0
business-modules/business-mine/pom.xml

@@ -44,5 +44,14 @@
             <artifactId>business-common-redis</artifactId>
             <version>1.0.0</version>
         </dependency>
+
+
+        <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
+        <dependency>
+            <groupId>com.google.code.gson</groupId>
+            <artifactId>gson</artifactId>
+            <version>2.11.0</version>
+        </dependency>
+
     </dependencies>
 </project>

+ 2 - 2
business-modules/business-mine/src/main/java/com/sckw/mine/common/OrderServerCommon.java

@@ -27,12 +27,12 @@ public class OrderServerCommon {
     private GenOrderCode genOrderCode;
 
 
-    public void saveActionTrack(Long mineOrderId, Integer status, String remark, String prefix) {
+    public void saveActionTrack(Long mineOrderId, String status, String remark, String prefix) {
         KwBusinessActionTrack kwBusinessActionTrack = new KwBusinessActionTrack();
         kwBusinessActionTrack.setId(new IdWorker(1L).nextId());
         kwBusinessActionTrack.setTenantId(TenantUtil.getTenant());
         kwBusinessActionTrack.setMineOrderId(mineOrderId);
-        kwBusinessActionTrack.setContent(MineStatusEnum.getNameByCode(status));
+        kwBusinessActionTrack.setContent(prefix);
         kwBusinessActionTrack.setStatus(status);
         kwBusinessActionTrack.setTaskOrderNum(generatorNum("T", 14));
         kwBusinessActionTrack.setRemark(remark);

+ 5 - 6
business-modules/business-mine/src/main/java/com/sckw/mine/controller/MineController.java

@@ -8,7 +8,6 @@ import com.sckw.mine.service.MineService;
 import jakarta.validation.Valid;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 /**
@@ -41,7 +40,7 @@ public class MineController {
     */
     @PostMapping(value = "/order/pageList")
     public HttpResult pageList(@RequestBody MineOrderPageListParam param){
-        return HttpResult.ok(mineService.pageList(param));
+        return mineService.pageList(param);
     }
 
     /**
@@ -67,7 +66,7 @@ public class MineController {
     }
 
     /**
-    * @Description: 流程
+    * @Description: 订单流程
     * @Author: Lt
     * @Date: 2024/5/28 11:06
     */
@@ -82,10 +81,10 @@ public class MineController {
      * @Author: Lt
      * @Date: 2024/5/28 11:06
      */
-    @PostMapping ("/order/completeOrder")
-    public HttpResult completeOrder(@RequestBody @Valid CompleteOrderParam completeOrderParam)
+    @PostMapping ("/order/cancelOrder")
+    public HttpResult cancelOrder(@RequestBody @Valid CompleteOrderParam completeOrderParam)
     {
-        return HttpResult.ok(mineService.completeOrder(completeOrderParam));
+        return HttpResult.ok(mineService.cancelOrder(completeOrderParam));
     }
 
 }

+ 19 - 8
business-modules/business-mine/src/main/java/com/sckw/mine/controller/TaskCardController.java

@@ -1,7 +1,7 @@
 package com.sckw.mine.controller;
 
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.mine.entity.req.CompleteTaskParam;
+import com.sckw.mine.entity.req.ReviewOrderParam;
 import com.sckw.mine.entity.req.TaskCardPageListParam;
 import com.sckw.mine.service.TaskCardService;
 import jakarta.validation.Valid;
@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
- * @desc:
+ * @desc: 任务卡片
  * @author: Lt
  * @date: 2024-05-29
  */
@@ -26,18 +26,29 @@ public class TaskCardController {
     @PostMapping("/pageList")
     public HttpResult taskCardPageList(@RequestBody TaskCardPageListParam param)
     {
-        return HttpResult.ok(taskCardService.taskCardPageList(param));
+        return taskCardService.taskCardPageList(param);
     }
 
     /**
-    * @Description: 任务状态操作
+    * @Description: 任务状态页面审核订单
     * @Author: Lt
-    * @Date: 2024/5/29 0029 15:39
+    * @Date: 2024/5/29 15:39
     */
-    @PostMapping("/action")
-    public HttpResult taskAction(@RequestBody @Valid CompleteTaskParam completeTaskParam)
+    @PostMapping("/reviewOrder")
+    public HttpResult reviewOrder(@RequestBody @Valid ReviewOrderParam reviewOrderParam)
     {
-        return HttpResult.ok(taskCardService.taskAction(completeTaskParam));
+        return taskCardService.reviewOrder(reviewOrderParam);
+    }
+
+    /**
+     * @Description: 任务状态弹窗操作订单
+     * @Author: Lt
+     * @Date: 2024/5/29 15:39
+     */
+    @PostMapping("/popOrder")
+    public HttpResult popOrder(@RequestBody @Valid ReviewOrderParam reviewOrderParam)
+    {
+        return taskCardService.carryTrack(reviewOrderParam);
     }
 
 

+ 29 - 9
business-modules/business-mine/src/main/java/com/sckw/mine/controller/WorkFlowController.java

@@ -54,15 +54,35 @@ public class WorkFlowController {
         return workFlowService.pageList(workFlowPageListParam);
     }
 
-    ///**
-    // * 查询 根据主键 id 查询
-    // * @author lt
-    // * @date 2024/05/30
-    // **/
-    //@GetMapping("/detail")
-    //public HttpResult detail(@RequestParam("id") String id){
-    //    return workFlowService.detail(id);
-    //}
+    /**
+     * 查询 根据主键 id 查询
+     * @author lt
+     * @date 2024/05/30
+     **/
+    @GetMapping("/detail")
+    public HttpResult detail(@RequestParam("id") String id){
+        return workFlowService.detail(id);
+    }
+
+    /**
+     * @Description: 状态操作
+     * @Author: Lt
+     * @Date: 2024/5/31 14:46
+     */
+    @RequestMapping("/statusAction")
+    public HttpResult statusAction(@RequestParam("id") String id , @RequestParam("status") Integer status) {
+        return workFlowService.statusAction(id, status);
+    }
+
+    /**
+     * 刪除
+     * @author Lt
+     * @date 2024/05/31
+     **/
+    @PostMapping("/delete")
+    public HttpResult delete(@RequestParam("id") String id){
+        return workFlowService.workFlowDelete(id);
+    }
 
 
 

+ 1 - 1
business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessActionTrack.java

@@ -48,7 +48,7 @@ public class KwBusinessActionTrack implements Serializable {
     /*
     订单状态
      */
-    private Integer status;
+    private String status;
 
     /**
      * create_by

+ 1 - 1
business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessMineOrder.java

@@ -88,7 +88,7 @@ public class KwBusinessMineOrder implements Serializable {
     /**
      * 订单状态
      */
-    private Integer status;
+    private String status;
 
     /*
     矿料id

+ 25 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/entity/dto/NodeStatusDTO.java

@@ -0,0 +1,25 @@
+package com.sckw.mine.entity.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @desc:
+ * @author: Lt
+ * @date: 2024-06-03
+ */
+@Setter
+@Getter
+public class NodeStatusDTO {
+
+    private String code;
+
+
+    private String name;
+
+
+    private String msg;
+
+
+    private String color;
+}

+ 2 - 3
business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/CompleteTaskParam.java → business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/ReviewOrderParam.java

@@ -9,12 +9,11 @@ import lombok.Getter;
  * @date: 2024-05-28
  */
 @Getter
-public class CompleteTaskParam {
+public class ReviewOrderParam {
 
     @NotBlank(message = "缺少参数:id")
     private String id;
 
-    private Integer status;
+    private Integer yesOrNo;
 
-    private String remark;
 }

+ 2 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/WorkFlowPageListParam.java

@@ -14,6 +14,8 @@ public class WorkFlowPageListParam {
 
     private Integer pageSize;
 
+    private String id;
+
     /*
     流程编号
      */

+ 1 - 1
business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/MineOrderDetailRes.java

@@ -89,7 +89,7 @@ public class MineOrderDetailRes {
     /**
      * 订单状态
      */
-    private Integer status;
+    private String status;
 
     private String statusStr;
 

+ 1 - 1
business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/MineOrderPageListRes.java

@@ -89,7 +89,7 @@ public class MineOrderPageListRes {
     /**
      * 订单状态
      */
-    private Integer status;
+    private String status;
 
     private String statusStr;
 

+ 1 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/OrderFlowStepRes.java

@@ -12,6 +12,7 @@ import lombok.Setter;
 @Setter
 public class OrderFlowStepRes {
 
+    private String code;
     private String name;
     private String color;
 

+ 3 - 10
business-modules/business-mine/src/main/java/com/sckw/mine/enums/MineStatusEnum.java

@@ -16,16 +16,9 @@ import java.util.stream.Collectors;
 @AllArgsConstructor
 @Getter
 public enum MineStatusEnum {
-    ZERO(0, "已驳回"),
-    ONE(1, "已保存"),
-    TWO(2, "确认下单"),
-    THREE(3, "订单审核"),
-    FOUR(4, "计划采掘"),
-    FIVE(5, "计划加工"),
-    SIX(6, "原料加工"),
-    SEVEN(7, "矿料清点"),
-    EIGHT(8, "完成订单"),
-    NINE(9, "已取消")
+    ZERO(0, "已保存"),
+    FIFTEEN(15, "已驳回"),
+    TWENTY(20, "取消订单"),
     ;
 
     private final Integer code;

+ 1 - 1
business-modules/business-mine/src/main/java/com/sckw/mine/mapper/MineOrderMapper.java

@@ -22,6 +22,6 @@ public interface MineOrderMapper extends BaseMapper<KwBusinessMineOrder> {
     List<MineOrderPageListRes> mineOrderPageList(@Param("param") MineOrderPageListParam param);
     MineOrderDetailRes selectOrderById(String orderId);
 
-    List<Map<String, Object>> countByStatus();
+    List<Map<String, Object>> countByStatus(@Param("tenantId") String tenantId);
 
 }

+ 3 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/mapper/NodeMapper.java

@@ -3,6 +3,7 @@ package com.sckw.mine.mapper;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.mine.entity.KwBusinessNode;
+import com.sckw.mine.entity.dto.NodeStatusDTO;
 import com.sckw.mine.entity.req.MineralAggPageListParam;
 import com.sckw.mine.entity.req.MineralAggregateUpdateParam;
 import com.sckw.mine.entity.req.NodePageListParam;
@@ -28,4 +29,6 @@ public interface NodeMapper extends BaseMapper<KwBusinessNode> {
     NodeDetailRes load(@Param("id") String id);
 
     int statusAction(@Param("id") String id, @Param("status") Integer status);
+
+    List<NodeStatusDTO> selectListNode(@Param("tenantId") String tenantId);
 }

+ 2 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/mapper/WorkFlowMapper.java

@@ -15,4 +15,6 @@ import java.util.List;
 public interface WorkFlowMapper extends BaseMapper<KwBusinessWorkFlow> {
 
     List<WorkFlowPageListRes> pageList(@Param("param") WorkFlowPageListParam param);
+
+    int statusAction(@Param("id") String id, @Param("status") Integer status);
 }

+ 8 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/mapper/WorkFlowNodeMapper.java

@@ -4,9 +4,17 @@ import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.mine.entity.KwBusinessWorkFlow;
 import com.sckw.mine.entity.KwBusinessWorkFlowNode;
+import com.sckw.mine.entity.dto.NodeStatusDTO;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.io.Serializable;
+import java.util.Collection;
+import java.util.List;
 
 @Mapper
 @DS("mine")
 public interface WorkFlowNodeMapper extends BaseMapper<KwBusinessWorkFlowNode> {
+
+    List<NodeStatusDTO> selectListNode(@Param("flowId") String flowId);
 }

+ 161 - 66
business-modules/business-mine/src/main/java/com/sckw/mine/service/MineService.java

@@ -1,43 +1,34 @@
 package com.sckw.mine.service;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.json.ObjectMapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.page.PageRes;
 import com.sckw.core.utils.IdWorker;
 import com.sckw.core.utils.TenantUtil;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.mine.common.OrderServerCommon;
-import com.sckw.mine.entity.KwBusinessActionTrack;
-import com.sckw.mine.entity.KwBusinessMine;
-import com.sckw.mine.entity.KwBusinessMineOrder;
-import com.sckw.mine.entity.KwBusinessTransportOrderNo;
+import com.sckw.mine.entity.*;
+import com.sckw.mine.entity.dto.NodeStatusDTO;
 import com.sckw.mine.entity.req.CompleteOrderParam;
 import com.sckw.mine.entity.req.MineOrderPageListParam;
 import com.sckw.mine.entity.req.MineAddParam;
 import com.sckw.mine.entity.res.MineOrderDetailRes;
 import com.sckw.mine.entity.res.MineOrderPageListRes;
-import com.sckw.mine.entity.res.OrderFlowStepRes;
 import com.sckw.mine.enums.MineStatusEnum;
 import com.sckw.mine.enums.TransportUnderEnum;
-import com.sckw.mine.mapper.KwBusinessActionTrackMapper;
-import com.sckw.mine.mapper.MineMapper;
-import com.sckw.mine.mapper.MineOrderMapper;
-import com.sckw.mine.mapper.TransportOrderNoMapper;
-import com.sckw.redis.utils.GenOrderCode;
+import com.sckw.mine.mapper.*;
+import com.sckw.redis.utils.RedissonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.time.LocalDate;
-import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ThreadLocalRandom;
-import java.util.stream.Collectors;
+import java.util.*;
 
 /**
  * @desc:
@@ -62,10 +53,13 @@ public class MineService {
     KwBusinessActionTrackMapper kwBusinessActionTrackMapper;
 
     @Autowired
-    private GenOrderCode genOrderCode;
+    OrderServerCommon orderServerCommon;
 
     @Autowired
-    OrderServerCommon orderServerCommon;
+    NodeMapper nodeMapper;
+
+    @Autowired
+    WorkFlowNodeMapper workFlowNodeMapper;
 
     /**
      * @Description: 矿山域订单添加
@@ -106,7 +100,7 @@ public class MineService {
                 mineMapper.insert(kwBusinessMine);
             }
             //添加操作记录
-            orderServerCommon.saveActionTrack(orderId, mineAddParam.getStatus(), null, "T");
+            orderServerCommon.saveActionTrack(orderId, String.valueOf(mineAddParam.getStatus()), null, "T");
 
             return "添加成功";
         } catch (Exception e) {
@@ -127,6 +121,9 @@ public class MineService {
             if (ObjectUtils.isNotNull(e.getOrderSource())) {
                 e.setOrderSourceStr(e.getOrderSource() == 1 ? "生产自建" : "销售流转");
             }
+            if (ObjectUtils.isNotNull(e.getStatus())){
+                e.setStatusStr(getStatusStr(e.getStatus()));
+            }
         });
         return HttpResult.ok(new PageRes<>(new PageInfo<>(businessTruckPageListRes)));
     }
@@ -134,7 +131,7 @@ public class MineService {
     /**
      * @Description: 订单详情
      * @Author: Lt
-     * @Date: 2024/5/27 0027 15:54
+     * @Date: 2024/5/27 15:54
      */
     public MineOrderDetailRes detail(String orderId) {
         MineOrderDetailRes kwBusinessMineOrder = mineOrderMapper.selectOrderById(orderId);
@@ -142,7 +139,8 @@ public class MineService {
             throw new RuntimeException("当前数据不存在");
         }
         if (ObjectUtils.isNotNull(kwBusinessMineOrder.getStatus())) {
-            kwBusinessMineOrder.setStatusStr(MineStatusEnum.getNameByCode(kwBusinessMineOrder.getStatus()));
+
+            kwBusinessMineOrder.setStatusStr(getStatusStr(kwBusinessMineOrder.getStatus()));
         }
         if (ObjectUtils.isNotNull(kwBusinessMineOrder.getOrderSource())) {
             kwBusinessMineOrder.setOrderSourceStr(kwBusinessMineOrder.getOrderSource() == 1 ? "生产自建" : "销售流转");
@@ -152,15 +150,96 @@ public class MineService {
 
     }
 
+    /**
+    * @Description: 获取状态中文
+    * @Author: Lt
+    * @Date: 2024/6/5 15:49
+    */
+    private String getStatusStr(String status)
+    {
+        String tenantId = TenantUtil.getTenant();
+        Object node = RedissonUtils.get(tenantId + "node");
+        if (Objects.isNull(node)) {
+            List<NodeStatusDTO> sortedEnums = nodeMapper.selectListNode(tenantId);
+
+            // 创建要追加在最前面的元素
+            NodeStatusDTO firstElement = new NodeStatusDTO();
+            firstElement.setMsg(MineStatusEnum.getNameByCode(MineStatusEnum.ZERO.getCode()));
+            firstElement.setCode(String.valueOf(MineStatusEnum.ZERO.getCode()));
+
+            // 创建要追加在最后的元素
+            NodeStatusDTO lastElement = new NodeStatusDTO();
+            lastElement.setMsg(MineStatusEnum.getNameByCode(MineStatusEnum.TWENTY.getCode()));
+            lastElement.setCode(String.valueOf(MineStatusEnum.TWENTY.getCode()));
+
+            NodeStatusDTO twoElement = new NodeStatusDTO();
+            twoElement.setMsg(MineStatusEnum.getNameByCode(MineStatusEnum.FIFTEEN.getCode()));
+            twoElement.setCode(String.valueOf(MineStatusEnum.FIFTEEN.getCode()));
+
+            // 将元素追加到列表的最前面
+            sortedEnums.add(0, firstElement);
+            sortedEnums.add(1, twoElement);
+
+            // 将元素追加到列表的最后面
+            sortedEnums.add(lastElement);
+            Gson gson = new Gson();
+            RedissonUtils.add(tenantId + "node", gson.toJson(sortedEnums));
+
+            if (Objects.equals(status, "0") || Objects.equals(status, "15") || Objects.equals(status, "20")){
+                return MineStatusEnum.getNameByCode(Integer.valueOf(status));
+            }else{
+                for (NodeStatusDTO sortedEnum : sortedEnums) {
+                    if (sortedEnum.getCode().equals(status)) {
+                        return sortedEnum.getName();
+                    }
+                }
+            }
+
+        }else {
+            Gson gson = new Gson();
+            Object o = gson.fromJson((String) node, new TypeToken<List<NodeStatusDTO>>() {}.getType());
+            List<NodeStatusDTO> sortedEnums = (List<NodeStatusDTO>) o;
+            for (NodeStatusDTO sortedEnum : sortedEnums) {
+                if (sortedEnum.getCode().equals(status)) {
+                    return sortedEnum.getMsg();
+                }
+            }
+        }
+        return "";
+    }
 
     public List<Map<String, Object>> getStatusCountListInSingleQuery() {
+        String tenantId = TenantUtil.getTenant();
         // 查询每个状态的计数
-        List<Map<String, Object>> statusCounts = mineOrderMapper.countByStatus();
+        List<Map<String, Object>> statusCounts = mineOrderMapper.countByStatus(tenantId);
+
+
+        List<NodeStatusDTO> sortedEnums = nodeMapper.selectListNode(tenantId);
 
+        // 创建要追加在最前面的元素
+        NodeStatusDTO firstElement = new NodeStatusDTO();
+        firstElement.setMsg(MineStatusEnum.getNameByCode(MineStatusEnum.ZERO.getCode()));
+        firstElement.setCode(String.valueOf(MineStatusEnum.ZERO.getCode()));
+
+        // 创建要追加在最后的元素
+        NodeStatusDTO lastElement = new NodeStatusDTO();
+        lastElement.setMsg(MineStatusEnum.getNameByCode(MineStatusEnum.TWENTY.getCode()));
+        lastElement.setCode(String.valueOf(MineStatusEnum.TWENTY.getCode()));
+
+        NodeStatusDTO twoElement = new NodeStatusDTO();
+        twoElement.setMsg(MineStatusEnum.getNameByCode(MineStatusEnum.FIFTEEN.getCode()));
+        twoElement.setCode(String.valueOf(MineStatusEnum.FIFTEEN.getCode()));
+
+        // 将元素追加到列表的最前面
+        sortedEnums.add(0, firstElement);
+        sortedEnums.add(1, twoElement);
+
+        // 将元素追加到列表的最后面
+        sortedEnums.add(lastElement);
         // 将查询结果转换为所需的格式
-        List<MineStatusEnum> sortedEnums = MineStatusEnum.getSortList();
+        //List<MineStatusEnum> sortedEnums = MineStatusEnum.getSortList();
         List<Map<String, Object>> result = new ArrayList<>();
-        for (MineStatusEnum enumItem : sortedEnums) {
+        for (NodeStatusDTO enumItem : sortedEnums) {
             Map<String, Object> statusCount = statusCounts.stream()
                     .filter(c -> enumItem.getCode().equals(c.get("status")))
                     .findFirst()
@@ -176,60 +255,74 @@ public class MineService {
         return result;
     }
 
-    public List<OrderFlowStepRes> getActionTrackByMineOrderId(String orderId) {
-        //TODO 根据订单的work_flow字段决定是哪一个订单流
-
 
-        // 定义订单的标准流程
-        List<MineStatusEnum> orderFlowEnums = MineStatusEnum.getSortList();
-        List<OrderFlowStepRes> orderFlowSteps = orderFlowEnums.stream()
-                .map(e -> new OrderFlowStepRes(e.getMsg(), "gray"))
-                .collect(Collectors.toList());
+    public List<NodeStatusDTO> getActionTrackByMineOrderId(String orderId) {
+        // TODO 根据订单的work_flow字段决定是哪一个订单流
+        KwBusinessMineOrder kwBusinessMineOrder = mineOrderMapper.selectById(orderId);
+        String flowId = kwBusinessMineOrder.getWorkFlow();
 
+        List<NodeStatusDTO> orderFlowEnums = workFlowNodeMapper.selectListNode(flowId);
         // 获取订单的操作记录
         List<KwBusinessActionTrack> actionTracks = kwBusinessActionTrackMapper.findByMainOrderIdOrderByCreateTime(orderId);
 
-        boolean orderCompleted = false;
-        int completedStepIndex = -1;
+        boolean cancelFound = false; // 添加一个标志,表示是否已遇到取消订单状态
+        boolean rejectFound = false; // 添加一个标志,表示是否已遇到取消订单状态
+        int cancelIndex = -1; // 用来记录取消订单前的最后一个执行节点索引
+        String cancelNameAppend = "(" + MineStatusEnum.getNameByCode(MineStatusEnum.TWENTY.getCode()) + ")";
+        String rejectNameAppend = "(" + MineStatusEnum.getNameByCode(MineStatusEnum.FIFTEEN.getCode()) + ")";
 
-        for (KwBusinessActionTrack actionTrack : actionTracks) {
-            if (actionTrack.getStatus().equals(MineStatusEnum.EIGHT.getCode())) {
-                orderCompleted = true;
-                break;
-            }
-            for (int i = 0; i < orderFlowSteps.size(); i++) {
-                OrderFlowStepRes step = orderFlowSteps.get(i);
-                if (step.getName().equals(MineStatusEnum.getNameByCode(actionTrack.getStatus()))) {
-                    step.setColor("green");
-                    completedStepIndex = i;
+        for (int i = 0; i < orderFlowEnums.size(); i++) {
+            orderFlowEnums.get(i).setColor("gray");
+
+            for (KwBusinessActionTrack track : actionTracks) {
+                if (orderFlowEnums.get(i).getCode().equals(track.getStatus())) {
+                    orderFlowEnums.get(i).setColor("green");
+                    cancelIndex = i; // 更新取消前最后一个执行节点的索引
+                    break;
                 }
-            }
-        }
 
-        // 设置提前完结步骤
-        if (orderCompleted && completedStepIndex != -1) {
-            OrderFlowStepRes completedStep = orderFlowSteps.get(completedStepIndex);
-            completedStep.setName(completedStep.getName() + "(提前完结)");
-            completedStep.setColor("orange");
+                if (track.getStatus().equals("20") && !cancelFound) {
+                    cancelFound = true;
+                    if (cancelIndex != -1) { // 确保有一个被执行的节点在前
+                        orderFlowEnums.get(cancelIndex).setColor("orange");
+                        orderFlowEnums.get(cancelIndex).setName(orderFlowEnums.get(cancelIndex).getName() + cancelNameAppend); // 添加取消字样
+                    }
+                }
 
-            for (int i = 0; i < completedStepIndex; i++) {
-                orderFlowSteps.get(i).setColor("green");
+                if (track.getStatus().equals("15") && !rejectFound) {
+                    rejectFound = true;
+                    if (cancelIndex != -1) { // 确保有一个被执行的节点在前
+                        orderFlowEnums.get(cancelIndex).setColor("orange");
+                        orderFlowEnums.get(cancelIndex).setName(orderFlowEnums.get(cancelIndex).getName() + rejectNameAppend); // 添加驳回字样
+                    }
+                }
             }
+        }
 
-            for (int i = completedStepIndex + 1; i < orderFlowSteps.size(); i++) {
-                orderFlowSteps.get(i).setColor("gray");
-            }
+        // 如果没有执行任何节点就直接取消了,且只有一个取消记录,需要特殊处理
+        if (cancelFound && cancelIndex == Global.MINUS_ONE && actionTracks.size() == Global.ADDRESS_LOAD) {
+            orderFlowEnums.get(0).setColor("orange");
+            orderFlowEnums.get(0).setName(orderFlowEnums.get(0).getName() + cancelNameAppend);
         }
 
-        return orderFlowSteps;
+        // 类似的,如果直接驳回且无其他执行记录,也需要处理
+        if (rejectFound && cancelIndex == Global.MINUS_ONE && actionTracks.size() == Global.ADDRESS_LOAD) {
+            orderFlowEnums.get(0).setColor("orange");
+            orderFlowEnums.get(0).setName(orderFlowEnums.get(0).getName() + rejectNameAppend);
+        }
+        return orderFlowEnums;
+        
     }
 
+
+
+
     /**
-    * @Description: 提前完结
+    * @Description: 取消
     * @Author: Lt
     * @Date: 2024/5/28 11:26
     */
-    public String completeOrder(CompleteOrderParam completeOrderParam)
+    public String cancelOrder(CompleteOrderParam completeOrderParam)
     {
         KwBusinessMineOrder kwBusinessMineorder = mineOrderMapper.selectById(completeOrderParam.getOrderId());
         if (ObjectUtils.isNull(kwBusinessMineorder))
@@ -239,14 +332,16 @@ public class MineService {
         if(kwBusinessMineorder.getIsTransport() != 2){
             throw new RuntimeException("当前订单不是非自有订单");
         }
-        if (kwBusinessMineorder.getStatus().equals(MineStatusEnum.EIGHT.getCode())) {
-            throw new RuntimeException("当前订单已完结,请勿重复操作");
+        if (kwBusinessMineorder.getStatus().equals(String.valueOf(MineStatusEnum.TWENTY.getCode()))) {
+            throw new RuntimeException("当前订单已取消,请勿重复操作");
         }
-        kwBusinessMineorder.setStatus(MineStatusEnum.EIGHT.getCode());
+        kwBusinessMineorder.setStatus(String.valueOf(MineStatusEnum.TWENTY.getCode()));
         mineOrderMapper.updateById(kwBusinessMineorder);
-        orderServerCommon.saveActionTrack(Long.valueOf(completeOrderParam.getOrderId()), MineStatusEnum.NINE.getCode(), completeOrderParam.getRemark(),"T");
 
-        return "完结成功";
+        String nameByCode = MineStatusEnum.getNameByCode(MineStatusEnum.TWENTY.getCode());
+        orderServerCommon.saveActionTrack(Long.valueOf(completeOrderParam.getOrderId()), String.valueOf(MineStatusEnum.TWENTY.getCode()), nameByCode,nameByCode);
+
+        return "取消成功";
 
 
     }

+ 136 - 22
business-modules/business-mine/src/main/java/com/sckw/mine/service/TaskCardService.java

@@ -1,27 +1,30 @@
 package com.sckw.mine.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.page.PageRes;
-import com.sckw.core.utils.IdWorker;
-import com.sckw.core.utils.TenantUtil;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.mine.common.OrderServerCommon;
 import com.sckw.mine.entity.KwBusinessActionTrack;
 import com.sckw.mine.entity.KwBusinessMineOrder;
-import com.sckw.mine.entity.req.CompleteTaskParam;
+import com.sckw.mine.entity.KwBusinessWorkFlowNode;
+import com.sckw.mine.entity.req.ReviewOrderParam;
 import com.sckw.mine.entity.req.TaskCardPageListParam;
-import com.sckw.mine.entity.res.MineOrderPageListRes;
 import com.sckw.mine.entity.res.TaskCardPageListRes;
 import com.sckw.mine.enums.MineStatusEnum;
 import com.sckw.mine.mapper.KwBusinessActionTrackMapper;
 import com.sckw.mine.mapper.MineMapper;
 import com.sckw.mine.mapper.MineOrderMapper;
+import com.sckw.mine.mapper.WorkFlowNodeMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Objects;
 
 /**
  * @desc:
@@ -43,6 +46,9 @@ public class TaskCardService {
     @Autowired
     OrderServerCommon orderServerCommon;
 
+    @Autowired
+    WorkFlowNodeMapper workFlowNodeMapper;
+
 
     /**
     * @Description: 任务卡片分页列表
@@ -53,9 +59,9 @@ public class TaskCardService {
     {
         PageHelper.startPage(param.getPage(), param.getPageSize());
         List<TaskCardPageListRes> businessTruckPageListRes = kwBusinessActionTrackMapper.taskCardPageList(param);
-        businessTruckPageListRes.forEach(e -> {
-            e.setStatusStr(MineStatusEnum.getNameByCode(e.getStatus()));
-        });
+        //businessTruckPageListRes.forEach(e -> {
+        //    e.setStatusStr(MineStatusEnum.getNameByCode(e.getStatus()));
+        //});
         return HttpResult.ok(new PageRes<>(new PageInfo<>(businessTruckPageListRes)));
     }
 
@@ -64,12 +70,12 @@ public class TaskCardService {
     * @Author: Lt
     * @Date: 2024/5/29 15:44
     */
-    public HttpResult taskAction(CompleteTaskParam completeTaskParam)
+    public HttpResult reviewOrder(ReviewOrderParam reviewOrderParam)
     {
-        KwBusinessActionTrack kwBusinessActionTrack = kwBusinessActionTrackMapper.selectById(completeTaskParam.getId());
+        KwBusinessActionTrack kwBusinessActionTrack = kwBusinessActionTrackMapper.selectById(reviewOrderParam.getId());
         if (ObjectUtils.isNull(kwBusinessActionTrack))
         {
-            throw new RuntimeException("当前任务卡片不存在");
+            throw new RuntimeException("当前任务不存在");
         }
         //根据订单号查找订单
         Long orderId = kwBusinessActionTrack.getMineOrderId();
@@ -78,21 +84,129 @@ public class TaskCardService {
         {
             throw new RuntimeException("未找到当前订单");
         }
-        if (kwBusinessMineOrder.getStatus().equals(MineStatusEnum.EIGHT.getCode())) {
-            throw new RuntimeException("当前订单已执行"    + MineStatusEnum.getNameByCode(kwBusinessMineOrder.getStatus()) +  ",请勿重复操作");
+        //已找到当前订单
+        //找到订单所属流程id
+        String flowId = kwBusinessMineOrder.getWorkFlow();
+        //找到当前流程下所有节点
+        List<KwBusinessWorkFlowNode> list = workFlowNodeMapper.selectList(new QueryWrapper<KwBusinessWorkFlowNode>()
+                .eq("flow_id", flowId).eq("del_flag", Global.NUMERICAL_ZERO)
+        );
+
+        List<KwBusinessActionTrack> kwBusinessActionTracks = kwBusinessActionTrackMapper.selectList(new QueryWrapper<KwBusinessActionTrack>()
+                .eq("mine_order_id", orderId)
+                .eq("del_flag", Global.NUMERICAL_ZERO)
+        );
+
+        String orderStatus = null;
+        //审核通过
+        if (reviewOrderParam.getYesOrNo() == 1) {
+            String nextNodeId = null;
+            String nextNodeName = null;
+            //找到它的下一个任务是什么
+            for (int i = 0; i < list.size(); i++) {
+                if (list.get(i).getNodeId().equals(kwBusinessActionTrack.getStatus())) {
+                    nextNodeId = list.get(i + 1).getNodeId();
+                    nextNodeName = list.get(i + 1).getNodeName();
+                }
+            }
+            //防止多次审核
+            if (!ObjectUtils.isEmpty(nextNodeId)) {
+
+                for (KwBusinessActionTrack businessActionTrack : kwBusinessActionTracks) {
+                    if (Objects.equals(businessActionTrack.getStatus(), nextNodeId)
+                            || Objects.equals(businessActionTrack.getStatus(), MineStatusEnum.FIFTEEN.getCode())
+                            || Objects.equals(businessActionTrack.getStatus(), MineStatusEnum.TWENTY.getCode())
+                    ) {
+                        return HttpResult.error("当前任务已被审核过,请勿重复审核");
+                    }
+                }
+            }
+            //执行下一个流程
+            orderServerCommon.saveActionTrack(orderId, nextNodeId, nextNodeName, nextNodeName);
+            orderStatus = nextNodeId;
+        }else{
+            //未通过,驳回状态
+            for (KwBusinessActionTrack businessActionTrack : kwBusinessActionTracks) {
+                if ("15".equals(businessActionTrack.getStatus())) {
+                    return HttpResult.error("当前任务已被驳回,请勿重复操作");
+                }
+            }
+            String nameByCode = MineStatusEnum.getNameByCode(MineStatusEnum.FIFTEEN.getCode());
+            orderServerCommon.saveActionTrack(orderId, String.valueOf(MineStatusEnum.FIFTEEN.getCode()), nameByCode, nameByCode);
+            orderStatus = String.valueOf(MineStatusEnum.FIFTEEN.getCode());
         }
-        if(kwBusinessMineOrder.getStatus().equals(completeTaskParam.getStatus())){
-            throw new RuntimeException("参数有误,不能和当前状态相同");
+        //修改订单状态
+        LambdaUpdateWrapper<KwBusinessMineOrder> objectLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+        objectLambdaUpdateWrapper.set(KwBusinessMineOrder::getStatus, orderStatus).eq(KwBusinessMineOrder::getId, orderId);
+        mineOrderMapper.update(null, objectLambdaUpdateWrapper);
+
+        String msg = reviewOrderParam.getYesOrNo() == 1 ? "审核" : "驳回";
+
+        return HttpResult.ok(msg+ "成功");
+    }
+
+    /**
+    * @Description: 执行项目下一步
+    * @Author: Lt
+    * @Date: 2024/6/6 9:16
+    */
+    public HttpResult carryTrack(ReviewOrderParam reviewOrderParam)
+    {
+        KwBusinessActionTrack kwBusinessActionTrack = kwBusinessActionTrackMapper.selectById(reviewOrderParam.getId());
+        if (ObjectUtils.isNull(kwBusinessActionTrack))
+        {
+            throw new RuntimeException("当前任务不存在");
         }
-        if(completeTaskParam.getStatus() > kwBusinessMineOrder.getStatus()) {
-            Integer status = completeTaskParam.getStatus();
-            kwBusinessMineOrder.setStatus(status);
-            mineOrderMapper.updateById(kwBusinessMineOrder);
-            orderServerCommon.saveActionTrack(kwBusinessMineOrder.getId(), status, completeTaskParam.getRemark(), "T");
-            return HttpResult.ok();
-        }else{
-            throw new RuntimeException("参数有误");
+        //根据订单号查找订单
+        Long orderId = kwBusinessActionTrack.getMineOrderId();
+        KwBusinessMineOrder kwBusinessMineOrder = mineOrderMapper.selectById(orderId);
+        if (ObjectUtils.isNull(kwBusinessMineOrder))
+        {
+            throw new RuntimeException("未找到当前订单");
+        }
+        //已找到当前订单
+        //找到订单所属流程id
+        String flowId = kwBusinessMineOrder.getWorkFlow();
+        String status = kwBusinessMineOrder.getStatus();
+        //找到当前流程下所有节点
+        List<KwBusinessWorkFlowNode> list = workFlowNodeMapper.selectList(new QueryWrapper<KwBusinessWorkFlowNode>()
+                .eq("flow_id", flowId).eq("del_flag", Global.NUMERICAL_ZERO)
+        );
+        String nextStatusId = null;
+        String nextNodeName = null;
+        for (KwBusinessWorkFlowNode kwBusinessWorkFlowNode : list) {
+            if (Integer.valueOf(kwBusinessWorkFlowNode.getNodeId()) > Integer.valueOf(status)) {
+                nextStatusId = kwBusinessWorkFlowNode.getNodeId().toString();
+                nextNodeName = kwBusinessWorkFlowNode.getNodeName();
+            }
         }
+        if (ObjectUtils.isNull(nextStatusId)) {
+            return HttpResult.error("当前任务已完成,无法继续执行");
+        }
+
+        List<KwBusinessActionTrack> kwBusinessActionTracks = kwBusinessActionTrackMapper.selectList(new QueryWrapper<KwBusinessActionTrack>()
+                .eq("mine_order_id", orderId)
+                .eq("del_flag", Global.NUMERICAL_ZERO)
+        );
+        for (KwBusinessActionTrack businessActionTrack : kwBusinessActionTracks) {
+            if (businessActionTrack.getStatus().equals(nextStatusId)) {
+                return HttpResult.error("当前任务已被执行,请勿重复操作");
+            }
+        }
+
+        //执行任务
+        orderServerCommon.saveActionTrack(orderId, nextStatusId, nextNodeName, nextNodeName);
+
+        //修改订单状态
+        LambdaUpdateWrapper<KwBusinessMineOrder> objectLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+        objectLambdaUpdateWrapper.set(KwBusinessMineOrder::getStatus, nextStatusId).eq(KwBusinessMineOrder::getId, orderId);
+        mineOrderMapper.update(null, objectLambdaUpdateWrapper);
+
+        return HttpResult.ok("操作成功");
+
+
+
+
 
     }
 

+ 67 - 9
business-modules/business-mine/src/main/java/com/sckw/mine/service/WorkFlowService.java

@@ -9,10 +9,12 @@ import com.github.pagehelper.PageInfo;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.page.PageRes;
 import com.sckw.core.utils.IdWorker;
+import com.sckw.core.utils.StringUtils;
 import com.sckw.core.utils.TenantUtil;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.mine.common.OrderServerCommon;
 import com.sckw.mine.entity.KwBusinessMineralAggregate;
+import com.sckw.mine.entity.KwBusinessNode;
 import com.sckw.mine.entity.KwBusinessWorkFlow;
 import com.sckw.mine.entity.KwBusinessWorkFlowNode;
 import com.sckw.mine.entity.dto.WorkFlowNodeDTO;
@@ -163,14 +165,70 @@ public class WorkFlowService {
         return HttpResult.ok(new PageRes<>(new PageInfo<>(workPageListRes)));
     }
 
-    ///**
-    //* @Description: 流程节点详情
-    //* @Author: Lt
-    //* @Date: 2024/5/31 17:11
-    //*/
-    //public HttpResult detail(String id)
-    //{
-    //
-    //}
+    /**
+    * @Description: 流程节点详情
+    * @Author: Lt
+    * @Date: 2024/5/31 17:11
+    */
+    public HttpResult detail(String id)
+    {
+        WorkFlowPageListParam param = new WorkFlowPageListParam();
+        param.setId(id);
+        List<WorkFlowPageListRes> workPageListRes = workFlowMapper.pageList(param);
+        if (!workPageListRes.isEmpty()){
+
+            WorkFlowPageListRes returnData = workPageListRes.get(0);
+            returnData.setStatusStr(returnData.getStatus() == 1 ? "启用" : "禁用");
+            returnData.setWorkTypeStr(WorkFlowTypeEnum.getNameByCode(returnData.getWorkType()));
+            return HttpResult.ok(returnData);
+        }
+        return HttpResult.ok(null);
+    }
+
+    /**
+     * @Description: 状态操作(停用 启用)   1=启用   2=禁用
+     * @Author: Lt
+     * @Date: 2024/5/31 11:34
+     */
+    public HttpResult statusAction(String id, Integer status)
+    {
+        if (StringUtils.isBlank(id)) {
+            throw new RuntimeException("id必填");
+        }
+        if(status==null) {
+            throw new RuntimeException("状态必填");
+        }
+        KwBusinessWorkFlow kwBusinessNode = workFlowMapper.selectById(id);
+        if (ObjectUtils.isNull(kwBusinessNode)) {
+            throw new RuntimeException("当前数据不存在,请检查");
+        }
+
+        int i = workFlowMapper.statusAction(id, status);
+        if (i>0) {
+            return HttpResult.ok("操作成功");
+        }
+        return HttpResult.error("操作失败");
+    }
+
+    public HttpResult workFlowDelete(String id) {
+
+        KwBusinessWorkFlow kwBusinessWorkFlow = workFlowMapper.selectById(id);
+        if (kwBusinessWorkFlow.getStatus().equals(1)){
+            return HttpResult.error("当前流程使用中,无法删除");
+        }
+
+        LambdaUpdateWrapper<KwBusinessWorkFlow> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.set(KwBusinessWorkFlow::getDelFlag, Global.NUMERICAL_ONE)
+                .eq(KwBusinessWorkFlow::getId, id);
+        int update = workFlowMapper.update(null, updateWrapper);
+        if(update > 0) {
+            LambdaUpdateWrapper<KwBusinessWorkFlowNode> objectLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+            objectLambdaUpdateWrapper.eq(KwBusinessWorkFlowNode::getFlowId, id)
+                            .set(KwBusinessWorkFlowNode::getDelFlag, Global.NUMERICAL_ONE);
+            workFlowNodeMapper.update(null, objectLambdaUpdateWrapper);
+        }
+        return HttpResult.ok("删除成功");
+    }
+
 
 }

+ 2 - 2
business-modules/business-mine/src/main/resources/mapper/KwBusinessActionTrackMapper.xml

@@ -17,7 +17,7 @@
     </sql>
 
     <select id="findByMainOrderIdOrderByCreateTime" resultType="com.sckw.mine.entity.KwBusinessActionTrack">
-        select <include refid="Base_Column_List" /> from kw_business_action_track where mine_order_id = #{orderId} and del_flag = 0
+        select <include refid="Base_Column_List" /> from kw_business_action_track where mine_order_id = #{orderId} and del_flag = 0 order by create_time asc
     </select>
 
     <select id="taskCardPageList" parameterType="com.sckw.mine.entity.req.TaskCardPageListParam" resultType="com.sckw.mine.entity.res.TaskCardPageListRes">
@@ -27,7 +27,7 @@
             o.mine_order_no,
             o.cg_company,
             o.delivery_cutoff_time,
-            o.status,
+            tk.content statusStr,
             o.create_time orderCreateTime,
             tk.create_time,
             tk.create_by,

+ 8 - 1
business-modules/business-mine/src/main/resources/mapper/MineOrderMapper.xml

@@ -91,7 +91,14 @@
 
 
     <select id="countByStatus" resultType="java.util.Map">
-        SELECT `status`, COUNT(*) AS count FROM kw_business_mine_order where del_flag = 0 GROUP BY `status`
+        SELECT `status`, COUNT(*) AS count FROM kw_business_mine_order
+        <where>
+            del_flag = 0
+            <if test="tenantId != '' and tenantId != null">
+                and tenant_id  = #{tenantId}
+            </if>
+        </where>
+         GROUP BY `status`
     </select>
 
 

+ 11 - 0
business-modules/business-mine/src/main/resources/mapper/NodeMapper.xml

@@ -43,6 +43,17 @@
     <select id="load" resultType="com.sckw.mine.entity.res.NodeDetailRes">
         select <include refid="Base_Column_List" /> from kw_business_node where id = #{id}
     </select>
+    <select id="selectListNode" resultType="com.sckw.mine.entity.dto.NodeStatusDTO">
+        select id `code`,node_name msg,node_code,node_type,node_sort,node_use_count,`status` from kw_business_node
+        <where>
+            del_flag = 0 and `status` = 1
+            <if test="tenantId != '' and tenantId != null">
+                and tenant_id = #{tenantId}
+            </if>
+        </where>
+        order by node_sort desc
+
+    </select>
 
 
     <update id="nodeUpdate" parameterType="com.sckw.mine.entity.req.NodeUpdateParam">

+ 8 - 0
business-modules/business-mine/src/main/resources/mapper/WorkFlowMapper.xml

@@ -48,6 +48,9 @@
             <if test="param.tenantId != null and param.tenantId != ''">
                and tenant_id = #{param.tenantId}
             </if>
+            <if test="param.id != null">
+                and id = #{param.id}
+            </if>
         </where>
 
         order by create_time desc
@@ -60,4 +63,9 @@
     </select>
 
 
+    <update id="statusAction">
+        update kw_business_work_flow set status = #{status} where id = #{id}
+    </update>
+
+
 </mapper>

+ 15 - 0
business-modules/business-mine/src/main/resources/mapper/WorkFlowNodeMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.sckw.mine.mapper.WorkFlowNodeMapper">
+
+    <select id="selectListNode" resultType="com.sckw.mine.entity.dto.NodeStatusDTO">
+        select
+            wfn.node_name msg,
+            wfn.node_name `name`,
+            wfn.node_id as `code`
+
+            from kw_business_work_flow_node wfn left join kw_business_node n on n.id=wfn.node_id
+
+            where wfn.flow_id = #{flowId}
+    </select>
+</mapper>