Эх сурвалжийг харах

承运订单-托运订单-自建订单逻辑修改
dubbo接口提供

lengfaqiang 2 жил өмнө
parent
commit
edd4e09306

+ 27 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/dubbo/TransportDubboService.java

@@ -1,9 +1,11 @@
 package com.sckw.transport.api.dubbo;
 
+import com.sckw.transport.api.model.dto.AddressResDTO;
 import com.sckw.transport.api.model.dto.vo.KwtLogisticsOrderVO;
 import com.sckw.transport.api.model.dto.vo.LogisticsOrderVO;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author lfdc
@@ -17,6 +19,7 @@ public interface TransportDubboService {
 
     /**
      * 根据id 获取主表详情
+     *
      * @param ids
      * @return
      */
@@ -24,8 +27,32 @@ public interface TransportDubboService {
 
     /**
      * 根据id 对账页面需要的数据
+     *
      * @param ids
      * @return
      */
     List<LogisticsOrderVO> getAcceptCarriageOrderList(List<String> ids);
+
+    /**
+     * 获取物流订单中地址信息
+     *
+     * @return
+     */
+    List<Integer> getLogisticsOrderAddressList();
+
+    /**
+     * 根据企业id获取物流订单地址信息
+     *
+     * @param entId 企业id
+     * @return
+     */
+    List<AddressResDTO> getLogisticsOrderAddressListByEntId(Long entId);
+
+    /**
+     * 根据企业id获取物流订单地址信息
+     *
+     * @param entIds 企业id
+     * @return
+     */
+    Map<Long,List<AddressResDTO>> getLogisticsOrderAddressListByEntId(List<Long> entIds);
 }

+ 13 - 0
sckw-modules-api/sckw-transport-api/src/main/java/com/sckw/transport/api/model/dto/AddressResDTO.java

@@ -0,0 +1,13 @@
+package com.sckw.transport.api.model.dto;
+
+import lombok.Data;
+
+/**
+ * @author lfdc
+ * @description 地址信息
+ * @date 2023-08-02 14:08:52
+ */
+@Data
+public class AddressResDTO {
+
+}

+ 15 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/ConsignOrderController.java

@@ -83,7 +83,7 @@ public class ConsignOrderController {
     @RequestMapping(value = "/getCarListByOrder", method = RequestMethod.POST)
     public HttpResult getCarListByOrder(@Validated @RequestBody OrderDTO orderDto) {
         try {
-            return consignOrderService.getCarListByOrder(orderDto,"1");
+            return consignOrderService.getCarListByOrder(orderDto, "1");
         } catch (Exception e) {
             log.error("托运订单获取车辆运单失败:订单id {},error {} ", orderDto.getId(), e.getMessage(), e);
             return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
@@ -92,6 +92,7 @@ public class ConsignOrderController {
 
     /**
      * 托运订单-完结订单-页面数据查询
+     *
      * @param orderId
      * @return
      */
@@ -138,4 +139,17 @@ public class ConsignOrderController {
         }
     }
 
+    /**
+     * 托运订单/承运订单-获取装卸货地址信息
+     */
+    @RequestMapping(name = "托运订单/承运订单-获取装卸货地址信息", value = "/getAddressList", method = RequestMethod.GET)
+    public HttpResult getAddressList() {
+        try {
+            return consignOrderService.getLogisticsOrderAddressList();
+        } catch (Exception e) {
+            log.error("托运订单/承运订单-获取装卸货地址信息 error:{}", e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
+
 }

+ 14 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java

@@ -1,6 +1,7 @@
 package com.sckw.transport.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.transport.api.model.dto.AddressResDTO;
 import com.sckw.transport.api.model.dto.vo.LogisticsOrderDTO;
 import com.sckw.transport.api.model.dto.vo.LogisticsOrderVO;
 import com.sckw.transport.model.KwtLogisticsOrder;
@@ -120,4 +121,17 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
      **/
     List<KwtLogisticsOrder> findLogisticsOrder(Map params);
 
+    /**
+     *
+     * @param entId
+     * @return
+     */
+    List<Integer> getAddressList(@Param("entId") Long entId);
+
+    /**
+     *
+     * @param entId
+     * @return
+     */
+    List<AddressResDTO> getAddressDetailListByEntId(@Param("entId") Long entId);
 }

+ 24 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/AddOrderDTO.java

@@ -235,6 +235,18 @@ public class AddOrderDTO {
     @NotBlank(message = "装货城市名称不能为空")
     private String loadCityName;
 
+    /**
+     * 装货联系人
+     */
+    @NotBlank(message = "装货联系人不能为空")
+    private String loadContacts;
+
+    /**
+     * 装货联系电话
+     */
+    @NotBlank(message = "装货联系电话不能为空")
+    private String loadPhone;
+
     /**
      * 装货详细地址
      */
@@ -265,6 +277,18 @@ public class AddOrderDTO {
     @NotBlank(message = "卸货城市名称不能为空")
     private String unloadCityName;
 
+    /**
+     * 卸货联系人
+     */
+    @NotBlank(message = "卸货联系人不能为空")
+    private String unloadContacts;
+
+    /**
+     * 卸货联系电话
+     */
+    @NotBlank(message = "卸货联系电话不能为空")
+    private String unloadPhone;
+
     /**
      * 卸货详细地址
      */

+ 21 - 22
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/AcceptCarriageOrderService.java

@@ -1166,7 +1166,7 @@ public class AcceptCarriageOrderService {
         saveLogisticsOrder(orderDTO, lOrderId, orderStatus, lOrderNo);
         saveLogisticsOrderAddress(orderDTO, lOrderId);
         saveLogisticsOrderGoods(orderDTO, lOrderId, lOrderNo, goods);
-        saveLogisticsOrderContract(orderDTO, lOrderId, status);
+        saveLogisticsOrderContract(orderDTO, lOrderId);
         saveLogisticsOrderTrack(lOrderId, orderStatus);
         saveLogisticsOrderUnit(orderDTO, lOrderId);
         saveMongoDb(orderDTO, orderStatus, lOrderId, lOrderNo, infoResDto, goods);
@@ -1279,21 +1279,21 @@ public class AcceptCarriageOrderService {
         order.setCarrierContacts(orderDTO.getAcceptContacts());
         order.setCarrierPhone(orderDTO.getAcceptContactPhone());
 //        order.setLoadType();
-//        order.setLoadContacts();
-//        order.setLoadPhone();
-//        order.setLoadCityCode();
-//        order.setLoadCityName();
-//        order.setLoadDetailAddress();
-//        order.setLoadLat();
-//        order.setLoadLng();
+        order.setLoadContacts(orderDTO.getLoadContacts());
+        order.setLoadPhone(orderDTO.getLoadPhone());
+        order.setLoadCityCode(orderDTO.getLoadCityCode());
+        order.setLoadCityName(orderDTO.getLoadCityName());
+        order.setLoadDetailAddress(orderDTO.getLoadDetailAddress());
+        order.setLoadLat(orderDTO.getLoadLat());
+        order.setLoadLng(orderDTO.getLoadLng());
 //        order.setUnloadType();
-//        order.setUnloadContacts();
-//        order.setUnloadPhone();
-//        order.setUnloadCityCode();
-//        order.setUnloadCityName();
-//        order.setUnloadDetailAddress();
-//        order.setUnloadLat();
-//        order.setUnloadLng();
+        order.setUnloadContacts(orderDTO.getUnloadContacts());
+        order.setUnloadPhone(orderDTO.getUnloadPhone());
+        order.setUnloadCityCode(orderDTO.getUnloadCityCode());
+        order.setUnloadCityName(orderDTO.getUnloadCityName());
+        order.setUnloadDetailAddress(orderDTO.getUnloadDetailAddress());
+        order.setUnloadLat(orderDTO.getUnloadLat());
+        order.setUnloadLng(orderDTO.getUnloadLng());
         order.setCreateBy(LoginUserHolder.getUserId());
         order.setCreateByName(LoginUserHolder.getUserName());
         order.setCreateTime(new Date());
@@ -1384,8 +1384,8 @@ public class AcceptCarriageOrderService {
         loadAddress.setAddressType(NumberConstant.ONE);
 //        loadAddress.setName();
 //        loadAddress.setType();
-        loadAddress.setContacts(orderDTO.getContacts());
-        loadAddress.setPhone(orderDTO.getConsignContactPhone());
+        loadAddress.setContacts(orderDTO.getLoadContacts());
+        loadAddress.setPhone(orderDTO.getLoadPhone());
         loadAddress.setCityCode(orderDTO.getLoadCityCode());
         loadAddress.setCityName(orderDTO.getLoadCityName());
         loadAddress.setDetailAddress(orderDTO.getLoadDetailAddress());
@@ -1405,8 +1405,8 @@ public class AcceptCarriageOrderService {
         unloadAddress.setAddressType(NumberConstant.TWO);
 //        unloadAddress.setName();
 //        unloadAddress.setType();
-        unloadAddress.setContacts(orderDTO.getContacts());
-        unloadAddress.setPhone(orderDTO.getAcceptContactPhone());
+        unloadAddress.setContacts(orderDTO.getUnloadContacts());
+        unloadAddress.setPhone(orderDTO.getUnloadPhone());
         unloadAddress.setCityCode(orderDTO.getUnloadCityCode());
         unloadAddress.setCityName(orderDTO.getUnloadCityName());
         unloadAddress.setDetailAddress(orderDTO.getUnloadDetailAddress());
@@ -1427,14 +1427,13 @@ public class AcceptCarriageOrderService {
      *
      * @param orderDTO 页面请求参数
      * @param lOrderId 主体id
-     * @param status   合同状态
      */
-    private void saveLogisticsOrderContract(AddOrderDTO orderDTO, Long lOrderId, Integer status) {
+    private void saveLogisticsOrderContract(AddOrderDTO orderDTO, Long lOrderId) {
         KwtLogisticsOrderContract contract = new KwtLogisticsOrderContract();
         contract.setId(new IdWorker(NumberConstant.ONE).nextId());
         contract.setContractId(Long.parseLong(orderDTO.getContractId()));
         contract.setLOrderId(lOrderId);
-        contract.setStatus(status);
+        contract.setStatus(NumberConstant.ZERO);
         contract.setCreateBy(LoginUserHolder.getUserId());
         contract.setCreateTime(new Date());
         contract.setUpdateBy(LoginUserHolder.getUserId());

+ 32 - 22
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java

@@ -677,7 +677,7 @@ public class ConsignOrderService {
         saveConsignLogisticsOrder(addOrderDTO, lOrderId, orderStatus, lOrderNo);
         saveConsignLogisticsOrderAddress(addOrderDTO, lOrderId);
         saveConsignLogisticsOrderGoods(addOrderDTO, lOrderId, lOrderNo, goods);
-        saveConsignLogisticsOrderContract(addOrderDTO, lOrderId, status);
+        saveConsignLogisticsOrderContract(addOrderDTO, lOrderId);
         saveConsignLogisticsOrderTrack(lOrderId, orderStatus);
         saveConsignLogisticsOrderUnit(addOrderDTO, lOrderId);
         saveMongoDb(addOrderDTO, orderStatus, lOrderId, lOrderNo, infoResDto, goods);
@@ -767,8 +767,8 @@ public class ConsignOrderService {
         loadAddress.setAddressType(NumberConstant.ONE);
 //        loadAddress.setName();
 //        loadAddress.setType();
-//        loadAddress.setContacts();
-//        loadAddress.setPhone();
+        loadAddress.setContacts(addOrderDTO.getLoadContacts());
+        loadAddress.setPhone(addOrderDTO.getLoadPhone());
         loadAddress.setCityCode(addOrderDTO.getLoadCityCode());
         loadAddress.setCityName(addOrderDTO.getLoadCityName());
         loadAddress.setDetailAddress(addOrderDTO.getLoadDetailAddress());
@@ -788,8 +788,8 @@ public class ConsignOrderService {
         unloadAddress.setAddressType(NumberConstant.TWO);
 //        unloadAddress.setName();
 //        unloadAddress.setType();
-//        unloadAddress.setContacts();
-//        unloadAddress.setPhone();
+        unloadAddress.setContacts(addOrderDTO.getUnloadContacts());
+        unloadAddress.setPhone(addOrderDTO.getUnloadPhone());
         unloadAddress.setCityCode(addOrderDTO.getUnloadCityCode());
         unloadAddress.setCityName(addOrderDTO.getUnloadCityName());
         unloadAddress.setDetailAddress(addOrderDTO.getUnloadDetailAddress());
@@ -810,15 +810,14 @@ public class ConsignOrderService {
      *
      * @param addOrderDTO 页面请求参数
      * @param lOrderId    主体id
-     * @param status      合同状态
      */
-    private void saveConsignLogisticsOrderContract(AddOrderDTO addOrderDTO, Long lOrderId, Integer status) {
+    private void saveConsignLogisticsOrderContract(AddOrderDTO addOrderDTO, Long lOrderId) {
         //托运
         KwtLogisticsOrderContract consignContract = new KwtLogisticsOrderContract();
         consignContract.setId(new IdWorker(NumberConstant.ONE).nextId());
         consignContract.setContractId(Long.parseLong(addOrderDTO.getContractId()));
         consignContract.setLOrderId(lOrderId);
-        consignContract.setStatus(status);
+        consignContract.setStatus(NumberConstant.ZERO);
         consignContract.setCreateBy(LoginUserHolder.getUserId());
         consignContract.setCreateTime(new Date());
         consignContract.setUpdateBy(LoginUserHolder.getUserId());
@@ -945,21 +944,21 @@ public class ConsignOrderService {
         order.setCarrierContacts(addOrderDTO.getAcceptContacts());
         order.setCarrierPhone(addOrderDTO.getAcceptContactPhone());
 //        order.setLoadType();
-//        order.setLoadContacts();
-//        order.setLoadPhone();
-//        order.setLoadCityCode();
-//        order.setLoadCityName();
-//        order.setLoadDetailAddress();
-//        order.setLoadLat();
-//        order.setLoadLng();
+        order.setLoadContacts(addOrderDTO.getLoadContacts());
+        order.setLoadPhone(addOrderDTO.getLoadPhone());
+        order.setLoadCityCode(addOrderDTO.getLoadCityCode());
+        order.setLoadCityName(addOrderDTO.getLoadCityName());
+        order.setLoadDetailAddress(addOrderDTO.getLoadDetailAddress());
+        order.setLoadLat(addOrderDTO.getLoadLat());
+        order.setLoadLng(addOrderDTO.getLoadLng());
 //        order.setUnloadType();
-//        order.setUnloadContacts();
-//        order.setUnloadPhone();
-//        order.setUnloadCityCode();
-//        order.setUnloadCityName();
-//        order.setUnloadDetailAddress();
-//        order.setUnloadLat();
-//        order.setUnloadLng();
+        order.setUnloadContacts(addOrderDTO.getUnloadContacts());
+        order.setUnloadPhone(addOrderDTO.getUnloadPhone());
+        order.setUnloadCityCode(addOrderDTO.getUnloadCityCode());
+        order.setUnloadCityName(addOrderDTO.getUnloadCityName());
+        order.setUnloadDetailAddress(addOrderDTO.getUnloadDetailAddress());
+        order.setUnloadLat(addOrderDTO.getUnloadLat());
+        order.setUnloadLng(addOrderDTO.getUnloadLng());
         order.setCreateBy(LoginUserHolder.getUserId());
         order.setCreateByName(LoginUserHolder.getUserName());
         order.setCreateTime(new Date());
@@ -975,4 +974,15 @@ public class ConsignOrderService {
         busSum.setObject(order);
         streamBridge.send("sckw-busSum", com.alibaba.fastjson2.JSON.toJSONString(busSum));
     }
+
+    /**
+     * 承运订单/托运订单-获取地址信息
+     *
+     * @return
+     */
+    public HttpResult getLogisticsOrderAddressList() {
+        Long entId = LoginUserHolder.getEntId();
+        List<Integer> codeList = kwtLogisticsOrderMapper.getAddressList(entId);
+        return HttpResult.ok(codeList);
+    }
 }

+ 42 - 2
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/dubbo/TransportDubboServiceImpl.java

@@ -3,8 +3,10 @@ package com.sckw.transport.service.dubbo;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.transport.api.dubbo.TransportDubboService;
+import com.sckw.transport.api.model.dto.AddressResDTO;
 import com.sckw.transport.api.model.dto.vo.KwtLogisticsOrderVO;
 import com.sckw.transport.api.model.dto.vo.LogisticsOrderVO;
 import com.sckw.transport.dao.KwtLogisticsOrderGoodsMapper;
@@ -20,8 +22,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
 
 /**
  * @author lfdc
@@ -90,4 +91,43 @@ public class TransportDubboServiceImpl implements TransportDubboService {
         }
         return list;
     }
+
+    /**
+     * 获取当前企业下物流订单地址信息
+     *
+     * @return
+     */
+    @Override
+    public List<Integer> getLogisticsOrderAddressList() {
+        return logisticsOrderMapper.getAddressList(LoginUserHolder.getEntId());
+    }
+
+    /**
+     * 根据企业id 获取物流订单相关地址信息
+     *
+     * @param entId 企业id
+     * @return
+     */
+    @Override
+    public List<AddressResDTO> getLogisticsOrderAddressListByEntId(Long entId) {
+        return null;
+    }
+
+    /**
+     * 根据企业id 获取物流订单相关地址信息
+     *
+     * @param entIds 企业id集合
+     * @return
+     */
+    @Override
+    public Map<Long, List<AddressResDTO>> getLogisticsOrderAddressListByEntId(List<Long> entIds) {
+        Map<Long, List<AddressResDTO>> map = new HashMap<>(entIds.size());
+        for (Long entId : entIds) {
+            List<AddressResDTO> list = logisticsOrderMapper.getAddressDetailListByEntId(entId);
+            if (Objects.nonNull(list)) {
+                map.put(entId, list);
+            }
+        }
+        return map;
+    }
 }

+ 10 - 0
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

@@ -421,4 +421,14 @@
           AND b.del_flag = '0'
           AND a.t_order_id = #{id,jdbcType=VARCHAR}
     </select>
+    <select id="getAddressList" resultType="java.lang.Integer">
+        SELECT a.city_code
+        FROM kwt_logistics_order_address a
+                 LEFT JOIN kwt_logistics_order b ON a.l_order_id = b.id
+        where a.city_code is not null AND b.ent_id =#{entId}
+        GROUP BY a.city_code
+    </select>
+    <select id="getAddressDetailListByEntId" resultType="com.sckw.transport.api.model.dto.AddressResDTO">
+
+    </select>
 </mapper>