提交 2b9b9867 authored 作者: 刘海泉's avatar 刘海泉

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

# Conflicts: # performance-web/src/main/java/com/clx/performance/dao/OrderGoodsDao.java # performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java # performance-web/src/main/java/com/clx/performance/listener/OrderChildDtsListener.java
......@@ -7,6 +7,9 @@ import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import java.util.List;
/**
* @Author liruixin
* @create 2023-09-19 13:33
......@@ -17,6 +20,9 @@ import lombok.ToString;
@ToString
public class PageCarrierOrderChildParam extends PageParam {
@ApiModelProperty(value = "货单编号")
private String orderGoodsNo;
@ApiModelProperty(value="运单编号",example = "201457878")
private String childNo;
......@@ -44,6 +50,9 @@ public class PageCarrierOrderChildParam extends PageParam {
@ApiModelProperty(value = "车牌号",example = "晋A12345")
private String truckNo;
@ApiModelProperty(value = "运单状态集合")
private List<Integer> statusList;
}
......@@ -33,5 +33,11 @@ public class PageOrderGoodsListParam extends PageParam {
@ApiModelProperty(value = "用车类型: 1平台车辆 2部分平台车辆 3自有车辆")
private Integer truckDemand;
@ApiModelProperty(value="发货地址",example = "北京")
private String sendAddress;
@ApiModelProperty(value="收货地址",example = "黄羊城")
private String receiveAddress;
}
package com.clx.performance.param.pc;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import java.util.List;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class QueryOrderChildsListByParam extends PageParam {
@ApiModelProperty(value = "运单状态集合")
private List<Integer> statusList;
@ApiModelProperty(value = "货单编号")
@NotBlank(message = "货单编号不能为空")
private String orderGoodsNo;
}
......@@ -24,4 +24,10 @@ public class OrderChildPCVO {
@ApiModelProperty("运单状态:10:已接单 20:支付 30:前往货源地 40:到达货源地 50:装货成功 60:前往目的地 70:到达目的地 80:收货待确认 90:待结算 100:完成 110:司机取消 111:平台取消")
private Integer status;
@ApiModelProperty("司机姓名")
private String driverName;
@ApiModelProperty("司机手机号")
private String driverMobile;
}
\ No newline at end of file
......@@ -36,6 +36,9 @@ public class OrderGoodsVO {
@ApiModelProperty("已拉运吨数")
private BigDecimal alreadyTransportWeight;
@ApiModelProperty("已装车吨数")
private BigDecimal alreadyLoadWeight;
@ApiModelProperty("发货地址ID")
private Integer sendAddressId;
......
......@@ -14,9 +14,13 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;
import java.util.Collections;
import java.util.Comparator;
......@@ -43,6 +47,16 @@ public class CarrierOrderChildController {
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "导出",notes = "<br>By:李瑞新")
@PostMapping("/exportCarrierOrderChildList")
public Result exportCarrierOrderChildList(@RequestBody PageCarrierOrderChildParam param, HttpServletResponse response) throws Exception {
SXSSFWorkbook workbook = orderChildService.exportCarrierOrderChildList(param);
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
workbook.write(response.getOutputStream());
return null;
}
@ApiOperation(value = "运单详情详情",notes = "<br>By:李瑞新")
@GetMapping("/getCarrierOrderChildDetail")
......
......@@ -116,10 +116,10 @@ public class GoodsOrderController {
}
@ApiOperation(value = "查看货单详情-相关运单", notes = "<br>By:胡宇帆")
@GetMapping("/getOrderChildInfoByOrderGoodsNo")
@PostMapping("/getOrderChildInfoByOrderGoodsNo")
@UnitCovert(param = false)
public Result<List<OrderChildPCVO>> getOrderChildInfoByOrderGoodsNo(@RequestParam String orderGoodsNo) {
return Result.ok(orderChildService.getOrderChildInfoByOrderGoodsNo(orderGoodsNo));
public Result<List<OrderChildPCVO>> getOrderChildInfoByOrderGoodsNo(@RequestBody @Validated QueryOrderChildsListByParam param) {
return Result.ok(orderChildService.getOrderChildInfoByOrderGoodsNo(param));
}
@ApiOperation(value = "查看货单列表", notes = "<br>By:胡宇帆")
......
......@@ -42,7 +42,7 @@ public class CarrierBreakContractSettlementDriverController {
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "导出")
@ApiOperation(value = "导出",notes = "<br>By:李瑞新")
@PostMapping("/exportCarrierBreakContractSettlementDriverList")
public Result exportCarrierBreakContractSettlementDriverList(@RequestBody PageCarrierBreakContractSettlementDriverParam param, HttpServletResponse response) throws Exception {
......
......@@ -58,7 +58,7 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
IPage<PageCarrierOrderChildVO> pageCarrierOrderChildList(PageCarrierOrderChildParam param);
Optional<List<OrderChild>> getOrderChildInfoByOrderGoodsNo(String orderGoodsNo);
List<OrderChild> getOrderChildInfoByOrderGoodsNo(QueryOrderChildsListByParam param);
OrderChild getGoingLatestOrderChild(Long driverUserNo);
......
......@@ -2,14 +2,14 @@ package com.clx.performance.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dto.CancelOrderGoodsWeightDTO;
import com.clx.performance.model.OrderGoodsFleetOpenTruck;
import com.clx.performance.param.app.AppGoodsOrderSearchParam;
import com.clx.performance.param.pc.OrderGoodsEditParams;
import com.clx.performance.param.pc.PageOrderGoodsListParam;
import com.clx.performance.mapper.OrderGoodsMapper;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.OrderGoodsFleetOpenTruck;
import com.clx.performance.param.app.AppGoodsOrderSearchParam;
import com.clx.performance.param.app.OrderGoodsListPageParam;
import com.clx.performance.param.pc.GoodsOrderMapParam;
import com.clx.performance.param.pc.OrderGoodsEditParams;
import com.clx.performance.param.pc.PageOrderGoodsListParam;
import com.clx.performance.vo.app.OrderGoodsAPPVO;
import com.clx.performance.vo.pc.OrderGoodsVO;
import com.msl.common.base.Optional;
......@@ -110,4 +110,6 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
void batchCancelOrderGoods(List<CancelOrderGoodsWeightDTO> cancelOrderGoodsWeight);
List<OrderGoods> listAfterCreatedByOrderNo(String orderNo);
void updateAlreadyLoadWeight(BigDecimal alreadyLoadWeight, String orderGoodsNo);
}
......@@ -223,8 +223,10 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
}
@Override
public Optional<List<OrderChild>> getOrderChildInfoByOrderGoodsNo(String orderGoodsNo) {
return Optional.of(list(lQrWrapper().eq(OrderChild::getOrderGoodsNo, orderGoodsNo)));
public List<OrderChild> getOrderChildInfoByOrderGoodsNo(QueryOrderChildsListByParam param) {
return list(lQrWrapper()
.eq(OrderChild::getOrderGoodsNo, param.getOrderGoodsNo())
.in(CollectionUtil.isNotEmpty(param.getStatusList()),OrderChild::getOrderGoodsNo,param.getStatusList()));
}
@Override
......
......@@ -314,4 +314,9 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
);
}
@Override
public void updateAlreadyLoadWeight(BigDecimal alreadyLoadWeight, String orderGoodsNo) {
baseMapper.updateAlreadyLoadWeight(alreadyLoadWeight,orderGoodsNo);
}
}
......@@ -97,7 +97,7 @@ public class PushOrderChildExpectTimeJob {
if(item.getStatus() < OrderChildEnum.Status.ARRIVE_SEND.getCode()){ //到达货源地之前
dto.setExpectArriveTime(orderChildExpect.getExpectArriveTime());
}else{ //到达货源地之后 && 到达目的地之前
dto.setExpectArriveTime(orderChildExpect.getExpectReceiveTime());
dto.setExpectReceiveTime(orderChildExpect.getExpectReceiveTime());
}
syncExpectList.add(dto);
}
......
......@@ -11,7 +11,6 @@ import com.clx.order.enums.OrderEnum;
import com.clx.order.enums.SyncPlatformEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.config.ThirdAppConfig;
import com.clx.performance.constant.RabbitKeyConstants;
import com.clx.performance.dao.OrderChildImageDao;
......@@ -25,7 +24,6 @@ import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderChildImage;
import com.clx.performance.service.LastTruckService;
import com.clx.user.feign.TruckFeign;
import com.clx.performance.struct.OrderChildStruct;
import com.clx.user.vo.feign.FeignDriverTruckModelVo;
import com.clx.user.vo.feign.TruckInfoFeignVo;
import com.msl.common.enums.ResultCodeEnum;
......@@ -36,9 +34,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageBuilder;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Component;
......@@ -47,8 +43,6 @@ import java.util.List;
import java.util.Objects;
import java.util.Optional;
import static com.clx.performance.constant.RabbitKeyConstants.*;
@Slf4j
@Component
@AllArgsConstructor
......@@ -63,6 +57,8 @@ public class OrderChildDtsListener {
private final OrderChildStruct orderChildStruct;
private final RabbitTemplate rabbitTemplate;
private final OrderGoodsDao orderGoodsDao;
@RabbitListener(queues = RabbitKeyConstants.CLX_PERFORMANCE_ORDER_CHILD_QUEUE)
......@@ -101,6 +97,7 @@ public class OrderChildDtsListener {
applicationEventPublisher.publishEvent(new OrderChildCancelEvent(this, after.getChildNo()));
}
syncPerformanceProgress(before,after,DtsOperationTypeEnum.INSERT.getCode());
afterLogicalProcessing(before,after);
}else if(Objects.equals(DtsOperationTypeEnum.DELETE.getCode(),dataTransportDTO.getOperationType().getCode())){
//数据删除
......@@ -262,6 +259,24 @@ public class OrderChildDtsListener {
}
/**
* 后续逻辑处理
* @param before
* @param after
*/
private void afterLogicalProcessing(OrderChildMessage before,OrderChildMessage after){
BigDecimal loadNet = after.getLoadNet();//装车净重
String orderGoodsNo = after.getOrderGoodsNo();//货单号
if(Objects.nonNull(loadNet)) {//装车吨数不为空处理
if (OrderChildEnum.DTS_LISTEN_CANCEL_lIST.contains(after.getStatus())) {
//运单取消,货单装车吨数需要减掉
loadNet = loadNet.negate();
}
orderGoodsDao.updateAlreadyLoadWeight(loadNet, orderGoodsNo);
}
}
//同步履约进度表-----运单部分
public void syncPerformanceProgress(OrderChild before,OrderChild after, Integer updateType){
boolean isSend = false;
......
......@@ -4,11 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dto.CancelOrderGoodsWeightDTO;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.OrderGoodsFleetOpenTruck;
import com.clx.performance.param.app.AppGoodsOrderSearchParam;
import com.clx.performance.param.pc.OrderGoodsEditParams;
import com.clx.performance.param.pc.PageOrderGoodsListParam;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.sqlProvider.OrderGoodsSqlProvider;
import com.clx.performance.vo.app.OrderGoodsAPPVO;
import com.clx.performance.vo.pc.OrderGoodsVO;
......@@ -106,4 +106,9 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@UpdateProvider(type = OrderGoodsSqlProvider.class, method = "batchCancelOrderGoods")
void batchCancelOrderGoods(List<CancelOrderGoodsWeightDTO> cancelOrderGoodsWeight);
@UpdateProvider(type = OrderGoodsSqlProvider.class, method = "updateAlreadyLoadWeight")
void updateAlreadyLoadWeight(@Param(value = "alreadyLoadWeight") BigDecimal alreadyLoadWeight,@Param(value = "orderGoodsNo") String orderGoodsNo);
}
......@@ -64,6 +64,10 @@ public class OrderGoods implements HasKey<Integer> {
@ApiModelProperty("已拉运吨数")
private BigDecimal alreadyTransportWeight;
@TableField("already_load_weight")
@ApiModelProperty("已装车吨数")
private BigDecimal alreadyLoadWeight;
@TableField("send_address_id")
@ApiModelProperty("发货地址ID")
private Integer sendAddressId;
......
......@@ -7,14 +7,13 @@ import com.clx.performance.model.OrderGoods;
import com.clx.performance.param.app.*;
import com.clx.performance.param.app.owner.PageOwnerOrderChildListParam;
import com.clx.performance.param.feign.CancelOrderGoodsParam;
import com.clx.performance.param.pc.OrderChildCarrierCancelParam;
import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverParam;
import com.clx.performance.vo.app.*;
import com.clx.performance.vo.app.owner.OwnerOrderChildVO;
import com.clx.performance.vo.pc.*;
import com.msl.common.base.PageParam;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import java.math.BigDecimal;
import java.util.List;
......@@ -62,7 +61,9 @@ public interface OrderChildService {
IPage<PageCarrierOrderChildVO> pageCarrierOrderChildList(PageCarrierOrderChildParam param);
List<OrderChildPCVO> getOrderChildInfoByOrderGoodsNo(String orderGoodsNo);
SXSSFWorkbook exportCarrierOrderChildList(PageCarrierOrderChildParam param);
List<OrderChildPCVO> getOrderChildInfoByOrderGoodsNo(QueryOrderChildsListByParam param);
CarrierOrderChildDetailVO getCarrierOrderChildDetail(String childNo);
......
......@@ -39,10 +39,7 @@ import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.app.*;
import com.clx.performance.param.app.owner.PageOwnerOrderChildListParam;
import com.clx.performance.param.feign.CancelOrderGoodsParam;
import com.clx.performance.param.pc.OrderChildCarrierCancelParam;
import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.param.pc.*;
import com.clx.performance.param.pc.payment.PayPlatformFeeParam;
import com.clx.performance.service.*;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
......@@ -52,12 +49,18 @@ import com.clx.performance.service.settle.SettlementMqService;
import com.clx.performance.service.settle.SettlementOwnerDetailService;
import com.clx.performance.service.trace.TruckTraceService;
import com.clx.performance.struct.*;
import com.clx.performance.utils.excel.ExcelData;
import com.clx.performance.utils.excel.ExcelField;
import com.clx.performance.utils.excel.ExcelSheet;
import com.clx.performance.utils.excel.ExcelUtil;
import com.clx.performance.utils.gd.GdService;
import com.clx.performance.utils.spring.ApplicationContextUtils;
import com.clx.performance.utils.zjxl.ZjxlGpsService;
import com.clx.performance.vo.app.*;
import com.clx.performance.vo.app.owner.OwnerOrderChildVO;
import com.clx.performance.vo.pc.*;
import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverVO;
import com.clx.performance.vo.pc.carrier.settle.CarrierPagePlatformServiceFeeConfigVO;
import com.clx.user.enums.driver.DriverInfoEnum;
import com.clx.user.vo.feign.DriverTruckInfoFeignVo;
import com.clx.user.vo.feign.OwnerInfoFeignVO;
......@@ -83,6 +86,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.commons.lang3.math.NumberUtils;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
......@@ -2156,9 +2160,84 @@ public class OrderChildServiceImpl implements OrderChildService {
}
@Override
public List<OrderChildPCVO> getOrderChildInfoByOrderGoodsNo(String orderGoodsNo) {
List<OrderChild> orderChildren = orderChildDao.getOrderChildInfoByOrderGoodsNo(orderGoodsNo).orElseThrow(
PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
public SXSSFWorkbook exportCarrierOrderChildList(PageCarrierOrderChildParam param) {
param.setPage(1);
param.setPageSize(1000000);
IPage<PageCarrierOrderChildVO> orderChildList = pageCarrierOrderChildList(param);
List<PageCarrierOrderChildVO> list = orderChildList.getRecords();
// 组装表头
List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "序号", "index", 2000));
fieldList.add(new ExcelField(1, "运单编号", "childNo", 5000));
fieldList.add(new ExcelField(2, "车牌号", "truckNo", 5000));
fieldList.add(new ExcelField(3, "运单状态", "status", 5000));
fieldList.add(new ExcelField(4, "货单编号", "goodsOrderNo", 5000));
fieldList.add(new ExcelField(5, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(6, "司机姓名", "driverName", 5000));
fieldList.add(new ExcelField(7, "手机号", "phone", 5000));
fieldList.add(new ExcelField(8, "运费单价", "frightPrice", 5000));
fieldList.add(new ExcelField(9, "装车毛重", "loadRough", 5000));
fieldList.add(new ExcelField(10, "装车皮重", "loadTare", 5000));
fieldList.add(new ExcelField(11, "装车净重", "loadNet", 5000));
fieldList.add(new ExcelField(12, "卸车毛重", "loadRough", 5000));
fieldList.add(new ExcelField(13, "卸车皮重", "loadTare", 5000));
fieldList.add(new ExcelField(14, "卸车净重", "unloadNet", 5000));
fieldList.add(new ExcelField(15, "接单时间", "payTime", 5000));
fieldList.add(new ExcelField(16, "完成时间", "finishTime", 5000));
fieldList.add(new ExcelField(17, "发货地址", "sendAddress", 10000));
fieldList.add(new ExcelField(18, "收货地址", "receiveAddress", 10000));
// 组装数据
List<List<ExcelData>> dataList = new ArrayList<>();
for (int i=0; i<list.size(); i++){
PageCarrierOrderChildVO dto = list.get(i);
List<ExcelData> rowData = new ArrayList<>();
rowData.add(new ExcelData(i+1));
rowData.add(new ExcelData(dto.getChildNo()));
rowData.add(new ExcelData(dto.getTruckNo()));
if(Objects.isNull(dto.getStatus())){
rowData.add(new ExcelData(""));
}else{
rowData.add(new ExcelData(OrderChildEnum.Status.getMsgByCode(dto.getStatus())));
}
rowData.add(new ExcelData(dto.getOrderGoodsNo()));
rowData.add(new ExcelData(dto.getGoodsName()));
rowData.add(new ExcelData(dto.getDriverName()));
rowData.add(new ExcelData(dto.getDriverMobile()));
rowData.add(new ExcelData(dto.getFreightPrice().movePointLeft(2)));
rowData.add(new ExcelData(dto.getLoadRough()));
rowData.add(new ExcelData(dto.getLoadTare()));
rowData.add(new ExcelData(dto.getLoadNet()));
rowData.add(new ExcelData(dto.getUnloadRough()));
rowData.add(new ExcelData(dto.getUnloadTare()));
rowData.add(new ExcelData(dto.getUnloadNet()));
rowData.add(new ExcelData(dto.getPayTime()));
rowData.add(new ExcelData(dto.getFinishTime()));
rowData.add(new ExcelData(dto.getSendAddress()));
rowData.add(new ExcelData(dto.getReceiveAddress()));
dataList.add(rowData);
}
ExcelSheet excelSheet = new ExcelSheet("运单列表", "运单列表", fieldList, dataList);
//创建excel
return ExcelUtil.create(excelSheet);
}
@Override
public List<OrderChildPCVO> getOrderChildInfoByOrderGoodsNo(QueryOrderChildsListByParam param) {
List<OrderChild> orderChildren = orderChildDao.getOrderChildInfoByOrderGoodsNo(param);
return orderChildStruct.convertList(orderChildren);
}
......
......@@ -420,18 +420,21 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
fieldList.add(new ExcelField(1, "结算单号", "settlementNo", 5000));
fieldList.add(new ExcelField(2, "开票标识", "invoiceType", 5000));
fieldList.add(new ExcelField(3, "货主编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(4, "结算方式", "settlementWay", 5000));
fieldList.add(new ExcelField(5, "订单编号", "orderNo", 15000));
fieldList.add(new ExcelField(6, "实际净重", "weight", 5000));
fieldList.add(new ExcelField(7, "实际运费金额", "freight", 5000));
fieldList.add(new ExcelField(8, "预付运费金额", "prepayFreight", 5000));
fieldList.add(new ExcelField(9, "货损吨数", "lossWeight", 5000));
fieldList.add(new ExcelField(10, "货损金额", "lossFreight", 5000));
fieldList.add(new ExcelField(11, "开票服务费", "invoiceServiceFee", 5000));
fieldList.add(new ExcelField(12, "结算金额", "settlementFreight", 5000));
fieldList.add(new ExcelField(13, "开票金额", "invoiceFreight", 5000));
fieldList.add(new ExcelField(14, "创建时间", "createTime", 5000));
fieldList.add(new ExcelField(15, "状态", "status", 5000));
fieldList.add(new ExcelField(4, "货主名称", "ownerUserName", 5000));
fieldList.add(new ExcelField(5, "结算方式", "settlementWay", 5000));
fieldList.add(new ExcelField(6, "订单编号", "orderNo", 15000));
fieldList.add(new ExcelField(7, "实际净重", "weight", 5000));
fieldList.add(new ExcelField(8, "实际运费金额", "freight", 5000));
fieldList.add(new ExcelField(9, "预付运费金额", "prepayFreight", 5000));
fieldList.add(new ExcelField(10, "货损吨数", "lossWeight", 5000));
fieldList.add(new ExcelField(11, "货损金额", "lossFreight", 5000));
fieldList.add(new ExcelField(12, "开票服务费", "invoiceServiceFee", 5000));
fieldList.add(new ExcelField(13, "借款抵扣金额", "loanFreight", 5000));
fieldList.add(new ExcelField(14, "结算金额", "settlementFreight", 5000));
fieldList.add(new ExcelField(15, "开票金额", "invoiceFreight", 5000));
fieldList.add(new ExcelField(16, "开票公司", "invoiceCompany", 5000));
fieldList.add(new ExcelField(17, "创建时间", "createTime", 5000));
fieldList.add(new ExcelField(18, "状态", "status", 5000));
// 组装数据
List<List<ExcelData>> dataList = new ArrayList<>();
......@@ -444,6 +447,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
rowData.add(new ExcelData(dto.getSettlementNo()));
rowData.add(new ExcelData(SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType())));
rowData.add(new ExcelData(String.valueOf(dto.getOwnerUserNo())));
rowData.add(new ExcelData(dto.getOwnerName()));
rowData.add(new ExcelData(SettlementWayEnum.WayType.getMsgByCode(dto.getSettlementWay())));
rowData.add(new ExcelData(dto.getOrderNo()));
rowData.add(new ExcelData(dto.getWeight()));
......@@ -452,8 +456,10 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
rowData.add(new ExcelData(dto.getLossWeight()));
rowData.add(new ExcelData(dto.getLossFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getInvoiceServiceFee().movePointLeft(2)));
rowData.add(new ExcelData(dto.getLoanFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getSettlementFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getInvoiceFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName()));
rowData.add(new ExcelData(dto.getCreateTime()));
rowData.add(new ExcelData(SettlementOwnerEnum.Status.getMsgByCode(dto.getStatus())));
......
package com.clx.performance.sqlProvider;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.param.app.PageOrderChildOfDriverParam;
......@@ -119,14 +120,17 @@ public class OrderChildSqlProvider {
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("pay_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("pay_time <= #{param.endTime}");}
if (StringUtils.isNotBlank(param.getOrderGoodsNo())) {WHERE("order_goods_no = #{param.orderGoodsNo}");}
if (StringUtils.isNotBlank(param.getChildNo())) {WHERE("child_no = #{param.childNo}");}
if (StringUtils.isNotBlank(param.getDriverName())) {WHERE("driver_name= #{param.driverName}");}
if (StringUtils.isNotBlank(param.getDriverMobile())) {WHERE("driver_mobile = #{param.driverMobile}");}
if (StringUtils.isNotBlank(param.getSendAddress())) {WHERE("send_address = #{param.sendAddress}");}
if (StringUtils.isNotBlank(param.getReceiveAddress())) {WHERE("receive_address= #{param.receiveAddress}");}
if(StringUtils.isNotBlank(param.getSendAddress())){WHERE("send_address like CONCAT(#{param.sendAddress},'%') ");}
if(StringUtils.isNotBlank(param.getReceiveAddress())){WHERE("receive_address like CONCAT(#{param.receiveAddress},'%') ");}
if (Objects.nonNull(param.getStatus())) {WHERE("status = #{param.status}");}
if (StringUtils.isNotBlank(param.getTruckNo())) {WHERE("truck_no like '%"+ param.getTruckNo() +"%'");}
if (CollectionUtil.isNotEmpty(param.getStatusList())) {
WHERE("status in (" + StringUtils.join(param.getStatusList(), ",") +")");
}
ORDER_BY("id desc");
......
......@@ -32,7 +32,8 @@ public class OrderGoodsSqlProvider {
String sql = new SQL() {{
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," +
" if(a.residue_transport_weight < 0, '0', a.residue_transport_weight) as residue_transport_weight ," +
" a.already_transport_weight,a.already_load_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," +
"a.goods_id, a.goods_name, a.pending_order_way," +
" date_format(a.directional_expire_time, '%Y-%m-%d %H:%i:%s') as directional_expire_time ," +
......@@ -82,6 +83,8 @@ public class OrderGoodsSqlProvider {
if (StringUtils.isNotBlank(param.getOrderGoodsNo())) {
WHERE("a.order_goods_no = #{param.orderGoodsNo}");
}
if(StringUtils.isNotBlank(param.getSendAddress())){WHERE("a.send_address_shorter like CONCAT(#{param.sendAddress},'%') ");}
if(StringUtils.isNotBlank(param.getReceiveAddress())){WHERE("a.receive_address_shorter like CONCAT(#{param.receiveAddress},'%') ");}
ORDER_BY("a.create_time desc");
}}.toString();
return sql;
......@@ -376,4 +379,16 @@ public class OrderGoodsSqlProvider {
}
public String updateAlreadyLoadWeight(@Param(value = "alreadyLoadWeight") BigDecimal alreadyLoadWeight,@Param(value = "orderGoodsNo") String orderGoodsNo){
String sql = new SQL() {{
UPDATE("order_goods")
.SET("already_load_weight = already_load_weight + #{alreadyLoadWeight}")
.WHERE("order_goods_no = #{orderGoodsNo}");
}}.toString();
return sql;
}
}
......@@ -13,7 +13,7 @@ import java.util.Objects;
public interface AddressStruct {
@Mapping(target = "address", source = "item.addressShorter")
@Mapping(target = "addressDetail", expression = "java(Objects.isNull(item)? null : addressDetail(item))")
@Mapping(target = "addressDetail", source = "item.address")
Address convert(FeignAddressVO.Address item);
default String addressDetail(FeignAddressVO.Address item){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论