Просмотр исходного кода

1、账号登录接口、短信登录接口名称调整;
2、dubbo查询司机信息调整;
3、查询车辆信息返回字典值转换为字符串;
4、车辆运单撤回、单证完善接口调整;

zk 2 лет назад
Родитель
Сommit
53499b3c77

+ 3 - 3
sckw-auth/src/main/java/com/sckw/auth/controller/AuthController.java

@@ -29,8 +29,8 @@ public class AuthController {
     @Autowired
     private IAuthService authService;
 
-    @PostMapping("/login1")
-    public HttpResult login(@RequestHeader(name = "System-Type") int systemType,
+    @PostMapping("/auth")
+    public HttpResult auth(@RequestHeader(name = "System-Type") int systemType,
                             @RequestHeader(name = "Client-Type") String clientType,
                             @RequestBody @Valid LoginBase loginBase) {
         loginBase.setSystemType(systemType);
@@ -57,7 +57,7 @@ public class AuthController {
         return HttpResult.error(HttpStatus.PARAMETERS_MISSING_CODE, HttpStatus.GLOBAL_EXCEPTION_MESSAGE);
     }
 
-    @PostMapping("/smsLogin")
+    @PostMapping("/smsAuth")
     public HttpResult smsAuth(@RequestHeader(name = "System-Type") int systemType,
                             @RequestHeader(name = "Client-Type") String clientType,
                             @RequestBody @Valid LoginBase loginBase) {

+ 3 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/filter/RequestCheckFilter.java

@@ -132,7 +132,9 @@ public class RequestCheckFilter implements Filter {
 
         /*5、请求权限校验*/
         //非管理员有接口权限才放行
-        if (loginUserInfo.getIsMain() != Global.YES && !checkMenu(clientType, loginUserInfo.getId(), requestUri)) {
+        if (loginUserInfo.getIsMain() != Global.YES
+                && NumberUtils.parseInt(systemType) == SystemTypeEnum.MANAGE.getCode()
+                && !checkMenu(clientType, loginUserInfo.getId(), requestUri)) {
             ResponseUtil.writer(response, HttpResult.error(HttpStatus.AUTHORITY_NO_CODE, HttpStatus.ACCESS_FIAL));
             return;
         }

+ 2 - 1
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/dubbo/RemoteFleetServiceImpl.java

@@ -91,7 +91,8 @@ public class RemoteFleetServiceImpl implements RemoteFleetService {
         }
         KwfDriver driver = drivers.get(0);
         RDriverDetailVo driverDetail = new RDriverDetailVo();
-        BeanUtils.copyPropertiesValue(driver, driverDetail);
+        //BeanUtils.copyPropertiesValue(driver, driverDetail);
+        BeanUtils.copyProperties(driver, driverDetail);
         return driverDetail;
     }
 

+ 4 - 4
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfTruckDetailVo.java

@@ -30,17 +30,17 @@ public class KwfTruckDetailVo implements Serializable {
     /**
      * 车辆类型(牵引车、自卸、高栏、平板、厢式、集装箱车、罐车、封闭式、专项作业车、其他)
      */
-    private Integer type;
+    private String type;
 
     /**
      * 能源类型(柴油、汽油、电动、氢能、天然气、液化石油气、甲醇、油电混动、油气混动、其他)
      */
-    private Integer energyType;
+    private String energyType;
 
     /**
      * 使用性质(营运车、租赁车辆、货运车、危化品运输车、非营运车、其他)
      */
-    private Integer useType;
+    private String useType;
 
     /**
      * 外廓尺寸
@@ -65,7 +65,7 @@ public class KwfTruckDetailVo implements Serializable {
     /**
      * 车辆颜色
      */
-    private Integer color;
+    private String color;
 
     /**
      * 环保等级(国标)

+ 2 - 2
sckw-modules/sckw-fleet/src/main/resources/mapper/KwfTruckReportMapper.xml

@@ -8,7 +8,7 @@
         from kwf_truck_report trr
         left join kwf_truck tr on tr.id = trr.truck_id
         left join kwf_driver dr on dr.id = trr.driver_id
-        left join kwf_fleet_truck flt on flt.truck_id = tr.id and flt.del_flag = 0
+        left join kwf_fleet_truck flt on flt.truck_id = tr.id and flt.ent_id = trr.ent_id and flt.del_flag = 0
         left join kwf_fleet fl on fl.id = flt.fleet_id and fl.ent_id = trr.ent_id and fl.del_flag = 0
         where trr.del_flag = 0 and tr.del_flag = 0 and dr.del_flag = 0
         <if test="entId != null and entId != ''">
@@ -56,7 +56,7 @@
         from kwf_truck_report trr
         left join kwf_truck tr on tr.id = trr.truck_id
         left join kwf_driver dr on dr.id = trr.driver_id
-        left join kwf_fleet_truck flt on flt.truck_id = tr.id and flt.del_flag = 0
+        left join kwf_fleet_truck flt on flt.truck_id = tr.id and flt.ent_id = trr.ent_id and flt.del_flag = 0
         left join kwf_fleet fl on fl.id = flt.fleet_id and fl.ent_id = trr.ent_id and fl.del_flag = 0
         where trr.del_flag = 0 and tr.del_flag = 0 and dr.del_flag = 0
         <if test="entId != null and entId != ''">

+ 5 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/KwtWaybillOrderController.java

@@ -8,6 +8,7 @@ import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.model.ValiList;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.transport.model.dto.*;
@@ -46,7 +47,8 @@ public class KwtWaybillOrderController {
      * @date 2023/8/1
      **/
     @GetMapping("/findCountByDriver")
-    public HttpResult findCountByDriver(@RequestParam("driverId") Long driverId){
+    public HttpResult findCountByDriver(){
+        Long driverId = LoginUserHolder.getUserId();
         Map count = waybillOrderService.findStatisticsCountByDriver(driverId);
         return HttpResult.ok(count);
     }
@@ -59,6 +61,7 @@ public class KwtWaybillOrderController {
      **/
     @PostMapping("/findSumByDriver")
     public HttpResult findSumByDriver(@RequestBody Map params){
+        params.put("driverId", LoginUserHolder.getUserId());
         Map count = waybillOrderService.findStatisticsSumByDriver(params);
         return HttpResult.ok(count);
     }
@@ -71,6 +74,7 @@ public class KwtWaybillOrderController {
      **/
     @PostMapping("/findWaybillOrderByDriver")
     public HttpResult findWaybillOrderByDriver(@RequestBody Map params){
+        params.put("driverId", LoginUserHolder.getUserId());
         /**校验**/
         if (StringUtils.isBlank(params.get("busStatus"))) {
             return HttpResult.error("请选择业务状态!");

+ 10 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtWaybillOrderAddressMapper.java

@@ -3,9 +3,19 @@ package com.sckw.transport.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.transport.model.KwtWaybillOrderAddress;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface KwtWaybillOrderAddressMapper extends BaseMapper<KwtWaybillOrderAddress> {
 
     int insert1(KwtWaybillOrderAddress params);
+
+    /**
+     * @param wOrderId 车辆订单id
+     * @param addressType 地址类型(1装货地址、2卸货地址)
+     * @desc 查询车辆运单装卸货地址信息
+     * @author zk
+     * @date 2023/7/20
+     **/
+    KwtWaybillOrderAddress findByAddress(@Param("wOrderId") Long wOrderId, @Param("addressType") Integer addressType);
 }

+ 76 - 5
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

@@ -569,7 +569,7 @@ public class KwtWaybillOrderService {
      **/
     public KwtWaybillOrderAddress getAddress(Long lOrderId, int addressType) {
         /**查询数据**/
-        KwtLogisticsOrderAddress orderAddress = logisticsOrderAddressDao.findByAddress(lOrderId, addressType);
+        KwtWaybillOrderAddress orderAddress = waybillOrderAddressDao.findByAddress(lOrderId, addressType);
 
         /**组装数据**/
         KwtWaybillOrderAddress address = new KwtWaybillOrderAddress();
@@ -874,6 +874,75 @@ public class KwtWaybillOrderService {
         return HttpResult.ok("车辆运单撤回成功!");
     }
 
+    public HttpResult cancelSendCarV1(List<Long> ids){
+        /**1数据校验**/
+        if (CollectionUtils.isEmpty(ids)) {
+            return HttpResult.error("请选择需要撤回的车辆运单!");
+        }
+        //1校验运单ID是否有效/2循环派车才能撤回/3运单当前状态是否可以撤回
+        for (Long id : ids) {
+            KwtWaybillOrder order = waybillOrderDao.selectById(id);
+            //1校验运单ID是否有效
+            if (order != null) {
+                //3待接单的车辆运单才能撤回
+                if (order.getStatus() != CarWaybillEnum.PENDING_ORDER.getCode()) {
+                    return HttpResult.error("运单"+order.getWOrderNo()+"当前状态已不能撤回!");
+                }
+            } else {
+                //循环派车信息
+                KwtLogisticsOrderCirculate circulate = logisticsOrderCirculateDao.selectById(id);
+                //2循环派车才能撤回
+                if (circulate != null) {
+                    return HttpResult.error("循环派车单不能撤回!");
+                }
+                return HttpResult.error("选择撤回车辆运单的数据不存在!");
+            }
+        }
+
+        /**业务处理**/
+        List<KwtWaybillOrder> waybillOrders = new ArrayList();
+        Map<Long, KwtLogisticsOrder> logisticsOrderData = new HashMap();
+        for (Long id : ids) {
+            KwtWaybillOrder waybillOrder = waybillOrderDao.selectById(id);
+            if (waybillOrder != null) {
+                //待接单的车辆运单才能撤回
+                if (waybillOrder.getStatus() == CarWaybillEnum.PENDING_ORDER.getCode()) {
+                    /**2更新车辆运单**/
+                    waybillOrder.setStatus(CarWaybillEnum.REVOKED.getCode());
+                    waybillOrderDao.updateById(waybillOrder);
+                    waybillOrders.add(waybillOrder);
+
+                    /**3新增运单状态记录**/
+                    setWaybillOrderTrack(waybillOrder.getId(), waybillOrder.getUpdateTime(), waybillOrder.getStatus(), null);
+
+                    /**4回退承运订单entrustAmount**/
+                    KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(waybillOrder.getLOrderId());
+                    //承运订单已委派量=承运订单原委派量+当前车辆运单委派量
+                    BigDecimal entrustAmount = logisticsOrder.getEntrustAmount() == null ? new BigDecimal(Global.AMOUNT) : logisticsOrder.getEntrustAmount();
+                    logisticsOrder.setEntrustAmount(entrustAmount.subtract(waybillOrder.getEntrustAmount()));
+                    logisticsOrderDao.updateById(logisticsOrder);
+                    logisticsOrderData.put(logisticsOrder.getId(), logisticsOrder);
+                }
+            }
+        }
+
+        /**5Mongodb数据更新**/
+        //1车辆订单
+        for (KwtWaybillOrder waybillOrder:waybillOrders) {
+            SckwWaybillOrder wOrder = new SckwWaybillOrder();
+            wOrder.set_id(waybillOrder.getId());
+            editSckwWaybillOrder(wOrder, waybillOrder, 2);
+        }
+
+        //2承运订单
+        for (Map.Entry<Long, KwtLogisticsOrder> entry : logisticsOrderData.entrySet()) {
+            SckwLogisticsOrder lOrder = new SckwLogisticsOrder();
+            editSckwLogisticsOrder(lOrder, entry.getValue());
+        }
+
+        return HttpResult.ok("车辆运单撤回成功!");
+    }
+
     /**
      * @param wOrder mongodb中车辆运单信息
      * @param order  车辆运单信息
@@ -1660,12 +1729,14 @@ public class KwtWaybillOrderService {
         //1车辆运单
         SckwWaybillOrder wOrder = new SckwWaybillOrder();
         wOrder.set_id(waybillOrder.getId());
-        wOrder.setLoadAmount(waybillOrder.getLoadAmount());
+        wOrder.setLoadAmount(params.getType() == Global.NUMERICAL_ONE ? params.getAmount() : null);
         wOrder.setLoadTime(params.getType() == Global.NUMERICAL_ONE ? params.getOperateTime() : null);
-        wOrder.setUnloadUrls(params.getType() == Global.NUMERICAL_ONE ? params.getUrls() : null);
-        wOrder.setUnloadAmount(waybillOrder.getUnloadAmount());
+        wOrder.setLoadUrls(params.getType() == Global.NUMERICAL_ONE ? params.getUrls() : null);
+
+        wOrder.setUnloadAmount(params.getType() == Global.NUMERICAL_TWO ? params.getAmount() : null);
         wOrder.setUnloadTime(params.getType() == Global.NUMERICAL_TWO ? params.getOperateTime() : null);
-        wOrder.setLoadUrls(params.getType() == Global.NUMERICAL_TWO ? params.getUrls() : null);
+        wOrder.setUnloadUrls(params.getType() == Global.NUMERICAL_TWO ? params.getUrls() : null);
+
         wOrder.setDeficitAmount(waybillOrder.getDeficitAmount());
         wOrder.setDeficitPrice(waybillOrder.getDeficitPrice());
         editSckwWaybillOrder(wOrder, waybillOrder, Global.NUMERICAL_TWO);

+ 11 - 0
sckw-modules/sckw-transport/src/main/resources/mapper/KwtWaybillOrderAddressMapper.xml

@@ -165,4 +165,15 @@
             </if>
         </trim>
     </insert>
+
+    <select id="findByAddress" resultType="com.sckw.transport.model.KwtWaybillOrderAddress" >
+        select
+        id, w_order_id wOrderId, address_type addressType, `name`, `type`, contacts, phone, city_code cityCode, city_name cityName,
+        detail_address detailAddress, lat, lng, fence, entry_type entryType, remark, `status`, create_by createBy, create_time createTime,
+        update_by updateBy, update_time updateTime
+        from kwt_waybill_order_address
+        where del_flag = 0
+        and w_order_id = #{wOrderId, jdbcType=BIGINT}
+        and address_type = #{addressType, jdbcType=INTEGER}
+    </select>
 </mapper>