Explorar o código

Merge remote-tracking branch 'origin/master'

wangweiyu %!s(int64=4) %!d(string=hai) anos
pai
achega
48dc9e9a56

+ 10 - 1
src/main/java/com/aoyang/tms/common/ErrCodeEnum.java

@@ -81,9 +81,18 @@ public enum ErrCodeEnum {
     /**
      * 该卡车下已经有一个押运员
      */
-    ONLY_ONE_ESCORT(2314, "该卡车下已经有一个押运员"),
+    ONLY_ONE_ESCORT(2314, "该卡车已绑定一个押运员"),
 
     /**
+     * 此押运员已经绑定其他车辆
+     */
+    ESCORT_HAS_BIND(2316, "此押运员已经绑定其他车辆"),
+
+    /**
+     * 此车辆已经绑定押运员
+     */
+    TRUCK_HAS_BIND_ESCORT(2317, "此车辆已经绑定押运员"),
+    /**
      * 该卡车下已经有一个押运员
      */
     EXECUTE_WEIGHT_ERROR(2315, "执行运单失败"),

+ 67 - 16
src/main/java/com/aoyang/tms/controller/TruckEscortController.java

@@ -7,7 +7,10 @@ import com.aoyang.tms.controller.param.TruckEscortAddParam;
 import com.aoyang.tms.controller.param.TruckEscortListParam;
 import com.aoyang.tms.entity.User;
 import com.aoyang.tms.entity.WorkSpot;
+import com.aoyang.tms.feign.result.Org;
 import com.aoyang.tms.service.CommonService;
+import com.aoyang.tms.service.TruckDriverService;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 import org.springframework.web.bind.annotation.RestController;
@@ -48,6 +51,8 @@ public class TruckEscortController {
     private TruckEscortService truckEscortService;
     @Resource
     private CommonService commonService;
+    @Resource
+    private TruckDriverService truckDriverService;
 
 
     @ApiOperation(value = "获取车辆押运员分页列表", notes = "必传参数:orgId选填参数:keyWord(查escortName,mobile)")
@@ -70,13 +75,43 @@ public class TruckEscortController {
         return new Result<>(truckEscortService.list(param));
     }
 
+    @ApiOperation(value = "车辆绑定押运员", notes = "必传参数:truckId")
+    @PostMapping("/bind_truck")
+    public Result bind(@RequestHeader(value = "userId") Long userId,
+                         @RequestHeader(value = "userName") String userName, @RequestHeader(value = "orgId") Long orgId,
+                         @RequestBody TruckEscort param) {
+        log.info("车辆绑定押运员,调用/tms/truck_escort/bind_truck,参数:{}", JSON.toJSONString(param));
+        if (param == null || param.getTruckId() == null) {
+            return new Result<>(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
+        }
+        String utf8Name = userName;
+        try {
+            utf8Name = URLDecoder.decode(userName, "UTF-8");
+        } catch (UnsupportedEncodingException ignored) {
+        }
+
+        param.setOrgId(orgId);
+        Org org = commonService.findOrg(orgId);
+        if (org != null) {
+            param.setOrgName(org.getOrgName());
+        }
+        param.setCreater(userId);
+        param.setCreaterName(utf8Name);
+        param.setCreateDate(LocalDateTime.now());
+        param.setUpdater(userId);
+        param.setUpdaterName(utf8Name);
+        param.setUpdateDate(LocalDateTime.now());
+
+        return new Result<>(truckEscortService.bindTruck(param));
+    }
+
     @ApiOperation(value = "添加车辆押运员", notes = "必传参数:orgId,escortName,mobile")
     @PostMapping("/add")
     public Result add(@RequestHeader(value = "userId") Long userId,
-                      @RequestHeader(value = "userName") String userName,
+                      @RequestHeader(value = "userName") String userName, @RequestHeader(value = "orgId") Long orgId,
                       @RequestBody TruckEscortAddParam param) {
         log.info("添加车辆押运员,调用/tms/truck_escort/add,参数:{}", JSON.toJSONString(param));
-        if (param == null || param.getOrgId() == null || param.getEscortName() == null || param.getMobile() == null) {
+        if (param == null || param.getTruckId() == null || param.getEscortName() == null || param.getMobile() == null) {
             return new Result<>(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
         }
         String utf8Name = userName;
@@ -89,14 +124,13 @@ public class TruckEscortController {
         param.setCreaterName(utf8Name);
         param.setCreateDate(LocalDateTime.now());
 
-        if (param.getTruckId() != null) {
-            TruckEscortListParam truckEscortListParam = new TruckEscortListParam();
-            truckEscortListParam.setTruckId(param.getTruckId());
-            List<TruckEscort> list = truckEscortService.list(truckEscortListParam);
-            if (list != null && list.size() > 0) {
-                return new Result<>(ErrCodeEnum.ONLY_ONE_ESCORT.getCode(), ErrCodeEnum.ONLY_ONE_ESCORT.getMessage());
-
-            }
+        TruckEscortListParam truckEscortListParam = new TruckEscortListParam();
+        truckEscortListParam.setTruckId(param.getTruckId());
+        log.info("添加车辆押运员,调用/tms/truck_escort/add,truckEscortListParam参数:{}", JSON.toJSONString(truckEscortListParam));
+        List<TruckEscort> list = truckEscortService.list(truckEscortListParam);
+        log.info("添加车辆押运员,调用/tms/truck_escort/add,结果list:{}", JSON.toJSONString(list));
+        if (list != null && list.size() > 0) {
+            return new Result<>(ErrCodeEnum.ONLY_ONE_ESCORT.getCode(), ErrCodeEnum.ONLY_ONE_ESCORT.getMessage());
         }
 
         return new Result<>(truckEscortService.add(param));
@@ -105,7 +139,7 @@ public class TruckEscortController {
     @ApiOperation(value = "修改车辆押运员", notes = "必传参数:EscortId")
     @PostMapping("/update")
     public Result update(@RequestHeader(value = "userId") Long userId,
-                         @RequestHeader(value = "userName") String userName,
+                         @RequestHeader(value = "userName") String userName, @RequestHeader(value = "orgId") Long orgId,
                          @RequestBody TruckEscort param) {
         log.info("修改车辆押运员,调用/tms/truck_escort/update,参数:{}", JSON.toJSONString(param));
         if (param == null || param.getEscortId() == null) {
@@ -116,15 +150,26 @@ public class TruckEscortController {
             utf8Name = URLDecoder.decode(userName, "UTF-8");
         } catch (UnsupportedEncodingException ignored) {
         }
+
+        param.setOrgId(orgId);
+        Org org = commonService.findOrg(orgId);
+        if (org != null) {
+            param.setOrgName(org.getOrgName());
+        }
+        param.setCreater(userId);
+        param.setCreaterName(utf8Name);
+        param.setCreateDate(LocalDateTime.now());
         param.setUpdater(userId);
         param.setUpdaterName(utf8Name);
         param.setUpdateDate(LocalDateTime.now());
 
         if (param.getTruckId() != null) {
-            TruckEscortListParam truckEscortListParam = new TruckEscortListParam();
-            truckEscortListParam.setTruckId(param.getTruckId());
-            List<TruckEscort> list = truckEscortService.list(truckEscortListParam);
-            if (list != null && list.size() > 0) {
+            TruckEscort truckEscortParam = new TruckEscort();
+            truckEscortParam.setTruckId(param.getTruckId());
+            TruckEscort truckEscort = truckEscortService.findTruckEscort(truckEscortParam);
+            log.info("修改车辆押运员,调用/tms/truck_escort/update,truckEscortParam:{},结果truckEscort:{}", JSON.toJSONString(truckEscortParam), JSON.toJSONString(truckEscort));
+
+            if (truckEscort != null && !truckEscort.getEscortId().equals(param.getEscortId())) {
                 return new Result<>(ErrCodeEnum.ONLY_ONE_ESCORT.getCode(), ErrCodeEnum.ONLY_ONE_ESCORT.getMessage());
 
             }
@@ -139,7 +184,13 @@ public class TruckEscortController {
         if (param == null || param.getEscortId() == null) {
             return new Result<>(ErrCodeEnum.BAD_PARAM.getCode(), ErrCodeEnum.BAD_PARAM.getMessage());
         }
-        commonService.deleteUser(param.getEscortId());
+
+        boolean delEscort = commonService.deleteUser(param.getEscortId());
+        log.info("删除车辆押运员,调用/tms/truck_escort/delete, commonService deleteUser参数:{},结果:{}", JSON.toJSONString(param), JSON.toJSONString(delEscort));
+
+        boolean delTD = truckDriverService.delete(param.getEscortId());
+        log.info("删除车辆押运员,调用/tms/truck_escort/delete,truckDriverService delete参数:{},结果:{}", JSON.toJSONString(param), JSON.toJSONString(delTD));
+
         return new Result<>(truckEscortService.removeById(param));
     }
 

+ 1 - 1
src/main/java/com/aoyang/tms/feign/UserFeignClient.java

@@ -26,7 +26,7 @@ public interface UserFeignClient {
     @PostMapping("/user/user/find_by_id")
     Result<User> find(@RequestBody IdParam idParam);
 
-    @PostMapping("/user/user/org/find")
+    @PostMapping("/user/org/find")
     Result<Org> findOrg(@RequestBody Org org);
 
 

+ 13 - 3
src/main/java/com/aoyang/tms/service/TruckDriverService.java

@@ -7,7 +7,7 @@ import java.util.List;
 
 /**
  * <p>
- *  服务类
+ * 服务类
  * </p>
  *
  * @author guoyong
@@ -16,11 +16,21 @@ import java.util.List;
 public interface TruckDriverService extends IService<TruckDriver> {
 
     /**
+     * @return
      * @Author guoyong
      * @Description 获取卡车下绑定的司机列表
-     * @Date  2022/4/21
+     * @Date 2022/4/21
      * @Param
-     * @return
      **/
     List<TruckDriver> findTruckDrivers(Long truckId);
+
+
+    /**
+     * @return
+     * @Author guoyong
+     * @Description 删除用户与车的关联
+     * @Date 2022/5/5
+     * @Param
+     **/
+    boolean delete( Long userId);
 }

+ 11 - 0
src/main/java/com/aoyang/tms/service/TruckEscortService.java

@@ -57,6 +57,17 @@ public interface TruckEscortService extends IService<TruckEscort> {
      **/
     boolean add(TruckEscortAddParam param);
 
+
+    /**
+     * @return
+     * @Author guoyong
+     * @Description 车辆绑定、解绑押运员
+     * @Date 2022/5/6
+     * @Param
+     **/
+    boolean bindTruck(TruckEscort param);
+
+
     /**
      * @return
      * @Author chengang

+ 2 - 0
src/main/java/com/aoyang/tms/service/impl/CommonServiceImpl.java

@@ -303,6 +303,7 @@ public class CommonServiceImpl implements CommonService {
     public User addUser(User user) {
         Result<User> result = userFeignClient.add(user.getCreater() + "", user);
         if (verifyResult(result)) {
+            log.info("CommonServiceImpl addUser result:{}", JSON.toJSONString(result));
             return result.getData();
         }
         return null;
@@ -311,6 +312,7 @@ public class CommonServiceImpl implements CommonService {
     @Override
     public Boolean updateUser(User user) {
         Result<Boolean> result = userFeignClient.update(user.getCreater() + "", user);
+        log.info("CommonServiceImpl updateUser result:{}", JSON.toJSONString(result));
         if (verifyResult(result)) {
             return result.getData();
         }

+ 10 - 2
src/main/java/com/aoyang/tms/service/impl/TruckDriverServiceImpl.java

@@ -13,7 +13,7 @@ import java.util.List;
 
 /**
  * <p>
- *  服务实现类
+ * 服务实现类
  * </p>
  *
  * @author guoyong
@@ -28,8 +28,16 @@ public class TruckDriverServiceImpl extends ServiceImpl<TruckDriverMapper, Truck
     @Override
     public List<TruckDriver> findTruckDrivers(Long truckId) {
         QueryWrapper<TruckDriver> queryWrapper = Wrappers.query();
-        queryWrapper.eq("truck_id",truckId);
+        queryWrapper.eq("truck_id", truckId);
         List<TruckDriver> list = truckDriverMapper.selectList(queryWrapper);
         return list;
     }
+
+    @Override
+    public boolean delete(Long driverId) {
+        QueryWrapper<TruckDriver> queryWrapper = Wrappers.query();
+        queryWrapper.eq("driver_id", driverId);
+        boolean flag = truckDriverMapper.delete(queryWrapper) > 0 ? true : false;
+        return flag;
+    }
 }

+ 60 - 10
src/main/java/com/aoyang/tms/service/impl/TruckEscortServiceImpl.java

@@ -4,12 +4,16 @@ import com.alibaba.fastjson.JSON;
 import com.aoyang.common.param.PageParam;
 import com.aoyang.tms.controller.param.TruckEscortAddParam;
 import com.aoyang.tms.controller.param.TruckEscortListParam;
+import com.aoyang.tms.entity.Truck;
+import com.aoyang.tms.entity.TruckDriver;
 import com.aoyang.tms.entity.TruckEscort;
 import com.aoyang.tms.entity.User;
 import com.aoyang.tms.mapper.TruckEscortMapper;
 import com.aoyang.tms.service.CommonService;
+import com.aoyang.tms.service.TruckDriverService;
 import com.aoyang.tms.service.TruckEscortService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -19,6 +23,8 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.security.acl.LastOwnerException;
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -58,6 +64,9 @@ public class TruckEscortServiceImpl extends ServiceImpl<TruckEscortMapper, Truck
         if (param.getOrgId() != null) {
             queryWrapper.eq("org_id", param.getOrgId());
         }
+        if (param.getEscortId() != null) {
+            queryWrapper.eq("escort_id", param.getEscortId());
+        }
         if (param.getTruckId() != null) {
             queryWrapper.eq("truck_id", param.getTruckId());
         }
@@ -82,6 +91,7 @@ public class TruckEscortServiceImpl extends ServiceImpl<TruckEscortMapper, Truck
     @Override
     public boolean add(TruckEscortAddParam param) {
         boolean flag = false;
+        //添加用户
         User user = new User();
         user.setBaseRole("driver");
         user.setUserType(2);
@@ -120,18 +130,58 @@ public class TruckEscortServiceImpl extends ServiceImpl<TruckEscortMapper, Truck
     }
 
     @Override
+    public boolean bindTruck(TruckEscort param) {
+        //解绑,更新truck_escort、删除truck_driver表
+        if (param.getEscortId() == null) {
+            LambdaUpdateWrapper<TruckEscort> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(TruckEscort::getTruckId, param.getTruckId());
+            updateWrapper.set(TruckEscort::getTruckId, null);
+            updateWrapper.set(TruckEscort::getCarNumber, null);
+            updateWrapper.set(TruckEscort::getUpdater, param.getUpdater());
+            updateWrapper.set(TruckEscort::getUpdaterName, param.getUpdaterName());
+            updateWrapper.set(TruckEscort::getUpdateDate, param.getUpdateDate());
+            boolean flag = truckEscortMapper.update(param, updateWrapper) > 0 ? true : false;
+            return flag;
+        } else {
+            LambdaUpdateWrapper<TruckEscort> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.eq(TruckEscort::getTruckId, param.getTruckId());
+            updateWrapper.set(TruckEscort::getTruckId, param.getTruckId());
+            updateWrapper.set(TruckEscort::getCarNumber, param.getCarNumber());
+            updateWrapper.set(TruckEscort::getUpdater, param.getUpdater());
+            updateWrapper.set(TruckEscort::getUpdaterName, param.getUpdaterName());
+            updateWrapper.set(TruckEscort::getUpdateDate, param.getUpdateDate());
+            boolean flag = truckEscortMapper.update(param, updateWrapper) > 0 ? true : false;
+            return flag;
+        }
+    }
+
+    @Override
     public boolean edit(TruckEscort param) {
-        if (param.getMobile() != null || param.getEscortName() != null) {
-            User user = new User();
-            if (param.getMobile() != null) {
-                user.setMobile(param.getMobile());
-            }
-            if (param.getEscortName() != null) {
-                user.setUserName(param.getEscortName());
-            }
-            commonService.updateUser(user);
+        log.info("修改押运员,edit,参数:{}", JSON.toJSONString(param));
+        User user = commonService.findUser(param.getEscortId());
+        user.setCreater(param.getUpdater());
+        user.setUserId(param.getEscortId());
+        if (param.getMobile() != null) {
+            user.setMobile(param.getMobile());
+        }
+        if (param.getEscortName() != null) {
+            user.setUserName(param.getEscortName());
         }
-        return updateById(param);
+        commonService.updateUser(user);
+
+        LambdaUpdateWrapper<TruckEscort> updateWrapper = new LambdaUpdateWrapper<>();
+        updateWrapper.eq(TruckEscort::getEscortId, param.getEscortId());
+        if (param.getTruckId() == null) {
+            updateWrapper.set(TruckEscort::getTruckId, null);
+        }
+        updateWrapper.set(TruckEscort::getEscortName, param.getEscortName());
+        updateWrapper.set(TruckEscort::getMobile, param.getMobile());
+        updateWrapper.set(TruckEscort::getCarNumber, param.getCarNumber());
+        updateWrapper.set(TruckEscort::getUpdater, param.getUpdater());
+        updateWrapper.set(TruckEscort::getUpdaterName, param.getUpdaterName());
+        updateWrapper.set(TruckEscort::getUpdateDate, param.getUpdateDate());
+        boolean flag = truckEscortMapper.update(param, updateWrapper) > 0 ? true : false;
+        return flag;
     }
 
     @Override