Przeglądaj źródła

矿山域-流程管理

ltt 1 rok temu
rodzic
commit
3196b409ca

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

@@ -58,6 +58,12 @@
             <version>1.0.0</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>com.sckw</groupId>
+            <artifactId>business-car-transport</artifactId>
+            <version>1.0.0</version>
+            <scope>compile</scope>
+        </dependency>
 
     </dependencies>
 </project>

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

@@ -70,5 +70,19 @@ public class TaskCardController {
         return HttpResult.ok(taskCardService.detail(taskId));
     }
 
+    /**
+     * @Description: 运单-物流所需详情
+     * @Author: Lt
+     * @Date: 2024/5/8 20:03
+     */
+    @GetMapping("/truckDetail")
+    public HttpResult truckDetail(@RequestParam("taskId") String taskId)
+    {
+        return HttpResult.ok(taskCardService.truckDetail(taskId));
+    }
+
+
+
+
 
 }

+ 91 - 0
business-modules/business-mine/src/main/java/com/sckw/mine/entity/res/MineCarDetailRes.java

@@ -0,0 +1,91 @@
+package com.sckw.mine.entity.res;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @desc:
+ * @author: Lt
+ * @date: 2024-05-08
+ */
+@Data
+public class MineCarDetailRes {
+    //======================header=========================
+    private String id;
+    private Integer orderSource;      //订单来源
+    private String orderNo;           //订单编号
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime; //创建时间
+    private String createBy;          //创建人
+    private Integer status;           //订单状态
+    private String statusStr;         //订单中文
+    private String qzOrder;           //前置订单号
+    private Integer typeHandling;     //装卸类型
+    private String typeHandlingStr;     //装卸类型中文
+    private String tenantId;     //租户id
+
+    //=====================企业信息=========================
+    private Integer tyCompanyId;       //托运企业id
+    private String tyCompany;         //托运企业
+    private String tyPhone;           //托运企业联系方式
+
+    private String cyCompanyId;       //承运企业id
+    private String cyCompany;         //承运企业
+    private String cyPhone;           //承运企业联系方式
+
+    private String fhCompanyId;       //发货企业id
+    private String fhCompany;         //发货企业
+    private String fhPhone;           //发货企业联系方式
+
+    private String shCompanyId;       //收货企业id
+    private String shCompany;         //收货企业
+    private String shPhone;           //收货企业联系方式
+
+    //=====================货物信息========================
+    private String goodsId;   //货物id
+    private String goodsName; //货物名称
+    private Integer goodsType; //货物类型
+    private String goodsTypeStr; //货物类型
+    private Integer goodsUnit; //计量单位
+    private String goodsUnitStr; //计量单位
+    private Double goodsNum;  //货物数量
+    private Double goodsVolume;  //货物体积
+    private Double goodsWeight;  //货物重量
+
+    //=====================更多信息========================
+    private Integer truckType;  //车辆类型
+    private String  truckTypeStr;  //车辆类型
+    private BigDecimal  estimateFreight;  //预估运费
+
+    //=====================路径信息========================
+    //private List<KwOrderCarLandTransportPathRes> pathList; //路径信息
+
+    //=====================履约信息========================
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date perStartTime;   //履约开始时间
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date perEndTime;     //履约结束时间
+    private String settlementCycle;          //结算周期
+    private String settlementCycleStr;          //结算周期
+    private String payment;             //支付方式
+    private String paymentStr;             //支付方式
+    private String payCompany;            //付款企业
+    private Integer billingMode;            //计费方式
+    private String billingModeStr;            //计费方式Str
+    private BigDecimal price;            //计费方式Str
+    private String gatheringCompany;    //收款单位
+    private String remark;
+
+    //履约记录
+    private BigDecimal remainNum;         //剩余待运量
+    private BigDecimal remainAllocation;  //剩余待分配量
+    private BigDecimal totalLoadAmount;   //累计装货量
+    private BigDecimal totalUnLoadAmount; //累计卸货量
+
+    //====================扣亏货==========================
+    private String rationalLoss;          //合理损耗
+    private BigDecimal dedPrice;          //扣款单价
+}

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

@@ -18,6 +18,8 @@ public class MineOrderDetailRes {
      */
     private String id;
 
+    private String tenantId;
+
     /**
      * 订单编号
      */

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

@@ -5,6 +5,8 @@ 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.car.enums.OrderCarDictTypeEnum;
+import com.sckw.car.service.OrderCarDictService;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.page.PageRes;
 import com.sckw.core.utils.CollectionUtils;
@@ -17,6 +19,7 @@ import com.sckw.mine.entity.KwBusinessWorkFlowNode;
 import com.sckw.mine.entity.dto.NodeStatusDTO;
 import com.sckw.mine.entity.req.ReviewOrderParam;
 import com.sckw.mine.entity.req.TaskCardPageListParam;
+import com.sckw.mine.entity.res.MineCarDetailRes;
 import com.sckw.mine.entity.res.MineOrderDetailRes;
 import com.sckw.mine.entity.res.TaskCardPageListRes;
 import com.sckw.mine.enums.MineStatusEnum;
@@ -61,6 +64,9 @@ public class TaskCardService {
     @Autowired
     MineService mineService;
 
+    @Autowired
+    OrderCarDictService orderCarDictService;
+
 
     /**
     * @Description: 任务卡片分页列表
@@ -329,5 +335,77 @@ public class TaskCardService {
 
     }
 
+    public MineCarDetailRes truckDetail(String taskId)
+    {
+
+
+        KwBusinessActionTrack kwBusinessActionTrack = kwBusinessActionTrackMapper.selectById(taskId);
+        if (ObjectUtils.isNull(kwBusinessActionTrack)) {
+            throw new RuntimeException("当前任务数据不存在");
+        }
+        MineOrderDetailRes kwBusinessMineOrder = mineOrderMapper.selectOrderById(String.valueOf(kwBusinessActionTrack.getMineOrderId()));
+        if (ObjectUtils.isNull(kwBusinessMineOrder)) {
+            throw new RuntimeException("当前数据不存在");
+        }
+
+        MineCarDetailRes carRes = new MineCarDetailRes();
+        carRes.setId(kwBusinessMineOrder.getTransportOrderNo());   //订单编号
+        carRes.setOrderSource(5);
+        carRes.setCreateTime(kwBusinessMineOrder.getCreateTime());
+        carRes.setCreateBy(kwBusinessMineOrder.getCreateBy());
+        carRes.setStatus(Integer.valueOf(kwBusinessMineOrder.getStatus()));
+        carRes.setTenantId(kwBusinessMineOrder.getTenantId());
+
+        //企业信息
+        carRes.setTyCompany(kwBusinessMineOrder.getCgCompany());
+        carRes.setTyCompanyId(Integer.valueOf(kwBusinessMineOrder.getCgCompanyId()));
+        carRes.setTyPhone(kwBusinessMineOrder.getCgCompanyConcat());
+
+        carRes.setGoodsId(kwBusinessMineOrder.getMineralAggregateId());   //商品id
+        carRes.setGoodsName(kwBusinessMineOrder.getMineName());   //商品名称
+        carRes.setGoodsType(kwBusinessMineOrder.getType());
+        carRes.setGoodsUnit(kwBusinessMineOrder.getUnit());
+        if (ObjectUtils.isNotNull(kwBusinessMineOrder.getWeight())) {
+            carRes.setGoodsWeight(Double.valueOf(kwBusinessMineOrder.getWeight()));
+        }
+        if (ObjectUtils.isNotNull(kwBusinessMineOrder.getSize())){
+            carRes.setGoodsVolume(Double.valueOf(kwBusinessMineOrder.getSize()));
+        }
+        carRes.setPerStartTime(kwBusinessMineOrder.getCustomerOrderTime());
+        carRes.setPerEndTime(kwBusinessMineOrder.getDeliveryCutoffTime());
+
+
+
+
+
+        if(ObjectUtils.isNotNull(carRes)) {
+            Map<String, Map<String, String>> dict = orderCarDictService.queryDictByType(new ArrayList<>(
+                    Arrays.asList(
+                            OrderCarDictTypeEnum.GOODS_TYPE.getType()
+                            ,OrderCarDictTypeEnum.GOODS_UNIT.getType()
+                    )));
+            Map<String, String> goodsTypeMap,goodsUnitMap;
+            if (CollectionUtils.isNotEmpty(dict)) {
+                goodsTypeMap = CollectionUtils.isNotEmpty(dict.get(OrderCarDictTypeEnum.GOODS_TYPE.getType())) ? dict.get(OrderCarDictTypeEnum.GOODS_TYPE.getType()) : new HashMap<>(16);
+                goodsUnitMap = CollectionUtils.isNotEmpty(dict.get(OrderCarDictTypeEnum.GOODS_UNIT.getType())) ? dict.get(OrderCarDictTypeEnum.GOODS_UNIT.getType()) : new HashMap<>(16);
+            } else {
+                goodsTypeMap = new HashMap<>(16);
+                goodsUnitMap = new HashMap<>(16);
+            }
+            if (ObjectUtils.isNotNull(kwBusinessMineOrder.getType())){
+                carRes.setGoodsTypeStr(goodsTypeMap.get(kwBusinessMineOrder.getType().toString()));
+            }
+            if (ObjectUtils.isNotNull(kwBusinessMineOrder.getUnit())){
+                carRes.setGoodsUnitStr(goodsUnitMap.get(kwBusinessMineOrder.getUnit().toString()));
+            }
+
+        }
+
+
+        return carRes;
+    }
+
+
+
 
 }

+ 2 - 0
business-modules/business-usual-transport/src/main/java/com/sckw/usual/entity/req/OrderGeneralTransportReq.java

@@ -29,6 +29,8 @@ public class OrderGeneralTransportReq implements Serializable {
      */
     private Integer orderSource;
 
+    private String orderNo;
+
     /*
     托运企业id
      */

+ 9 - 13
business-modules/business-usual-transport/src/main/java/com/sckw/usual/service/OrderActionService.java

@@ -152,21 +152,17 @@ public class OrderActionService {
         KwOrderUsualLandTransportMoreReq usualMore = orderGeneralTransportReq.getOrderMore();
 
         KwOrder kwOrder = BeanUtil.copyProperties(orderGeneralTransportReq, KwOrder.class);
-        long id;
-        if (ObjectUtils.isNotNull(orderGeneralTransportReq.getId())){
-            id = Long.valueOf(orderGeneralTransportReq.getId());
+        long id = new IdWorker(Global.NUMERICAL_ONE).nextId();
+        String orderNoNum;
+        if (ObjectUtils.isNotNull(orderGeneralTransportReq.getOrderNo())){
+            orderNoNum = orderGeneralTransportReq.getOrderNo();
         }else{
-            id = new IdWorker(Global.NUMERICAL_ONE).nextId();
-
+            LocalDate currentDate = LocalDate.now();
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
+            String orderPrefix = currentDate.format(formatter);
+            String key = "O" + orderPrefix;
+            orderNoNum = genOrderCode.genOrderCode(12, key, key);
         }
-        kwOrder.setId(id);
-        LocalDate currentDate = LocalDate.now();
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
-        String orderPrefix = currentDate.format(formatter);
-        String key = "O" + orderPrefix;
-        String orderNoNum = genOrderCode.genOrderCode(12, key, key);
-
-
         kwOrder.setOrderNo(orderNoNum);//生成订单号
         kwOrder.setOrderSource(OrderSourceEnum.SELF_BUILD_NORMAL_LAND_ORDER.getCode()); //普货运输
         kwOrder.setPids(String.valueOf(id));