ltt 1 год назад
Родитель
Сommit
8fb984907a
21 измененных файлов с 558 добавлено и 52 удалено
  1. 50 0
      business-modules/business-mine/src/main/java/com/sckw/mine/common/OrderServerCommon.java
  2. 1 1
      business-modules/business-mine/src/main/java/com/sckw/mine/controller/MineController.java
  3. 44 0
      business-modules/business-mine/src/main/java/com/sckw/mine/controller/TaskCardController.java
  4. 10 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessActionTrack.java
  5. 1 6
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessMine.java
  6. 5 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessMineOrder.java
  7. 62 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessMineralAggregate.java
  8. 2 2
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessTransportOrderNo.java
  9. 57 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessWorkFlow.java
  10. 20 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/CompleteTaskParam.java
  11. 2 1
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/MineAddParam.java
  12. 47 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/TaskCardPageListParam.java
  13. 1 1
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/MineOrderDetailRes.java
  14. 1 1
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/MineOrderPageListRes.java
  15. 69 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/TaskCardPageListRes.java
  16. 4 3
      business-modules/business-mine/src/main/java/com/sckw/mine/enums/MineStatusEnum.java
  17. 4 0
      business-modules/business-mine/src/main/java/com/sckw/mine/mapper/KwBusinessActionTrackMapper.java
  18. 30 31
      business-modules/business-mine/src/main/java/com/sckw/mine/service/MineService.java
  19. 100 0
      business-modules/business-mine/src/main/java/com/sckw/mine/service/TaskCardService.java
  20. 42 0
      business-modules/business-mine/src/main/resources/mapper/KwBusinessActionTrackMapper.xml
  21. 6 6
      business-modules/business-mine/src/main/resources/mapper/MineOrderMapper.xml

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

@@ -0,0 +1,50 @@
+package com.sckw.mine.common;
+
+import com.sckw.core.utils.IdWorker;
+import com.sckw.core.utils.TenantUtil;
+import com.sckw.mine.entity.KwBusinessActionTrack;
+import com.sckw.mine.enums.MineStatusEnum;
+import com.sckw.mine.mapper.KwBusinessActionTrackMapper;
+import com.sckw.redis.utils.GenOrderCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * @desc:
+ * @author: Lt
+ * @date: 2024-05-29
+ */
+@Component
+public class OrderServerCommon {
+
+    @Autowired
+    KwBusinessActionTrackMapper kwBusinessActionTrackMapper;
+
+    @Autowired
+    private GenOrderCode genOrderCode;
+
+
+    public void saveActionTrack(Long mineOrderId, Integer 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.setStatus(status);
+        kwBusinessActionTrack.setTaskOrderNum(generatorNum("T", 14));
+        kwBusinessActionTrack.setRemark(remark);
+        kwBusinessActionTrackMapper.insert(kwBusinessActionTrack);
+    }
+
+    public String generatorNum(String prefix, Integer length)
+    {
+        LocalDate currentDate = LocalDate.now();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+        String orderPrefix = currentDate.format(formatter);
+        String key = prefix + orderPrefix;
+        return genOrderCode.genOrderCode(length, key, key);
+    }
+}

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

@@ -69,7 +69,7 @@ public class MineController {
     /**
     * @Description: 流程
     * @Author: Lt
-    * @Date: 2024/5/28 0028 11:06  
+    * @Date: 2024/5/28 11:06
     */
     @GetMapping("/order/getActionTrackByMineOrderId")
     public HttpResult getActionTrackByMineOrderId(@RequestParam("orderId") String orderId)

+ 44 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/controller/TaskCardController.java

@@ -0,0 +1,44 @@
+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.TaskCardPageListParam;
+import com.sckw.mine.service.TaskCardService;
+import jakarta.validation.Valid;
+import org.springframework.beans.factory.annotation.Autowired;
+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;
+
+/**
+ * @desc:
+ * @author: Lt
+ * @date: 2024-05-29
+ */
+@RestController
+@RequestMapping("/mine/taskCard")
+public class TaskCardController {
+
+    @Autowired
+    TaskCardService taskCardService;
+
+    @PostMapping("/pageList")
+    public HttpResult taskCardPageList(@RequestBody TaskCardPageListParam param)
+    {
+        return HttpResult.ok(taskCardService.taskCardPageList(param));
+    }
+
+    /**
+    * @Description: 任务状态操作
+    * @Author: Lt
+    * @Date: 2024/5/29 0029 15:39
+    */
+    @PostMapping("/action")
+    public HttpResult taskAction(@RequestBody @Valid CompleteTaskParam completeTaskParam)
+    {
+        return HttpResult.ok(taskCardService.taskAction(completeTaskParam));
+    }
+
+
+}

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

@@ -20,6 +20,16 @@ public class KwBusinessActionTrack implements Serializable {
      */
     private Long id;
 
+    /*
+    租户id
+     */
+    private String tenantId;
+
+    /*
+    任务单号
+     */
+    private String taskOrderNum;
+
     /**
      * main_id
      */

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

@@ -24,12 +24,7 @@ public class KwBusinessMine implements Serializable {
     /**
      * 矿山订单关联id
      */
-    private Long mainOrderId;
-
-    /**
-     * 矿料管理id
-     */
-    private Long mineId;
+    private Long mineOrderId;
 
     /**
      * 矿料体积

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

@@ -90,6 +90,11 @@ public class KwBusinessMineOrder implements Serializable {
      */
     private Integer status;
 
+    /*
+    矿料id
+     */
+    private String mineralAggregateId;
+
     /*
     租户ID
      */

+ 62 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessMineralAggregate.java

@@ -0,0 +1,62 @@
+package com.sckw.mine.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @desc:
+ * @author: Lt
+ * @date: 2024-05-29
+ */
+@Data
+public class KwBusinessMineralAggregate implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 租户id
+     */
+    private String tenantId;
+
+    /**
+     * 矿料名称
+     */
+    private String name;
+
+    /**
+     * 矿料状态
+     */
+    private Integer status;
+
+    /**
+     * create_by
+     */
+    private String createBy;
+
+    /**
+     * update_by
+     */
+    private String updateBy;
+
+    /**
+     * create_time
+     */
+    private Date createTime;
+
+    /**
+     * update_time
+     */
+    private Date updateTime;
+
+    /**
+     * del_flag
+     */
+    private Integer delFlag;
+}

+ 2 - 2
business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessTransportOrderNo.java

@@ -20,9 +20,9 @@ public class KwBusinessTransportOrderNo implements Serializable {
     private Long id;
 
     /**
-     * main_order_id
+     * mine_order_id
      */
-    private Long mainOrderId;
+    private Long mineOrderId;
 
     /**
      * 物流订单关联订单号

+ 57 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/entity/KwBusinessWorkFlow.java

@@ -0,0 +1,57 @@
+package com.sckw.mine.entity;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @desc:
+ * @author: Lt
+ * @date: 2024-05-29
+ */
+@Data
+public class KwBusinessWorkFlow implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     */
+    private Long id;
+
+    /**
+     * 租户id
+     */
+    private String tenantId;
+
+    /**
+     * 流程名称
+     */
+    private String workName;
+
+    /**
+     * create_by
+     */
+    private String createBy;
+
+    /**
+     * update_by
+     */
+    private String updateBy;
+
+    /**
+     * create_time
+     */
+    private Date createTime;
+
+    /**
+     * update_time
+     */
+    private Date updateTime;
+
+    /**
+     * del_flag
+     */
+    private Integer delFlag;
+}

+ 20 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/CompleteTaskParam.java

@@ -0,0 +1,20 @@
+package com.sckw.mine.entity.req;
+
+import jakarta.validation.constraints.NotBlank;
+import lombok.Getter;
+
+/**
+ * @desc:
+ * @author: Lt
+ * @date: 2024-05-28
+ */
+@Getter
+public class CompleteTaskParam {
+
+    @NotBlank(message = "缺少参数:id")
+    private String id;
+
+    private Integer status;
+
+    private String remark;
+}

+ 2 - 1
business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/MineAddParam.java

@@ -63,7 +63,8 @@ public class MineAddParam {
     /*
     矿料id
      */
-    private String mineId;
+    @NotBlank( message = "矿料必选")
+    private String mineralAggregateId;
 
     /*
     采购数量

+ 47 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/TaskCardPageListParam.java

@@ -0,0 +1,47 @@
+package com.sckw.mine.entity.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @desc:
+ * @author: Lt
+ * @date: 2024-05-29
+ */
+@Data
+public class TaskCardPageListParam {
+    private Integer page;
+
+    private Integer pageSize;
+
+    /*
+    运单号
+     */
+    private String taskOrderNum;
+
+    /*
+    所属订单号
+     */
+    private String mineOrderNo;
+
+    /*
+    采购企业
+     */
+    private String cgCompany;
+
+    /*
+    开始日期
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    /*
+    结束日期
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endTime;
+
+
+}

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

@@ -117,7 +117,7 @@ public class MineOrderDetailRes {
     /*
     矿料管理id
      */
-    private String mineId;
+    private String mineralAggregateId;
 
     /*
     矿料体积

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

@@ -117,7 +117,7 @@ public class MineOrderPageListRes {
     /*
     矿料管理id
      */
-    private String mineId;
+    private String mineralAggregateId;
 
     /*
     矿料体积

+ 69 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/TaskCardPageListRes.java

@@ -0,0 +1,69 @@
+package com.sckw.mine.entity.res;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @desc:
+ * @author: Lt
+ * @date: 2024-05-29
+ */
+@Data
+public class TaskCardPageListRes {
+
+    private String id;
+
+    /*
+    任务单号
+     */
+    private String taskOrderNum;
+
+
+    /*
+    所属订单号
+     */
+    private String mineOrderNo;
+
+    /*
+    任务节点
+     */
+    private Integer status;
+    private String statusStr;
+
+    /*
+    矿料名称
+     */
+    private String name;
+
+    /*
+    采购企业
+     */
+    private String cgCompany;
+
+    /*
+    交货截止日
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date deliveryCutoffTime;
+
+    private String workName;
+
+    /*
+    订单创建时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date OrderCreateTime;
+
+    /*
+    到达节点时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    private String createBy;
+
+    
+
+}

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

@@ -20,11 +20,12 @@ public enum MineStatusEnum {
     ONE(1, "已保存"),
     TWO(2, "确认下单"),
     THREE(3, "订单审核"),
-    FOUR(4, "计划排产"),
-    FIVE(5, "执行生产"),
+    FOUR(4, "计划采掘"),
+    FIVE(5, "计划加工"),
     SIX(6, "原料加工"),
     SEVEN(7, "矿料清点"),
-    EIGHT(8, "完成订单")
+    EIGHT(8, "完成订单"),
+    NINE(8, "已取消")
     ;
 
     private final Integer code;

+ 4 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/mapper/KwBusinessActionTrackMapper.java

@@ -3,6 +3,8 @@ package com.sckw.mine.mapper;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.mine.entity.KwBusinessActionTrack;
+import com.sckw.mine.entity.req.TaskCardPageListParam;
+import com.sckw.mine.entity.res.TaskCardPageListRes;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -15,4 +17,6 @@ public interface KwBusinessActionTrackMapper extends BaseMapper<KwBusinessAction
 
     List<KwBusinessActionTrack> findByMainOrderIdOrderByCreateTime(@Param("orderId") String orderId);
 
+    List<TaskCardPageListRes> taskCardPageList(@Param("param") TaskCardPageListParam taskCardPageListParam);
+
 }

+ 30 - 31
business-modules/business-mine/src/main/java/com/sckw/mine/service/MineService.java

@@ -8,6 +8,7 @@ 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;
@@ -19,6 +20,7 @@ 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;
@@ -62,6 +64,18 @@ public class MineService {
     @Autowired
     private GenOrderCode genOrderCode;
 
+    @Autowired
+    OrderServerCommon orderServerCommon;
+
+    private String generatorNum(String prefix, Integer length)
+    {
+        LocalDate currentDate = LocalDate.now();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+        String orderPrefix = currentDate.format(formatter);
+        String key = prefix + orderPrefix;
+        return genOrderCode.genOrderCode(length, key, key);
+    }
+
     /**
      * @Description: 矿山域订单添加
      * @Author: Lt
@@ -72,36 +86,36 @@ public class MineService {
             Long orderId = new IdWorker(1L).nextId();
             KwBusinessMineOrder kwBusinessMineOrder = BeanUtil.copyProperties(mineAddParam, KwBusinessMineOrder.class);
             //生成订单编号
-            String mineOrderNo = "M" + LocalDateTime.now().format(FORMATTER) + ThreadLocalRandom.current().nextInt(1000, 9999);
+            String mineOrderNo = orderServerCommon.generatorNum("M", 13);
 
             //生成物流订单编号- 空了再来封装了
-            LocalDate currentDate = LocalDate.now();
-            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
-            String orderPrefix = currentDate.format(formatter);
-            String key = "O" + orderPrefix;
-            String usualTransportOrderNo = genOrderCode.genOrderCode(12, key, key);
+            String usualTransportOrderNo = orderServerCommon.generatorNum("O", 12);
             kwBusinessMineOrder.setId(orderId);
             kwBusinessMineOrder.setMineOrderNo(mineOrderNo);
             kwBusinessMineOrder.setTenantId(TenantUtil.getTenant());   //租户id
+            kwBusinessMineOrder.setMineralAggregateId(mineAddParam.getMineralAggregateId());
+            kwBusinessMineOrder.setOrderSource(1);
             int insert = mineOrderMapper.insert(kwBusinessMineOrder);
             if (insert > 0) {
                 //生成kw_business_transport_order_no
-                KwBusinessTransportOrderNo kwBusinessTransportOrderNo = new KwBusinessTransportOrderNo();
-                kwBusinessTransportOrderNo.setId(new IdWorker(1L).nextId());
-                kwBusinessTransportOrderNo.setMainOrderId(orderId);
-                kwBusinessTransportOrderNo.setTransportOrderNo(usualTransportOrderNo);
-                transportOrderNoMapper.insert(kwBusinessTransportOrderNo);
-
+                //如果是自有物流生成物流订单号
+                if (mineAddParam.getIsTransport().equals(TransportUnderEnum.ONE.getCode())) {
+                    KwBusinessTransportOrderNo kwBusinessTransportOrderNo = new KwBusinessTransportOrderNo();
+                    kwBusinessTransportOrderNo.setId(new IdWorker(1L).nextId());
+                    kwBusinessTransportOrderNo.setMineOrderId(orderId);
+                    kwBusinessTransportOrderNo.setTransportOrderNo(usualTransportOrderNo);
+                    transportOrderNoMapper.insert(kwBusinessTransportOrderNo);
+                }
                 KwBusinessMine kwBusinessMine = new KwBusinessMine();
                 kwBusinessMine.setId(new IdWorker(1L).nextId());
-                kwBusinessMine.setMainOrderId(orderId);
+                kwBusinessMine.setMineOrderId(orderId);
                 kwBusinessMine.setMineVol(mineAddParam.getMineVol());
                 kwBusinessMine.setMineWeight(mineAddParam.getMineWeight());
                 kwBusinessMine.setPurchaseNum(mineAddParam.getPurchaseNum());
                 mineMapper.insert(kwBusinessMine);
             }
             //添加操作记录
-            saveActionTrack(orderId, mineAddParam.getStatus(), null);
+            orderServerCommon.saveActionTrack(orderId, mineAddParam.getStatus(), null, "T");
 
             return "添加成功";
         } catch (Exception e) {
@@ -147,21 +161,6 @@ public class MineService {
 
     }
 
-    /**
-     * @Description: 操作记录
-     * @Author: Lt
-     * @Date: 2024/5/27 15:37
-     */
-    public void saveActionTrack(Long mineOrderId, Integer status, String remark) {
-        KwBusinessActionTrack kwBusinessActionTrack = new KwBusinessActionTrack();
-        kwBusinessActionTrack.setId(new IdWorker(1L).nextId());
-        kwBusinessActionTrack.setMineOrderId(mineOrderId);
-        kwBusinessActionTrack.setContent(MineStatusEnum.getNameByCode(status));
-        kwBusinessActionTrack.setStatus(status);
-        kwBusinessActionTrack.setRemark(remark);
-        kwBusinessActionTrackMapper.insert(kwBusinessActionTrack);
-    }
-
 
     public List<Map<String, Object>> getStatusCountListInSingleQuery() {
         // 查询每个状态的计数
@@ -235,7 +234,7 @@ public class MineService {
     }
 
     /**
-    * @Description: 完结订单
+    * @Description: 提前完结
     * @Author: Lt
     * @Date: 2024/5/28 11:26
     */
@@ -254,7 +253,7 @@ public class MineService {
         }
         kwBusinessMineorder.setStatus(MineStatusEnum.EIGHT.getCode());
         mineOrderMapper.updateById(kwBusinessMineorder);
-        saveActionTrack(Long.valueOf(completeOrderParam.getOrderId()), MineStatusEnum.EIGHT.getCode(), completeOrderParam.getRemark());
+        orderServerCommon.saveActionTrack(Long.valueOf(completeOrderParam.getOrderId()), MineStatusEnum.NINE.getCode(), completeOrderParam.getRemark(),"T");
 
         return "完结成功";
 

+ 100 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/service/TaskCardService.java

@@ -0,0 +1,100 @@
+package com.sckw.mine.service;
+
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+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.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 org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @desc:
+ * @author: Lt
+ * @date: 2024-05-29
+ */
+@Service
+public class TaskCardService {
+
+    @Autowired
+    KwBusinessActionTrackMapper kwBusinessActionTrackMapper;
+
+    @Autowired
+    MineMapper mineMapper;
+
+    @Autowired
+    MineOrderMapper mineOrderMapper;
+
+    @Autowired
+    OrderServerCommon orderServerCommon;
+
+
+    /**
+    * @Description: 任务卡片分页列表
+    * @Author: Lt
+    * @Date: 2024/5/29 15:38
+    */
+    public HttpResult taskCardPageList(TaskCardPageListParam param)
+    {
+        PageHelper.startPage(param.getPage(), param.getPageSize());
+        List<TaskCardPageListRes> businessTruckPageListRes = kwBusinessActionTrackMapper.taskCardPageList(param);
+        businessTruckPageListRes.forEach(e -> {
+            e.setStatusStr(MineStatusEnum.getNameByCode(e.getStatus()));
+        });
+        return HttpResult.ok(new PageRes<>(new PageInfo<>(businessTruckPageListRes)));
+    }
+
+    /**
+    * @Description: 任务卡片操作
+    * @Author: Lt
+    * @Date: 2024/5/29 15:44
+    */
+    public HttpResult taskAction(CompleteTaskParam completeTaskParam)
+    {
+        KwBusinessActionTrack kwBusinessActionTrack = kwBusinessActionTrackMapper.selectById(completeTaskParam.getId());
+        if (ObjectUtils.isNull(kwBusinessActionTrack))
+        {
+            throw new RuntimeException("当前任务卡片不存在");
+        }
+        //根据订单号查找订单
+        Long orderId = kwBusinessActionTrack.getMineOrderId();
+        KwBusinessMineOrder kwBusinessMineOrder = mineOrderMapper.selectById(orderId);
+        if (ObjectUtils.isNull(kwBusinessMineOrder))
+        {
+            throw new RuntimeException("未找到当前订单");
+        }
+        if (kwBusinessMineOrder.getStatus().equals(MineStatusEnum.EIGHT.getCode())) {
+            throw new RuntimeException("当前订单已执行"    + MineStatusEnum.getNameByCode(kwBusinessMineOrder.getStatus()) +  ",请勿重复操作");
+        }
+        if(kwBusinessMineOrder.getStatus().equals(completeTaskParam.getStatus())){
+            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("参数有误");
+        }
+
+    }
+
+
+}

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

@@ -4,6 +4,7 @@
 
     <sql id="Base_Column_List">
         id,
+        task_order_num,
                 mine_order_id,
                 content,
                 remark,
@@ -18,4 +19,45 @@
     <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>
+
+    <select id="taskCardPageList" parameterType="com.sckw.mine.entity.req.TaskCardPageListParam" resultType="com.sckw.mine.entity.res.TaskCardPageListRes">
+        select
+            tk.id,
+            tk.task_order_num,
+            o.mine_order_no,
+            o.cg_company,
+            o.delivery_cutoff_time,
+            o.status,
+            o.create_time orderCreateTime,
+            tk.create_time,
+            tk.create_by,
+            wf.work_name,
+            ag.name
+
+            from kw_business_action_track tk
+        left join kw_business_mine_order o on o.id = tk.mine_order_id
+        left join kw_business_mineral_aggregate ag on ag.id = o.mineral_aggregate_id
+        left join kw_business_mine m on m.mine_order_id = o.id
+        left join kw_business_work_flow wf on wf.id = o.work_flow
+        <where>
+            and tk.del_flag = 0
+            <if test="param.taskOrderNum != '' and param.taskOrderNum != null">
+                and tk.task_order_num like concat('%', #{param.taskOrderNum}, '%')
+            </if>
+            <if test="param.mineOrderNo != '' and param.mineOrderNo != null">
+                and o.mine_order_no like concat('%', #{param.mineOrderNo}, '%')
+            </if>
+            <if test="param.cgCompany != '' and param.cgCompany != null">
+                and o.cg_company like concat('%', #{param.cgCompany}, '%')
+            </if>
+            <if test="param.startTime != '' and param.startTime != null">
+                and tk.create_time >= #{param.startTime}
+            </if>
+            <if test="param.endTime != '' and param.endTime != null">
+                and tk.create_time  &lt;= #{param.endTime}
+            </if>
+        </where>
+        order by tk.create_time desc
+
+    </select>
 </mapper>

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

@@ -22,19 +22,19 @@
         o.is_transport,
         o.work_flow,
         o.status,
+        o.mineral_aggregate_id,
         o.create_by,
         o.update_by,
         o.create_time,
         o.update_time,
-        m.mine_id,
         m.mine_vol,
         m.purchase_num,
         m.mine_weight,
         n.transport_order_no
 
         from kw_business_mine_order o
-        left join kw_business_transport_order_no n on n.main_order_id = o.id
-        left join kw_business_mine m on m.main_order_id = o.id
+        left join kw_business_transport_order_no n on n.mine_order_id = o.id
+        left join kw_business_mine m on m.mine_order_id = o.id
         <where>
          o.del_flag = 0
             <if test="param.mineOrderNo != '' and param.mineOrderNo != null">
@@ -73,19 +73,19 @@
         o.is_transport,
         o.work_flow,
         o.status,
+        o.mineral_aggregate_id,
         o.create_by,
         o.update_by,
         o.create_time,
         o.update_time,
-        m.mine_id,
         m.mine_vol,
         m.purchase_num,
         m.mine_weight,
         n.transport_order_no
 
         from kw_business_mine_order o
-        left join kw_business_transport_order_no n on n.main_order_id = o.id
-        left join kw_business_mine m on m.main_order_id = o.id
+        left join kw_business_transport_order_no n on n.mine_order_id = o.id
+        left join kw_business_mine m on m.mine_order_id = o.id
         where o.del_flag = 0 and o.id = #{orderId} and o.del_flag = 0
     </select>