提交 afb2ad34 authored 作者: 艾庆国's avatar 艾庆国

Merge branch 'refs/heads/v20.9_settlement_20240805' into dev

...@@ -185,6 +185,12 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -185,6 +185,12 @@ public enum PerformanceResultEnum implements ResultEnum {
UNLOAD_TIME_AFTER_FIRST_UNLOAD_TIME(2108, "交货时间不可晚于首次提交时间"), UNLOAD_TIME_AFTER_FIRST_UNLOAD_TIME(2108, "交货时间不可晚于首次提交时间"),
SETTLEMENT_NO_NULL_ERROR(2109, "请选择需要下载的数据"), SETTLEMENT_NO_NULL_ERROR(2109, "请选择需要下载的数据"),
ORDER_CHILD_RISK_PROCESS_ERROR(2111, "风控已处理"),
SETTLEMENT_OWNER_DETAIL_COMPANY_ADD_ERROR(2112, "所选数据存在状态”已处理“的数据,请核实后重新提交"),
; ;
private final int code; private final int code;
private final String msg; private final String msg;
......
...@@ -23,7 +23,8 @@ public enum SettlementLogEnum { ...@@ -23,7 +23,8 @@ public enum SettlementLogEnum {
OWNER_CONFIRMED_PLATFORM_PAYMENT(7, "货主确认付款"), OWNER_CONFIRMED_PLATFORM_PAYMENT(7, "货主确认付款"),
INVOICE_TO_BE_MAILED(8, "邮寄发票"), INVOICE_TO_BE_MAILED(8, "邮寄发票"),
COMPLETED(9, "已完结"), COMPLETED(9, "已完结"),
PLATFORM_CONFIRM_ACCOUNT (10, "平台确认对账"),
PLATFORM_TO_BE_CONFIRMED(11, "平台确认结算单"),
; ;
private final Integer code; private final Integer code;
......
...@@ -32,7 +32,7 @@ public enum SettlementOrderChildRiskEnum { ...@@ -32,7 +32,7 @@ public enum SettlementOrderChildRiskEnum {
@AllArgsConstructor @AllArgsConstructor
public enum ProcessMethod { public enum ProcessMethod {
SYNC_RETRY(1, "重新同步"), SYNC_RETRY(1, "重新同步"),
CONVERT_NORMAL(2, "转普通单"), CONVERT_ORDINARY(2, "转普通单"),
; ;
private final Integer code; private final Integer code;
......
...@@ -11,6 +11,26 @@ import java.util.Optional; ...@@ -11,6 +11,26 @@ import java.util.Optional;
public enum SettlementOwnerDetailEnum { public enum SettlementOwnerDetailEnum {
; ;
@Getter
@AllArgsConstructor
public enum InvoiceTypeStatus {
INIT(0, "初始化"),
PROCESSING(1, "获取中"),
SUCCESS(2,"获取成功"),
FAIL(3,"获取失败"),
;
private final Integer code;
private final String msg;
public static Optional<InvoiceTypeStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> Objects.equals(e.getCode(), code)).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(InvoiceTypeStatus::getMsg).orElse(null);
}
}
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public enum InvoiceStatus { public enum InvoiceStatus {
...@@ -30,7 +50,6 @@ public enum SettlementOwnerDetailEnum { ...@@ -30,7 +50,6 @@ public enum SettlementOwnerDetailEnum {
} }
} }
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public enum FinalPaymentStatus { public enum FinalPaymentStatus {
......
...@@ -54,12 +54,16 @@ public enum SettlementOwnerEnum { ...@@ -54,12 +54,16 @@ public enum SettlementOwnerEnum {
public enum Status { public enum Status {
TO_BE_LOCKED(10, "待锁定"), TO_BE_LOCKED(10, "待锁定"),
TO_BE_ACCOUNT(20, "待对账"), TO_BE_ACCOUNT(20, "待对账"),
PLATFORM_TO_BE_CONFIRMED(21, "待平台确认"),
OWNER_TO_BE_CONFIRMED(30, "待货主确认"), OWNER_TO_BE_CONFIRMED(30, "待货主确认"),
SHIPPER_TO_PAYMENT (40, "待货主付款"), SHIPPER_TO_PAYMENT (40, "待货主付款"),
PLATFORM_CONFIRMED_OWNER_PAYMENT(50, "待平台确认付款"), PLATFORM_CONFIRMED_OWNER_PAYMENT(50, "待平台确认付款"),
PLATFORM_TO_PAYMENT(60, "待平台付款"), PLATFORM_TO_PAYMENT(60, "待平台付款"),
OWNER_CONFIRMED_PLATFORM_PAYMENT(70, "待货主确认付款"), OWNER_CONFIRMED_PLATFORM_PAYMENT(70, "待货主确认付款"),
@Deprecated
INVOICE_TO_BE_MAILED(80, "待邮寄发票"), INVOICE_TO_BE_MAILED(80, "待邮寄发票"),
COMPLETED(90, "已完结"), COMPLETED(90, "已完结"),
; ;
......
...@@ -53,6 +53,7 @@ public class PageCarrierOrderChildParam extends PageParam { ...@@ -53,6 +53,7 @@ public class PageCarrierOrderChildParam extends PageParam {
@ApiModelProperty(value = "运单状态集合") @ApiModelProperty(value = "运单状态集合")
private List<Integer> statusList; private List<Integer> statusList;
@ApiModelProperty(value = "时间筛选类型,1:接单时间,2:磅单审核通过时间,3:完成时间")
private Integer timeType;
} }
package com.clx.performance.param.pc.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierSettlementOwnerConfirmAccountParam {
@NotNull(message = "id不能为空")
@ApiModelProperty(value="列表id",example = "10")
private Integer id;
}
package com.clx.performance.param.pc.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierSettlementOwnerConfirmSettlementParam {
@NotNull(message = "id不能为空")
@ApiModelProperty(value="列表id",example = "10")
private Integer id;
}
package com.clx.performance.param.pc.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class CarrierSettlementOwnerDetailCompanyUpdateParam {
@NotNull(message = "id列表不能为空")
@ApiModelProperty(value="id列表")
private List<Integer> idList;
@NotNull(message = "开票公司id不能为空")
@ApiModelProperty(value="开票公司id")
private Integer companyId;
@NotBlank(message = "开票公司简称不能为空")
@ApiModelProperty(value="开票公司简称")
private String companyShorterName;
@ApiModelProperty(value="开票公司统一社会信用代码")
private String companyGroupCode;
}
package com.clx.performance.param.pc.owner;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageInvoiceOwnerSettlementOwnerDetailParam extends PageParam {
@NotNull(message = "是否已开票不能为空")
@ApiModelProperty(value = "是否已开票,0:否,1:是")
private Integer invoiceStatus;
@ApiModelProperty(value = "货主名称")
private String ownerName;
@ApiModelProperty(value = "结算单编号")
private String settlementNo;
@ApiModelProperty(value="运单编号")
private String childNo;
@ApiModelProperty(value="开票公司")
private String invoicingCompanyShorterName;
@ApiModelProperty(value="开票标识:1网运单 2普通单")
private Integer invoiceType;
@ApiModelProperty(value = "开始时间")
private String beginTime;
@ApiModelProperty(value = "结束时间")
private String endTime;
}
package com.clx.performance.param.pc.owner.settle;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@NoArgsConstructor
public class OwnerSettlementOrderChildRiskProcessUpdateParam {
@NotNull(message = "id不能为空")
@ApiModelProperty(value="id",example = "10")
private Integer id;
@NotNull(message = "处理方式不能为空")
@ApiModelProperty(value = "处理方式:1重新同步 2转普通单")
private Integer processMethod;
}
package com.clx.performance.vo.mq;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class SettlementOrderChildRiskProcessMqParam {
private Integer id; //id
}
...@@ -61,6 +61,9 @@ public class PageCarrierOrderChildVO { ...@@ -61,6 +61,9 @@ public class PageCarrierOrderChildVO {
@ApiModelProperty(value="完成时间",example = "2020-01-01 10:10:10") @ApiModelProperty(value="完成时间",example = "2020-01-01 10:10:10")
private String finishTime; private String finishTime;
@ApiModelProperty(value="磅单审核通过时间",example = "2020-01-01 10:10:10")
private String poundAuditTime;
@ApiModelProperty(value="发货地址",example = "吉林") @ApiModelProperty(value="发货地址",example = "吉林")
private String sendAddress; private String sendAddress;
......
...@@ -52,6 +52,8 @@ public class OpenOrderChildDTO { ...@@ -52,6 +52,8 @@ public class OpenOrderChildDTO {
private String unloadTime; private String unloadTime;
@ApiModelProperty(value = "运单完成时间", example = "2020-02-02 10:10:10", required = true, dataType = "String") @ApiModelProperty(value = "运单完成时间", example = "2020-02-02 10:10:10", required = true, dataType = "String")
private String payFinishedTime; private String payFinishedTime;
@ApiModelProperty(value = "磅单审核时间", example = "2020-02-02 10:10:10", required = true, dataType = "String")
private String poundTime;
@ApiModelProperty(value = "收货皮重(吨)") @ApiModelProperty(value = "收货皮重(吨)")
private BigDecimal receiveTare; private BigDecimal receiveTare;
...@@ -63,4 +65,9 @@ public class OpenOrderChildDTO { ...@@ -63,4 +65,9 @@ public class OpenOrderChildDTO {
@ApiModelProperty(value = "备注", example = "", required = true, dataType = "String") @ApiModelProperty(value = "备注", example = "", required = true, dataType = "String")
private String remark; private String remark;
@ApiModelProperty(value = "1 普通单 2 网运单", example = "1", required = true, dataType = "Integer")
private Integer invoiceFlag;
@ApiModelProperty(value = "线下平台", example = "华祥", required = true, dataType = "String")
private String invoicePlatform;
} }
...@@ -123,5 +123,17 @@ public class RabbitSettlementConfig { ...@@ -123,5 +123,17 @@ public class RabbitSettlementConfig {
.with(RabbitKeySettlementConstants.SETTLEMENT_INVOICE_STATUS_SYNC_ROUTING_KEY); .with(RabbitKeySettlementConstants.SETTLEMENT_INVOICE_STATUS_SYNC_ROUTING_KEY);
} }
/**
* 风控处理
*/
@Bean
public Queue settlementRiskProcessQueue() {
return new Queue(RabbitKeySettlementConstants.SETTLEMENT_RISK_PROCESS_QUEUE);
}
@Bean
public Binding settlementRiskProcessQueueBinding() {
return BindingBuilder.bind(settlementRiskProcessQueue()).to(settlementDefaultExchange())
.with(RabbitKeySettlementConstants.SETTLEMENT_RISK_PROCESS_ROUTING_KEY);
}
} }
...@@ -68,4 +68,10 @@ public class RabbitKeySettlementConstants { ...@@ -68,4 +68,10 @@ public class RabbitKeySettlementConstants {
public static final String SETTLEMENT_PAY_STATUS_SYNC_QUEUE = PREFIX +"settlementPayStatus.sync"+QUEUE; public static final String SETTLEMENT_PAY_STATUS_SYNC_QUEUE = PREFIX +"settlementPayStatus.sync"+QUEUE;
public static final String SETTLEMENT_PAY_STATUS_SYNC_ROUTING_KEY = PREFIX +"settlementPayStatus.sync"+QUEUE_ROUTING_KEY; public static final String SETTLEMENT_PAY_STATUS_SYNC_ROUTING_KEY = PREFIX +"settlementPayStatus.sync"+QUEUE_ROUTING_KEY;
/**
* 风控处理
*/
public static final String SETTLEMENT_RISK_PROCESS_QUEUE = PREFIX +"settlementRisk.process"+QUEUE;
public static final String SETTLEMENT_RISK_PROCESS_ROUTING_KEY = PREFIX +"settlementRisk.process"+QUEUE_ROUTING_KEY;
} }
package com.clx.performance.controller.pc.carrier; package com.clx.performance.controller.pc.carrier;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.carrier.CarrierSettlementOwnerConfirmAccountParam;
import com.clx.performance.param.pc.carrier.CarrierSettlementOwnerConfirmSettlementParam;
import com.clx.performance.param.pc.owner.*; import com.clx.performance.param.pc.owner.*;
import com.clx.performance.service.settle.SettlementOwnerService; import com.clx.performance.service.settle.SettlementOwnerService;
import com.clx.performance.vo.pc.carrier.settle.*; import com.clx.performance.vo.pc.carrier.settle.*;
...@@ -132,4 +133,21 @@ public class CarrierSettlementOwnerController { ...@@ -132,4 +133,21 @@ public class CarrierSettlementOwnerController {
settlementOwnerService.mergeOwnerSettlement(param); settlementOwnerService.mergeOwnerSettlement(param);
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "确认对账",notes = "<br>By:艾庆国")
@PostMapping("/updateConfirmAccount")
public Result updateConfirmAccount(@RequestBody @Validated CarrierSettlementOwnerConfirmAccountParam param) {
settlementOwnerService.updateConfirmAccount(param.getId());
return Result.ok();
}
@ApiOperation(value = "确认结算单",notes = "<br>By:艾庆国")
@PostMapping("/updateConfirmSettlement")
public Result updateConfirmSettlement(@RequestBody @Validated CarrierSettlementOwnerConfirmSettlementParam param) {
settlementOwnerService.updateCarrierConfirmSettlement(param.getId());
return Result.ok();
}
} }
...@@ -3,8 +3,10 @@ package com.clx.performance.controller.pc.carrier; ...@@ -3,8 +3,10 @@ package com.clx.performance.controller.pc.carrier;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.param.pc.carrier.CarrierSettlementOwnerDetailCompanyUpdateParam;
import com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam; import com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageInvoiceOwnerSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam;
import com.clx.performance.service.settle.SettlementOwnerDetailService; import com.clx.performance.service.settle.SettlementOwnerDetailService;
...@@ -57,6 +59,23 @@ public class CarrierSettlementOwnerDetailController { ...@@ -57,6 +59,23 @@ public class CarrierSettlementOwnerDetailController {
return Result.page(page.getRecords(),page.getTotal(),page.getPages()); return Result.page(page.getRecords(),page.getTotal(),page.getPages());
} }
@ApiOperation(value = "开票管理待开票、已开票列表",notes = "<br>By:杨启发")
@PostMapping("/pageInvoiceOwnerSettlementOrderDetailList")
@UnitCovert(param = false)
public Result<PageData<PageOwnerSettlementOwnerDetailVO>> pageInvoiceOwnerSettlementOrderDetailList(@RequestBody @Validated PageInvoiceOwnerSettlementOwnerDetailParam param) {
IPage<PageOwnerSettlementOwnerDetailVO> page = settlementOwnerDetailService.pageInvoiceOwnerSettlementOrderDetailList(param);
return Result.page(page.getRecords(),page.getTotal(),page.getPages());
}
@ApiOperation(value = "导出开票管理待开票、已开票",notes = "<br>By:杨启发")
@PostMapping("/exportInvoiceOwnerSettlementOrderDetail")
public void exportInvoiceOwnerSettlementOrderDetail(@RequestBody @Validated PageInvoiceOwnerSettlementOwnerDetailParam param, HttpServletResponse response) throws Exception {
try (SXSSFWorkbook workbook = settlementOwnerDetailService.exportInvoiceOwnerSettlementOrderDetail(param)) {
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
workbook.write(response.getOutputStream());
}
}
@ApiOperation(value = "导出货主结算单运单明细",notes = "<br>By:姜文业") @ApiOperation(value = "导出货主结算单运单明细",notes = "<br>By:姜文业")
@PostMapping("/exportOwnerSettlementOrderDetailList") @PostMapping("/exportOwnerSettlementOrderDetailList")
public void exportCarrierSettlementOwnerPageList(@RequestBody @Validated PageOwnerSettlementOwnerDetailParam param, HttpServletResponse response) throws Exception { public void exportCarrierSettlementOwnerPageList(@RequestBody @Validated PageOwnerSettlementOwnerDetailParam param, HttpServletResponse response) throws Exception {
...@@ -94,4 +113,12 @@ public class CarrierSettlementOwnerDetailController { ...@@ -94,4 +113,12 @@ public class CarrierSettlementOwnerDetailController {
workbook.write(response.getOutputStream()); workbook.write(response.getOutputStream());
} }
@ApiOperation(value = "更新开票公司",notes = "<br>By:艾庆国")
@PostMapping("/updateInvoiceCompany")
public Result updateInvoiceCompany(@RequestBody @Validated CarrierSettlementOwnerDetailCompanyUpdateParam param) {
settlementOwnerDetailService.updateInvoiceCompany(param);
return Result.ok();
}
} }
package com.clx.performance.controller.pc.owner;
import com.clx.performance.param.pc.owner.settle.OwnerSettlementOrderChildRiskProcessUpdateParam;
import com.clx.performance.service.settle.SettlementOrderChildRiskService;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping(value="/pc/owner/settlementOrderChildRisk")
@Validated
@Api(tags = "货主端-货主结算")
@AllArgsConstructor
public class OwnerSettlementOrderChildRiskController {
private final SettlementOrderChildRiskService settlementOrderChildRiskService;
@ApiOperation(value = "风控处理",notes = "<br>By:李瑞新")
@PostMapping("/updateProcessRisk")
public Result updateRiskProcess(@RequestBody @Validated OwnerSettlementOrderChildRiskProcessUpdateParam param) {
settlementOrderChildRiskService.updateRiskProcess(param);
return Result.ok();
}
}
...@@ -17,6 +17,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -17,6 +17,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -52,6 +53,16 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD ...@@ -52,6 +53,16 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
); );
} }
@Override
public boolean updateCompany(List<Integer> idList, Integer companyId, String companyShorterName, String companyGroupCode) {
return update(lUdWrapper()
.in(SettlementDriverDetail::getId, idList)
.set(SettlementDriverDetail::getInvoicingCompanyId, companyId)
.set(SettlementDriverDetail::getInvoicingCompanyShorterName, companyShorterName)
.set(SettlementDriverDetail::getInvoicingCompanyGroupCode, companyGroupCode)
);
}
@Override @Override
public Optional<SettlementDriverDetail> getByChildNo(String childNo) { public Optional<SettlementDriverDetail> getByChildNo(String childNo) {
return Optional.of(childNo) return Optional.of(childNo)
...@@ -129,4 +140,11 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD ...@@ -129,4 +140,11 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
return baseMapper.selectList(lQrWrapper().eq(SettlementDriverDetail::getLoanFlag, code)); return baseMapper.selectList(lQrWrapper().eq(SettlementDriverDetail::getLoanFlag, code));
} }
@Override
public List<SettlementDriverDetail> findListByIdList(List<Integer> idList) {
return list(lQrWrapper()
.in(SettlementDriverDetail::getId, idList)
);
}
} }
...@@ -8,6 +8,7 @@ import com.clx.performance.dao.settle.SettlementOrderChildRiskDao; ...@@ -8,6 +8,7 @@ import com.clx.performance.dao.settle.SettlementOrderChildRiskDao;
import com.clx.performance.mapper.settle.SettlementOrderChildRiskMapper; import com.clx.performance.mapper.settle.SettlementOrderChildRiskMapper;
import com.clx.performance.model.settle.SettlementOrderChildRisk; import com.clx.performance.model.settle.SettlementOrderChildRisk;
import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam; import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -19,6 +20,25 @@ public class SettlementOrderChildRiskDaoImpl ...@@ -19,6 +20,25 @@ public class SettlementOrderChildRiskDaoImpl
extends BaseDaoImpl<SettlementOrderChildRiskMapper, SettlementOrderChildRisk, Integer> extends BaseDaoImpl<SettlementOrderChildRiskMapper, SettlementOrderChildRisk, Integer>
implements SettlementOrderChildRiskDao { implements SettlementOrderChildRiskDao {
@Override
public Optional<SettlementOrderChildRisk> getById(Integer id) {
return Optional.of(id)
.map(item -> lQrWrapper()
.eq(SettlementOrderChildRisk::getId, item)
)
.map(super::getOne);
}
@Override
public Optional<SettlementOrderChildRisk> findLastByChildNo(String childNo) {
return Optional.of(childNo)
.map(item -> lQrWrapper()
.eq(SettlementOrderChildRisk::getChildNo, childNo)
.orderByDesc(SettlementOrderChildRisk::getId)
)
.map(super::getOne);
}
@Override @Override
public IPage<SettlementOrderChildRisk> pageSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param) { public IPage<SettlementOrderChildRisk> pageSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param) {
LambdaQueryWrapper<SettlementOrderChildRisk> query = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SettlementOrderChildRisk> query = new LambdaQueryWrapper<>();
......
...@@ -12,6 +12,7 @@ import com.clx.performance.model.settle.SettlementDriverDetail; ...@@ -12,6 +12,7 @@ import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.model.settle.SettlementOwnerDetail; import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam; import com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageInvoiceOwnerSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
...@@ -36,6 +37,24 @@ import static com.clx.performance.enums.settle.SettlementOwnerEnum.InvoiceType.O ...@@ -36,6 +37,24 @@ import static com.clx.performance.enums.settle.SettlementOwnerEnum.InvoiceType.O
@Repository @Repository
public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDetailMapper, SettlementOwnerDetail, Integer> implements SettlementOwnerDetailDao { public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDetailMapper, SettlementOwnerDetail, Integer> implements SettlementOwnerDetailDao {
@Override
public boolean updateInvoiceTypeStatus(SettlementOwnerDetail item) {
return update(lUdWrapper()
.eq(SettlementOwnerDetail::getId, item.getId())
.set(SettlementOwnerDetail::getInvoiceTypeStatus, item.getInvoiceTypeStatus())
);
}
@Override
public boolean updateClearInvoiceCompany(SettlementOwnerDetail item) {
return update(lUdWrapper()
.eq(SettlementOwnerDetail::getId, item.getId())
.set(SettlementOwnerDetail::getInvoicingCompanyId, item.getInvoicingCompanyId())
.set(SettlementOwnerDetail::getInvoicingCompanyShorterName, item.getInvoicingCompanyShorterName())
.set(SettlementOwnerDetail::getInvoicingCompanyGroupCode, item.getInvoicingCompanyGroupCode())
);
}
@Override @Override
public boolean updateInvoiceType(SettlementOwnerDetail item) { public boolean updateInvoiceType(SettlementOwnerDetail item) {
return update(lUdWrapper() return update(lUdWrapper()
...@@ -180,6 +199,22 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet ...@@ -180,6 +199,22 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query); return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
} }
@Override
public IPage<SettlementOwnerDetail> pageInvoiceOwnerSettlementOrderDetailList(PageInvoiceOwnerSettlementOwnerDetailParam param) {
LambdaQueryWrapper<SettlementOwnerDetail> query = new LambdaQueryWrapper<>();
query.in(SettlementOwnerDetail :: getFinalPaymentStatus, SettlementOwnerDetailEnum.FinalPaymentStatus.YES,SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE);
query.eq(SettlementOwnerDetail::getInvoiceStatus,param.getInvoiceStatus());
query.like(StringUtils.isNotBlank(param.getOwnerName()),SettlementOwnerDetail :: getOwnerName,param.getOwnerName());
query.eq(StringUtils.isNotBlank(param.getSettlementNo()),SettlementOwnerDetail :: getSettlementNo,param.getSettlementNo());
query.eq(StringUtils.isNotBlank(param.getChildNo()),SettlementOwnerDetail :: getChildNo,param.getChildNo());
query.like(StringUtils.isNotBlank(param.getInvoicingCompanyShorterName()),SettlementOwnerDetail :: getInvoicingCompanyShorterName,param.getInvoicingCompanyShorterName());
query.eq(Objects.nonNull(param.getInvoiceType()),SettlementOwnerDetail :: getInvoiceType,param.getInvoiceType());
query.between(StringUtils.isNotBlank(param.getBeginTime()) && StringUtils.isNotBlank(param.getEndTime()),SettlementOwnerDetail::getCreateTime,param.getBeginTime(),param.getEndTime());
query.between(StringUtils.isBlank(param.getBeginTime()) || StringUtils.isBlank(param.getEndTime()),SettlementOwnerDetail::getCreateTime,LocalDateTime.now().minusMonths(3),LocalDateTime.now());
query.orderByAsc(SettlementOwnerDetail::getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
@Override @Override
public void updateSettlementMerge(String settlementNo, List<String> settlementNos) { public void updateSettlementMerge(String settlementNo, List<String> settlementNos) {
update(lUdWrapper() update(lUdWrapper()
......
...@@ -21,6 +21,7 @@ public interface SettlementDriverDetailDao extends BaseDao<SettlementDriverDetai ...@@ -21,6 +21,7 @@ public interface SettlementDriverDetailDao extends BaseDao<SettlementDriverDetai
boolean updateInvoiceTypeAndPrepayFreightFlag(SettlementDriverDetail item); boolean updateInvoiceTypeAndPrepayFreightFlag(SettlementDriverDetail item);
boolean updateSettlementNo(SettlementDriverDetail item); boolean updateSettlementNo(SettlementDriverDetail item);
boolean updateCompany(List<Integer> idList, Integer companyId, String companyShorterName, String companyGroupCode);
Optional<SettlementDriverDetail> getByChildNo(String childNo); Optional<SettlementDriverDetail> getByChildNo(String childNo);
...@@ -39,4 +40,6 @@ public interface SettlementDriverDetailDao extends BaseDao<SettlementDriverDetai ...@@ -39,4 +40,6 @@ public interface SettlementDriverDetailDao extends BaseDao<SettlementDriverDetai
SettlementDriverDetail selectLoanTypeFlag(String orderNo); SettlementDriverDetail selectLoanTypeFlag(String orderNo);
List<SettlementDriverDetail> selectListByLoanFlag(Integer code); List<SettlementDriverDetail> selectListByLoanFlag(Integer code);
List<SettlementDriverDetail> findListByIdList(List<Integer> idList);
} }
...@@ -4,11 +4,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,11 +4,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.settle.SettlementOrderChildRiskMapper; import com.clx.performance.mapper.settle.SettlementOrderChildRiskMapper;
import com.clx.performance.model.settle.SettlementOrderChildRisk; import com.clx.performance.model.settle.SettlementOrderChildRisk;
import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam; import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
public interface SettlementOrderChildRiskDao public interface SettlementOrderChildRiskDao
extends BaseDao<SettlementOrderChildRiskMapper, extends BaseDao<SettlementOrderChildRiskMapper,
SettlementOrderChildRisk, Integer> { SettlementOrderChildRisk, Integer> {
Optional<SettlementOrderChildRisk> getById(Integer id);
Optional<SettlementOrderChildRisk> findLastByChildNo(String childNo);
IPage<SettlementOrderChildRisk> pageSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param); IPage<SettlementOrderChildRisk> pageSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param);
} }
\ No newline at end of file
...@@ -5,6 +5,7 @@ import com.clx.performance.mapper.settle.SettlementOwnerDetailMapper; ...@@ -5,6 +5,7 @@ import com.clx.performance.mapper.settle.SettlementOwnerDetailMapper;
import com.clx.performance.model.settle.SettlementOwnerDetail; import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam; import com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageInvoiceOwnerSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
...@@ -22,6 +23,8 @@ import java.util.List; ...@@ -22,6 +23,8 @@ import java.util.List;
*/ */
public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailMapper, SettlementOwnerDetail, Integer> { public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailMapper, SettlementOwnerDetail, Integer> {
boolean updateInvoiceTypeStatus(SettlementOwnerDetail item);
boolean updateClearInvoiceCompany(SettlementOwnerDetail item);
boolean updateInvoiceType(SettlementOwnerDetail item); boolean updateInvoiceType(SettlementOwnerDetail item);
boolean updatePayStatus(SettlementOwnerDetail item); boolean updatePayStatus(SettlementOwnerDetail item);
boolean updateSettlementNo(SettlementOwnerDetail item); boolean updateSettlementNo(SettlementOwnerDetail item);
...@@ -35,9 +38,10 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM ...@@ -35,9 +38,10 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
List<SettlementOwnerDetail> getBySettlementNoAndInvoiceType(String settlementNo, Integer invoiceType, Integer invoiceStatus); List<SettlementOwnerDetail> getBySettlementNoAndInvoiceType(String settlementNo, Integer invoiceType, Integer invoiceStatus);
IPage<SettlementOwnerDetail> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param); IPage<SettlementOwnerDetail> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param);
IPage<SettlementOwnerDetail> pageInvoiceOwnerSettlementOrderDetailList(PageInvoiceOwnerSettlementOwnerDetailParam param);
IPage<SettlementOwnerDetail> pageSettlementOwnerDetail(PageCarrierSettlementOwnerDetailParam param); IPage<SettlementOwnerDetail> pageSettlementOwnerDetail(PageCarrierSettlementOwnerDetailParam param);
Integer getInvoiceType(String orderNo); Integer getInvoiceType(String orderNo);
......
...@@ -6,6 +6,7 @@ import com.clx.performance.vo.pc.broker.TransportVO; ...@@ -6,6 +6,7 @@ import com.clx.performance.vo.pc.broker.TransportVO;
public interface BrokerService { public interface BrokerService {
void orderChildSync(TransportParam param); void orderChildSync(TransportParam param);
void orderChildUpdate(TransportParam param);
TransportVO getOrderChildStatus(String childNo); TransportVO getOrderChildStatus(String childNo);
......
...@@ -32,6 +32,19 @@ public class BrokerServiceImpl implements BrokerService { ...@@ -32,6 +32,19 @@ public class BrokerServiceImpl implements BrokerService {
} }
log.info("运单同步网络货运, result:{}", JSON.toJSONString(result)); log.info("运单同步网络货运, result:{}", JSON.toJSONString(result));
} }
@Override
public void orderChildUpdate(TransportParam param) {
param.setUserCode(settlementConfig.getBrokerUserCode());
Result<Object> result = brokerFeign.modifyTransport(param);
if (result.getCode() != 0) {
log.info("运单更新网络货运失败, msg:{}", result.getMsg());
throw new ServiceSystemException(ResultEnum.FEIGN_ERROR, result.getMsg());
}
log.info("运单更新网络货运, result:{}", JSON.toJSONString(result));
}
@Override @Override
public TransportVO getOrderChildStatus(String childNo) { public TransportVO getOrderChildStatus(String childNo) {
......
...@@ -21,6 +21,12 @@ public interface BrokerFeign { ...@@ -21,6 +21,12 @@ public interface BrokerFeign {
@RequestMapping(method = RequestMethod.POST, value = "/broker-service/open/transport/saveTransport") @RequestMapping(method = RequestMethod.POST, value = "/broker-service/open/transport/saveTransport")
Result<Object> saveTransport(@RequestBody TransportParam param); Result<Object> saveTransport(@RequestBody TransportParam param);
/**
* 运单更新
*/
@RequestMapping(method = RequestMethod.POST, value = "/broker-service/open/transport/modifyTransport")
Result<Object> modifyTransport(@RequestBody TransportParam param);
@RequestMapping(value = "/broker-service/open/transport/getTransportByChildNo", method = RequestMethod.GET) @RequestMapping(value = "/broker-service/open/transport/getTransportByChildNo", method = RequestMethod.GET)
Result<TransportVO> getTransportByChildNo(@RequestParam @NotBlank(message = "运单编号不能为空") String orderCode, Result<TransportVO> getTransportByChildNo(@RequestParam @NotBlank(message = "运单编号不能为空") String orderCode,
@RequestParam @NotNull(message = "userCode不能为空") String userCode, @RequestParam @NotNull(message = "userCode不能为空") String userCode,
......
...@@ -119,6 +119,7 @@ public class OrderChildSyncTransportListener { ...@@ -119,6 +119,7 @@ public class OrderChildSyncTransportListener {
} }
else{ else{
settlementOwnerDetail.setInvoiceType(SettlementOwnerEnum.InvoiceType.ONLINE.getCode());
try{ try{
// 同步broker // 同步broker
orderChildBrokerService.orderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail); orderChildBrokerService.orderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail);
......
package com.clx.performance.listener.settle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeySettlementConstants;
import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.vo.mq.SettlementOrderChildRiskProcessMqParam;
import com.clx.performance.vo.mq.SettlementStatisticsMqParam;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Author: 艾庆国
* @Description: 统计 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
@Slf4j
@Component
public class SettlementRiskProcessListener {
@Autowired
private SettlementMqHandlerService settlementMqHandlerService;
@RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_RISK_PROCESS_QUEUE)
public void process(Message message) {
try{
log.info("结算-风控处理, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<SettlementOrderChildRiskProcessMqParam>>(){}).getData());
}catch (Exception e){
log.info("结算-风控处理 失败,msg:{}", ExceptionUtils.getStackTrace(e));
}
}
private void process(SettlementOrderChildRiskProcessMqParam mq){
settlementMqHandlerService.riskProcess(mq);
}
}
...@@ -63,6 +63,7 @@ public class SettlementOwnerDetail implements HasKey<Integer> { ...@@ -63,6 +63,7 @@ public class SettlementOwnerDetail implements HasKey<Integer> {
private BigDecimal invoiceServiceFee; //开票服务费(分) private BigDecimal invoiceServiceFee; //开票服务费(分)
private BigDecimal invoiceServiceFeeRate; //开票服务率 private BigDecimal invoiceServiceFeeRate; //开票服务率
private Integer finalPaymentStatus; //尾款状态 0-否,1-是,2-无需支付 private Integer finalPaymentStatus; //尾款状态 0-否,1-是,2-无需支付
private Integer invoiceTypeStatus; // 开票标识状态:0未获取 1获取中 2获取成功 3获取失败
private Integer invoiceStatus; //开票状态 0-否,1-是,2-无需开票 private Integer invoiceStatus; //开票状态 0-否,1-是,2-无需开票
private Integer invoicingCompanyId; //开票公司id private Integer invoicingCompanyId; //开票公司id
private String invoicingCompanyShorterName; //开票公司简称 private String invoicingCompanyShorterName; //开票公司简称
......
...@@ -9,4 +9,6 @@ public interface OrderChildBrokerService { ...@@ -9,4 +9,6 @@ public interface OrderChildBrokerService {
void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail); SettlementDriverDetail settlementDriverDetail);
void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail);
} }
...@@ -2378,8 +2378,9 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2378,8 +2378,9 @@ public class OrderChildServiceImpl implements OrderChildService {
fieldList.add(new ExcelField(15, "接单时间", "payTime", 5000)); fieldList.add(new ExcelField(15, "接单时间", "payTime", 5000));
fieldList.add(new ExcelField(16, "完成时间", "finishTime", 5000)); fieldList.add(new ExcelField(16, "完成时间", "finishTime", 5000));
fieldList.add(new ExcelField(17, "发货地址", "sendAddress", 10000)); fieldList.add(new ExcelField(17, "磅单审核通过时间", "poundAuditTime", 5000));
fieldList.add(new ExcelField(18, "收货地址", "receiveAddress", 10000)); fieldList.add(new ExcelField(18, "发货地址", "sendAddress", 10000));
fieldList.add(new ExcelField(19, "收货地址", "receiveAddress", 10000));
// 组装数据 // 组装数据
List<List<ExcelData>> dataList = new ArrayList<>(); List<List<ExcelData>> dataList = new ArrayList<>();
...@@ -2412,6 +2413,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2412,6 +2413,7 @@ public class OrderChildServiceImpl implements OrderChildService {
rowData.add(new ExcelData(dto.getPayTime())); rowData.add(new ExcelData(dto.getPayTime()));
rowData.add(new ExcelData(dto.getFinishTime())); rowData.add(new ExcelData(dto.getFinishTime()));
rowData.add(new ExcelData(dto.getPoundAuditTime()));
rowData.add(new ExcelData(dto.getSendAddress())); rowData.add(new ExcelData(dto.getSendAddress()));
rowData.add(new ExcelData(dto.getReceiveAddress())); rowData.add(new ExcelData(dto.getReceiveAddress()));
......
...@@ -6,7 +6,9 @@ import com.clx.order.vo.feign.FeignAddressVO; ...@@ -6,7 +6,9 @@ import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderVO; import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO; import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.performance.dao.OrderChildImageDao; import com.clx.performance.dao.OrderChildImageDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.PowerTypeEnum; import com.clx.performance.enums.PowerTypeEnum;
import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
import com.clx.performance.extranal.broker.BrokerService; import com.clx.performance.extranal.broker.BrokerService;
import com.clx.performance.extranal.order.InvoicingCompanyService; import com.clx.performance.extranal.order.InvoicingCompanyService;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
...@@ -54,12 +56,37 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -54,12 +56,37 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
private OrderChildImageDao orderChildImageDao; private OrderChildImageDao orderChildImageDao;
@Autowired @Autowired
private InvoicingCompanyService invoicingCompanyService; private InvoicingCompanyService invoicingCompanyService;
@Autowired
private SettlementOwnerDetailDao settlementOwnerDetailDao;
@Override @Override
public void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, public void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail) { SettlementDriverDetail settlementDriverDetail) {
TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail);
// 更新状态
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.PROCESSING.getCode());
settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail);
brokerService.orderChildSync(transportParam);
}
@Override
public void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, SettlementDriverDetail settlementDriverDetail) {
TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail);
// 更新状态
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.PROCESSING.getCode());
settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail);
brokerService.orderChildSync(transportParam);
brokerService.orderChildSync(transportParam);
}
private TransportParam buildParam(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail){
String host = documentFeign.getHost().getData(); String host = documentFeign.getHost().getData();
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo()); FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo());
...@@ -244,10 +271,13 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -244,10 +271,13 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo.setLoadTime(DateUtils.formatDateTime(orderChild.getLoadTime()).get()); orderChildInfo.setLoadTime(DateUtils.formatDateTime(orderChild.getLoadTime()).get());
orderChildInfo.setUnloadTime(DateUtils.formatDateTime(orderChild.getUnloadTime()).get()); orderChildInfo.setUnloadTime(DateUtils.formatDateTime(orderChild.getUnloadTime()).get());
orderChildInfo.setPayFinishedTime(DateUtils.formatDateTime(orderChild.getConfirmTime()).get()); orderChildInfo.setPayFinishedTime(DateUtils.formatDateTime(orderChild.getConfirmTime()).get());
orderChildInfo.setPoundTime(DateUtils.formatDateTime(settlementOwnerDetail.getPoundAuditTime()).get());
orderChildInfo.setReceiveTare(orderChild.getUnloadTare()); orderChildInfo.setReceiveTare(orderChild.getUnloadTare());
orderChildInfo.setReceiveRough(orderChild.getUnloadRough()); orderChildInfo.setReceiveRough(orderChild.getUnloadRough());
orderChildInfo.setReceiveNet(orderChild.getUnloadNet()); orderChildInfo.setReceiveNet(orderChild.getUnloadNet());
orderChildInfo.setInvoiceFlag(settlementOwnerDetail.getInvoiceType());
orderChildInfo.setInvoicePlatform(settlementOwnerDetail.getInvoicingCompanyShorterName());
transportParam.setOrder(orderInfo); transportParam.setOrder(orderInfo);
transportParam.setOrderChildImage(imageList); transportParam.setOrderChildImage(imageList);
...@@ -256,6 +286,7 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -256,6 +286,7 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
transportParam.setOrderChildTruck(truckInfo); transportParam.setOrderChildTruck(truckInfo);
transportParam.setOrderChild(orderChildInfo); transportParam.setOrderChild(orderChildInfo);
brokerService.orderChildSync(transportParam); return transportParam;
} }
} }
...@@ -28,6 +28,7 @@ import com.clx.performance.param.pc.payment.PayParam; ...@@ -28,6 +28,7 @@ import com.clx.performance.param.pc.payment.PayParam;
import com.clx.performance.param.pc.payment.PayPlatformFeeParam; import com.clx.performance.param.pc.payment.PayPlatformFeeParam;
import com.clx.performance.service.OrderChildLogService; import com.clx.performance.service.OrderChildLogService;
import com.clx.performance.service.PaymentService; import com.clx.performance.service.PaymentService;
import com.clx.performance.service.broker.OrderChildBrokerService;
import com.clx.performance.service.impl.UniqueOrderNumService; import com.clx.performance.service.impl.UniqueOrderNumService;
import com.clx.performance.service.settle.*; import com.clx.performance.service.settle.*;
import com.clx.performance.utils.LocalDateTimeUtils; import com.clx.performance.utils.LocalDateTimeUtils;
...@@ -130,6 +131,10 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -130,6 +131,10 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Autowired @Autowired
private SettlementOrderChildRiskDao settlementOrderChildRiskDao; private SettlementOrderChildRiskDao settlementOrderChildRiskDao;
@Autowired
private OrderChildBrokerService orderChildBrokerService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void settlementStatistics(SettlementStatisticsMqParam mq) { public void settlementStatistics(SettlementStatisticsMqParam mq) {
...@@ -251,6 +256,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -251,6 +256,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
return; return;
} }
if (settlementOwnerDetail.getInvoiceType() != null) {return;} if (settlementOwnerDetail.getInvoiceType() != null) {return;}
if (!Objects.equals(settlementOwnerDetail.getInvoiceTypeStatus(), SettlementOwnerDetailEnum.InvoiceTypeStatus.PROCESSING.getCode())){
return;
}
try { try {
// 获取状态 // 获取状态
...@@ -267,10 +275,17 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -267,10 +275,17 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// remark += result.getRiskReason(); // remark += result.getRiskReason();
// } // }
if (Objects.equals(result.getSyncStatus(), 0)) {
return;
}
// 同步失败 // 同步失败
if (Objects.equals(result.getSyncStatus(), 2)) { if (Objects.equals(result.getSyncStatus(), 2)) {
invoiceType = SettlementOwnerEnum.InvoiceType.ORDINARY.getCode();
remark += result.getSyncMsg(); // 更新状态
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.FAIL.getCode());
settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail);
SettlementOrderChildRisk settlementOrderChildRisk = new SettlementOrderChildRisk(); SettlementOrderChildRisk settlementOrderChildRisk = new SettlementOrderChildRisk();
settlementOrderChildRisk.setChildNo(orderChild.getChildNo()); settlementOrderChildRisk.setChildNo(orderChild.getChildNo());
...@@ -285,10 +300,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -285,10 +300,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk); settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
} }
if (Objects.equals(result.getSyncStatus(), 0)) { // 更新状态
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.SUCCESS.getCode());
return; settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail);
}
// 发送mq (结算) // 发送mq (结算)
settlementMqService.settle(orderChild.getChildNo(), invoiceType, remark); settlementMqService.settle(orderChild.getChildNo(), invoiceType, remark);
...@@ -658,6 +672,48 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -658,6 +672,48 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
return uniqueOrderNumService.getUniqueOrderNum(com.msl.common.utils.LocalDateTimeUtils.convertLocalDateTimeToString(LocalDateTime.now(), com.msl.common.utils.LocalDateTimeUtils.DATE_DAY)); return uniqueOrderNumService.getUniqueOrderNum(com.msl.common.utils.LocalDateTimeUtils.convertLocalDateTimeToString(LocalDateTime.now(), com.msl.common.utils.LocalDateTimeUtils.DATE_DAY));
} }
@Override
public void riskProcess(SettlementOrderChildRiskProcessMqParam mq) {
SettlementOrderChildRisk settlementOrderChildRisk = settlementOrderChildRiskDao.getById(mq.getId()).orElseThrow(ResultEnum.DATA_NOT_FIND);
SettlementOwnerDetail settlementOwnerDetail = settlementOwnerDetailDao
.getByChildNo(settlementOrderChildRisk.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if (Objects.equals(settlementOrderChildRisk.getProcessMethod(), SettlementOrderChildRiskEnum.ProcessMethod.CONVERT_ORDINARY.getCode())){
settlementOwnerDetail.setInvoicingCompanyId(null);
settlementOwnerDetail.setInvoicingCompanyShorterName(null);
settlementOwnerDetail.setInvoicingCompanyGroupCode(null);
settlementOwnerDetailDao.updateClearInvoiceCompany(settlementOwnerDetail);
// 发送mq (结算)
settlementMqService.settle(settlementOrderChildRisk.getChildNo(),
SettlementOwnerEnum.InvoiceType.ORDINARY.getCode(), settlementOrderChildRisk.getRiskRemark());
}
else if (Objects.equals(settlementOrderChildRisk.getProcessMethod(), SettlementOrderChildRiskEnum.ProcessMethod.SYNC_RETRY.getCode())){
// 更新状态
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.PROCESSING.getCode());
settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail);
OrderChild orderChild = orderChildDao.getByChildNo(settlementOrderChildRisk.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao.getByChildNo(orderChild.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
settlementOwnerDetail.setInvoiceType(SettlementOwnerEnum.InvoiceType.ONLINE.getCode());
try{
// 同步broker
orderChildBrokerService.orderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail);
} catch (Exception e) {
log.info("当前OrderChildSyncTransportListener监听同步网络货运失败,运单号{}, 错误信息{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e));
}
}
}
private BigDecimal invoiceFreightCalc(Integer settlementWay, BigDecimal invoiceServiceFeeRate, SettlementOwnerDetail settlementOwnerDetail) { private BigDecimal invoiceFreightCalc(Integer settlementWay, BigDecimal invoiceServiceFeeRate, SettlementOwnerDetail settlementOwnerDetail) {
if (Objects.equals(settlementWay, SettlementWayEnum.WayType.LOAD.getCode())) { //订单结算方式为“装车净重”时,开票金额=实际净重*平台运费报价-货损金额。 if (Objects.equals(settlementWay, SettlementWayEnum.WayType.LOAD.getCode())) { //订单结算方式为“装车净重”时,开票金额=实际净重*平台运费报价-货损金额。
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice()) return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice())
......
...@@ -106,4 +106,16 @@ public class SettlementMqServiceImpl implements SettlementMqService { ...@@ -106,4 +106,16 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message); RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
} }
@Override
public void riskProcess(Integer id) {
SettlementOrderChildRiskProcessMqParam mq = new SettlementOrderChildRiskProcessMqParam();
mq.setId(id);
MqDelay delay = new MqDelay<>(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.SETTLEMENT_RISK_PROCESS_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
} }
...@@ -3,11 +3,15 @@ package com.clx.performance.service.impl.settle; ...@@ -3,11 +3,15 @@ package com.clx.performance.service.impl.settle;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.settle.SettlementOrderChildRiskDao; import com.clx.performance.dao.settle.SettlementOrderChildRiskDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.ResultEnum;
import com.clx.performance.enums.settle.SettlementDriverEnum; import com.clx.performance.enums.settle.SettlementDriverEnum;
import com.clx.performance.enums.settle.SettlementOrderChildRiskEnum; import com.clx.performance.enums.settle.SettlementOrderChildRiskEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum; import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.model.settle.SettlementOrderChildRisk; import com.clx.performance.model.settle.SettlementOrderChildRisk;
import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam; import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam;
import com.clx.performance.param.pc.owner.settle.OwnerSettlementOrderChildRiskProcessUpdateParam;
import com.clx.performance.service.settle.SettlementMqService;
import com.clx.performance.service.settle.SettlementOrderChildRiskService; import com.clx.performance.service.settle.SettlementOrderChildRiskService;
import com.clx.performance.struct.settle.SettlementOrderChildRiskStruct; import com.clx.performance.struct.settle.SettlementOrderChildRiskStruct;
import com.clx.performance.utils.excel.ExcelData; import com.clx.performance.utils.excel.ExcelData;
...@@ -16,20 +20,48 @@ import com.clx.performance.utils.excel.ExcelSheet; ...@@ -16,20 +20,48 @@ import com.clx.performance.utils.excel.ExcelSheet;
import com.clx.performance.utils.excel.ExcelUtil; import com.clx.performance.utils.excel.ExcelUtil;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementDriverDetailVO; import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementDriverDetailVO;
import com.clx.performance.vo.pc.carrier.settle.SettlementOrderChildRiskVO; import com.clx.performance.vo.pc.carrier.settle.SettlementOrderChildRiskVO;
import com.msl.common.exception.ServiceSystemException;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
@Service @Service
@Slf4j @Slf4j
@AllArgsConstructor
public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChildRiskService { public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChildRiskService {
private final SettlementOrderChildRiskDao settlementOrderChildRiskDao; @Autowired
private final SettlementOrderChildRiskStruct settlementOrderChildRiskStruct; private SettlementOrderChildRiskDao settlementOrderChildRiskDao;
@Autowired
private SettlementOrderChildRiskStruct settlementOrderChildRiskStruct;
@Autowired
private SettlementMqService settlementMqService;
@Override
public void updateRiskProcess(OwnerSettlementOrderChildRiskProcessUpdateParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
SettlementOrderChildRisk settlementOrderChildRisk = settlementOrderChildRiskDao.getById(param.getId()).orElseThrow(ResultEnum.DATA_NOT_FIND);
if (Objects.equals(settlementOrderChildRisk.getStatus(), SettlementOrderChildRiskEnum.Status.PROCESSED.getCode())) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_RISK_PROCESS_ERROR);
}
settlementOrderChildRisk.setStatus(SettlementOrderChildRiskEnum.Status.PROCESSED.getCode());
settlementOrderChildRisk.setProcessMethod(param.getProcessMethod());
settlementOrderChildRisk.setProcessBy(loginUserInfo.getUserName());
settlementOrderChildRisk.setProcessTime(LocalDateTime.now());
// 发送mq (风控处理)
settlementMqService.riskProcess(settlementOrderChildRisk.getId());
}
@Override @Override
public IPage<SettlementOrderChildRiskVO> pageSettlementOrderChildRisk( public IPage<SettlementOrderChildRiskVO> pageSettlementOrderChildRisk(
......
...@@ -27,6 +27,7 @@ import com.clx.performance.model.settle.SettlementLog; ...@@ -27,6 +27,7 @@ import com.clx.performance.model.settle.SettlementLog;
import com.clx.performance.model.settle.SettlementOwner; import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail; import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.model.settle.SettlementPlatformAccount; import com.clx.performance.model.settle.SettlementPlatformAccount;
import com.clx.performance.param.pc.carrier.CarrierSettlementOwnerDetailCompanyUpdateParam;
import com.clx.performance.param.pc.owner.*; import com.clx.performance.param.pc.owner.*;
import com.clx.performance.service.OwnerAccountService; import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.service.PlatformAccountConfigService; import com.clx.performance.service.PlatformAccountConfigService;
...@@ -171,6 +172,51 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -171,6 +172,51 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,status); settlementOwnerDao.updateStatusBySettlementNo(settlementNo,status);
} }
@Override
public void updateConfirmAccount(Integer id) {
//结算单详情
SettlementOwner settlementOwner = settlementOwnerDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//状态判断
if(!Objects.equals(settlementOwner.getStatus(), SettlementOwnerEnum.Status.TO_BE_ACCOUNT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.SETTLEMENT_ORDER_STATUS_CHANGED);
}
String settlementNo = settlementOwner.getSettlementNo();
settlementOwnerDao.updateStatusBySettlementNo(settlementNo
,SettlementOwnerEnum.Status.PLATFORM_TO_BE_CONFIRMED.getCode());
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.PLATFORM_CONFIRM_ACCOUNT.getCode(),SettlementLogEnum.Type.PLATFORM_CONFIRM_ACCOUNT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
}
@Override
public void updateCarrierConfirmSettlement(Integer id) {
//结算单详情
SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//状态判断
if(!Objects.equals(settlementOwner.getStatus(), SettlementOwnerEnum.Status.PLATFORM_TO_BE_CONFIRMED.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.SETTLEMENT_ORDER_STATUS_CHANGED);
}
String settlementNo = settlementOwner.getSettlementNo();
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----平台确认结算单
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.PLATFORM_TO_BE_CONFIRMED.getCode(),SettlementLogEnum.Type.PLATFORM_TO_BE_CONFIRMED.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
int status = SettlementOwnerEnum.Status.OWNER_TO_BE_CONFIRMED.getCode();
//更新状态
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,status);
}
@Override @Override
public SettlementPlatformAccountVO getSettlementPlatformAccount() { public SettlementPlatformAccountVO getSettlementPlatformAccount() {
//平台账号 //平台账号
......
...@@ -23,4 +23,5 @@ public interface SettlementMqHandlerService { ...@@ -23,4 +23,5 @@ public interface SettlementMqHandlerService {
String settlementNoGenerate(); String settlementNoGenerate();
void riskProcess(SettlementOrderChildRiskProcessMqParam mq);
} }
...@@ -13,4 +13,7 @@ public interface SettlementMqService { ...@@ -13,4 +13,7 @@ public interface SettlementMqService {
void invoiceStatusSync(String childNo); void invoiceStatusSync(String childNo);
void payStatusSync(String childNo); void payStatusSync(String childNo);
void riskProcess(Integer id);
} }
...@@ -2,11 +2,14 @@ package com.clx.performance.service.settle; ...@@ -2,11 +2,14 @@ package com.clx.performance.service.settle;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam; import com.clx.performance.param.pc.carrier.PageSettlementOrderChildRiskParam;
import com.clx.performance.param.pc.owner.settle.OwnerSettlementOrderChildRiskProcessUpdateParam;
import com.clx.performance.vo.pc.carrier.settle.SettlementOrderChildRiskVO; import com.clx.performance.vo.pc.carrier.settle.SettlementOrderChildRiskVO;
import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook;
public interface SettlementOrderChildRiskService { public interface SettlementOrderChildRiskService {
void updateRiskProcess(OwnerSettlementOrderChildRiskProcessUpdateParam param);
IPage<SettlementOrderChildRiskVO> pageSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param); IPage<SettlementOrderChildRiskVO> pageSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param);
SXSSFWorkbook exportSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param); SXSSFWorkbook exportSettlementOrderChildRisk(PageSettlementOrderChildRiskParam param);
......
...@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementDriverDetail; import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.param.pc.carrier.CarrierSettlementOwnerDetailCompanyUpdateParam;
import com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam; import com.clx.performance.param.pc.carrier.ExportBatchOwnerSettlementDetailParam;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageInvoiceOwnerSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam; import com.clx.performance.param.pc.owner.PagePendingCarrierSettlementOwnerDetailParam;
import com.clx.performance.vo.pc.carrier.settle.CarrierPagePendingSettlementOwnerDetailVO; import com.clx.performance.vo.pc.carrier.settle.CarrierPagePendingSettlementOwnerDetailVO;
...@@ -23,8 +25,12 @@ public interface SettlementOwnerDetailService { ...@@ -23,8 +25,12 @@ public interface SettlementOwnerDetailService {
Integer saveSettlementDetail(OrderChild orderChild, OrderGoods orderGoods, SettlementDriverDetail settlementDriverDetail); Integer saveSettlementDetail(OrderChild orderChild, OrderGoods orderGoods, SettlementDriverDetail settlementDriverDetail);
void updateInvoiceCompany(CarrierSettlementOwnerDetailCompanyUpdateParam param);
IPage<PageOwnerSettlementOwnerDetailVO> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param); IPage<PageOwnerSettlementOwnerDetailVO> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param);
IPage<PageOwnerSettlementOwnerDetailVO> pageInvoiceOwnerSettlementOrderDetailList(PageInvoiceOwnerSettlementOwnerDetailParam param);
IPage<CarrierPageSettlementOwnerDetailVO> pageSettlementOwnerDetail(PageCarrierSettlementOwnerDetailParam param); IPage<CarrierPageSettlementOwnerDetailVO> pageSettlementOwnerDetail(PageCarrierSettlementOwnerDetailParam param);
SXSSFWorkbook exportOwnerSettlementOrderDetail(PageOwnerSettlementOwnerDetailParam param); SXSSFWorkbook exportOwnerSettlementOrderDetail(PageOwnerSettlementOwnerDetailParam param);
...@@ -39,5 +45,5 @@ public interface SettlementOwnerDetailService { ...@@ -39,5 +45,5 @@ public interface SettlementOwnerDetailService {
SXSSFWorkbook exportBatchSettlementOwnerDetail(ExportBatchOwnerSettlementDetailParam param); SXSSFWorkbook exportBatchSettlementOwnerDetail(ExportBatchOwnerSettlementDetailParam param);
SXSSFWorkbook exportInvoiceOwnerSettlementOrderDetail(PageInvoiceOwnerSettlementOwnerDetailParam param);
} }
...@@ -18,6 +18,8 @@ public interface SettlementOwnerService { ...@@ -18,6 +18,8 @@ public interface SettlementOwnerService {
CarrierSettlementOwnerDetailVO getCarrierSettlementOwnerDetail(Integer id); CarrierSettlementOwnerDetailVO getCarrierSettlementOwnerDetail(Integer id);
void updateConfirmSettlement(Integer id); void updateConfirmSettlement(Integer id);
void updateConfirmAccount(Integer id);
void updateCarrierConfirmSettlement(Integer id);
SettlementPlatformAccountVO getSettlementPlatformAccount(); SettlementPlatformAccountVO getSettlementPlatformAccount();
......
...@@ -118,10 +118,19 @@ public class OrderChildSqlProvider { ...@@ -118,10 +118,19 @@ public class OrderChildSqlProvider {
"freight_price,send_address,receive_address,load_rough,load_tare,unload_rough,unload_tare," + "freight_price,send_address,receive_address,load_rough,load_tare,unload_rough,unload_tare," +
"driver_name,driver_mobile,load_net,unload_net," + "driver_name,driver_mobile,load_net,unload_net," +
"date_format(pay_time, '%Y-%m-%d %H:%i:%s') as payTime," + "date_format(pay_time, '%Y-%m-%d %H:%i:%s') as payTime," +
"date_format(finish_time, '%Y-%m-%d %H:%i:%s') as finishTime"); "date_format(finish_time, '%Y-%m-%d %H:%i:%s') as finishTime," +
"date_format(pound_audit_time, '%Y-%m-%d %H:%i:%s') as poundAuditTime");
FROM("order_child "); FROM("order_child ");
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("pay_time >= #{param.beginTime}");} if (Objects.equals(param.getTimeType(),1)) {
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("pay_time <= #{param.endTime}");} if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("pay_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("pay_time <= #{param.endTime}");}
}else if (Objects.equals(param.getTimeType(),2)) {
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("pound_audit_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("pound_audit_time <= #{param.endTime}");}
}else if (Objects.equals(param.getTimeType(),3)) {
if (StringUtils.isNotBlank(param.getBeginTime())) {WHERE("finish_time >= #{param.beginTime}");}
if (StringUtils.isNotBlank(param.getEndTime())) {WHERE("finish_time <= #{param.endTime}");}
}
if (StringUtils.isNotBlank(param.getOrderGoodsNo())) {WHERE("order_goods_no = #{param.orderGoodsNo}");} 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.getChildNo())) {WHERE("child_no = #{param.childNo}");}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论