提交 04bf5498 authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/test' into test

# Conflicts: # performance-web/src/main/java/com/clx/performance/controller/temp/TempController.java
......@@ -56,6 +56,7 @@ public enum OrderChildLogEnum {
OWNER(1, "货主"),
PLATFORM(2, "承运"),
DRIVER(3, "司机"),
ARTIFICIAL(4, "客服"),
;
......
......@@ -29,7 +29,7 @@ public enum CollectLineReportEnum {
UNABLE_TO_SEND_ADDRESS(1, "无法到达货源地"),
UNABLE_LOAD(2, "无法装货"),
UNABLE_TO_RECEIVE_ADDRESS(3, "无法到达目的地"),
LOAD_UNLOAD(4, "装车卸车异常"),
LOAD_UNLOAD(4, "装卸车时间过长"),
NO_TAKE_ORDER(6, "没有接单"),
SEND_ADDRESS(7, "货源地情况"),
......@@ -59,6 +59,20 @@ public enum CollectLineReportEnum {
}
}
@Getter
@AllArgsConstructor
public enum CoalStatus {
NO(1, "否"),
EXIST(2, "有存煤"),
PRODUCTION(3, "现产现装");
private final Integer code;
private final String msg;
public static Optional<CoalStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
@Getter
@AllArgsConstructor
public enum AuditStatus {
......
......@@ -5,7 +5,6 @@ import lombok.Getter;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
public enum IntegralRecordEnum {
;
......@@ -28,6 +27,7 @@ public enum IntegralRecordEnum {
ORDER_CHILD_CANCEL(21, "运单取消"),
ORDER_CHILD_CANCEL_TIMEOUT(22, "运单取消超时"),
ORDER_CHILD_PLATFORM_CANCEL(23, "平台取消"),
ORDER_CHILD_PLATFORM_COMPENSATION(25, "平台补偿"),
REPORT_TRUCK_INFO(50, "提交基础信息"),
REPORT_REFUEL(51, "油表上报"),
......
package com.clx.performance.param.app.integral;
import com.msl.common.base.PageParam;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@NoArgsConstructor
public class DriverPageIntegralTruckRankParam extends PageParam {
}
......@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class OrderCancelParam {
......@@ -20,4 +21,6 @@ public class OrderCancelParam {
@ApiModelProperty("取消原因")
private String cancelReason;
private List<String> childNoList;
}
......@@ -33,7 +33,7 @@ public class CarrierPageCollectAbnormalReportParam extends PageParam {
@ApiModelProperty(value = "审核状态:0待审核 1已审核")
private Integer auditStatus;
@ApiModelProperty(value = "异常类型:1:无法到达货源地 2:无法装货 3:无法到达目的地 4:运单取消 5:装车卸车异常", example = "1")
@ApiModelProperty(value = "异常类型:1:无法到达货源地 2:无法装货 3:无法到达目的地 4:装卸车时间过长", example = "1")
private Integer reportType;
}
......@@ -18,7 +18,7 @@ public class CarrierPageCollectSendAddressReportParam extends PageParam {
private String mobile;
@ApiModelProperty(value = "车牌号", example = "")
private String truckNo;
@ApiModelProperty(value = "是否可拉运:1可以拉运 2不可用拉运", example = "1")
@ApiModelProperty(value = "是否可拉运:1否 2有存煤 3现产现装", example = "1")
private Integer reportStatus;
@ApiModelProperty(value = "货源地", example = "")
private String sendAddress;
......
package com.clx.performance.util;
public class NumberToChineseUtil {
private final static String[] CN_NUMBERS = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
private final static String[] CN_UNITS = {"", "十", "百", "千", "万"};
public static String convertToChinese(int number) {
if (number < 0 || number > 9999) {
throw new IllegalArgumentException("Invalid number");
}
if (number == 0) {
return CN_NUMBERS[0];
}
StringBuilder result = new StringBuilder();
int unitIndex = 0;
while (number > 0) {
int digit = number % 10;
if (digit != 0) {
result.insert(0, CN_NUMBERS[digit] + CN_UNITS[unitIndex]);
}
unitIndex++;
number /= 10;
}
return result.toString();
}
}
\ No newline at end of file
package com.clx.performance.vo.pc;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import java.math.BigDecimal;
import java.util.List;
/**
* @ClassName OrderChildBussInfoVO
* @Description
* @Author kavin
* @Date 2023/9/24 17:41
* @Version 1.0
*/
@ApiModel(description = "司机取消运单-运单详情")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class DriverCancelOrderChildInfo {
@ApiModelProperty(value = "取消原因")
private String cancelRemark;
@ApiModelProperty(value = "取消详细原因")
private String cancelDetail;
@ApiModelProperty(value = "图片集合")
private List<String> imageList;
}
package com.clx.performance.vo.pc;
import com.clx.performance.util.NumberToChineseUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
......@@ -32,6 +33,12 @@ public class IntegralTruckVO {
@ApiModelProperty(value = "梯队", example = "1")
private Integer echelon;
@ApiModelProperty(value = "梯队", example = "第一梯队")
private String echelonMsg;
public String getEchelonMsg() {
return echelonMsg = "第"+ NumberToChineseUtil.convertToChinese(echelon)+"梯队";
}
@ApiModelProperty(value = "积分", example = "1")
private Integer integral;
@ApiModelProperty(value = "排名", example = "1")
......@@ -40,4 +47,15 @@ public class IntegralTruckVO {
@ApiModelProperty(value = "创建时间", example = "")
private String createTime;
@ApiModelProperty(value = "运单完成积分", example = "1")
private Integer orderChildCompleteIntegral;
@ApiModelProperty(value = "平台补偿积分", example = "1")
private Integer platformCompensationIntegral;
@ApiModelProperty(value = "运单取消积分", example = "1")
private Integer orderChildCancelIntegral;
@ApiModelProperty(value = "运单超时积分", example = "1")
private Integer orderChildTimeoutIntegral;
@ApiModelProperty(value = "信息上报积分", example = "1")
private Integer reportIntegral;
}
\ No newline at end of file
......@@ -12,6 +12,7 @@ import org.springframework.util.StringUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @Author: aiqinguo
......@@ -53,9 +54,9 @@ public class CollectLineReportVO {
@ApiModelProperty(value = "类型:1 发货地 2 目的地", example = "")
private Integer type;
@ApiModelProperty(value = "上报类型(1~4异常上报):1:无法到达货源地 2:无法装货 3:无法到达目的地 4:装车卸车异常 6:没有接单 7:货源地情况 8:其它上报 9:煤炭质量上报", example = "")
@ApiModelProperty(value = "上报类型(1~4异常上报):1:无法到达货源地 2:无法装货 3:无法到达目的地 4:装卸车时间过长 6:没有接单 7:货源地情况 8:其它上报 9:煤炭质量上报", example = "")
private Integer reportType;
@ApiModelProperty(value = "上报类型(1~4异常上报):1:无法到达货源地 2:无法装货 3:无法到达目的地 4:装车卸车异常 6:没有接单 7:货源地情况 8:其它上报 9:煤炭质量上报", example = "")
@ApiModelProperty(value = "上报类型(1~4异常上报):1:无法到达货源地 2:无法装货 3:无法到达目的地 4:装卸车时间过长 6:没有接单 7:货源地情况 8:其它上报 9:煤炭质量上报", example = "")
private String reportTypeMsg;
public String getReportTypeMsg() {
return CollectLineReportEnum.ReportType.getByCode(reportType).get().getMsg();
......@@ -66,7 +67,9 @@ public class CollectLineReportVO {
@ApiModelProperty(value = "拉运状态 1: 正常 2:异常", example = "")
private String reportStatusMsg;
public String getReportStatusMsg() {
return CollectLineReportEnum.ReportStatus.getByCode(reportStatus).get().getMsg();
return Objects.equals(CollectLineReportEnum.ReportType.SEND_ADDRESS.getCode(), reportType)?
CollectLineReportEnum.CoalStatus.getByCode(reportStatus).get().getMsg() :
CollectLineReportEnum.ReportStatus.getByCode(reportStatus).get().getMsg();
}
@ApiModelProperty(value = "状态描述", example = "")
......
......@@ -60,7 +60,7 @@ public class AppIntegralTruckRuleVO {
public String getIncomeMsg() {
if (incomeBegin == null && incomeEnd !=null) {return "日收益小于等于"+incomeEnd.toString()+"元";}
if (incomeEnd == null && incomeBegin !=null) {return "日收益大于等于"+incomeBegin.toString()+"元";}
return "日收益"+ incomeBegin.toString() + "元—" + incomeBegin.toString()+"元";
return "日收益"+ incomeBegin.toString() + "元—" + incomeEnd.toString()+"元";
}
@ApiModelProperty(value = "创建时间", example = "")
......
......@@ -15,6 +15,7 @@ import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.param.pc.OrderCancelParam;
import com.clx.performance.service.IntegralMqService;
import com.clx.performance.service.OrderChildLogService;
import com.clx.performance.service.OrderChildService;
import com.clx.performance.service.OrderGoodsTruckBindService;
import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService;
......@@ -59,7 +60,9 @@ public class OrderCancelComponent implements InitializingBean {
private final IntegralMqService integralMqService;
public void ownerProcess(OrderCancelParam param) {
private final OrderChildLogService orderChildLogService;
public List<String> ownerProcess(OrderCancelParam param) {
String orderNo = param.getOrderNo();
List<OrderGoods> orderGoodsList = null;
Integer orderStatusCode = OrderEnum.Status.CANCELED.getCode();
......@@ -122,6 +125,10 @@ public class OrderCancelComponent implements InitializingBean {
//释放车辆
driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
childNoList.add(orderChild.getChildNo());
orderChildLogService.saveOrderChildLog(orderChild.getChildNo(),
OrderChildEnum.Status.OWNER_CANCEL.getCode(), OrderChildEnum.Status.OWNER_CANCEL.getName(),
OrderChildLogEnum.CreateType.OWNER.getCode(), 0L, OrderChildLogEnum.CreateType.OWNER.getMsg()
);
}
Map<String, List<OrderChild>> orderChildMap = new HashMap<>();
......@@ -179,6 +186,8 @@ public class OrderCancelComponent implements InitializingBean {
integralMqService.orderChildFinish(childNo);
}
return childNoList;
}
public void backFillTonnage(OrderGoods orderGoods, BigDecimal weight) {
......
package com.clx.performance.controller.app.integral;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.integral.DriverPageIntegralTruckRankParam;
import com.clx.performance.service.IntegralTruckService;
import com.clx.performance.vo.pc.IntegralTruckVO;
import com.msl.common.base.PageData;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping(value="/app/driver/integral")
@Validated
@Api(tags = "司机APP-积分车辆")
@AllArgsConstructor
public class AppIntegralTruckController {
private final IntegralTruckService integralTruckService;
@ApiOperation(value = "获取车辆积分排名", notes = "<br>By:艾庆国")
@RequestMapping(value = "pageTruckRank", method = RequestMethod.POST)
public Result<PageData<IntegralTruckVO>> pageTruckRank(@RequestBody @Validated DriverPageIntegralTruckRankParam param) {
IPage<IntegralTruckVO> page = integralTruckService.driverPageTruckRank(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
......@@ -91,6 +91,12 @@ public class CarrierOrderChildController {
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "司机取消运单-运单详情", notes = "<br>By:胡宇帆")
@GetMapping("/driverCancelOrderChildInfo")
public Result<DriverCancelOrderChildInfo> driverCancelOrderChildInfo(@NotBlank(message = "运单编号不能为空") String orderChildNo) {
return Result.ok(orderChildService.driverCancelOrderChildInfo(orderChildNo));
}
//模拟
@GetMapping("/orderChildExpect")
public void getMonitorOrerChildListsByParam() {
......
......@@ -30,7 +30,7 @@ public class IntegralRecordController {
@PostMapping(value = "addIntegral")
public Result<Void> addRecord(@RequestBody @Validated IntegralRecordAddParam param) {
integralRecordService.addRecord(param);
integralRecordService.addDriverReportRecord(param);
return Result.ok();
}
......
......@@ -9,7 +9,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
......
......@@ -23,7 +23,7 @@ public interface IntegralRecordDao extends BaseDao<IntegraRecordMapper, Integral
Integer sumIntegral(@Param("statisticsId") Integer statisticsId);
IntegralRecord selectByStatisticsIdAndType(@Param("statisticsId") Integer statisticsId, @Param("type") Integer type);
int sumByStatisticsIdAndTypes(@Param("statisticsId") Integer statisticsId, @Param("list") List<Integer> typeList);
Integer sumByStatisticsIdAndTypes(@Param("statisticsId") Integer statisticsId, @Param("list") List<Integer> typeList);
Integer sumByStatisticsIdAndTypeAndTime(@Param("statisticsId") Integer statisticsId,
@Param("type") Integer type,
......@@ -34,4 +34,6 @@ public interface IntegralRecordDao extends BaseDao<IntegraRecordMapper, Integral
@Param("beginTime")String beginTime,
@Param("endTime")String endTime);
List<IntegralRecord> listByStatisticsDateAndTruckNoList(@Param("statisticsDate") String statisticsDate, @Param("list") List<String> truckNoList);
}
......@@ -3,6 +3,7 @@ package com.clx.performance.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.IntegralTruckMapper;
import com.clx.performance.model.IntegralTruck;
import com.clx.performance.param.app.integral.DriverPageIntegralTruckRankParam;
import com.clx.performance.param.pc.PageIntegralTruckRankParam;
import com.clx.performance.param.pc.PageIntegralTruckParam;
import com.clx.performance.vo.pc.IntegralTruckVO;
......@@ -34,6 +35,7 @@ public interface IntegralTruckDao extends BaseDao<IntegralTruckMapper, IntegralT
List<IntegralTruck> listByTruckNoList(@Param("truckNoList") List<String> truckNoList);
IPage<IntegralTruckVO> pageTruckRank(PageIntegralTruckRankParam param);
IPage<IntegralTruckVO> driverPageTruckRank(DriverPageIntegralTruckRankParam param);
List<IntegralTruck> selectListByTime(@Param("beginTime") String beginTime, @Param("endTime") String endTime);
......
......@@ -145,4 +145,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
OrderChildVO findArtificialCancelOrder(String orderChildNo);
IPage<OrderChildVO> orderChildCancelRecord(PageParam pageParam);
List<OrderChild> selectInOrderChildNoList(List<String> childNoList);
OrderChild findLastTruckChild(String orderNo);
}
......@@ -84,9 +84,9 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
List<OrderGoods> getOrderGoodsListByOrderNoAndStatus(String orderNo);
List<OrderGoodsAPPVO> getCancelOrderGoods(List<OrderGoodsTruckBind> list);
void updateSendSystemAddress(Integer ownerAddressId, Integer systemAddressId);
void updateReceiveSystemAddress(Integer ownerAddressId, Integer systemAddressId);
List<OrderGoodsAPPVO> getCancelOrderGoods(List<OrderGoodsTruckBind> list);
BigDecimal getAlreadyTransportWeight(String orderNo);
}
......@@ -45,7 +45,7 @@ public class IntegralRecordDaoImpl extends BaseDaoImpl<IntegraRecordMapper, Inte
}
@Override
public int sumByStatisticsIdAndTypes(Integer statisticsId, List<Integer> typeList) {
public Integer sumByStatisticsIdAndTypes(Integer statisticsId, List<Integer> typeList) {
return baseMapper.sumByStatisticsIdAndTypes(statisticsId, typeList);
}
......@@ -60,4 +60,13 @@ public class IntegralRecordDaoImpl extends BaseDaoImpl<IntegraRecordMapper, Inte
}
@Override
public List<IntegralRecord> listByStatisticsDateAndTruckNoList(String statisticsDate, List<String> truckNoList) {
return list(lQrWrapper()
.eq(IntegralRecord::getStatisticsId, statisticsDate)
.in(IntegralRecord::getTruckNo, truckNoList)
);
}
}
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.IntegralTruckDao;
import com.clx.performance.mapper.IntegralTruckMapper;
import com.clx.performance.model.IntegralTruck;
import com.clx.performance.param.app.integral.DriverPageIntegralTruckRankParam;
import com.clx.performance.param.pc.PageIntegralTruckRankParam;
import com.clx.performance.param.pc.PageIntegralTruckParam;
import com.clx.performance.vo.pc.IntegralTruckVO;
......@@ -76,6 +77,11 @@ public class IntegralTruckDaoImpl extends BaseDaoImpl<IntegralTruckMapper, Integ
return baseMapper.pageTruckRank(Page.of(param.getPage(), param.getPageSize()));
}
@Override
public IPage<IntegralTruckVO> driverPageTruckRank(DriverPageIntegralTruckRankParam param) {
return baseMapper.pageTruckRank(Page.of(param.getPage(), param.getPageSize()));
}
@Override
public List<IntegralTruck> selectListByTime(String beginTime, String endTime) {
return list(lQrWrapper()
......
......@@ -423,4 +423,18 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
Page<OrderGoodsVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.orderChildCancelRecord(page);
}
@Override
public List<OrderChild> selectInOrderChildNoList(List<String> childNoList) {
return baseMapper.selectList(lQrWrapper()
.in(OrderChild::getChildNo, childNoList)
); }
@Override
public OrderChild findLastTruckChild(String orderNo) {
return getOne(lQrWrapper().eq(OrderChild::getOrderNo,orderNo)
.notIn(OrderChild::getStatus,OrderChildEnum.DTS_LISTEN_CANCEL_lIST)
.orderByDesc(OrderChild::getCreateTime)
.last("limit 1"));
}
}
......@@ -224,7 +224,7 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
}
@Override
public List<OrderGoodsAPPVO> getCancelOrderGoods(List<OrderGoodsTruckBind> param) {
public List<OrderGoodsAPPVO> getCancelOrderGoods(List<String> param) {
return baseMapper.getCancelOrderGoods(param);
}
......@@ -246,4 +246,8 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
}
@Override
public BigDecimal getAlreadyTransportWeight(String orderNo) {
return baseMapper.getAlreadyTransportWeight(orderNo);
}
}
......@@ -160,7 +160,7 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
@Override
public List<OrderGoodsTruckBind> getCancelOrderGoods(List<String> truckList, String beginTime, String endTime) {
return baseMapper.selectList(lQrWrapper().in(OrderGoodsTruckBind::getTruckNo, truckList)
.eq(OrderGoodsTruckBind::getStatus, OrderGoodsTruckBindEnum.Status.CANCEL.getCode())
// .eq(OrderGoodsTruckBind::getStatus, OrderGoodsTruckBindEnum.Status.CANCEL.getCode())
.le(OrderGoodsTruckBind::getCreateTime, endTime)
.ge(OrderGoodsTruckBind::getCreateTime, beginTime)
);
......
......@@ -30,18 +30,18 @@ public interface IntegraRecordMapper extends BaseMapper<IntegralRecord> {
@SelectProvider(type = IntegralRecordSqlProvider.class, method = "pageByParam")
IPage<IntegralRecordVO> pageByParam(@Param("page") Page<IntegralRecordVO> page, @Param("param") pageIntegralStatisticsDetailParam param);
@Select("<script>select sum(integral) from integral_record where " +
" type in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" and statistics_id = #{statisticsId}" +
"</script>")
Integer sumByStatisticsIdAndTypes(@Param("statisticsId") Integer statisticsId, @Param("list") List<Integer> typeList);
@Select("select sum(integral) from integral_record where statistics_id = #{statisticsId} and type = #{type} and create_time >= #{beginTime} and create_time < #{endTime}")
Integer sumByStatisticsIdAndTypeAndTime(@Param("statisticsId") Integer statisticsId,
@Param("type") Integer type,
@Param("beginTime")String beginTime,
@Param("endTime")String endTime);
@Select("<script>select sum(integral) from integral_record where " +
" type in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" and statistics_id = #{statisticsId}" +
"</script>")
int sumByStatisticsIdAndTypes(@Param("statisticsId") Integer statisticsId, @Param("list") List<Integer> typeList);
@Select("select count(1) from integral_record where statistics_id = #{statisticsId} and type = #{type} and create_time >= #{beginTime} and create_time < #{endTime}")
Integer countByStatisticsIdAndTypeAndTime(@Param("statisticsId") Integer statisticsId,
@Param("type") Integer type,
......
......@@ -82,4 +82,6 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@SelectProvider(type = OrderGoodsSqlProvider.class, method = "getCancelOrderGoods")
List<OrderGoodsAPPVO> getCancelOrderGoods(@Param(value = "param") List<OrderGoodsTruckBind> param);
@SelectProvider(type = OrderGoodsSqlProvider.class, method = "getAlreadyTransportWeight")
BigDecimal getAlreadyTransportWeight(@Param("orderNo") String orderNo);
}
......@@ -8,9 +8,11 @@ import java.time.LocalDateTime;
public interface IntegralRecordService {
void addRecord(IntegralRecordAddParam param);
void addDriverReportRecord(IntegralRecordAddParam param);
void addRecord(AppIntegralRuleVO ruleInfo, String truckNo, Integer type, Integer integral, String remark);
void addDriverReportRecord(AppIntegralRuleVO ruleInfo, String truckNo, Integer type, Integer integral, String remark);
void addPlatformCompensationRecord(String truckNo);
IntegralRecord save(Integer statisticsId, LocalDateTime statisticsDate, String truckNo, Integer type, Integer integral, String remark);
......
package com.clx.performance.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.integral.DriverPageIntegralTruckRankParam;
import com.clx.performance.param.pc.IntegralTruckAddParam;
import com.clx.performance.param.pc.PageIntegralTruckRankParam;
import com.clx.performance.param.pc.PageIntegralTruckParam;
......@@ -16,5 +17,6 @@ public interface IntegralTruckService {
Integer getTruckCount(Integer truckEchelon);
IPage<IntegralTruckVO> pageTruckRank(PageIntegralTruckRankParam param);
IPage<IntegralTruckVO> driverPageTruckRank(DriverPageIntegralTruckRankParam param);
}
package com.clx.performance.service;
import com.clx.performance.model.OrderChild;
public interface LastTruckService {
OrderChild getLastTruckChild(String orderNo);
}
......@@ -80,4 +80,5 @@ public interface OrderChildService {
void orderChildFinish(String childNo);
DriverCancelOrderChildInfo driverCancelOrderChildInfo(String orderChildNo);
}
......@@ -568,30 +568,39 @@ public class IntegralMqHandlerServiceImpl implements IntegralMqHandlerService {
int integralSum = 0;
// 运单取消积分
Integer cancelIntegral = ruleInfo.getPlatformCompensationRule().getIntegralCancel();
int cancelIntegral = 0;
int sum = integralRecordDao.sumByStatisticsIdAndTypes(statistics.getId(), Arrays.asList(IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_CANCEL.getValue()));
if (sum > ruleInfo.getPlatformCompensationRule().getIntegralCancelLimit()){
log.info("达到当日平台补偿积分上限,本次无效, childNo:{}", orderChild.getChildNo());
return integralSum;
LocalDateTime lastArriveSendTime = orderGoods.getLastArriveSendTime();
LocalDateTime lastArriveReceiveTime = orderGoods.getLastArriveReceiveTime();
int sendAddressTimeoutIntegral = 0;
if (null != lastArriveSendTime && null != orderChild.getArriveSendTime() && orderChild.getArriveSendTime().isAfter(lastArriveSendTime)){
sendAddressTimeoutIntegral = -ruleInfo.getOrderChildTimeoutRule().getIntegralSendAddressTimeout();
}
else if (sum+cancelIntegral > ruleInfo.getPlatformCompensationRule().getIntegralCancelLimit()){
cancelIntegral = ruleInfo.getPlatformCompensationRule().getIntegralCancelLimit()-sum;
else if (null != lastArriveSendTime && null == orderChild.getArriveSendTime() && orderChild.getFinishTime().isAfter(lastArriveSendTime)){
sendAddressTimeoutIntegral = -ruleInfo.getOrderChildTimeoutRule().getIntegralSendAddressTimeout();
}
if (sendAddressTimeoutIntegral < 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecordEnum.Type.ORDER_CHILD_CANCEL_TIMEOUT.getValue(), sendAddressTimeoutIntegral, "未按时到达货源地减分");
}
else {
int receiveAddressTimeoutIntegral = 0;
if (null != lastArriveReceiveTime && null != orderChild.getArriveReceiveTime() && orderChild.getArriveReceiveTime().isAfter(lastArriveReceiveTime)){
receiveAddressTimeoutIntegral = -ruleInfo.getOrderChildTimeoutRule().getIntegralReceiveAddressTimeout();
}
else if (null != lastArriveReceiveTime && null != orderChild.getLoadTime() && orderChild.getFinishTime().isAfter(lastArriveReceiveTime)){
receiveAddressTimeoutIntegral = -ruleInfo.getOrderChildTimeoutRule().getIntegralReceiveAddressTimeout();
}
if (cancelIntegral > 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(),
IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_CANCEL.getValue(), cancelIntegral, IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_CANCEL.getMsg());
if (receiveAddressTimeoutIntegral < 0){
integralRecordService.save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), IntegralRecordEnum.Type.ORDER_CHILD_CANCEL_TIMEOUT.getValue(), receiveAddressTimeoutIntegral, "未按时到达目的地减分");
}
// 装卸车超时(下期开发)
integralSum = cancelIntegral;
integralSum = cancelIntegral+sendAddressTimeoutIntegral+receiveAddressTimeoutIntegral;
return integralSum;
......
......@@ -11,6 +11,7 @@ import com.clx.performance.model.IntegralTruck;
import com.clx.performance.param.pc.IntegralRecordAddParam;
import com.clx.performance.service.IntegralMqService;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.integral.IntegralRuleService;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.vo.pc.integral.AppIntegralRuleVO;
import lombok.extern.slf4j.Slf4j;
......@@ -19,6 +20,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Arrays;
@Slf4j
@Service
......@@ -35,9 +37,11 @@ public class IntegralRecordServiceImpl implements IntegralRecordService {
@Autowired
private IntegralMqService integralMqService;
@Autowired
private IntegralRuleService integralRuleService;
@Override
public void addRecord(IntegralRecordAddParam param) {
public void addDriverReportRecord(IntegralRecordAddParam param) {
String statisticsDate = LocalDateTimeUtils.getWeekStart();
IntegralTruck truck = integralTruckDao.getByTruckNo(param.getTruckNo()).orElseThrow(PerformanceResultEnum.INTEGRAL_TRUCK_NO_EXIST);
......@@ -61,7 +65,7 @@ public class IntegralRecordServiceImpl implements IntegralRecordService {
}
@Override
public void addRecord(AppIntegralRuleVO ruleInfo, String truckNo, Integer type, Integer integral, String remark) {
public void addDriverReportRecord(AppIntegralRuleVO ruleInfo, String truckNo, Integer type, Integer integral, String remark) {
String statisticsDate = LocalDateTimeUtils.getWeekStart();
IntegralTruck truck = integralTruckDao.getByTruckNo(truckNo).orNull();
......@@ -78,7 +82,8 @@ public class IntegralRecordServiceImpl implements IntegralRecordService {
return;
}
int sum = integralRecordDao.sumByStatisticsIdAndTypes(statistics.getId(), IntegralRecordEnum.DRIVER_REPORT_lIST);
Integer sum = integralRecordDao.sumByStatisticsIdAndTypes(statistics.getId(), IntegralRecordEnum.DRIVER_REPORT_lIST);
if (sum == null) {sum = 0;}
if (sum > ruleInfo.getDriverReportRule().getIntegralLimit()){
log.info("上报积分超上限,本次无效, truckNo:{}, type:{}, integral:{}, remark:{}", truckNo, type, integral, remark);
return;
......@@ -99,6 +104,53 @@ public class IntegralRecordServiceImpl implements IntegralRecordService {
}
@Override
public void addPlatformCompensationRecord(String truckNo) {
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
Integer type = IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_COMPENSATION.getValue();
Integer integral = ruleInfo.getPlatformCompensationRule().getIntegralCancel();
String remark = IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_COMPENSATION.getMsg();
String statisticsDate = LocalDateTimeUtils.getWeekStart();
IntegralTruck truck = integralTruckDao.getByTruckNo(truckNo).orNull();
if (truck == null) {return;}
// 查找最新统计
IntegralStatistics statistics = integralStatisticsDao.selectByTruckNoAndStatisticsDate(truckNo, statisticsDate).orNull();
if (statistics == null) {return;}
Integer sum = integralRecordDao.sumByStatisticsIdAndTypes(statistics.getId(), Arrays.asList(IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_COMPENSATION.getValue()));
if (sum == null) {sum = 0;}
if (sum > ruleInfo.getPlatformCompensationRule().getIntegralCancelLimit()){
log.info("平台补偿超上限,本次无效, truckNo:{}, type:{}, integral:{}, remark:{}", truckNo, type, integral, remark);
return;
}
else if (sum+integral > ruleInfo.getPlatformCompensationRule().getIntegralCancelLimit()){
integral = ruleInfo.getPlatformCompensationRule().getIntegralCancelLimit()-sum;
}
else {
}
// 更新积分
statistics.setIntegral(statistics.getIntegral()+integral);
integralStatisticsDao.updateIntegral(statistics);
truck.setIntegral(statistics.getIntegral());
integralTruckDao.updateIntegral(truck);
// 新增积分记录
IntegralRecord record = save(statistics.getId(), statistics.getStatisticsDate(), statistics.getTruckNo(), type, integral, remark);
// 发送mq (新增积分记录)
integralMqService.integralRecordAdd(record.getStatisticsId(), record.getTruckNo(), record.getType(), record.getIntegral(), record.getRemark());
}
@Override
public IntegralRecord save(Integer statisticsId, LocalDateTime statisticsDate, String truckNo, Integer type, Integer integral, String remark){
IntegralRecord record = new IntegralRecord();
......
package com.clx.performance.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.IntegralRecordDao;
import com.clx.performance.dao.IntegralStatisticsDao;
import com.clx.performance.dao.IntegralTruckDao;
import com.clx.performance.enums.integral.IntegralRecordEnum;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.model.IntegralRecord;
import com.clx.performance.model.IntegralStatistics;
import com.clx.performance.model.IntegralTruck;
import com.clx.performance.param.app.integral.DriverPageIntegralTruckRankParam;
import com.clx.performance.param.pc.IntegralTruckAddParam;
import com.clx.performance.param.pc.PageIntegralTruckParam;
import com.clx.performance.param.pc.PageIntegralTruckRankParam;
......@@ -20,6 +23,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......@@ -32,6 +36,8 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
private IntegralTruckDao integralTruckDao;
@Autowired
private IntegralStatisticsDao integralStatisticsDao;
@Autowired
private IntegralRecordDao integralRecordDao;
@Autowired
private IntegralRecordService integralRecordService;
......@@ -143,4 +149,87 @@ public class IntegralTruckServiceImpl implements IntegralTruckService {
}
@Override
public IPage<IntegralTruckVO> driverPageTruckRank(DriverPageIntegralTruckRankParam param) {
String time = LocalDateTimeUtils.formatTime(LocalDateTimeUtils.getStartWeek().minusDays(7));
IPage<IntegralTruckVO> page = integralTruckDao.driverPageTruckRank(param);
List<String> truckNoList = page.getRecords().stream().map(item -> item.getTruckNo()).collect(Collectors.toList());
if (!truckNoList.isEmpty()) {
List<IntegralStatistics> statisticsList = integralStatisticsDao.selectListByStatisticsDateAndTruckNoList(time, truckNoList);
Map<String, Integer> rankMap = statisticsList.stream().collect(Collectors.toMap(item -> item.getTruckNo(), item -> item.getRank()));
for (IntegralTruckVO item : page.getRecords()) {
item.setRank(rankMap.get(item.getTruckNo()));
}
Map<String, IntegralTruckVO> truckMap = page.getRecords().stream().collect(Collectors.toMap(item -> item.getTruckNo(), item -> item));
List<IntegralRecord> recordList = integralRecordDao.listByStatisticsDateAndTruckNoList(time, truckNoList);
Map<String, List<IntegralRecord>> map = recordList.stream().collect(Collectors.groupingBy(item -> item.getTruckNo()));
List<Integer> orderChildCompleteTypeList = Arrays.asList(
IntegralRecordEnum.Type.ORDER_CHILD_COMPLETE.getValue(),
IntegralRecordEnum.Type.ORDER_CHILD_COMPLETE_NUM.getValue(),
IntegralRecordEnum.Type.ORDER_CHILD_COMPLETE_WATER.getValue(),
IntegralRecordEnum.Type.ORDER_CHILD_COMPLETE_SUPPORT.getValue()
);
List<Integer> platformCompensationTypeList = Arrays.asList(
IntegralRecordEnum.Type.SYSTEM.getValue(),
IntegralRecordEnum.Type.PROTECTION.getValue(),
IntegralRecordEnum.Type.PROTECTION_CANCEL.getValue(),
IntegralRecordEnum.Type.SETTLEMENT.getValue(),
IntegralRecordEnum.Type.BASE.getValue(),
IntegralRecordEnum.Type.ORDER_CHILD_PLATFORM_COMPENSATION.getValue()
);
List<Integer> orderChildCancelTypeList = Arrays.asList(
IntegralRecordEnum.Type.ORDER_CHILD_CANCEL.getValue()
);
List<Integer> orderChildTimeoutTypeList = Arrays.asList(
IntegralRecordEnum.Type.ORDER_CHILD_COMPLETE_TIMEOUT.getValue(),
IntegralRecordEnum.Type.ORDER_CHILD_CANCEL_TIMEOUT.getValue()
);
List<Integer> reportTypeList = Arrays.asList(
IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
IntegralRecordEnum.Type.REPORT_REFUEL.getValue(),
IntegralRecordEnum.Type.REPORT_TRAFFIC.getValue(),
IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_WAIT.getValue(),
IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_NO_WAIT.getValue(),
IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_WAIT.getValue(),
IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getValue(),
IntegralRecordEnum.Type.REPORT_QUALITY.getValue(),
IntegralRecordEnum.Type.REPORT_ABNORMAL.getValue()
);
for (Map.Entry<String, List<IntegralRecord>> entry : map.entrySet()) {
Integer orderChildCompleteIntegral = 0;
Integer platformCompensationIntegral = 0;
Integer orderChildCancelIntegral = 0;
Integer orderChildTimeoutIntegral = 0;
Integer reportIntegral = 0;
for (IntegralRecord item : entry.getValue()) {
if (orderChildCompleteTypeList.contains(item.getType())){orderChildCompleteIntegral += item.getIntegral();}
if (platformCompensationTypeList.contains(item.getType())){platformCompensationIntegral += item.getIntegral();}
if (orderChildCancelTypeList.contains(item.getType())){orderChildCancelIntegral += item.getIntegral();}
if (orderChildTimeoutTypeList.contains(item.getType())){orderChildTimeoutIntegral += item.getIntegral();}
if (reportTypeList.contains(item.getType())){reportIntegral += item.getIntegral();}
}
IntegralTruckVO truck = truckMap.get(entry.getKey());
truck.setOrderChildCompleteIntegral(orderChildCompleteIntegral);
truck.setPlatformCompensationIntegral(platformCompensationIntegral);
truck.setOrderChildCancelIntegral(orderChildCancelIntegral);
truck.setOrderChildTimeoutIntegral(orderChildTimeoutIntegral);
truck.setReportIntegral(reportIntegral);
}
}
return page;
}
}
package com.clx.performance.service.impl;
import com.clx.order.enums.OrderEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.OrderChild;
import com.clx.performance.service.LastTruckService;
import com.clx.user.enums.SyncPlatformEnum;
import com.msl.common.exception.ServiceSystemException;
import groovy.util.logging.Slf4j;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.Objects;
/**
* @ClassName LastTruckServiceImpl
* @Description
* @Author kavin
* @Date 2023/11/9 13:13
* @Version 1.0
*/
@Service
@Slf4j
@AllArgsConstructor
public class LastTruckServiceImpl implements LastTruckService {
private final OrderFeign orderFeign;
private final OrderChildDao orderChildDao;
private final OrderGoodsDao orderGoodsDao;
/**
* @Author kavin
* @Description 判断最后一车的逻辑
* @Param [orderNo]
* @return
**/
@Override
public OrderChild getLastTruckChild(String orderNo) {
//判断订单是否已经完结
FeignOrderVO orderInfo = orderFeign.getOrderInfoFeign(orderNo);
if(Objects.isNull(orderInfo)){
return null;
}
if(!Objects.equals(orderInfo.getOrderSource(), SyncPlatformEnum.TRADE_PLATFORM.getCode())){
return null;
}
//已完结直接按照时间顺序查找最后一个运单
if(Objects.equals(orderInfo.getOrderStatus(), OrderEnum.Status.COMPLETED.getCode()) ||
Objects.equals(orderInfo.getOrderStatus(), OrderEnum.Status.SUCCESS.getCode())
){
return orderChildDao.findLastTruckChild(orderNo);
}else{ //未完结,判断所有货单的已拉运的吨数是否等于 订单的拉运吨数-向下浮动量
BigDecimal alreadyTransprotWeight = orderGoodsDao.getAlreadyTransportWeight(orderNo);
//查询所有货单的已拉运吨数 + 向下浮动量 >= 订单的承运吨数 (满足此情况查找最后一单)
if(Objects.nonNull(alreadyTransprotWeight) &&
alreadyTransprotWeight.add(new BigDecimal(orderInfo.getDownFloatWeight())).compareTo(orderInfo.getTransportWeight()) >= 0){
return orderChildDao.findLastTruckChild(orderNo);
}
}
return null;
}
}
......@@ -21,6 +21,7 @@ import com.clx.performance.model.OrderGoods;
import com.clx.performance.param.pc.OrderCancelParam;
import com.clx.performance.param.pc.owner.ThawAccountParam;
import com.clx.performance.service.OrderCancelService;
import com.clx.performance.service.OrderChildLogService;
import com.clx.performance.service.OrderGoodsTruckBindService;
import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService;
......@@ -73,6 +74,8 @@ public class OrderCancelServiceImpl implements OrderCancelService {
private final OrderCancelComponent orderCancelComponent;
private final OrderChildLogService orderChildLogService;
@Override
@Transactional(rollbackFor = Exception.class)
......@@ -115,19 +118,23 @@ public class OrderCancelServiceImpl implements OrderCancelService {
} else {
List<OrderChild> arriveSendChildList = orderChildDao.selectResidueWeight(orderNo, OrderChildEnum.Status.ARRIVE_SEND.getCode());
orderStatusCode = OrderEnum.Status.COMPLETED.getCode();
List<String> childNoList = new LinkedList<>();
for (OrderChild orderChild : arriveSendChildList) {
//释放车辆
driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
childNoList.add(orderChild.getChildNo());
orderChildLogService.saveOrderChildLog(orderChild.getChildNo(),
OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), OrderChildEnum.Status.PLATFORM_CANCEL.getName(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(), 0L, OrderChildLogEnum.CreateType.PLATFORM.getMsg()
);
}
if (CollectionUtil.isNotEmpty(childNoList)) {
orderChildDao.batchUpdateOrderChildStatus(
OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), "系统取消",
now, now,childNoList);
orderStatusCode = OrderEnum.Status.COMPLETED.getCode();
}
Map<String, List<OrderChild>> orderChildMap = orderChildrenList.stream()
......@@ -318,8 +325,8 @@ public class OrderCancelServiceImpl implements OrderCancelService {
@Transactional(rollbackFor = Exception.class)
public void ownerCancelOrderPre(OrderCancelParam param) {
String orderNo = param.getOrderNo();
orderCancelComponent.ownerProcess(param);
List<String> childNoList = orderCancelComponent.ownerProcess(param);
param.setChildNoList(childNoList);
OrderCancelReasonParam orderCancelReasonParam = new OrderCancelReasonParam();
orderCancelReasonParam.setOrderNo(orderNo);
orderCancelReasonParam.setReason(param.getCancelReason());
......@@ -582,14 +589,10 @@ public class OrderCancelServiceImpl implements OrderCancelService {
break;
case 3: //取消未拉运+未到达货源地吨数
List<Integer> list = new LinkedList<>();
list.add(OrderChildEnum.Status.PLATFORM_CANCEL.getCode());
list.add(OrderChildEnum.Status.OWNER_CANCEL.getCode());
List<OrderChild> orderChildren = orderChildDao.listOrderChildByOrderNoAndStatus(orderNo, list);
orderGoodsList = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
Map<String, List<OrderChild>> orderChildMap = new HashMap<>();
if (CollectionUtil.isNotEmpty(orderChildren)) {
if (CollectionUtil.isNotEmpty(param.getChildNoList())) {
List<OrderChild> orderChildren = orderChildDao.selectInOrderChildNoList(param.getChildNoList());
orderChildMap = orderChildren.stream().collect(Collectors.groupingBy(OrderChild::getOrderGoodsNo));
}
......@@ -609,6 +612,7 @@ public class OrderCancelServiceImpl implements OrderCancelService {
childSum
)
);
update.setResidueTransportWeight(orderGoods.getResidueTransportWeight().add(childSum));
truckDemandMap.put(orderGoods.getTruckDemand(),
truckDemandMap.get(orderGoods.getTruckDemand())
.add(childSum));
......@@ -632,6 +636,8 @@ public class OrderCancelServiceImpl implements OrderCancelService {
childSum
)
);
update.setResidueTransportWeight(orderGoods.getResidueTransportWeight().add(childSum));
vehicleUsageMap.put(orderGoods.getTruckDemand(),
vehicleUsageMap.get(orderGoods.getTruckDemand())
.add(childSum));
......@@ -693,11 +699,19 @@ public class OrderCancelServiceImpl implements OrderCancelService {
orderChildDao.updateEntityByKey(update);
orderCancelComponent.backFillTonnageForArtificial(orderChild.getOrderGoodsNo(), orderChild.getWeight());
orderChildLogService.saveOrderChildLog(orderChild.getChildNo(),
OrderChildEnum.Status.ARTIFICIAL_CANCEL.getCode(), OrderChildEnum.Status.ARTIFICIAL_CANCEL.getName(),
OrderChildLogEnum.CreateType.ARTIFICIAL.getCode(), 0L, OrderChildLogEnum.CreateType.ARTIFICIAL.getMsg()
);
}
@Override
public OrderChildVO findArtificialCancelOrder(String orderChildNo) {
OrderChildVO artificialCancelOrder = orderChildDao.findArtificialCancelOrder(orderChildNo);
if (artificialCancelOrder == null) {
return null;
}
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(artificialCancelOrder.getOrderNo());
if (orderInfoFeign != null) {
artificialCancelOrder.setGoodTypeName(orderInfoFeign.getGoodsTypeName());
......
......@@ -1224,6 +1224,19 @@ public class OrderChildServiceImpl implements OrderChildService {
}
@Override
public DriverCancelOrderChildInfo driverCancelOrderChildInfo(String orderChildNo) {
DriverCancelOrderChildInfo result = new DriverCancelOrderChildInfo();
List<OrderChildImage> images = orderChildImageDao.getImages(orderChildNo, OrderChildImage.Type.DRIVER_CANCEL.getCode());
OrderChild orderChild = orderChildDao.getByChildNo(orderChildNo).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
result.setCancelDetail(orderChild.getCancelDetail());
result.setCancelRemark(orderChild.getCancelRemark());
if (CollectionUtils.isNotEmpty(images)) {
result.setImageList(images.stream().map(OrderChildImage::getImage).collect(Collectors.toList()));
}
return result;
}
/**
* 生成计费单
*/
......@@ -1480,7 +1493,7 @@ public class OrderChildServiceImpl implements OrderChildService {
* 拉运吨数检测
*/
private boolean loadCheck(BigDecimal weight, BigDecimal truckLoad) {
if (weight.compareTo(truckLoad.multiply(new BigDecimal("1.5"))) > 0) {
if (weight.compareTo(new BigDecimal("99")) > 0) {
return false;
}
return true;
......
......@@ -30,10 +30,7 @@ import com.clx.performance.param.app.OrderGoodsListPageParam;
import com.clx.performance.param.pc.OrderGoodsCancelParam;
import com.clx.performance.param.pc.UpdateEditOrderGoodsParam;
import com.clx.performance.param.pc.UpdateOrderGoodsPriceParam;
import com.clx.performance.service.IntegralMqService;
import com.clx.performance.service.OrderChildService;
import com.clx.performance.service.OrderGoodsLogService;
import com.clx.performance.service.OrderGoodsService;
import com.clx.performance.service.*;
import com.clx.performance.struct.OrderGoodsStruct;
import com.clx.performance.vo.app.OrderGoodsAPPVO;
import com.clx.performance.vo.feign.OrderGoodsFeignVO;
......@@ -105,6 +102,8 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
private final IntegralMqService integralMqService;
private final OrderChildLogService orderChildLogService;
@Override
public OrderGoodsVO getOrderGoodsInfoByOrderGoodsNoForPC(String orderGoodsNo) {
OrderGoodsVO orderGoodsVO = orderGoodsDao.getOrderGoodsInfoByOrderGoodsNoForPC(orderGoodsNo).map(orderGoodsStruct::convert).get();
......@@ -527,6 +526,10 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
childNoList.add(orderChild.getChildNo());
sum = sum.add(orderChild.getWeight());
orderChildLogService.saveOrderChildLog(orderChild.getChildNo(),
OrderChildEnum.Status.OWNER_CANCEL.getCode(), OrderChildEnum.Status.OWNER_CANCEL.getName(),
OrderChildLogEnum.CreateType.OWNER.getCode(), 0L, OrderChildLogEnum.CreateType.OWNER.getMsg()
);
}
orderChildDao.batchUpdateOrderChildStatus(
OrderChildEnum.Status.PLATFORM_CANCEL.getCode(), "系统取消",
......@@ -574,6 +577,10 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
driverService.updateOrderStatus(orderChild.getDriverUserNo(), DriverInfoEnum.DriverStatus.NO.getCode(), orderChild.getTruckId(), 1);
childNoList.add(orderChild.getChildNo());
sum = sum.add(orderChild.getWeight());
orderChildLogService.saveOrderChildLog(orderChild.getChildNo(),
OrderChildEnum.Status.OWNER_CANCEL.getCode(), OrderChildEnum.Status.OWNER_CANCEL.getName(),
OrderChildLogEnum.CreateType.OWNER.getCode(), 0L, OrderChildLogEnum.CreateType.OWNER.getMsg()
);
}
orderChildDao.batchUpdateOrderChildStatus(
OrderChildEnum.Status.PLATFORM_CANCEL.getCode(),"系统取消",
......@@ -603,7 +610,7 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
log.info("取消货单,参数:{}", JSONUtil.parse(param));
if (orderFeign.rollbackOrderWeight(param).succeed()) {
orderGoodsDao.updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus(residueWeight, sum, orderGoodsStatus, orderGoods.getId());
orderGoodsDao.updateOrderGoodsSetResidueWeightAndAlreadyWeightAndStatus(orderGoods.getResidueTransportWeight(), sum, orderGoodsStatus, orderGoods.getId());
}
break;
default:
......
......@@ -62,7 +62,7 @@ public class OrderGoodsTruckBindServiceImpl implements OrderGoodsTruckBindServic
return null;
}
return orderGoodsDao.getCancelOrderGoods(list);
return orderGoodsDao.getCancelOrderGoods(list.stream().map(OrderGoodsTruckBind::getTruckNo).collect(Collectors.toList()));
}
......
......@@ -15,6 +15,7 @@ import com.clx.performance.model.breakcontract.BreakContractDriverRule;
import com.clx.performance.param.app.breakcontract.DriverPageBreakContractDriverRecordParam;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractDriverRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractDriverRecordParam;
import com.clx.performance.service.IntegralRecordService;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
import com.clx.performance.service.breakcontract.BreakContractMqService;
import com.clx.performance.service.impl.UniqueOrderNumService;
......@@ -57,6 +58,8 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
private BreakContractMqService breakContractMqService;
@Autowired
private UniqueOrderNumService uniqueOrderNumService;
@Autowired
private IntegralRecordService integralRecordService;
@Override
@Transactional(rollbackFor = Exception.class)
......@@ -101,6 +104,11 @@ public class BreakContractDriverRecordServiceImpl implements BreakContractDrive
// 发送mq (违约记录新增)
breakContractMqService.driverRecordAdd(record.getId());
// 保存平台补偿积分
if (Objects.equals(param.getBreakContractPartyType(), BreakContractRecordEnum.BreakContractPartyType.PLATFORM.getCode())) {
integralRecordService.addPlatformCompensationRecord(record.getTruckNo());
}
}
@Override
......
......@@ -408,7 +408,6 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
@Override
public void saveSettlementOwnerForCancelOrder(BigDecimal transportWeight,BigDecimal validFreightPrice,String orderNo,Integer cancelType) {
//获取订单配置的违约金方案
OwnerQuotationDetailVO quotationDetailVO = quotationService.getQuotationByOrderNo(orderNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if(Objects.isNull(quotationDetailVO.getLiquidatedDamagesPlanId())){
......@@ -427,29 +426,31 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
BreakContractOwnerRuleVO.OrderCancelRule orderCancelRule = autoRule.getOrderCancelRule();//订单取消规则
//运单状态(包括货主取消)
List<Integer> statusList = Arrays.asList(
new Integer[]{OrderChildEnum.Status.CREATED.getCode(), OrderChildEnum.Status.PAY.getCode(),
OrderChildEnum.Status.GO_TO_SEND.getCode(), OrderChildEnum.Status.ARRIVE_SEND.getCode(),
OrderChildEnum.Status.LOAD.getCode(), OrderChildEnum.Status.GO_TO_RECEIVE.getCode(),
OrderChildEnum.Status.ARRIVE_RECEIVE.getCode(), OrderChildEnum.Status.UNLOAD.getCode(),
OrderChildEnum.Status.UNSETTLE.getCode()});
//运单状态(包括货主取消)
List<Integer> statusList = new ArrayList<>();
statusList.add(OrderChildEnum.Status.CREATED.getCode());
statusList.add(OrderChildEnum.Status.PAY.getCode());
statusList.add(OrderChildEnum.Status.GO_TO_SEND.getCode());
statusList.add(OrderChildEnum.Status.ARRIVE_SEND.getCode());
statusList.add(OrderChildEnum.Status.LOAD.getCode());
statusList.add(OrderChildEnum.Status.GO_TO_RECEIVE.getCode());
statusList.add(OrderChildEnum.Status.ARRIVE_RECEIVE.getCode());
statusList.add(OrderChildEnum.Status.UNLOAD.getCode());
statusList.add(OrderChildEnum.Status.UNSETTLE.getCode());
//由于已经更新了订单状态为货主取消了
if(Objects.equals(cancelType,CancelOrderEnum.Type.NOT_ARRIVE.getCode())){
statusList.add(OrderChildEnum.Status.OWNER_CANCEL.getCode());
}
BigDecimal figure ;//总费用
//订单号查询货单
List<OrderGoods> orderGoods = orderGoodsDao.getOrderGoodsListByOrderNo(orderNo);
if(CollectionUtils.isEmpty(orderGoods)){
figure = transportWeight.multiply(validFreightPrice).multiply(orderCancelRule.getBeforeRatio());
}else{
List<OrderChild> orderChilds = orderChildDao.listOrderChildByOrderNoAndStatus(orderNo, statusList);
//没有司机拉运
if(CollectionUtils.isEmpty(orderChilds)){
figure = transportWeight.multiply(validFreightPrice).multiply(orderCancelRule.getAfterRatio());
......
......@@ -65,8 +65,17 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
collectLineReport.setType(CollectLineReport.Type.SEND.getCode());
collectLineReport.setReportType(CollectLineReport.ReportType.SEND_ADDRESS.getCode());
collectLineReport.setReportStatus(param.getReportStatus());
collectLineReport.setRemark(param.getStatus()==1? "有存煤" : "现产现装");
Integer reportStatus;
if (param.getReportStatus() == 2){
reportStatus = 1;
}
else {
if (param.getStatus() == 1){reportStatus = 2;}
else {reportStatus = 3;}
}
collectLineReport.setReportStatus(reportStatus);
collectLineReport.setRemark(reportStatus==1? "否" : (reportStatus==2? "有存煤" : "现产现装"));
collectLineReport.setReportTime(LocalDateTime.now());
collectLineReport.setCreateTime(collectLineReport.getReportTime());
collectLineReportDao.saveEntity(collectLineReport);
......@@ -340,7 +349,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
// 查找规则
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getValue(),
ruleInfo.getDriverReportRule().getIntegralQuality(), IntegralRecordEnum.Type.REPORT_ABNORMAL.getMsg());
}
......@@ -364,7 +373,7 @@ public class CollectLineReportServiceImpl implements CollectLineReportService {
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_QUALITY.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, collectLineReport.getTruckNo(), IntegralRecordEnum.Type.REPORT_QUALITY.getValue(),
ruleInfo.getDriverReportRule().getIntegralQuality(), IntegralRecordEnum.Type.REPORT_QUALITY.getMsg());
}
......
......@@ -106,7 +106,7 @@ public class CollectTrafficCongestionServiceImpl implements CollectTrafficConges
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectTrafficCongestion.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, collectTrafficCongestion.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getValue(),
ruleInfo.getDriverReportRule().getIntegralTraffic(), IntegralRecordEnum.Type.REPORT_TRAFFIC.getMsg());
}
......
......@@ -77,7 +77,7 @@ public class CollectTruckRefuelServiceImpl implements CollectTruckRefuelService
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, collectTruckRefuel.getTruckNo(), IntegralRecordEnum.Type.REPORT_REFUEL.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, collectTruckRefuel.getTruckNo(), IntegralRecordEnum.Type.REPORT_REFUEL.getValue(),
ruleInfo.getDriverReportRule().getIntegralRefuel(), IntegralRecordEnum.Type.REPORT_REFUEL.getMsg());
}
......
......@@ -62,7 +62,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
ruleInfo.getDriverReportRule().getIntegralTruck(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getMsg());
}
......@@ -95,7 +95,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
ruleInfo.getDriverReportRule().getIntegralTruck(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getMsg());
}
......@@ -128,7 +128,7 @@ public class CollectTruckServiceImpl implements CollectTruckService {
AppIntegralRuleVO ruleInfo = integralRuleService.getRuleInfo();
// 报存积分
integralRecordService.addRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, truck.getTruckNo(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getValue(),
ruleInfo.getDriverReportRule().getIntegralTruck(), IntegralRecordEnum.Type.REPORT_TRUCK_INFO.getMsg());
}
......
......@@ -135,19 +135,19 @@ public class CollectWaitReportServiceImpl implements CollectWaitReportService {
if (Objects.equals(collectTruckWait.getReportType(), CollectTruckWait.ReportType.LOAD.getCode())) {
if (Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.INNER.getCode())
|| Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.OUTER.getCode())) {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_WAIT.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralSendAddressWait(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_WAIT.getMsg());
} else {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_NO_WAIT.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_NO_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralSendAddressNoWait(), IntegralRecordEnum.Type.REPORT_SEND_ADDRESS_NO_WAIT.getMsg());
}
}else {
if (Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.INNER.getCode())
|| Objects.equals(collectTruckWait.getWaitType(), CollectTruckWaitEnum.waitType.OUTER.getCode())) {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_WAIT.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralReceiveAddressWait(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_WAIT.getMsg());
} else {
integralRecordService.addRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getValue(),
integralRecordService.addDriverReportRecord(ruleInfo, collectTruckWait.getTruckNo(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getValue(),
ruleInfo.getDriverReportRule().getIntegralReceiveAddressNoWait(), IntegralRecordEnum.Type.REPORT_RECEIVE_ADDRESS_NO_WAIT.getMsg());
}
}
......
......@@ -148,25 +148,20 @@ public class OrderChildSqlProvider {
}
public String findArtificialCancelOrder(@Param("orderChildNo") String orderChildNo) {
return new SQL(){{
SELECT("child_no,goods_name,freight_price," +
"send_address,receive_address,good_type_code,good_type_name" +
"driver_user_no, driver_name,driver_mobile," +
"truck_no," +
"unload_pound_no,weight," +
"cancel_remark," +
"pound_status,status," +
"date_format(load_deadline, '%Y-%m-%d %H:%i:%s') as loadDeadline," +
"date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime," +
"date_format(unload_time, '%Y-%m-%d %H:%i:%s') as unloadTime "
);
FROM("order_child a");
WHERE("(child_no = #{orderChildNo}");
WHERE("(status >=" + OrderChildEnum.Status.LOAD.getCode());
WHERE("(status <=" + OrderChildEnum.Status.COMPLETE.getCode());
LIMIT("1");
}}.toString();
String sql = "select child_no,goods_name,freight_price," +
"send_address,receive_address," +
"driver_user_no, driver_name,driver_mobile," +
"truck_no," +
"unload_pound_no,weight," +
"cancel_remark," +
"pound_status,status," +
"date_format(load_deadline, '%Y-%m-%d %H:%i:%s') as loadDeadline," +
"date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime," +
"date_format(unload_time, '%Y-%m-%d %H:%i:%s') as unloadTime from order_child where child_no = #{orderChildNo}";
sql += " and status >="+ OrderChildEnum.Status.LOAD.getCode();
sql += " and status <="+ OrderChildEnum.Status.COMPLETE.getCode();
return sql;
}
public String orderChildCancelRecord(@Param("page") Page<OrderChildVO> page) {
......@@ -176,7 +171,7 @@ public class OrderChildSqlProvider {
"driver_user_no, driver_name,driver_mobile," +
"truck_no," +
"unload_pound_no,weight," +
"cancel_remark," +
"cancel_remark,order_no," +
"pound_status,status," +
"date_format(load_deadline, '%Y-%m-%d %H:%i:%s') as loadDeadline," +
"date_format(load_deadline, '%Y-%m-%d %H:%i:%s') as loadDeadline," +
......
......@@ -256,8 +256,10 @@ public class OrderGoodsSqlProvider {
return sql;
}
public String getCancelOrderGoods(@Param("param") PageOrderGoodsListParam param) {
String sql = " select a.id, a.order_no," +
public String getCancelOrderGoods(@Param("param") List<String> param) {
StringBuffer sqlList = new StringBuffer();
sqlList.append(" select a.id, a.order_no," +
" a.order_goods_no, a.order_goods_status, a.extract_weight, " +
" if(a.residue_transport_weight < 0, '0', a.residue_transport_weight) as residue_transport_weight ,a.already_transport_weight, a.send_address_id, a.send_address_shorter,a.send_longitude," +
" a.send_latitude,a.receive_address_id, a.receive_address_shorter,a.receive_longitude,a.receive_latitude," +
......@@ -269,12 +271,28 @@ public class OrderGoodsSqlProvider {
" date_format(a.modified_time, '%Y-%m-%d %H:%i:%s') as modified_time," +
"a.extract_way,a.need_truck_num,a.senior_logistics_manager_id,a.senior_logistics_manager_name,a.pending_order_freight," +
"a.user_no,a.user_name,a.stop_flag,a.batch_number,a.last_arrive_receive_time,a.last_load_time,a.last_order_time,a.vehicle_usage,ab.truck_no as truckNo"
+ "from order_goods a left join order_goods_truck_bind ab on ab.order_goods_no = a.order_goods_no"
;
+ " from order_goods a left join order_goods_truck_bind ab on ab.order_goods_no = a.order_goods_no where ab.truck_no in (");
if (!param.isEmpty()) {
for (int i = 0; i < param.size(); i++) {
sqlList.append("'" + param.get(i) + "'");
if (i < param.size() -1) {
sqlList.append(",");
}
}
}
sqlList.append(") order by ab.create_time desc");
return sqlList.toString();
}
public String getAlreadyTransportWeight(String orderNo){
String sql = new SQL() {{
SELECT("sum(already_transport_weight)");
FROM("order_goods ");
WHERE("order_no = #{orderNo}");
}}.toString();
return sql;
}
}
......@@ -40,7 +40,7 @@ public class CollectLineReportSqlProvider {
);
FROM("collect_line_report ");
WHERE("report_type = 7");
if (StringUtils.isNotBlank(param.getSendAddress())) {WHERE("send_address <= like CONCAT(#{param.sendAddress},'%')");}
if (StringUtils.isNotBlank(param.getSendAddress())) {WHERE("send_address like CONCAT(#{param.sendAddress},'%')");}
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
if (StringUtils.isNotBlank(param.getTruckNo())) {WHERE("truck_no = #{param.truckNo}");}
......@@ -69,12 +69,15 @@ public class CollectLineReportSqlProvider {
if (StringUtils.isNotBlank(param.getChildNo())) {WHERE("child_no = #{param.childNo}");}
if (StringUtils.isNotBlank(param.getSendAddress())) {WHERE("send_address like CONCAT(#{param.sendAddress},'%')");}
if (StringUtils.isNotBlank(param.getReceiveAddress())) {WHERE("receive_address like CONCAT(#{param.receiveRddress},'%')");}
if (StringUtils.isNotBlank(param.getReceiveAddress())) {WHERE("receive_address like CONCAT(#{param.receiveAddress},'%')");}
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
if (StringUtils.isNotBlank(param.getTruckNo())) {WHERE("truck_no = #{param.truckNo}");}
if (param.getReportType() != null) {WHERE("report_type = #{param.reportType}");}
else {
WHERE("report_type in (1, 2, 3, 4)");
}
if (param.getAuditStatus() != null) {WHERE("audit_status = #{param.auditStatus}");}
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("report_time >= #{param.beginTime}");}
......@@ -99,7 +102,7 @@ public class CollectLineReportSqlProvider {
if (StringUtils.isNotBlank(param.getChildNo())) {WHERE("child_no = #{param.childNo}");}
if (StringUtils.isNotBlank(param.getSendAddress())) {WHERE("send_address like CONCAT(#{param.sendAddress},'%')");}
if (StringUtils.isNotBlank(param.getReceiveAddress())) {WHERE("receive_address like CONCAT(#{param.receiveRddress},'%')");}
if (StringUtils.isNotBlank(param.getReceiveAddress())) {WHERE("receive_address like CONCAT(#{param.receiveAddress},'%')");}
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
......
......@@ -39,7 +39,7 @@ public class CollectTruckLocationSqlProvider {
"date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
FROM("collect_truck_location ");
if (StringUtils.isNotBlank(param.getAddress())) {WHERE("full_address like CONCAT(#{param.sendAddress},'%')");}
if (StringUtils.isNotBlank(param.getAddress())) {WHERE("full_address like CONCAT(#{param.address},'%')");}
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
......
......@@ -44,7 +44,7 @@ public class CollectTruckRefuelSqlProvider {
if (StringUtils.isNotBlank(param.getChildNo())) {WHERE("child_no = #{param.childNo}");}
if (StringUtils.isNotBlank(param.getSendAddress())) {WHERE("send_address like CONCAT(#{param.sendAddress},'%')");}
if (StringUtils.isNotBlank(param.getReceiveAddress())) {WHERE("receive_address like CONCAT(#{param.receiveRddress},'%')");}
if (StringUtils.isNotBlank(param.getReceiveAddress())) {WHERE("receive_address like CONCAT(#{param.receiveAddress},'%')");}
if (StringUtils.isNotBlank(param.getName())) {WHERE("name = #{param.name}");}
if (StringUtils.isNotBlank(param.getMobile())) {WHERE("mobile = #{param.mobile}");}
if (StringUtils.isNotBlank(param.getTruckNo())) {WHERE("truck_no = #{param.truckNo}");}
......
......@@ -17,7 +17,7 @@ public class CollectTruckWaitSqlProvider {
" address, report_type as reportType, wait_type as waitType, station_in_time as stationInTime, " +
" station_in_image as stationInImage, station_out_time as stationOutTime, station_out_image as stationOutImage, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" audit_time, " +
" audit_status, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
......@@ -33,7 +33,7 @@ public class CollectTruckWaitSqlProvider {
" address, report_type as reportType, wait_type as waitType, station_in_time as stationInTime, " +
" station_in_image as stationInImage, station_out_time as stationOutTime, station_out_image as stationOutImage, " +
" date_format(report_time, '%Y-%m-%d %H:%i:%s') as reportTime, " +
" audit_time, " +
" audit_status, " +
" date_format(create_time, '%Y-%m-%d %H:%i:%s') as createTime, " +
" date_format(modified_time, '%Y-%m-%d %H:%i:%s') as modifiedTime "
);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论