提交 1d5ee5da authored 作者: huyufan's avatar huyufan

Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into…

Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into v5.7_break_contract_reverse_20231020 # Conflicts: # performance-web/src/main/java/com/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
package com.clx.performance.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum OrderGoodsStopEnum {
;
@Getter
@AllArgsConstructor
public enum Status {
NO(0, "未暂停"),
YES(1, "已暂停")
;
private final Integer code;
private final String name;
public static Optional<Status> getByCode(Integer code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
}
}
......@@ -43,4 +43,7 @@ public class CarrierBreakContractSavePayeeParam {
@ApiModelProperty(value = "付款银行卡卡号", example = "62213545878787")
private String paymentBankCardNo;
@ApiModelProperty(value = "状态", example = "1",hidden = true)
private Integer status;
}
package com.clx.performance.param.pc.breakcontract.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class OwnerConfirmSettlementParam {
@NotNull(message = "id不能为空")
@ApiModelProperty(value = "id", example = "100")
private Integer id;
}
......@@ -13,6 +13,8 @@ import lombok.ToString;
@NoArgsConstructor
public class PageCarrierBreakContractSettlementOwnerParam extends PageParam {
@ApiModelProperty(value="货主编号",example = "201457878",hidden = true)
private Long ownerUserNo;
@ApiModelProperty(value="订单编号",example = "201457878")
private String orderNo;
......@@ -23,6 +25,9 @@ public class PageCarrierBreakContractSettlementOwnerParam extends PageParam {
@ApiModelProperty(value = "违约方类型:1平台 2货主 3车主", example = "1")
private Integer breakContractPartyType;
@ApiModelProperty(value = "状态:10-待锁定,20-待货主确认,30-待货主付款,40-待平台确认付款,50-待平台付款,60-待货主确认付款,70-已完结,80-已取消", example = "1")
private Integer status;
@ApiModelProperty(value="开始时间",example = "2012-01-01 00:00:00")
private String beginTime;
......
package com.clx.performance.controller.pc.breakcontract.owner;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.carrier.CarrierBreakContractSavePayeeParam;
import com.clx.performance.param.pc.breakcontract.carrier.CarrierBreakPayeeConfirmParam;
import com.clx.performance.param.pc.breakcontract.carrier.OwnerConfirmSettlementParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerParam;
import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService;
import com.clx.performance.vo.pc.breakcontract.carrier.CarrierBreakContractSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementOwnerVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
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.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull;
......@@ -29,8 +40,51 @@ public class OwnerBreakContractSettlementOwnerController {
@ApiOperation(value = "详情",notes = "<br>By:李瑞新")
@GetMapping("/getOwnerBreakContractSettlementOwnerDetail")
@UnitCovert(param = false)
public Result<CarrierBreakContractSettlementOwnerDetailVO> getCarrierBreakContractSettlementOwnerDetail(@NotNull(message = "id不能为空") Integer id) {
public Result<CarrierBreakContractSettlementOwnerDetailVO> getOwnerBreakContractSettlementOwnerDetail(@NotNull(message = "id不能为空") Integer id) {
return Result.ok(breakContractSettlementOwnerService.getCarrierBreakContractSettlementOwnerDetail(id));
}
@ApiOperation(value = "列表",notes = "<br>By:李瑞新")
@PostMapping("/pageOwnerBreakContractSettlementOwnerList")
@UnitCovert(param = false)
public Result<PageData<PageCarrierBreakContractSettlementOwnerVO>> pageOwnerBreakContractSettlementOwnerList(@RequestBody PageCarrierBreakContractSettlementOwnerParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
param.setOwnerUserNo(loginUserInfo.getUserNo());
IPage<PageCarrierBreakContractSettlementOwnerVO> page = breakContractSettlementOwnerService.pageCarrierBreakContractSettlementOwnerList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "导出")
@PostMapping("/exportOwnerBreakContractSettlementOwnerList")
public Result exportOwnerBreakContractSettlementOwnerList(@RequestBody PageCarrierBreakContractSettlementOwnerParam param, HttpServletResponse response) throws Exception {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
param.setOwnerUserNo(loginUserInfo.getUserNo());
SXSSFWorkbook workbook = breakContractSettlementOwnerService.exportCarrierBreakContractSettlementOwnerList(param);
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
workbook.write(response.getOutputStream());
return null;
}
@ApiOperation(value = "确认结算单",notes = "<br>By:李瑞新")
@PostMapping("/updateOwnerConfirmSettlement")
public Result updateOwnerConfirmSettlement(@RequestBody @Validated OwnerConfirmSettlementParam param) {
breakContractSettlementOwnerService.updateConfirmSettlement(param);
return Result.ok();
}
@ApiOperation(value = "付款",notes = "<br>By李瑞新")
@PostMapping("/saveOwnerBreakContractPayee")
public Result saveOwnerBreakContractPayee(@RequestBody @Validated CarrierBreakContractSavePayeeParam param) {
breakContractSettlementOwnerService.saveOwnerBreakContractPayee(param);
return Result.ok();
}
@ApiOperation(value = "付款确认",notes = "<br>By:李瑞新")
@PostMapping("/updateOwnerBreakContractPayeeConfirm")
public Result updateOwnerBreakContractPayeeConfirm(@RequestBody @Validated CarrierBreakPayeeConfirmParam param ) {
breakContractSettlementOwnerService.updateOwnerBreakContractPayeeConfirm(param);
return Result.ok();
}
}
......@@ -29,6 +29,7 @@ public class BreakContractSettlementOwnerDaoImpl extends BaseDaoImpl<BreakContra
public IPage<BreakContractSettlementOwner> pageCarrierBreakContractSettlementOwnerList(PageCarrierBreakContractSettlementOwnerParam param) {
LambdaQueryWrapper<BreakContractSettlementOwner> query = new LambdaQueryWrapper<>();
query.eq(StringUtils.isNotBlank(param.getOrderNo()),BreakContractSettlementOwner :: getOrderNo,param.getOrderNo());
query.eq(Objects.nonNull(param.getOwnerUserNo()),BreakContractSettlementOwner :: getOwnerUserNo,param.getOwnerUserNo());
query.eq(StringUtils.isNotBlank(param.getSettlementNo()),BreakContractSettlementOwner ::getSettlementNo ,param.getSettlementNo());
query.eq(Objects.nonNull(param.getBreakContractPartyType()),BreakContractSettlementOwner :: getBreakContractPartyType,param.getBreakContractPartyType());
query.ge(StringUtils.isNotBlank(param.getBeginTime()), BreakContractSettlementOwner:: getCreateTime,param.getBeginTime());
......@@ -57,6 +58,7 @@ public class BreakContractSettlementOwnerDaoImpl extends BaseDaoImpl<BreakContra
.set(BreakContractSettlementOwner::getPaymentImg, param.getPaymentImg())
.set(BreakContractSettlementOwner::getPaymentBankCardNo, param.getPaymentBankCardNo())
.set(BreakContractSettlementOwner::getPaymentBankName, param.getPaymentBankName())
.set(BreakContractSettlementOwner::getStatus, param.getStatus())
);
}
......
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
......@@ -85,6 +86,8 @@ public class OrderChild implements HasKey<Integer> {
private LocalDateTime expectSendTime; //预计到达货源地时间
private LocalDateTime expectReceiveTime; //预计到达目的地时间
private String settlementAccountPeriod; //结算账期 1拉运完成结 2月结
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
......
......@@ -165,6 +165,15 @@ public class OrderGoods implements HasKey<Integer> {
@ApiModelProperty("创建人姓名")
private String userName;
@TableField("settlement_account_period")
@ApiModelProperty("结算账期 1拉运完成结 2月结")
private String settlementAccountPeriod;
@TableField("stop_flag")
@ApiModelProperty("是否暂停 0:否 1:是")
private Integer stopFlag;
@TableField("create_time")
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
......
......@@ -12,6 +12,7 @@ import org.apache.poi.xssf.streaming.SXSSFWorkbook;
* Time 16:02
*/
public interface BreakContractSettlementOwnerService {
IPage<PageCarrierBreakContractSettlementOwnerVO> pageCarrierBreakContractSettlementOwnerList(PageCarrierBreakContractSettlementOwnerParam param);
......@@ -26,4 +27,12 @@ public interface BreakContractSettlementOwnerService {
void saveCarrierBreakContractPayee(CarrierBreakContractSavePayeeParam param);
void updateCarrierBreakContractPayeeConfirm(CarrierBreakPayeeConfirmParam param);
void updateConfirmSettlement(OwnerConfirmSettlementParam param);
void saveOwnerBreakContractPayee(CarrierBreakContractSavePayeeParam param);
void updateOwnerBreakContractPayeeConfirm(CarrierBreakPayeeConfirmParam param);
}
......@@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.breakcontract.BreakContractSettlementLogDao;
import com.clx.performance.dao.breakcontract.BreakContractSettlementOwnerDao;
import com.clx.performance.enums.BreakContractSettlementLogEnum;
import com.clx.performance.enums.BreakContractSettlementOwnerEnum;
import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.*;
import com.clx.performance.model.breakcontract.BreakContractSettlementLog;
import com.clx.performance.model.breakcontract.BreakContractSettlementOwner;
import com.clx.performance.param.pc.breakcontract.carrier.*;
......@@ -171,6 +168,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
throw new ServiceSystemException(PerformanceResultEnum.STATUS_CHANGED);
}
param.setStatus(BreakContractSettlementOwnerEnum.Status.OWNER_CONFIRMED_PLATFORM_PAYMENT.getCode());
breakContractSettlementOwnerDao.saveCarrierBreakContractPayee(param);
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -192,7 +190,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----平台付款
//保存结算单日志----平台确认付款
breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(),
BreakContractSettlementLogEnum.Type.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode(),BreakContractSettlementLogEnum.Type.PLATFORM_CONFIRMED_OWNER_PAYMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
......@@ -202,4 +200,63 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
BreakContractSettlementLogEnum.Type.COMPLETED.getCode(),BreakContractSettlementLogEnum.Type.COMPLETED.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
}
@Override
public void updateConfirmSettlement(OwnerConfirmSettlementParam param) {
BreakContractSettlementOwner settlementOwner = breakContractSettlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if(!Objects.equals(settlementOwner.getStatus(), BreakContractSettlementOwnerEnum.Status.OWNER_TO_BE_CONFIRMED.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.STATUS_CHANGED);
}
int status = BreakContractSettlementOwnerEnum.Status.SHIPPER_TO_PAYMENT.getCode();
if(Objects.equals(settlementOwner.getBreakContractPartyType(), BreakContractSettlementDriverEnum.BreachContractPartyType.PLATFORM.getCode())){
status = BreakContractSettlementOwnerEnum.Status.PLATFORM_TO_PAYMENT.getCode();
}
breakContractSettlementOwnerDao.updateStatus(param.getId(),BreakContractSettlementOwnerEnum.Status.OWNER_TO_BE_CONFIRMED.getCode(),status);
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----确认结算单
breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(),
BreakContractSettlementLogEnum.Type.OWNER_TO_BE_CONFIRMED.getCode(),BreakContractSettlementLogEnum.Type.OWNER_TO_BE_CONFIRMED.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
}
@Override
public void saveOwnerBreakContractPayee(CarrierBreakContractSavePayeeParam param) {
BreakContractSettlementOwner settlementOwner = breakContractSettlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if(!Objects.equals(settlementOwner.getStatus(), BreakContractSettlementOwnerEnum.Status.SHIPPER_TO_PAYMENT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.STATUS_CHANGED);
}
param.setStatus(BreakContractSettlementOwnerEnum.Status.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode());
breakContractSettlementOwnerDao.saveCarrierBreakContractPayee(param);
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----货主付款
breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(),
BreakContractSettlementLogEnum.Type.SHIPPER_TO_PAYMENT.getCode(),BreakContractSettlementLogEnum.Type.SHIPPER_TO_PAYMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
}
@Override
public void updateOwnerBreakContractPayeeConfirm(CarrierBreakPayeeConfirmParam param) {
BreakContractSettlementOwner settlementOwner = breakContractSettlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if(!Objects.equals(settlementOwner.getStatus(), BreakContractSettlementOwnerEnum.Status.OWNER_CONFIRMED_PLATFORM_PAYMENT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.STATUS_CHANGED);
}
breakContractSettlementOwnerDao.updateStatus(param.getId(),BreakContractSettlementOwnerEnum.Status.OWNER_CONFIRMED_PLATFORM_PAYMENT.getCode(),BreakContractSettlementOwnerEnum.Status.COMPLETED.getCode());
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----货主确认付款
breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(),
BreakContractSettlementLogEnum.Type.OWNER_CONFIRMED_PLATFORM_PAYMENT.getCode(),BreakContractSettlementLogEnum.Type.OWNER_CONFIRMED_PLATFORM_PAYMENT.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
//保存结算单日志----已完结
breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(),
BreakContractSettlementLogEnum.Type.COMPLETED.getCode(),BreakContractSettlementLogEnum.Type.COMPLETED.getMsg(),
OrderChildLogEnum.CreateType.PLATFORM.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
}
}
......@@ -3,6 +3,8 @@ package com.clx.performance.sqlProvider;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.params.PageOrderGoodsListParam;
import com.clx.performance.enums.OrderGoodsStatusEnum;
import com.clx.performance.enums.OrderGoodsStopEnum;
import com.clx.performance.enums.PendingOrderWayStatusEnum;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.vo.app.OrderGoodsAPPVO;
import org.apache.commons.lang3.StringUtils;
......@@ -91,10 +93,10 @@ public class OrderGoodsSqlProvider {
"a.extract_way,a.need_truck_num,a.senior_logistics_manager_id,a.senior_logistics_manager_name,a.pending_order_freight," +
"a.user_no,a.user_name");
FROM("order_goods a");
WHERE("a.pending_order_way = 1");
WHERE("a.last_order_time >= now()");
WHERE("(a.order_goods_status = 20 or a.order_goods_status = 30)");
WHERE("a.stop_flag = "+ OrderGoodsStopEnum.Status.NO.getCode());
WHERE("a.pending_order_way = " + PendingOrderWayStatusEnum.Status.GK.getCode());
WHERE("a.last_arrive_send_time >= now()");
WHERE("(a.order_goods_status = "+OrderGoodsStatusEnum.Status.PAYING.getCode()+" or a.order_goods_status = "+OrderGoodsStatusEnum.Status.GO_TO_SEND.getCode()+")");
WHERE("a.residue_transport_weight >0");
ORDER_BY("a.pending_order_time desc");
}}.toString();
......@@ -117,9 +119,11 @@ public class OrderGoodsSqlProvider {
"date_format(a.create_time, '%Y-%m-%d %H:%i:%s') as create_time," +
" date_format(a.modified_time, '%Y-%m-%d %H:%i:%s') as modified_time," +
"a.extract_way,a.need_truck_num,a.senior_logistics_manager_id,a.senior_logistics_manager_name," +
"a.pending_order_freight,a.user_no,a.user_name from order_goods a where a.last_arrive_send_time >= now() and (a.order_goods_status = 20 or a.order_goods_status = 30)" +
"a.pending_order_freight,a.user_no,a.user_name from order_goods a " +
"where a.stop_flag = "+ OrderGoodsStopEnum.Status.NO.getCode()+" and a.last_arrive_send_time >= now() and (a.order_goods_status = "+OrderGoodsStatusEnum.Status.PAYING.getCode()+
" or a.order_goods_status = "+OrderGoodsStatusEnum.Status.GO_TO_SEND.getCode()+")" +
"and a.residue_transport_weight > 0" +
" and a.pending_order_way = 2 and a.order_goods_no in (");
" and a.pending_order_way = "+ PendingOrderWayStatusEnum.Status.DX.getCode() +" and a.order_goods_no in (");
if (!param.isEmpty()) {
for (int i = 0; i < param.size(); i++) {
......
......@@ -27,6 +27,7 @@ public interface BreakContractSettlementOwnerStruct {
List<PageCarrierBreakContractSettlementOwnerVO> covertToCarrierList(List<BreakContractSettlementOwner> list);
@Mapping(target = "breakContractPartyTypeMsg", expression = "java(BreakContractSettlementDriverEnum.BreachContractPartyType.getMsgByCode(settlementOwner.getBreakContractPartyType()))")
@Mapping(target = "statusMsg", expression = "java(BreakContractSettlementOwnerEnum.Status.getMsgByCode(settlementOwner.getStatus()))")
CarrierBreakContractSettlementOwnerDetailVO convertToDetail(BreakContractSettlementOwner settlementOwner);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论