Pārlūkot izejas kodu

矿山域-流程管理

ltt 1 gadu atpakaļ
vecāks
revīzija
fbed94b387
15 mainītis faili ar 226 papildinājumiem un 20 dzēšanām
  1. 39 0
      business-modules-web/business-transport-start/pom.xml
  2. 79 0
      business-modules-web/business-transport-start/src/main/resources/application-prod.yml
  3. 1 1
      business-modules-web/business-transport-start/src/main/resources/application.yml
  4. 5 1
      business-modules/business-mine/src/main/java/com/sckw/mine/common/OrderServerCommon.java
  5. 12 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/dto/NodeStatusDTO.java
  6. 8 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/MineOrderPageListParam.java
  7. 1 1
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/MineOrderDetailRes.java
  8. 7 1
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/MineOrderPageListRes.java
  9. 2 0
      business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/TaskCardPageListRes.java
  10. 47 9
      business-modules/business-mine/src/main/java/com/sckw/mine/service/MineService.java
  11. 9 4
      business-modules/business-mine/src/main/java/com/sckw/mine/service/TaskCardService.java
  12. 3 1
      business-modules/business-mine/src/main/resources/mapper/KwBusinessActionTrackMapper.xml
  13. 11 1
      business-modules/business-mine/src/main/resources/mapper/MineOrderMapper.xml
  14. 1 1
      business-modules/business-mine/src/main/resources/mapper/WorkFlowNodeMapper.xml
  15. 1 0
      business-modules/business-usual-transport/src/main/java/com/sckw/usual/enums/OrderDictTypeEnum.java

+ 39 - 0
business-modules-web/business-transport-start/pom.xml

@@ -116,6 +116,28 @@
         </dependency>
     </dependencies>
 
+    <profiles>
+        <!-- 开发环境 -->
+        <profile>
+            <id>dev</id>
+            <properties>
+                <spring.profiles.active>dev</spring.profiles.active>
+            </properties>
+            <!-- 设置为默认环境 -->
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+        </profile>
+
+        <!-- 生产环境 -->
+        <profile>
+            <id>prod</id>
+            <properties>
+                <spring.profiles.active>prod</spring.profiles.active>
+            </properties>
+        </profile>
+    </profiles>
+
     <build>
         <plugins>
             <plugin>
@@ -132,6 +154,23 @@
                     <mainClass>com.sckw.transport.TransportStartApplication</mainClass>
                 </configuration>
             </plugin>
+            <!-- maven 打包插件 -->
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <includeSystemScope>true</includeSystemScope>
+                </configuration>
+            </plugin>
+            <!-- maven 打包时跳过测试 -->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.20</version>
+                <configuration>
+                    <skipTests>true</skipTests>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 </project>

+ 79 - 0
business-modules-web/business-transport-start/src/main/resources/application-prod.yml

@@ -0,0 +1,79 @@
+server:
+  port: 10086
+  application:
+    name: prod
+
+spring:
+  datasource:
+    dynamic:
+      primary: master
+      strict: false
+      datasource:
+        master:
+          url: jdbc:mysql://rm-2vcw922e20158115l.mysql.cn-chengdu.rds.aliyuncs.com:3306/business_order?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: sckw_business_system
+          password: H2RTSYDc@xjzSWaLA
+          driver-class-name: com.mysql.cj.jdbc.Driver
+        truck:
+          url: jdbc:mysql://rm-2vcw922e20158115l.mysql.cn-chengdu.rds.aliyuncs.com:3306/business_truck?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: sckw_business_system
+          password: H2RTSYDc@xjzSWaLA
+          driver-class-name: com.mysql.cj.jdbc.Driver
+        address:
+          url: jdbc:mysql://rm-2vcw922e20158115l.mysql.cn-chengdu.rds.aliyuncs.com:3306/business_address?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: sckw_business_system
+          password: H2RTSYDc@xjzSWaLA
+          driver-class-name: com.mysql.cj.jdbc.Driver
+        driver:
+          url: jdbc:mysql://rm-2vcw922e20158115l.mysql.cn-chengdu.rds.aliyuncs.com:3306/business_driver?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: sckw_business_system
+          password: H2RTSYDc@xjzSWaLA
+          driver-class-name: com.mysql.cj.jdbc.Driver
+        path:
+          url: jdbc:mysql://rm-2vcw922e20158115l.mysql.cn-chengdu.rds.aliyuncs.com:3306/business_path?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: sckw_business_system
+          password: H2RTSYDc@xjzSWaLA
+          driver-class-name: com.mysql.cj.jdbc.Driver
+        goods:
+          url: jdbc:mysql://rm-2vcw922e20158115l.mysql.cn-chengdu.rds.aliyuncs.com:3306/business_goods?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: sckw_business_system
+          password: H2RTSYDc@xjzSWaLA
+          driver-class-name: com.mysql.cj.jdbc.Driver
+        company:
+          url: jdbc:mysql://rm-2vcw922e20158115l.mysql.cn-chengdu.rds.aliyuncs.com:3306/business_company?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: sckw_business_system
+          password: H2RTSYDc@xjzSWaLA
+          driver-class-name: com.mysql.cj.jdbc.Driver
+        user:
+          url: jdbc:mysql://rm-2vcw922e20158115l.mysql.cn-chengdu.rds.aliyuncs.com:3306/business_user?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: sckw_business_system
+          password: H2RTSYDc@xjzSWaLA
+          driver-class-name: com.mysql.cj.jdbc.Driver
+        mine:
+          url: jdbc:mysql://rm-2vcw922e20158115l.mysql.cn-chengdu.rds.aliyuncs.com:3306/business_mine?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&allowPublicKeyRetrieval=true
+          username: sckw_business_system
+          password: H2RTSYDc@xjzSWaLA
+          driver-class-name: com.mysql.cj.jdbc.Driver
+  data:
+    redis:
+      host: r-2vcqhixqvh8gwzj3by.redis.cn-chengdu.rds.aliyuncs.com
+      password: mCFEETDwBhgB29y2
+      port: 6379
+      database: 24
+      timeout: 10000
+#
+#mybatis-plus:
+#  mapper-locations: classpath*:/mapper/*.xml    #扫描xml文件
+#  #实体扫描,多个package用逗号或者分号分隔
+#  typeAliasesPackage: com.sckw.*.entity
+#  configuration:
+#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+#
+mybatis-plus:
+  mapper-locations: classpath*:/mapper/*.xml
+  typeAliasesPackage: com.sckw.*.entity
+  configuration:
+    map-underscore-to-camel-case: true
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+

+ 1 - 1
business-modules-web/business-transport-start/src/main/resources/application.yml

@@ -1,7 +1,7 @@
 server:
   port: 10086
   application:
-    name: test
+    name: dev
 
 spring:
   datasource:

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

@@ -1,5 +1,6 @@
 package com.sckw.mine.common;
 
+import com.sckw.core.model.constant.Global;
 import com.sckw.core.utils.IdWorker;
 import com.sckw.core.utils.TenantUtil;
 import com.sckw.mine.entity.KwBusinessActionTrack;
@@ -36,13 +37,16 @@ public class OrderServerCommon {
         kwBusinessActionTrack.setStatus(status);
         kwBusinessActionTrack.setTaskOrderNum(generatorNum("T", 14));
         kwBusinessActionTrack.setRemark(remark);
+        if("8".equals(status)) {
+            kwBusinessActionTrack.setIsAction(Global.NUMERICAL_ONE);
+        }
         kwBusinessActionTrackMapper.insert(kwBusinessActionTrack);
     }
 
     public String generatorNum(String prefix, Integer length)
     {
         LocalDate currentDate = LocalDate.now();
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMdd");
         String orderPrefix = currentDate.format(formatter);
         String key = prefix + orderPrefix;
         return genOrderCode.genOrderCode(length, key, key);

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

@@ -1,8 +1,11 @@
 package com.sckw.mine.entity.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.Date;
+
 /**
  * @desc:
  * @author: Lt
@@ -22,4 +25,13 @@ public class NodeStatusDTO {
 
 
     private String color;
+
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date time;
+
+    private String createBy;
+
+    private Integer status;
+
+    private Integer isCancel = 0;
 }

+ 8 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/entity/req/MineOrderPageListParam.java

@@ -36,6 +36,14 @@ public class MineOrderPageListParam {
      */
     private String tenantId;
 
+    /*
+    矿料名称
+     */
+    private String mineName;
 
+    /*
+    采购企业
+     */
+    private String cgCompany;
 
 }

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

@@ -57,7 +57,7 @@ public class MineOrderDetailRes {
     /**
      * 付款单位id
      */
-    private Long fkDeptId;
+    private String fkDeptId;
 
     /**
      * 付款单位

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

@@ -52,7 +52,7 @@ public class MineOrderPageListRes {
     /**
      * 付款单位id
      */
-    private Long fkDeptId;
+    private String fkDeptId;
 
     /**
      * 付款单位
@@ -85,6 +85,7 @@ public class MineOrderPageListRes {
      * 是否物流承接
      */
     private Integer isTransport;
+    private String isTransportStr;
 
     /**
      * 订单状态
@@ -136,6 +137,11 @@ public class MineOrderPageListRes {
 
     private String transportOrderNo;
 
+    private String mineName;
+
+    private Integer unit;
+    private String unitStr;
+
 
 
 }

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

@@ -72,6 +72,8 @@ public class TaskCardPageListRes {
      */
     private String mineOrderId;
 
+    private String transportOrderNo;
+
     
 
 }

+ 47 - 9
business-modules/business-mine/src/main/java/com/sckw/mine/service/MineService.java

@@ -123,6 +123,16 @@ public class MineService {
     public HttpResult pageList(MineOrderPageListParam param) {
         PageHelper.startPage(param.getPage(), param.getPageSize());
         List<MineOrderPageListRes> businessTruckPageListRes = mineOrderMapper.mineOrderPageList(param);
+
+        Map<String, Map<String, String>> dict = orderDictService.queryDictByType(new ArrayList<>(
+                Arrays.asList(OrderDictTypeEnum.GOODS_UNIT.getType())));
+        Map<String, String> GoodsUnitMap;
+        if (CollectionUtils.isNotEmpty(dict)) {
+            GoodsUnitMap = CollectionUtils.isNotEmpty(dict.get(OrderDictTypeEnum.GOODS_UNIT.getType())) ? dict.get(OrderDictTypeEnum.GOODS_UNIT.getType()) : new HashMap<>(16);
+        } else {
+            GoodsUnitMap = new HashMap<>(16);
+        }
+
         businessTruckPageListRes.forEach(e -> {
             if (ObjectUtils.isNotNull(e.getOrderSource())) {
                 e.setOrderSourceStr(e.getOrderSource() == 1 ? "生产自建" : "销售流转");
@@ -130,6 +140,12 @@ public class MineService {
             if (ObjectUtils.isNotNull(e.getStatus())){
                 e.setStatusStr(getStatusStr(e.getStatus()));
             }
+            if (ObjectUtils.isNotNull(e.getUnit())){
+                e.setUnitStr(GoodsUnitMap.get(e.getUnit().toString()));
+            }
+            if (ObjectUtils.isNotNull(e.getIsTransport())){
+                e.setIsTransportStr(TransportUnderEnum.getNameByCode(e.getIsTransport()));
+            }
         });
         return HttpResult.ok(new PageRes<>(new PageInfo<>(businessTruckPageListRes)));
     }
@@ -295,45 +311,70 @@ public class MineService {
 
         for (int i = 0; i < orderFlowEnums.size(); i++) {
             orderFlowEnums.get(i).setColor("gray");
-
+            //orderFlowEnums.get(i).setStatus(Global.NUMERICAL_ZERO);
             for (KwBusinessActionTrack track : actionTracks) {
                 if (orderFlowEnums.get(i).getCode().equals(track.getStatus())) {
                     orderFlowEnums.get(i).setColor("green");
+                    orderFlowEnums.get(i).setTime(track.getCreateTime());
+                    orderFlowEnums.get(i).setCreateBy(track.getCreateBy());
+                    orderFlowEnums.get(i).setStatus(Global.NUMERICAL_ONE);
                     cancelIndex = i; // 更新取消前最后一个执行节点的索引
                     break;
                 }
 
-                if (track.getStatus().equals("20") && !cancelFound) {
+                if ("20".equals(track.getStatus()) && !cancelFound) {
                     cancelFound = true;
                     if (cancelIndex != -1) { // 确保有一个被执行的节点在前
                         orderFlowEnums.get(cancelIndex).setColor("orange");
                         orderFlowEnums.get(cancelIndex).setName(orderFlowEnums.get(cancelIndex).getName() + cancelNameAppend); // 添加取消字样
+                        orderFlowEnums.get(i).setTime(track.getCreateTime());
+                        orderFlowEnums.get(i).setCreateBy(track.getCreateBy());
+                        orderFlowEnums.get(i).setStatus(Global.NUMERICAL_ONE);
                     }
                 }
 
-                if (track.getStatus().equals("15") && !rejectFound) {
+                if ("15".equals(track.getStatus()) && !rejectFound) {
                     rejectFound = true;
                     if (cancelIndex != -1) { // 确保有一个被执行的节点在前
                         orderFlowEnums.get(cancelIndex).setColor("orange");
                         orderFlowEnums.get(cancelIndex).setName(orderFlowEnums.get(cancelIndex).getName() + rejectNameAppend); // 添加驳回字样
+                        orderFlowEnums.get(i).setTime(track.getCreateTime());
+                        orderFlowEnums.get(i).setCreateBy(track.getCreateBy());
+                        orderFlowEnums.get(i).setStatus(Global.NUMERICAL_ONE);
                     }
                 }
             }
         }
 
         // 如果没有执行任何节点就直接取消了,且只有一个取消记录,需要特殊处理
-        if (cancelFound && cancelIndex == Global.MINUS_ONE && actionTracks.size() == Global.ADDRESS_LOAD) {
+        if (cancelFound && cancelIndex == Global.MINUS_ONE && actionTracks.size() == Global.NUMERICAL_ONE) {
             orderFlowEnums.get(0).setColor("orange");
             orderFlowEnums.get(0).setName(orderFlowEnums.get(0).getName() + cancelNameAppend);
+            orderFlowEnums.get(0).setStatus(Global.NUMERICAL_ONE);
+            //orderFlowEnums.get(0).setIsCancel(Global.NUMERICAL_ONE);
         }
 
         // 类似的,如果直接驳回且无其他执行记录,也需要处理
-        if (rejectFound && cancelIndex == Global.MINUS_ONE && actionTracks.size() == Global.ADDRESS_LOAD) {
+        if (rejectFound && cancelIndex == Global.MINUS_ONE && actionTracks.size() == Global.NUMERICAL_ONE) {
             orderFlowEnums.get(0).setColor("orange");
             orderFlowEnums.get(0).setName(orderFlowEnums.get(0).getName() + rejectNameAppend);
+            orderFlowEnums.get(0).setStatus(Global.NUMERICAL_ONE);
+            //orderFlowEnums.get(0).setIsCancel(Global.NUMERICAL_ONE);
         }
+        for (NodeStatusDTO orderFlowEnum : orderFlowEnums) {
+            if (orderFlowEnum.getColor().equals("green") || orderFlowEnum.getColor().equals("orange")) {
+                if (orderFlowEnum.getColor().equals("orange")){
+                    //表示取消或者驳回
+                    orderFlowEnum.setIsCancel(Global.NUMERICAL_ONE);
+                }
+                orderFlowEnum.setStatus(Global.NUMERICAL_ONE);
+            }else{
+                orderFlowEnum.setStatus(Global.NUMERICAL_ZERO);
+            }
+        }
+
         return orderFlowEnums;
-        
+
     }
 
 
@@ -351,9 +392,6 @@ public class MineService {
         {
             throw new RuntimeException("未找到当前订单");
         }
-        if(kwBusinessMineorder.getIsTransport() != 2){
-            throw new RuntimeException("当前订单不是非自有订单");
-        }
         if (kwBusinessMineorder.getStatus().equals(String.valueOf(MineStatusEnum.TWENTY.getCode()))) {
             throw new RuntimeException("当前订单已取消,请勿重复操作");
         }

+ 9 - 4
business-modules/business-mine/src/main/java/com/sckw/mine/service/TaskCardService.java

@@ -151,10 +151,8 @@ public class TaskCardService {
             orderServerCommon.saveActionTrack(orderId, String.valueOf(MineStatusEnum.FIFTEEN.getCode()), nameByCode, nameByCode);
             orderStatus = String.valueOf(MineStatusEnum.FIFTEEN.getCode());
         }
-        //修改任务是否被操作过的状态
-        LambdaUpdateWrapper<KwBusinessActionTrack> trackUpdateWrapper = new LambdaUpdateWrapper<>();
-        trackUpdateWrapper.set(KwBusinessActionTrack::getIsAction, Global.NUMERICAL_ONE).eq(KwBusinessActionTrack::getId, trackId);
-        kwBusinessActionTrackMapper.update(null, trackUpdateWrapper);
+        //修改任务为被操作过的状态
+        updateIsAction(trackId);
 
         //修改订单状态
         LambdaUpdateWrapper<KwBusinessMineOrder> objectLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
@@ -166,6 +164,13 @@ public class TaskCardService {
         return HttpResult.ok(msg+ "成功");
     }
 
+    private void updateIsAction(String trackId)
+    {
+        LambdaUpdateWrapper<KwBusinessActionTrack> trackUpdateWrapper = new LambdaUpdateWrapper<>();
+        trackUpdateWrapper.set(KwBusinessActionTrack::getIsAction, Global.NUMERICAL_ONE).eq(KwBusinessActionTrack::getId, trackId);
+        kwBusinessActionTrackMapper.update(null, trackUpdateWrapper);
+    }
+
     /**
     * @Description: 执行项目下一步
     * @Author: Lt

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

@@ -36,13 +36,15 @@
             wf.work_name,
             ag.name,
             tk.status,
-            tk.mine_order_id mineOrderId
+            tk.mine_order_id mineOrderId,
+            nn.transport_order_no
 
             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
+        left join kw_business_transport_order_no nn on nn.mine_order_id = tk.mine_order_id
         <where>
             and tk.del_flag = 0
             <if test="param.taskOrderNum != '' and param.taskOrderNum != null">

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

@@ -30,11 +30,15 @@
         m.mine_vol,
         m.purchase_num,
         m.mine_weight,
-        n.transport_order_no
+        n.transport_order_no,
+        #矿料
+        ma.name mineName,
+        ma.unit
 
         from kw_business_mine_order o
         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
+        left join kw_business_mineral_aggregate ma on ma.id = o.mineral_aggregate_id
         <where>
          o.del_flag = 0
             <if test="param.mineOrderNo != '' and param.mineOrderNo != null">
@@ -52,6 +56,12 @@
             <if test="param.tenantId != '' and param.tenantId != null">
                 and o.tenant_id  = #{param.tenantId}
             </if>
+            <if test="param.mineName != '' and param.mineName != null">
+                and ma.name like concat('%',#{param.mineName},'%')
+            </if>
+            <if test="param.cgCompany != '' and param.cgCompany != null">
+                and o.cg_company like concat('%',#{param.cgCompany},'%')
+            </if>
         </where>
         order by o.create_time desc
      </select>

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

@@ -10,6 +10,6 @@
 
             from kw_business_work_flow_node wfn left join kw_business_node n on n.id=wfn.node_id
 
-            where wfn.flow_id = #{flowId}
+            where wfn.flow_id = #{flowId} order by wfn.sort asc
     </select>
 </mapper>

+ 1 - 0
business-modules/business-usual-transport/src/main/java/com/sckw/usual/enums/OrderDictTypeEnum.java

@@ -19,6 +19,7 @@ public enum OrderDictTypeEnum {
     TRUCK_TYPE("truck_type", "车辆类型"),
     OW_SYSTEM("ow_system", "车辆类型"),
     WAYBILL_STATUS("waybill_status", "运单状态"),
+    MINE_ORDER_SOURCE("mine_order_source", "矿山域-订单来源"),
 
     ;