Commit d2cdb3774ecb5e4dd98693160586e16ed325fb6c
1 parent
4d94e096
feat: 新增派单下发,处理派单逻辑重构。
Showing
14 changed files
with
587 additions
and
113 deletions
trash-garbage/src/main/java/com/trash/garbage/controller/GarbageOrderController.java
| ... | ... | @@ -76,8 +76,8 @@ public class GarbageOrderController { |
| 76 | 76 | |
| 77 | 77 | @PutMapping("/update") |
| 78 | 78 | @Log(title = "修改订单状态", businessType = BusinessType.UPDATE) |
| 79 | - public Result<String> uploadOrder(@RequestBody OrderUpdateDto dto) { | |
| 80 | - return Result.OK(garOrderService.uploadOrder(dto)); | |
| 79 | + public Result<String> updateOrder(@RequestBody OrderUpdateDto dto) { | |
| 80 | + return Result.OK(garOrderService.updateOrder(dto)); | |
| 81 | 81 | } |
| 82 | 82 | |
| 83 | 83 | @PostMapping("/evaluate") |
| ... | ... | @@ -93,16 +93,21 @@ public class GarbageOrderController { |
| 93 | 93 | } |
| 94 | 94 | |
| 95 | 95 | @PutMapping("/dispatch") |
| 96 | - public Result<?> dispatchOrders(@RequestBody DispatchDto dto){ | |
| 96 | + public Result<?> dispatchOrders(@RequestBody DispatchDto dto) { | |
| 97 | 97 | garOrderService.dispatchOrder(dto); |
| 98 | 98 | return Result.OK(); |
| 99 | 99 | } |
| 100 | 100 | |
| 101 | 101 | @GetMapping("/queryDispatch/{orderId}") |
| 102 | - public Result<?> queryDispatch(@PathVariable("orderId") String orderId){ | |
| 102 | + public Result<?> queryDispatch(@PathVariable("orderId") String orderId) { | |
| 103 | 103 | return Result.OK(garOrderService.queryDispatch(orderId)); |
| 104 | 104 | } |
| 105 | 105 | |
| 106 | + @GetMapping("/queryOrderHandlerStatus/{orderId}") | |
| 107 | + public Result<?> queryOrderHandlerStatus(@PathVariable("orderId") String orderId) { | |
| 108 | + return Result.OK(garOrderService.queryOrderHandlerStatus(orderId)); | |
| 109 | + } | |
| 110 | + | |
| 106 | 111 | |
| 107 | 112 | @PostMapping("/upload/imageUrl") |
| 108 | 113 | public Result<?> uploadImageUrlByType(@RequestBody UploadDto dto) { | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/mapper/GarOrderMapper.java
| ... | ... | @@ -2,6 +2,7 @@ package com.trash.garbage.mapper; |
| 2 | 2 | |
| 3 | 3 | import com.trash.garbage.pojo.domain.GarOrder; |
| 4 | 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| 5 | +import com.trash.garbage.pojo.vo.GarOrderDriverVo; | |
| 5 | 6 | import org.apache.ibatis.annotations.Param; |
| 6 | 7 | |
| 7 | 8 | import java.util.List; |
| ... | ... | @@ -16,7 +17,9 @@ public interface GarOrderMapper extends BaseMapper<GarOrder> { |
| 16 | 17 | |
| 17 | 18 | List<GarOrder> queryCleanNumberByEnterpriseIds(@Param("list") List<Long> enterpriseIds,@Param("status") Integer value); |
| 18 | 19 | |
| 19 | - List<GarOrder> queryOrderListByTelWithType(@Param("garUserTel") String garUserTel, @Param("type") Integer type,@Param("cancelFlag") Integer value); | |
| 20 | + List<GarOrderDriverVo> queryOrderListByTelWithType(@Param("garUserTel") String garUserTel, @Param("type") Integer type, @Param("cancelFlag") Integer cancelFlag); | |
| 21 | + | |
| 22 | + GarOrderDriverVo queryOrderByTelWithType(@Param("garUserTel") String garUserTel, @Param("orderId") String orderId, @Param("cancelFlag") Integer value); | |
| 20 | 23 | } |
| 21 | 24 | |
| 22 | 25 | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/mapper/GarOrderMatchHandlerMapper.java
| 1 | 1 | package com.trash.garbage.mapper; |
| 2 | 2 | |
| 3 | -import com.trash.garbage.pojo.domain.GarOrderMatchHandler; | |
| 3 | + | |
| 4 | 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| 5 | +import com.trash.garbage.pojo.domain.GarOrderMatchHandler; | |
| 6 | +import com.trash.garbage.pojo.vo.DispatchDriverVo; | |
| 7 | +import org.apache.ibatis.annotations.Param; | |
| 8 | + | |
| 9 | +import java.util.List; | |
| 5 | 10 | |
| 6 | 11 | /** |
| 7 | 12 | * @author 20412 |
| ... | ... | @@ -11,6 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| 11 | 16 | */ |
| 12 | 17 | public interface GarOrderMatchHandlerMapper extends BaseMapper<GarOrderMatchHandler> { |
| 13 | 18 | |
| 19 | + List<DispatchDriverVo> queryDriverListWithDispatchStatus(@Param("orderId") String orderId, @Param("companyId") Long id); | |
| 14 | 20 | } |
| 15 | 21 | |
| 16 | 22 | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrderMatchHandler.java
| ... | ... | @@ -6,9 +6,10 @@ import com.baomidou.mybatisplus.annotation.TableId; |
| 6 | 6 | import com.baomidou.mybatisplus.annotation.TableName; |
| 7 | 7 | import java.io.Serializable; |
| 8 | 8 | import java.util.Date; |
| 9 | -import java.util.Objects; | |
| 10 | 9 | |
| 11 | 10 | import lombok.Data; |
| 11 | +import org.apache.commons.lang3.builder.EqualsBuilder; | |
| 12 | +import org.apache.commons.lang3.builder.HashCodeBuilder; | |
| 12 | 13 | |
| 13 | 14 | /** |
| 14 | 15 | * 派单分发处理表 |
| ... | ... | @@ -86,9 +87,21 @@ public class GarOrderMatchHandler implements Serializable { |
| 86 | 87 | /** |
| 87 | 88 | * |
| 88 | 89 | */ |
| 89 | - private String garRemark; | |
| 90 | + private String garReason; | |
| 90 | 91 | |
| 91 | 92 | private Integer garCancelFlag; |
| 93 | + /** | |
| 94 | + * 分配车号 | |
| 95 | + */ | |
| 96 | + private String garHandlerCarCode; | |
| 97 | + | |
| 98 | + public String getGarHandlerCarCode() { | |
| 99 | + return garHandlerCarCode; | |
| 100 | + } | |
| 101 | + | |
| 102 | + public void setGarHandlerCarCode(String garHandlerCarCode) { | |
| 103 | + this.garHandlerCarCode = garHandlerCarCode; | |
| 104 | + } | |
| 92 | 105 | |
| 93 | 106 | public Integer getGarCancelFlag() { |
| 94 | 107 | return garCancelFlag; |
| ... | ... | @@ -197,26 +210,29 @@ public class GarOrderMatchHandler implements Serializable { |
| 197 | 210 | this.garUpdateBy = garUpdateBy; |
| 198 | 211 | } |
| 199 | 212 | |
| 200 | - public String getGarRemark() { | |
| 201 | - return garRemark; | |
| 213 | + public String getGarReason() { | |
| 214 | + return garReason; | |
| 202 | 215 | } |
| 203 | 216 | |
| 204 | - public void setGarRemark(String garRemark) { | |
| 205 | - this.garRemark = garRemark; | |
| 217 | + public void setGarReason(String garReason) { | |
| 218 | + this.garReason = garReason; | |
| 206 | 219 | } |
| 207 | 220 | |
| 208 | 221 | |
| 209 | 222 | @Override |
| 210 | 223 | public boolean equals(Object o) { |
| 211 | 224 | if (this == o) return true; |
| 225 | + | |
| 212 | 226 | if (o == null || getClass() != o.getClass()) return false; |
| 227 | + | |
| 213 | 228 | GarOrderMatchHandler that = (GarOrderMatchHandler) o; |
| 214 | - return Objects.equals(getGarId(), that.getGarId()) && Objects.equals(getGarOrderId(), that.getGarOrderId()) && Objects.equals(getGarOrderHandlerTel(), that.getGarOrderHandlerTel()) && Objects.equals(getGarOrderHandlerStatus(), that.getGarOrderHandlerStatus()) && Objects.equals(getGarOrderStatus(), that.getGarOrderStatus()) && Objects.equals(getGarOrderHandlerName(), that.getGarOrderHandlerName()) && Objects.equals(getGarOrderHandlerCompanyId(), that.getGarOrderHandlerCompanyId()) && Objects.equals(getGarOrderHandlerCompanyName(), that.getGarOrderHandlerCompanyName()) && Objects.equals(getGarCreateTime(), that.getGarCreateTime()) && Objects.equals(getGarUpdateTime(), that.getGarUpdateTime()) && Objects.equals(getGarCreateBy(), that.getGarCreateBy()) && Objects.equals(getGarUpdateBy(), that.getGarUpdateBy()) && Objects.equals(getGarRemark(), that.getGarRemark()) && Objects.equals(getGarCancelFlag(), that.getGarCancelFlag()); | |
| 229 | + | |
| 230 | + return new EqualsBuilder().append(getGarId(), that.getGarId()).append(getGarOrderId(), that.getGarOrderId()).append(getGarOrderHandlerTel(), that.getGarOrderHandlerTel()).append(getGarOrderHandlerStatus(), that.getGarOrderHandlerStatus()).append(getGarOrderStatus(), that.getGarOrderStatus()).append(getGarOrderHandlerName(), that.getGarOrderHandlerName()).append(getGarOrderHandlerCompanyId(), that.getGarOrderHandlerCompanyId()).append(getGarOrderHandlerCompanyName(), that.getGarOrderHandlerCompanyName()).append(getGarCreateTime(), that.getGarCreateTime()).append(getGarUpdateTime(), that.getGarUpdateTime()).append(getGarCreateBy(), that.getGarCreateBy()).append(getGarUpdateBy(), that.getGarUpdateBy()).append(getGarReason(), that.getGarReason()).append(getGarCancelFlag(), that.getGarCancelFlag()).append(getGarHandlerCarCode(), that.getGarHandlerCarCode()).isEquals(); | |
| 215 | 231 | } |
| 216 | 232 | |
| 217 | 233 | @Override |
| 218 | 234 | public int hashCode() { |
| 219 | - return Objects.hash(getGarId(), getGarOrderId(), getGarOrderHandlerTel(), getGarOrderHandlerStatus(), getGarOrderStatus(), getGarOrderHandlerName(), getGarOrderHandlerCompanyId(), getGarOrderHandlerCompanyName(), getGarCreateTime(), getGarUpdateTime(), getGarCreateBy(), getGarUpdateBy(), getGarRemark(), getGarCancelFlag()); | |
| 235 | + return new HashCodeBuilder(17, 37).append(getGarId()).append(getGarOrderId()).append(getGarOrderHandlerTel()).append(getGarOrderHandlerStatus()).append(getGarOrderStatus()).append(getGarOrderHandlerName()).append(getGarOrderHandlerCompanyId()).append(getGarOrderHandlerCompanyName()).append(getGarCreateTime()).append(getGarUpdateTime()).append(getGarCreateBy()).append(getGarUpdateBy()).append(getGarReason()).append(getGarCancelFlag()).append(getGarHandlerCarCode()).toHashCode(); | |
| 220 | 236 | } |
| 221 | 237 | |
| 222 | 238 | @Override |
| ... | ... | @@ -234,8 +250,9 @@ public class GarOrderMatchHandler implements Serializable { |
| 234 | 250 | ", garUpdateTime=" + garUpdateTime + |
| 235 | 251 | ", garCreateBy='" + garCreateBy + '\'' + |
| 236 | 252 | ", garUpdateBy='" + garUpdateBy + '\'' + |
| 237 | - ", garRemark='" + garRemark + '\'' + | |
| 253 | + ", garRemark='" + garReason + '\'' + | |
| 238 | 254 | ", garCancelFlag=" + garCancelFlag + |
| 255 | + ", garHandlerCarCode='" + garHandlerCarCode + '\'' + | |
| 239 | 256 | '}'; |
| 240 | 257 | } |
| 241 | 258 | } |
| 242 | 259 | \ No newline at end of file | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/pojo/dto/DispatchDto.java
| 1 | 1 | package com.trash.garbage.pojo.dto; |
| 2 | 2 | |
| 3 | 3 | import lombok.Data; |
| 4 | +import org.apache.commons.lang3.builder.EqualsBuilder; | |
| 5 | +import org.apache.commons.lang3.builder.HashCodeBuilder; | |
| 4 | 6 | |
| 5 | 7 | import java.util.List; |
| 6 | 8 | |
| 7 | 9 | @Data |
| 8 | 10 | public class DispatchDto { |
| 9 | 11 | private String garOrderId; |
| 10 | - private List<String> tel; | |
| 12 | + private List<DispatchDetail> dispatchList; | |
| 11 | 13 | |
| 14 | + | |
| 15 | + @Data | |
| 16 | + public static class DispatchDetail{ | |
| 17 | + private String carCode; | |
| 18 | + private String tel; | |
| 19 | + private String name; | |
| 20 | + | |
| 21 | + public String getCarCode() { | |
| 22 | + return carCode; | |
| 23 | + } | |
| 24 | + | |
| 25 | + public void setCarCode(String carCode) { | |
| 26 | + this.carCode = carCode; | |
| 27 | + } | |
| 28 | + | |
| 29 | + public String getTel() { | |
| 30 | + return tel; | |
| 31 | + } | |
| 32 | + | |
| 33 | + public void setTel(String tel) { | |
| 34 | + this.tel = tel; | |
| 35 | + } | |
| 36 | + | |
| 37 | + public String getName() { | |
| 38 | + return name; | |
| 39 | + } | |
| 40 | + | |
| 41 | + public void setName(String name) { | |
| 42 | + this.name = name; | |
| 43 | + } | |
| 44 | + | |
| 45 | + @Override | |
| 46 | + public String toString() { | |
| 47 | + return "DispatchDetail{" + | |
| 48 | + "carCode='" + carCode + '\'' + | |
| 49 | + ", tel='" + tel + '\'' + | |
| 50 | + ", name='" + name + '\'' + | |
| 51 | + '}'; | |
| 52 | + } | |
| 53 | + | |
| 54 | + | |
| 55 | + @Override | |
| 56 | + public boolean equals(Object o) { | |
| 57 | + if (this == o) return true; | |
| 58 | + | |
| 59 | + if (o == null || getClass() != o.getClass()) return false; | |
| 60 | + | |
| 61 | + DispatchDetail that = (DispatchDetail) o; | |
| 62 | + | |
| 63 | + return new EqualsBuilder().append(getCarCode(), that.getCarCode()).append(getTel(), that.getTel()).append(getName(), that.getName()).isEquals(); | |
| 64 | + } | |
| 65 | + | |
| 66 | + @Override | |
| 67 | + public int hashCode() { | |
| 68 | + return new HashCodeBuilder(17, 37).append(getCarCode()).append(getTel()).append(getName()).toHashCode(); | |
| 69 | + } | |
| 70 | + } | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + public String getGarOrderId() { | |
| 75 | + return garOrderId; | |
| 76 | + } | |
| 77 | + | |
| 78 | + public void setGarOrderId(String garOrderId) { | |
| 79 | + this.garOrderId = garOrderId; | |
| 80 | + } | |
| 81 | + | |
| 82 | + public List<DispatchDetail> getDispatchList() { | |
| 83 | + return dispatchList; | |
| 84 | + } | |
| 85 | + | |
| 86 | + public void setDispatchList(List<DispatchDetail> dispatchList) { | |
| 87 | + this.dispatchList = dispatchList; | |
| 88 | + } | |
| 89 | + | |
| 90 | + | |
| 91 | + @Override | |
| 92 | + public String toString() { | |
| 93 | + return "DispatchDto{" + | |
| 94 | + "garOrderId='" + garOrderId + '\'' + | |
| 95 | + ", detailList=" + dispatchList + | |
| 96 | + '}'; | |
| 97 | + } | |
| 98 | + | |
| 99 | + @Override | |
| 100 | + public boolean equals(Object o) { | |
| 101 | + if (this == o) return true; | |
| 102 | + | |
| 103 | + if (o == null || getClass() != o.getClass()) return false; | |
| 104 | + | |
| 105 | + DispatchDto that = (DispatchDto) o; | |
| 106 | + | |
| 107 | + return new EqualsBuilder().append(getGarOrderId(), that.getGarOrderId()).append(getDispatchList(), that.getDispatchList()).isEquals(); | |
| 108 | + } | |
| 109 | + | |
| 110 | + @Override | |
| 111 | + public int hashCode() { | |
| 112 | + return new HashCodeBuilder(17, 37).append(getGarOrderId()).append(getDispatchList()).toHashCode(); | |
| 113 | + } | |
| 12 | 114 | } | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/pojo/vo/DispatchDriverVo.java
| ... | ... | @@ -3,49 +3,114 @@ package com.trash.garbage.pojo.vo; |
| 3 | 3 | import lombok.EqualsAndHashCode; |
| 4 | 4 | import lombok.ToString; |
| 5 | 5 | |
| 6 | +import java.util.List; | |
| 7 | + | |
| 6 | 8 | /** |
| 7 | 9 | * @author 20412 |
| 8 | 10 | */ |
| 9 | 11 | @ToString |
| 10 | 12 | @EqualsAndHashCode |
| 11 | 13 | public class DispatchDriverVo { |
| 12 | - private String name; | |
| 13 | - private String tel; | |
| 14 | 14 | |
| 15 | - private Boolean checked; | |
| 16 | 15 | |
| 16 | + /** | |
| 17 | + * 车牌号 | |
| 18 | + */ | |
| 17 | 19 | private String licensePlateNumber; |
| 20 | + /** | |
| 21 | + * 车辆类型 | |
| 22 | + */ | |
| 23 | + private String containerVolume; | |
| 18 | 24 | |
| 19 | - public String getLicensePlateNumber() { | |
| 20 | - return licensePlateNumber; | |
| 21 | - } | |
| 25 | + private List<Personnel> personnelInfo; | |
| 22 | 26 | |
| 23 | - public void setLicensePlateNumber(String licensePlateNumber) { | |
| 24 | - this.licensePlateNumber = licensePlateNumber; | |
| 27 | + /** | |
| 28 | + * 人员信息 | |
| 29 | + */ | |
| 30 | + @EqualsAndHashCode | |
| 31 | + public static class Personnel { | |
| 32 | + /** | |
| 33 | + * 姓名 | |
| 34 | + */ | |
| 35 | + private String name; | |
| 36 | + /** | |
| 37 | + * 手机号 | |
| 38 | + */ | |
| 39 | + private String tel; | |
| 40 | + | |
| 41 | + /** | |
| 42 | + * 是否选择 | |
| 43 | + */ | |
| 44 | + private Boolean checked; | |
| 45 | + | |
| 46 | + private String garHandlerCarCode; | |
| 47 | + | |
| 48 | + @Override | |
| 49 | + public String toString() { | |
| 50 | + return "Personnel{" + | |
| 51 | + "name='" + name + '\'' + | |
| 52 | + ", tel='" + tel + '\'' + | |
| 53 | + ", checked=" + checked + | |
| 54 | + ", garHandlerCarCode='" + garHandlerCarCode + '\'' + | |
| 55 | + '}'; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public String getGarHandlerCarCode() { | |
| 59 | + return garHandlerCarCode; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public void setGarHandlerCarCode(String garHandlerCarCode) { | |
| 63 | + this.garHandlerCarCode = garHandlerCarCode; | |
| 64 | + } | |
| 65 | + | |
| 66 | + public String getName() { | |
| 67 | + return name; | |
| 68 | + } | |
| 69 | + | |
| 70 | + public void setName(String name) { | |
| 71 | + this.name = name; | |
| 72 | + } | |
| 73 | + | |
| 74 | + public String getTel() { | |
| 75 | + return tel; | |
| 76 | + } | |
| 77 | + | |
| 78 | + public void setTel(String tel) { | |
| 79 | + this.tel = tel; | |
| 80 | + } | |
| 81 | + | |
| 82 | + public Boolean getChecked() { | |
| 83 | + return checked; | |
| 84 | + } | |
| 85 | + | |
| 86 | + public void setChecked(Boolean checked) { | |
| 87 | + this.checked = checked; | |
| 88 | + } | |
| 25 | 89 | } |
| 26 | 90 | |
| 27 | - public Boolean getChecked() { | |
| 28 | - return checked; | |
| 91 | + public List<Personnel> getPersonnelInfo() { | |
| 92 | + return personnelInfo; | |
| 29 | 93 | } |
| 30 | 94 | |
| 31 | - public void setChecked(Boolean checked) { | |
| 32 | - this.checked = checked; | |
| 95 | + public void setPersonnelInfo(List<Personnel> personnelInfo) { | |
| 96 | + this.personnelInfo = personnelInfo; | |
| 33 | 97 | } |
| 34 | 98 | |
| 35 | - public String getName() { | |
| 36 | - return name; | |
| 99 | + public String getContainerVolume() { | |
| 100 | + return containerVolume; | |
| 37 | 101 | } |
| 38 | 102 | |
| 39 | - public void setName(String name) { | |
| 40 | - this.name = name; | |
| 103 | + public void setContainerVolume(String containerVolume) { | |
| 104 | + this.containerVolume = containerVolume; | |
| 41 | 105 | } |
| 42 | 106 | |
| 43 | - public String getTel() { | |
| 44 | - return tel; | |
| 107 | + public String getLicensePlateNumber() { | |
| 108 | + return licensePlateNumber; | |
| 45 | 109 | } |
| 46 | 110 | |
| 47 | - public void setTel(String tel) { | |
| 48 | - this.tel = tel; | |
| 111 | + public void setLicensePlateNumber(String licensePlateNumber) { | |
| 112 | + this.licensePlateNumber = licensePlateNumber; | |
| 49 | 113 | } |
| 50 | 114 | |
| 115 | + | |
| 51 | 116 | } | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/pojo/vo/GarOrderDriverVo.java
0 → 100644
| 1 | +package com.trash.garbage.pojo.vo; | |
| 2 | + | |
| 3 | +import com.trash.garbage.pojo.domain.GarOrder; | |
| 4 | +import lombok.EqualsAndHashCode; | |
| 5 | + | |
| 6 | +/** | |
| 7 | + * 用于驾驶员的状态管理 | |
| 8 | + */ | |
| 9 | +@EqualsAndHashCode | |
| 10 | +public class GarOrderDriverVo extends GarOrder { | |
| 11 | + | |
| 12 | + /** | |
| 13 | + * gar_order_status 代表订单的全局状态 员order 的gar_order_handler_status 变为代表分发后驾驶员自己处理派单的状态 | |
| 14 | + */ | |
| 15 | + private Integer garOrderStatus; | |
| 16 | + | |
| 17 | + private String garHandlerCarCode; | |
| 18 | + | |
| 19 | + private Integer garCancelFlag; | |
| 20 | + | |
| 21 | + @Override | |
| 22 | + public String toString() { | |
| 23 | + return "GarOrderDriverVo{" + | |
| 24 | + "garOrderStatus=" + garOrderStatus + | |
| 25 | + ", garHandlerCarCode='" + garHandlerCarCode + '\'' + | |
| 26 | + ", garCancelFlag=" + garCancelFlag + | |
| 27 | + '}'; | |
| 28 | + } | |
| 29 | + | |
| 30 | + public String getGarHandlerCarCode() { | |
| 31 | + return garHandlerCarCode; | |
| 32 | + } | |
| 33 | + | |
| 34 | + public void setGarHandlerCarCode(String garHandlerCarCode) { | |
| 35 | + this.garHandlerCarCode = garHandlerCarCode; | |
| 36 | + } | |
| 37 | + | |
| 38 | + public Integer getGarOrderStatus() { | |
| 39 | + return garOrderStatus; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public void setGarOrderStatus(Integer garOrderStatus) { | |
| 43 | + this.garOrderStatus = garOrderStatus; | |
| 44 | + } | |
| 45 | + | |
| 46 | + @Override | |
| 47 | + public Integer getGarCancelFlag() { | |
| 48 | + return garCancelFlag; | |
| 49 | + } | |
| 50 | + | |
| 51 | + @Override | |
| 52 | + public void setGarCancelFlag(Integer garCancelFlag) { | |
| 53 | + this.garCancelFlag = garCancelFlag; | |
| 54 | + } | |
| 55 | +} | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/pojo/vo/OrderDetailVo.java
| ... | ... | @@ -123,6 +123,13 @@ public class OrderDetailVo { |
| 123 | 123 | */ |
| 124 | 124 | private Boolean handleFlag; |
| 125 | 125 | |
| 126 | + | |
| 127 | + private Integer garOrderMatchFlag; | |
| 128 | + | |
| 129 | + private Integer garOrderStatus; | |
| 130 | + | |
| 131 | + private String garHandlerCarCode; | |
| 132 | + | |
| 126 | 133 | public OrderDetailVo() { |
| 127 | 134 | this.currentImages = new ArrayList<>(); |
| 128 | 135 | this.putDownImages = new ArrayList<>(); |
| ... | ... | @@ -130,6 +137,65 @@ public class OrderDetailVo { |
| 130 | 137 | this.garHandlerEvaluateFlag = GlobalStatus.GarOrderStatus.EVALUATE_ORDER_NO.getValue(); |
| 131 | 138 | } |
| 132 | 139 | |
| 140 | + @Override | |
| 141 | + public String toString() { | |
| 142 | + return "OrderDetailVo{" + | |
| 143 | + "garCancelFlag=" + garCancelFlag + | |
| 144 | + ", garReason='" + garReason + '\'' + | |
| 145 | + ", garOrderHandlerId='" + garOrderHandlerId + '\'' + | |
| 146 | + ", garEvaluateFlag=" + garEvaluateFlag + | |
| 147 | + ", garHandlerEvaluateFlag=" + garHandlerEvaluateFlag + | |
| 148 | + ", garOrderHandleName='" + garOrderHandleName + '\'' + | |
| 149 | + ", garOrderHandleTel='" + garOrderHandleTel + '\'' + | |
| 150 | + ", garOrderAddress='" + garOrderAddress + '\'' + | |
| 151 | + ", currentImages=" + currentImages + | |
| 152 | + ", putOnImages=" + putOnImages + | |
| 153 | + ", putDownImages=" + putDownImages + | |
| 154 | + ", garOrderAddressDetails='" + garOrderAddressDetails + '\'' + | |
| 155 | + ", garOrderContactName='" + garOrderContactName + '\'' + | |
| 156 | + ", garOrderTrashType='" + garOrderTrashType + '\'' + | |
| 157 | + ", garCarInfoList=" + garCarInfoList + | |
| 158 | + ", garOrderHandlerStatus=" + garOrderHandlerStatus + | |
| 159 | + ", garCreateTime=" + garCreateTime + | |
| 160 | + ", garOrderContactTel='" + garOrderContactTel + '\'' + | |
| 161 | + ", garOrderCompanyId='" + garOrderCompanyId + '\'' + | |
| 162 | + ", garOrderCompanyName='" + garOrderCompanyName + '\'' + | |
| 163 | + ", garOrderCompanyTel='" + garOrderCompanyTel + '\'' + | |
| 164 | + ", garOrderAgreementTime='" + garOrderAgreementTime + '\'' + | |
| 165 | + ", garRemark='" + garRemark + '\'' + | |
| 166 | + ", handleFlag=" + handleFlag + | |
| 167 | + ", garOrderMatchFlag=" + garOrderMatchFlag + | |
| 168 | + ", garOrderStatus=" + garOrderStatus + | |
| 169 | + ", garHandlerCarCode='" + garHandlerCarCode + '\'' + | |
| 170 | + '}'; | |
| 171 | + } | |
| 172 | + | |
| 173 | + | |
| 174 | + public String getGarHandlerCarCode() { | |
| 175 | + return garHandlerCarCode; | |
| 176 | + } | |
| 177 | + | |
| 178 | + public void setGarHandlerCarCode(String garHandlerCarCode) { | |
| 179 | + this.garHandlerCarCode = garHandlerCarCode; | |
| 180 | + } | |
| 181 | + | |
| 182 | + public Integer getGarOrderStatus() { | |
| 183 | + return garOrderStatus; | |
| 184 | + } | |
| 185 | + | |
| 186 | + public void setGarOrderStatus(Integer garOrderStatus) { | |
| 187 | + this.garOrderStatus = garOrderStatus; | |
| 188 | + } | |
| 189 | + | |
| 190 | + | |
| 191 | + public Integer getGarOrderMatchFlag() { | |
| 192 | + return garOrderMatchFlag; | |
| 193 | + } | |
| 194 | + | |
| 195 | + public void setGarOrderMatchFlag(Integer garOrderMatchFlag) { | |
| 196 | + this.garOrderMatchFlag = garOrderMatchFlag; | |
| 197 | + } | |
| 198 | + | |
| 133 | 199 | public List<GarOrderCar> getGarCarInfoList() { |
| 134 | 200 | return garCarInfoList; |
| 135 | 201 | } | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderMatchHandlerService.java
| ... | ... | @@ -2,6 +2,10 @@ package com.trash.garbage.service; |
| 2 | 2 | |
| 3 | 3 | import com.trash.garbage.pojo.domain.GarOrderMatchHandler; |
| 4 | 4 | import com.baomidou.mybatisplus.extension.service.IService; |
| 5 | +import com.trash.garbage.pojo.vo.DispatchDriverVo; | |
| 6 | +import org.apache.ibatis.annotations.Param; | |
| 7 | + | |
| 8 | +import java.util.List; | |
| 5 | 9 | |
| 6 | 10 | /** |
| 7 | 11 | * @author 20412 |
| ... | ... | @@ -10,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService; |
| 10 | 14 | */ |
| 11 | 15 | public interface GarOrderMatchHandlerService extends IService<GarOrderMatchHandler> { |
| 12 | 16 | |
| 17 | + List<DispatchDriverVo> queryDriverListWithDispatchStatus(String orderId, Long companyId); | |
| 13 | 18 | } | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderService.java
| ... | ... | @@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo; |
| 5 | 5 | import com.trash.enterprise.domain.TransportationEnterprise; |
| 6 | 6 | import com.trash.garbage.pojo.domain.GarOrder; |
| 7 | 7 | import com.trash.garbage.pojo.domain.GarOrderEvaluate; |
| 8 | +import com.trash.garbage.pojo.domain.GarOrderMatchHandler; | |
| 8 | 9 | import com.trash.garbage.pojo.dto.*; |
| 9 | 10 | import com.trash.garbage.pojo.vo.DispatchDriverVo; |
| 10 | 11 | import com.trash.garbage.pojo.vo.OrderDetailVo; |
| ... | ... | @@ -47,7 +48,7 @@ public interface GarOrderService extends IService<GarOrder> { |
| 47 | 48 | * @param dto |
| 48 | 49 | * @return |
| 49 | 50 | */ |
| 50 | - String uploadOrder(OrderUpdateDto dto); | |
| 51 | + String updateOrder(OrderUpdateDto dto); | |
| 51 | 52 | |
| 52 | 53 | /** |
| 53 | 54 | * 上传图片url执行图片type |
| ... | ... | @@ -71,4 +72,6 @@ public interface GarOrderService extends IService<GarOrder> { |
| 71 | 72 | void dispatchOrder(DispatchDto dto); |
| 72 | 73 | |
| 73 | 74 | List<DispatchDriverVo> queryDispatch(String orderId); |
| 75 | + | |
| 76 | + List<GarOrderMatchHandler> queryOrderHandlerStatus(String orderId); | |
| 74 | 77 | } | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderMatchHandlerServiceImpl.java
| 1 | 1 | package com.trash.garbage.service.impl; |
| 2 | 2 | |
| 3 | 3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| 4 | +import com.trash.garbage.mapper.GarOrderMatchHandlerMapper; | |
| 4 | 5 | import com.trash.garbage.pojo.domain.GarOrderMatchHandler; |
| 6 | +import com.trash.garbage.pojo.vo.DispatchDriverVo; | |
| 5 | 7 | import com.trash.garbage.service.GarOrderMatchHandlerService; |
| 6 | -import com.trash.garbage.mapper.GarOrderMatchHandlerMapper; | |
| 7 | 8 | import org.springframework.stereotype.Service; |
| 8 | 9 | |
| 10 | +import java.util.List; | |
| 11 | + | |
| 9 | 12 | /** |
| 10 | -* @author 20412 | |
| 11 | -* @description 针对表【gar_order_match_handler(派单分发处理表)】的数据库操作Service实现 | |
| 12 | -* @createDate 2024-01-09 14:26:09 | |
| 13 | -*/ | |
| 13 | + * @author 20412 | |
| 14 | + * @description 针对表【gar_order_match_handler(派单分发处理表)】的数据库操作Service实现 | |
| 15 | + * @createDate 2024-01-09 14:26:09 | |
| 16 | + */ | |
| 14 | 17 | @Service |
| 15 | 18 | public class GarOrderMatchHandlerServiceImpl extends ServiceImpl<GarOrderMatchHandlerMapper, GarOrderMatchHandler> |
| 16 | - implements GarOrderMatchHandlerService{ | |
| 19 | + implements GarOrderMatchHandlerService { | |
| 17 | 20 | |
| 21 | + @Override | |
| 22 | + public List<DispatchDriverVo> queryDriverListWithDispatchStatus(String orderId, Long id) { | |
| 23 | + return baseMapper.queryDriverListWithDispatchStatus(orderId, id); | |
| 24 | + } | |
| 18 | 25 | } |
| 19 | 26 | |
| 20 | 27 | ... | ... |
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderServiceImpl.java
| ... | ... | @@ -10,6 +10,7 @@ import com.trash.garbage.global.ResultCode; |
| 10 | 10 | import com.trash.garbage.pojo.domain.*; |
| 11 | 11 | import com.trash.garbage.pojo.dto.*; |
| 12 | 12 | import com.trash.garbage.pojo.vo.DispatchDriverVo; |
| 13 | +import com.trash.garbage.pojo.vo.GarOrderDriverVo; | |
| 13 | 14 | import com.trash.garbage.pojo.vo.TransportationEnterpriseVo; |
| 14 | 15 | import com.trash.garbage.service.*; |
| 15 | 16 | import org.apache.commons.lang3.StringUtils; |
| ... | ... | @@ -111,12 +112,58 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 111 | 112 | |
| 112 | 113 | @Override |
| 113 | 114 | public OrderDetailVo queryOrderDetail(String id) { |
| 114 | - GarOrder order = this.getById(id); | |
| 115 | + | |
| 115 | 116 | GarUser user = garUserService.getById(SecurityUtils.getLoginUser().getUser().getUserId()); |
| 117 | + if (user.getGarUserType().equals(GlobalStatus.GarUserStatusEnum.RESPONSIBLE_USER.getDescription()) | |
| 118 | + || user.getGarUserType().equals(GlobalStatus.GarUserStatusEnum.NORMAL_USER.getDescription())) { | |
| 119 | + return getOrderDetailVoResponsible(id, user); | |
| 120 | + } | |
| 121 | + // TODO 订单分发获取 处理人员 | |
| 122 | + if (user.getGarUserType().equals(GlobalStatus.GarUserStatusEnum.DRIVER_USER.getDescription())) { | |
| 123 | + return getOrderDetailVoDriver(id, user); | |
| 124 | + } | |
| 125 | + throw new BizException(ResultCode.CODE_500, "没有当前角色"); | |
| 126 | + } | |
| 127 | + | |
| 128 | + private OrderDetailVo getOrderDetailVoDriver(String orderId, GarUser user) { | |
| 129 | + LambdaQueryWrapper<GarOrderImage> qwi = new LambdaQueryWrapper<>(); | |
| 130 | + qwi.eq(GarOrderImage::getGarOrderId, orderId) | |
| 131 | + .eq(GarOrderImage::getGarCreateBy, user.getGarUserId()); | |
| 132 | + OrderDetailVo vo = new OrderDetailVo(); | |
| 133 | + GarOrderDriverVo orderVo = baseMapper.queryOrderByTelWithType(user.getGarUserTel(), orderId, GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue()); | |
| 134 | + vo.setHandleFlag(true); | |
| 135 | + BeanUtils.copyBeanProp(vo, orderVo); | |
| 136 | + // 获取图片 | |
| 137 | + List<GarOrderImage> imageAll = new ArrayList<>(); | |
| 138 | + List<GarOrderImage> currentImageList = garOrderImageService.list(new LambdaQueryWrapper<GarOrderImage>() | |
| 139 | + .eq(GarOrderImage::getGarOrderId, orderId) | |
| 140 | + .eq(GarOrderImage::getGarOrderImageType, GlobalStatus.GarOrderStatus.IMAGE_TYPE_CURRENT.getValue())); | |
| 141 | + imageAll.addAll(garOrderImageService.list(qwi)); | |
| 142 | + imageAll.addAll(currentImageList); | |
| 143 | + for (GarOrderImage image : imageAll) { | |
| 144 | + if (GlobalStatus.GarOrderStatus.IMAGE_TYPE_CURRENT.getValue().equals(image.getGarOrderImageType())) { | |
| 145 | + vo.getCurrentImages().add(image.getGarOrderImageUrl()); | |
| 146 | + } | |
| 147 | + if (GlobalStatus.GarOrderStatus.IMAGE_TYPE_PUT_ON.getValue().equals(image.getGarOrderImageType())) { | |
| 148 | + vo.getPutOnImages().add(image.getGarOrderImageUrl()); | |
| 149 | + } | |
| 150 | + if (GlobalStatus.GarOrderStatus.IMAGE_TYPE_PUT_DOWN.getValue().equals(image.getGarOrderImageType())) { | |
| 151 | + vo.getPutDownImages().add(image.getGarOrderImageUrl()); | |
| 152 | + } | |
| 153 | + } | |
| 154 | + // 获取车辆信息 | |
| 155 | + LambdaQueryWrapper<GarOrderCar> qwc = new LambdaQueryWrapper<>(); | |
| 156 | + qwc.eq(GarOrderCar::getGarOrderId, orderVo.getGarOrderId()); | |
| 157 | + List<GarOrderCar> carList = garOrderCarService.list(qwc); | |
| 158 | + vo.setGarCarInfoList(carList); | |
| 159 | + return vo; | |
| 160 | + } | |
| 161 | + | |
| 162 | + private OrderDetailVo getOrderDetailVoResponsible(String id, GarUser user) { | |
| 163 | + GarOrder order = this.getById(id); | |
| 116 | 164 | LambdaQueryWrapper<GarOrderImage> qwi = new LambdaQueryWrapper<>(); |
| 117 | 165 | qwi.eq(GarOrderImage::getGarOrderId, id); |
| 118 | 166 | OrderDetailVo vo = new OrderDetailVo(); |
| 119 | -// List<DriverVo> driverVos = null; | |
| 120 | 167 | if (user.getGarUserType().equals(GlobalStatus.GarUserStatusEnum.RESPONSIBLE_USER.getDescription())) { |
| 121 | 168 | vo.setHandleFlag(true); |
| 122 | 169 | // 防止其他人员处理订单 |
| ... | ... | @@ -138,23 +185,11 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 138 | 185 | vo.getPutDownImages().add(image.getGarOrderImageUrl()); |
| 139 | 186 | } |
| 140 | 187 | } |
| 141 | - | |
| 142 | 188 | // 获取车辆信息 |
| 143 | 189 | LambdaQueryWrapper<GarOrderCar> qwc = new LambdaQueryWrapper<>(); |
| 144 | 190 | qwc.eq(GarOrderCar::getGarOrderId, order.getGarOrderId()); |
| 145 | 191 | List<GarOrderCar> carList = garOrderCarService.list(qwc); |
| 146 | 192 | vo.setGarCarInfoList(carList); |
| 147 | - // TODO 订单分发获取 处理人员 | |
| 148 | -// if (StringUtils.isNotEmpty(vo.getGarOrderHandlerId())) { | |
| 149 | -// GarUser handleUser = garUserService.getById(vo.getGarOrderHandlerId()); | |
| 150 | -// DriverVo driverVo = new DriverVo(); | |
| 151 | -// driverVo.setPhoneNo(handleUser.getGarUserTel()); | |
| 152 | -// driverVos = driverService.selectDriverList(driverVo); | |
| 153 | -// if (CollectionUtil.isNotEmpty(driverVos)) { | |
| 154 | -// vo.setGarOrderHandleName(driverVos.get(0).getName()); | |
| 155 | -// vo.setGarOrderHandleTel(driverVos.get(0).getPhoneNo()); | |
| 156 | -// } | |
| 157 | -// } | |
| 158 | 193 | return vo; |
| 159 | 194 | } |
| 160 | 195 | |
| ... | ... | @@ -178,6 +213,7 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 178 | 213 | PageInfo<GarOrder> pageInfo = new PageInfo<GarOrder>(orderList, pageSize); |
| 179 | 214 | return pageInfo; |
| 180 | 215 | } |
| 216 | + | |
| 181 | 217 | // 全部 |
| 182 | 218 | if (GlobalStatus.GarOrderStatus.ALL_ORDER.getValue().equals(type)) { |
| 183 | 219 | qw.eq(GarOrder::getGarOrderUserId, userId); |
| ... | ... | @@ -192,14 +228,14 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 192 | 228 | if (GlobalStatus.GarOrderStatus.NEW_ORDER.getValue().equals(type) |
| 193 | 229 | || GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue().equals(type) |
| 194 | 230 | || GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue().equals(type)) { |
| 195 | - List<GarOrder> orderList = baseMapper.queryOrderListByTelWithType(user.getGarUserTel(), type, GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue()); | |
| 196 | - PageInfo<GarOrder> pageInfo = new PageInfo<GarOrder>(orderList, pageSize); | |
| 231 | + List<GarOrderDriverVo> orderList = baseMapper.queryOrderListByTelWithType(user.getGarUserTel(), type, GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue()); | |
| 232 | + PageInfo<GarOrderDriverVo> pageInfo = new PageInfo<GarOrderDriverVo>(orderList, pageSize); | |
| 197 | 233 | return pageInfo; |
| 198 | 234 | } |
| 199 | 235 | // 全部 |
| 200 | 236 | if (GlobalStatus.GarOrderStatus.ALL_ORDER.getValue().equals(type)) { |
| 201 | - List<GarOrder> orderList = baseMapper.queryOrderListByTelWithType(user.getGarUserTel(), null, GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue()); | |
| 202 | - PageInfo<GarOrder> pageInfo = new PageInfo<GarOrder>(orderList, pageSize); | |
| 237 | + List<GarOrderDriverVo> orderList = baseMapper.queryOrderListByTelWithType(user.getGarUserTel(), null, GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue()); | |
| 238 | + PageInfo<GarOrderDriverVo> pageInfo = new PageInfo<GarOrderDriverVo>(orderList, pageSize); | |
| 203 | 239 | return pageInfo; |
| 204 | 240 | } |
| 205 | 241 | } |
| ... | ... | @@ -225,10 +261,59 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 225 | 261 | } |
| 226 | 262 | |
| 227 | 263 | @Override |
| 228 | - public String uploadOrder(OrderUpdateDto dto) { | |
| 229 | - GarOrder order = getById(dto.getGarOrderId()); | |
| 264 | + public String updateOrder(OrderUpdateDto dto) { | |
| 230 | 265 | String userId = SecurityUtils.getLoginUser().getUser().getUserId(); |
| 231 | 266 | GarUser user = garUserService.getById(userId); |
| 267 | + // 处理用户派单 居民用户 | 企业负责人 | |
| 268 | + if (user.getGarUserType().equals(GlobalStatus.GarUserStatusEnum.RESPONSIBLE_USER.getDescription()) | |
| 269 | + || user.getGarUserType().equals(GlobalStatus.GarUserStatusEnum.NORMAL_USER.getDescription())) { | |
| 270 | + return handlerOrderStatus(dto, user); | |
| 271 | + } | |
| 272 | + // 处理分发派单 驾驶员 | |
| 273 | + else if (user.getGarUserType().equals(GlobalStatus.GarUserStatusEnum.DRIVER_USER.getDescription())) { | |
| 274 | + return handlerDispatchOrderStatus(dto, user); | |
| 275 | + } | |
| 276 | + | |
| 277 | + throw new BizException(ResultCode.CODE_500); | |
| 278 | + | |
| 279 | + } | |
| 280 | + | |
| 281 | + private String handlerDispatchOrderStatus(OrderUpdateDto dto, GarUser user) { | |
| 282 | +// GarOrder order = getById(dto.getGarOrderId()); | |
| 283 | + GarOrderDriverVo order = baseMapper.queryOrderByTelWithType(user.getGarUserTel(), dto.getGarOrderId(), GlobalStatus.GarOrderStatus.CANCEL_FLAG_NO.getValue()); | |
| 284 | + // 取消订单 | |
| 285 | + if (GlobalStatus.GarOrderStatus.CANCEL_FLAG_YES.getValue().equals(dto.getGarCancelFlag())) { | |
| 286 | + LambdaUpdateWrapper<GarOrderMatchHandler> uw = new LambdaUpdateWrapper<>(); | |
| 287 | + uw.set(GarOrderMatchHandler::getGarCancelFlag, dto.getGarCancelFlag()) | |
| 288 | + .set(GarOrderMatchHandler::getGarReason, dto.getGarReason()) | |
| 289 | + .eq(GarOrderMatchHandler::getGarOrderId, dto.getGarOrderId()); | |
| 290 | + handlerService.update(uw); | |
| 291 | + return "已取消派单"; | |
| 292 | + } else { | |
| 293 | + // 公司所属 待清运- 》 清运中 | |
| 294 | + if (order.getGarOrderHandlerStatus().equals(GlobalStatus.GarOrderStatus.NEW_ORDER.getValue()) | |
| 295 | + || GlobalStatus.GarOrderStatus.NEW_ORDER.getValue().equals(dto.getHandleType())) { | |
| 296 | + LambdaUpdateWrapper<GarOrderMatchHandler> uw = new LambdaUpdateWrapper<>(); | |
| 297 | + uw.eq(GarOrderMatchHandler::getGarOrderId, dto.getGarOrderId()) | |
| 298 | + .set(GarOrderMatchHandler::getGarOrderStatus, GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue()) | |
| 299 | + .set(GarOrderMatchHandler::getGarOrderHandlerTel, user.getGarUserTel()); | |
| 300 | + handlerService.update(uw); | |
| 301 | + return "已接受派单"; | |
| 302 | + } | |
| 303 | + // 运输驾驶员 清运中 ==》已完成 | |
| 304 | + if (GlobalStatus.GarOrderStatus.ACTIVE_ORDER.getValue().equals(order.getGarOrderHandlerStatus()) | |
| 305 | + && GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue().equals(dto.getHandleType())) { | |
| 306 | + LambdaUpdateWrapper<GarOrderMatchHandler> uw = new LambdaUpdateWrapper<>(); | |
| 307 | + uw.eq(GarOrderMatchHandler::getGarOrderId, dto.getGarOrderId()) | |
| 308 | + .set(GarOrderMatchHandler::getGarOrderStatus, GlobalStatus.GarOrderStatus.SUCCESS_ORDER.getValue()); | |
| 309 | + handlerService.update(uw); | |
| 310 | + } | |
| 311 | + return "派单已完成"; | |
| 312 | + } | |
| 313 | + } | |
| 314 | + | |
| 315 | + private String handlerOrderStatus(OrderUpdateDto dto, GarUser user) { | |
| 316 | + GarOrder order = getById(dto.getGarOrderId()); | |
| 232 | 317 | // 取消订单 |
| 233 | 318 | if (GlobalStatus.GarOrderStatus.CANCEL_FLAG_YES.getValue().equals(dto.getGarCancelFlag())) { |
| 234 | 319 | LambdaUpdateWrapper<GarOrder> uw = new LambdaUpdateWrapper<>(); |
| ... | ... | @@ -239,7 +324,7 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 239 | 324 | return "订单取消成功"; |
| 240 | 325 | } |
| 241 | 326 | // 企业负责人 TODO |
| 242 | - if (GlobalStatus.GarUserStatusEnum.RESPONSIBLE_USER.getDescription().equals(user.getGarUserType())) { | |
| 327 | + else { | |
| 243 | 328 | // 公司所属 待清运- 》 清运中 |
| 244 | 329 | if (order.getGarOrderHandlerStatus().equals(GlobalStatus.GarOrderStatus.NEW_ORDER.getValue()) |
| 245 | 330 | || GlobalStatus.GarOrderStatus.NEW_ORDER.getValue().equals(dto.getHandleType())) { |
| ... | ... | @@ -265,9 +350,6 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 265 | 350 | } |
| 266 | 351 | return "派单已完成"; |
| 267 | 352 | } |
| 268 | - throw new BizException(ResultCode.CODE_500); | |
| 269 | - | |
| 270 | -// return "什么都没发生"; | |
| 271 | 353 | } |
| 272 | 354 | |
| 273 | 355 | @Override |
| ... | ... | @@ -397,10 +479,12 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 397 | 479 | public void dispatchOrder(DispatchDto dto) { |
| 398 | 480 | // TODO |
| 399 | 481 | GarOrder order = getById(dto.getGarOrderId()); |
| 400 | - List<GarOrderMatchHandler> handlerList = new ArrayList<>(dto.getTel().size()); | |
| 401 | - for (String tel : dto.getTel()) { | |
| 482 | + List<GarOrderMatchHandler> handlerList = new ArrayList<>(dto.getDispatchList().size()); | |
| 483 | + for (DispatchDto.DispatchDetail detail : dto.getDispatchList()) { | |
| 402 | 484 | GarOrderMatchHandler handler = new GarOrderMatchHandler(); |
| 403 | - handler.setGarOrderHandlerTel(tel); | |
| 485 | + handler.setGarOrderHandlerTel(detail.getTel()); | |
| 486 | + handler.setGarOrderHandlerName(detail.getName()); | |
| 487 | + handler.setGarHandlerCarCode(detail.getCarCode()); | |
| 404 | 488 | handler.setGarCancelFlag(order.getGarCancelFlag()); |
| 405 | 489 | handler.setGarOrderId(order.getGarOrderId()); |
| 406 | 490 | handler.setGarOrderHandlerStatus(order.getGarOrderHandlerStatus()); |
| ... | ... | @@ -415,30 +499,30 @@ public class GarOrderServiceImpl extends ServiceImpl<GarOrderMapper, GarOrder> |
| 415 | 499 | } |
| 416 | 500 | |
| 417 | 501 | @Override |
| 502 | + @Transactional(rollbackFor = Exception.class) | |
| 418 | 503 | public List<DispatchDriverVo> queryDispatch(String orderId) { |
| 504 | + GarOrder order = getById(orderId); | |
| 505 | + order.setGarOrderMatchFlag(GlobalStatus.GarOrderStatus.MATCH_YES.getValue()); | |
| 506 | + updateById(order); | |
| 419 | 507 | String tel = SecurityUtils.getLoginUser().getUser().getPhonenumber(); |
| 420 | 508 | TransportationEnterprise enterprise = new TransportationEnterprise(); |
| 421 | 509 | enterprise.setServicePhone(tel); |
| 422 | 510 | List<TransportationEnterprise> enterprises = transportationEnterpriseService.selectTransportationEnterpriseList(enterprise); |
| 423 | - DriverVo vo = new DriverVo(); | |
| 424 | - vo.setCompanyId(enterprises.get(0).getId()); | |
| 425 | - List<DriverVo> driverList = iDriverService.selectDriverList(vo); | |
| 426 | 511 | // 选中的司机 |
| 427 | 512 | LambdaQueryWrapper<GarOrderMatchHandler> qw = new LambdaQueryWrapper<>(); |
| 428 | 513 | qw.eq(GarOrderMatchHandler::getGarOrderId, orderId); |
| 429 | - Map<String, GarOrderMatchHandler> handlerMap = handlerService.list(qw).stream().collect(Collectors.toMap(GarOrderMatchHandler::getGarOrderHandlerTel, item -> item)); | |
| 430 | - | |
| 431 | - List<DispatchDriverVo> voList = driverList.stream().map(item -> { | |
| 432 | - DispatchDriverVo dispatchVo = new DispatchDriverVo(); | |
| 433 | - dispatchVo.setName(item.getName()); | |
| 434 | - dispatchVo.setTel(item.getPhoneNo()); | |
| 435 | -// dispatchVo.setLicensePlateNumber(item.); | |
| 436 | -// dispatchVo.setChecked(); | |
| 437 | - return dispatchVo; | |
| 438 | - }).collect(Collectors.toList()); | |
| 514 | + List<DispatchDriverVo> voList = handlerService.queryDriverListWithDispatchStatus(orderId, enterprises.get(0).getId()); | |
| 439 | 515 | return voList; |
| 440 | 516 | } |
| 441 | 517 | |
| 518 | + @Override | |
| 519 | + public List<GarOrderMatchHandler> queryOrderHandlerStatus(String orderId) { | |
| 520 | + List<GarOrderMatchHandler> list = | |
| 521 | + handlerService.list(new LambdaQueryWrapper<GarOrderMatchHandler>() | |
| 522 | + .eq(GarOrderMatchHandler::getGarOrderId, orderId)); | |
| 523 | + return list; | |
| 524 | + } | |
| 525 | + | |
| 442 | 526 | private void handleCleanNumber(TransportationEnterpriseVo vo, List<GarOrder> orderList) { |
| 443 | 527 | Long cleanNumber = 0L; |
| 444 | 528 | for (GarOrder order : orderList) { | ... | ... |
trash-garbage/src/main/resources/mapper/GarOrderMapper.xml
| ... | ... | @@ -38,7 +38,7 @@ |
| 38 | 38 | gar_order_company_name,gar_order_company_tel,gar_order_handler_status, |
| 39 | 39 | gar_order_agreement_time,gar_create_time,gar_update_time, |
| 40 | 40 | gar_create_by,gar_update_by,gar_remark,gar_reason,gar_cancel_flag, |
| 41 | - gar_evaluate_flag,gar_order_car_number,gar_order_car_type,gar_handler_evaluate_flag,gar_order_match_flag | |
| 41 | + gar_evaluate_flag,gar_handler_evaluate_flag,gar_order_match_flag | |
| 42 | 42 | </sql> |
| 43 | 43 | <select id="queryCleanNumberByEnterpriseIds" resultType="com.trash.garbage.pojo.domain.GarOrder"> |
| 44 | 44 | select gar_order_company_id, count(gar_order_company_id) as count |
| ... | ... | @@ -50,18 +50,41 @@ |
| 50 | 50 | </foreach> |
| 51 | 51 | group by gar_order_company_id |
| 52 | 52 | </select> |
| 53 | - <select id="queryOrderListByTelWithType" resultType="com.trash.garbage.pojo.domain.GarOrder"> | |
| 54 | - select <include refid="Base_Column_List"></include> from gar_order | |
| 55 | - where gar_order_id in ( | |
| 56 | - select gar_order_id from gar_order_match_handler | |
| 57 | - where gar_order_handler_tel = #{garUserTel} | |
| 58 | - <if test="type != null"> | |
| 59 | - and gar_order_status = #{type} | |
| 60 | - </if> | |
| 61 | - <if test="cancelFlag != null"> | |
| 62 | - and gar_cancel_flag = #{cancelFlag} | |
| 63 | - </if> | |
| 64 | - ) | |
| 65 | - | |
| 53 | + <select id="queryOrderListByTelWithType" resultType="com.trash.garbage.pojo.vo.GarOrderDriverVo"> | |
| 54 | + SELECT | |
| 55 | + `order`.gar_order_id ,`order`.gar_order_user_id,`order`.gar_order_handler_id, | |
| 56 | + `order`.gar_order_address,`order`.gar_order_address_details,`order`.gar_order_contact_name, | |
| 57 | + `order`.gar_order_trash_type,`order`.gar_order_contact_tel,`order`.gar_order_company_id, | |
| 58 | + `order`.gar_order_company_name,`order`.gar_order_company_tel,`order`.gar_order_match_flag, | |
| 59 | + `order`.gar_order_agreement_time,`order`.gar_remark,`order`.gar_handler_evaluate_flag,`order`.gar_order_handler_status gar_order_status, | |
| 60 | + `handler`.gar_order_status gar_order_handler_status,`handler`.gar_cancel_flag,`handler`.gar_reason | |
| 61 | + FROM gar_order `order` | |
| 62 | + INNER JOIN gar_order_match_handler `handler` ON `order`.gar_order_id = `handler`.gar_order_id | |
| 63 | + <where> | |
| 64 | + `handler`.gar_order_handler_tel = #{garUserTel} | |
| 65 | + <if test="type != null"> | |
| 66 | + AND `handler`.gar_order_status = #{type} | |
| 67 | + </if> | |
| 68 | + <if test="cancelFlag != null"> | |
| 69 | + AND `handler`.gar_cancel_flag = #{cancelFlag} | |
| 70 | + </if> | |
| 71 | + </where> | |
| 72 | + </select> | |
| 73 | + <select id="queryOrderByTelWithType" resultType="com.trash.garbage.pojo.vo.GarOrderDriverVo"> | |
| 74 | + SELECT | |
| 75 | + `order`.gar_order_id ,`order`.gar_order_user_id,`order`.gar_order_handler_id, | |
| 76 | + `order`.gar_order_address,`order`.gar_order_address_details,`order`.gar_order_contact_name, | |
| 77 | + `order`.gar_order_trash_type,`order`.gar_order_contact_tel,`order`.gar_order_company_id, | |
| 78 | + `order`.gar_order_company_name,`order`.gar_order_company_tel,`order`.gar_order_match_flag, | |
| 79 | + `order`.gar_order_agreement_time,`order`.gar_remark,`order`.gar_handler_evaluate_flag,`order`.gar_order_handler_status gar_order_status, | |
| 80 | + `handler`.gar_order_status gar_order_handler_status,`handler`.gar_cancel_flag,`handler`.gar_reason,`handler`.gar_handler_car_code | |
| 81 | + FROM gar_order `order` | |
| 82 | + INNER JOIN gar_order_match_handler `handler` ON `order`.gar_order_id = `handler`.gar_order_id AND `order`.gar_order_id = #{orderId} | |
| 83 | + <where> | |
| 84 | + `handler`.gar_order_handler_tel = #{garUserTel} | |
| 85 | + <if test="cancelFlag != null"> | |
| 86 | + AND `handler`.gar_cancel_flag = #{cancelFlag} | |
| 87 | + </if> | |
| 88 | + </where> | |
| 66 | 89 | </select> |
| 67 | 90 | </mapper> | ... | ... |
trash-garbage/src/main/resources/mapper/GarOrderMatchHandlerMapper.xml
| ... | ... | @@ -2,28 +2,61 @@ |
| 2 | 2 | <!DOCTYPE mapper |
| 3 | 3 | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| 4 | 4 | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| 5 | -<mapper namespace="com.trash.garbage.pojo.domain.GarOrderMatchHandler"> | |
| 5 | +<mapper namespace="com.trash.garbage.mapper.GarOrderMatchHandlerMapper"> | |
| 6 | 6 | |
| 7 | 7 | <resultMap id="BaseResultMap" type="com.trash.garbage.pojo.domain.GarOrderMatchHandler"> |
| 8 | - <id property="garId" column="gar_id" jdbcType="VARCHAR"/> | |
| 9 | - <result property="garOrderId" column="gar_order_id" jdbcType="VARCHAR"/> | |
| 10 | - <result property="garOrderHandlerTel" column="gar_order_handler_tel" jdbcType="VARCHAR"/> | |
| 11 | - <result property="garOrderHandlerStatus" column="gar_order_handler_status" jdbcType="TINYINT"/> | |
| 12 | - <result property="garCancelFlag" column="gar_cancel_flag" jdbcType="TINYINT"/> | |
| 13 | - <result property="garOrderHandlerName" column="gar_order_handler_name" jdbcType="VARCHAR"/> | |
| 14 | - <result property="garOrderHandlerCompanyId" column="gar_order_handler_company_id" jdbcType="VARCHAR"/> | |
| 15 | - <result property="garOrderHandlerCompanyName" column="gar_order_handler_company_name" jdbcType="VARCHAR"/> | |
| 16 | - <result property="garCreateTime" column="gar_create_time" jdbcType="TIMESTAMP"/> | |
| 17 | - <result property="garUpdateTime" column="gar_update_time" jdbcType="TIMESTAMP"/> | |
| 18 | - <result property="garCreateBy" column="gar_create_by" jdbcType="VARCHAR"/> | |
| 19 | - <result property="garUpdateBy" column="gar_update_by" jdbcType="VARCHAR"/> | |
| 20 | - <result property="garRemark" column="gar_remark" jdbcType="VARCHAR"/> | |
| 8 | + <id property="garId" column="gar_id" jdbcType="VARCHAR"/> | |
| 9 | + <result property="garOrderId" column="gar_order_id" jdbcType="VARCHAR"/> | |
| 10 | + <result property="garOrderHandlerTel" column="gar_order_handler_tel" jdbcType="VARCHAR"/> | |
| 11 | + <result property="garOrderHandlerStatus" column="gar_order_handler_status" jdbcType="TINYINT"/> | |
| 12 | + <result property="garCancelFlag" column="gar_cancel_flag" jdbcType="TINYINT"/> | |
| 13 | + <result property="garOrderHandlerName" column="gar_order_handler_name" jdbcType="VARCHAR"/> | |
| 14 | + <result property="garOrderHandlerCompanyId" column="gar_order_handler_company_id" jdbcType="VARCHAR"/> | |
| 15 | + <result property="garOrderHandlerCompanyName" column="gar_order_handler_company_name" jdbcType="VARCHAR"/> | |
| 16 | + <result property="garCreateTime" column="gar_create_time" jdbcType="TIMESTAMP"/> | |
| 17 | + <result property="garUpdateTime" column="gar_update_time" jdbcType="TIMESTAMP"/> | |
| 18 | + <result property="garCreateBy" column="gar_create_by" jdbcType="VARCHAR"/> | |
| 19 | + <result property="garUpdateBy" column="gar_update_by" jdbcType="VARCHAR"/> | |
| 20 | + <result property="garReason" column="gar_reason" jdbcType="VARCHAR"/> | |
| 21 | + <result property="garHandlerCarCode" column="gar_handler_car_code" jdbcType="VARCHAR"/> | |
| 22 | + </resultMap> | |
| 23 | + | |
| 24 | + <resultMap id="DispatchDriverVo" type="com.trash.garbage.pojo.vo.DispatchDriverVo"> | |
| 25 | + <result property="licensePlateNumber" column="car_code" jdbcType="VARCHAR"/> | |
| 26 | + <result property="containerVolume" column="container_volume" jdbcType="TINYINT"/> | |
| 27 | + <collection property="personnelInfo" ofType="com.trash.garbage.pojo.vo.DispatchDriverVo$Personnel"> | |
| 28 | + <id property="name" column="name" jdbcType="VARCHAR"/> | |
| 29 | + <result property="tel" column="phoneNo" jdbcType="VARCHAR"/> | |
| 30 | + <result property="checked" column="checked"/> | |
| 31 | + </collection> | |
| 21 | 32 | </resultMap> |
| 22 | 33 | |
| 23 | 34 | <sql id="Base_Column_List"> |
| 24 | - gar_id,gar_order_id,gar_order_handler_tel, | |
| 35 | + gar_id | |
| 36 | + ,gar_order_id,gar_order_handler_tel, | |
| 25 | 37 | gar_order_handler_status,gar_cancel_flag,gar_order_handler_name,gar_order_handler_company_id, |
| 26 | 38 | gar_order_handler_company_name,gar_create_time,gar_update_time, |
| 27 | - gar_craete_by,gar_update_by,gar_remark | |
| 39 | + gar_craete_by,gar_update_by,gar_reason,gar_handler_car_code | |
| 28 | 40 | </sql> |
| 41 | + <select id="queryDriverListWithDispatchStatus" resultMap="DispatchDriverVo"> | |
| 42 | + SELECT | |
| 43 | + driver.`name` AS `name`, | |
| 44 | + driver.phoneNo AS phoneNo, | |
| 45 | + car.car_code AS car_code, | |
| 46 | + car.container_volume AS container_volume, | |
| 47 | + gar.gar_handler_car_code, | |
| 48 | + gar.gar_order_id, | |
| 49 | + CASE | |
| 50 | + WHEN gar.gar_order_id IS NULL THEN 0 | |
| 51 | + ELSE 1 | |
| 52 | + END AS checked | |
| 53 | + FROM | |
| 54 | + driver | |
| 55 | + INNER JOIN car_driver_relation relation ON relation.driver_id = driver.id | |
| 56 | + INNER JOIN car_info car ON car.id = relation.car_id | |
| 57 | + LEFT JOIN gar_order_match_handler gar ON gar.gar_order_handler_tel = driver.phoneNo | |
| 58 | + AND gar.gar_order_id = #{orderId} AND gar.gar_handler_car_code = car.car_code | |
| 59 | + WHERE | |
| 60 | + driver.company_id = #{companyId} | |
| 61 | + </select> | |
| 29 | 62 | </mapper> | ... | ... |