提交 626049b9 authored 作者: huningning's avatar huningning

Merge remote-tracking branch 'origin/v6.3_small_version_20231102' into v6.4_transportation_20231110

......@@ -31,8 +31,8 @@ public enum SettlementOwnerEnum {
@Getter
@AllArgsConstructor
public enum InvoiceStatus {
All_INVOICED(1, "已开票"),
PARTIAL_INVOICED(2, "部分开票"),
INVOICED(1, "已开票"),
NOT_INVOICE(2, "未开票"),
NO_NEED_INVOICE(3, "无需开票");
private final Integer code;
private final String msg;
......
package com.clx.performance.enums.settle;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Objects;
import java.util.Optional;
public enum SettlementWayEnum {
;
@Getter
@AllArgsConstructor
public enum WayType {
LOAD(1, "装车净重"),
UNLOAD(2, "卸车净重");
private final Integer code;
private final String msg;
public static Optional<WayType> 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(WayType::getMsg).orElse(null);
}
}
}
package com.clx.performance.feign;
import com.clx.performance.vo.pc.child.OrderChildLineStatisticsVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotNull;
@FeignClient(name = "clx-performance")
public interface OrderChildFeign {
/**
* 线路运单统计
*/
@RequestMapping(value = "clx-performance/feign/orderChild/lineStatistics", method = RequestMethod.GET)
OrderChildLineStatisticsVO lineStatistics(@RequestParam @NotNull(message = "发货地址不可为空") Integer sendSystemAddressId,
@RequestParam @NotNull(message = "收货货地不可为空") Integer receiveSystemAddressId);
}
......@@ -85,6 +85,9 @@ public interface PerformanceFeign {
@GetMapping(value = {"clx-performance/feign/orderChild/selectInTransitOrderChild"})
Result<Boolean> selectInTransitOrderChild(@RequestParam("orderNo") String orderNo);
@GetMapping(value = {"clx-performance/feign/orderGoods/updateSystemAddressId"})
Result<Boolean> updateSystemAddressId(@RequestParam("ownerAddressId") Integer ownerAddressId,@RequestParam("systemAddressId") Integer systemAddressId);
@GetMapping(value = {"clx-performance/feign/owner/accountInfo"})
Result<OwnerAccountAllVO> accountInfo(@RequestParam Long userNo);
......
......@@ -16,6 +16,9 @@ public class PageOwnerAccountListParam extends PageParam {
@ApiModelProperty(value = "货主编码")
private String ownerUserNo;
@ApiModelProperty(value = "货主姓名")
private String ownerUserName;
@ApiModelProperty(value = "联系电话")
private String mobile;
......
......@@ -17,6 +17,9 @@ public class PageCarrierSettlementDriverDetailParam extends PageParam {
@ApiModelProperty(value="车主编码",example = "201457878")
private Long driverUserNo;
@ApiModelProperty(value="车主姓名",example = "张三")
private String driverUserName;
@ApiModelProperty(value="订单编号",example = "201457878")
private String orderNo;
......
......@@ -22,6 +22,9 @@ public class PageCarrierSettlementDriverParam extends PageParam {
@ApiModelProperty(value="车主编码",example = "201457878")
private Long driverUserNo;
@ApiModelProperty(value="车主姓名",example = "张三")
private String driverUserName;
@ApiModelProperty(value="状态 1:待结算 2:已结算",example = "10")
private String status;
......
......@@ -19,6 +19,9 @@ public class PageCarrierSettlementOwnerDetailParam extends PageParam {
@ApiModelProperty(value="货主编码",example = "201457878")
private Long ownerUserNo;
@ApiModelProperty(value="货主名称",example = "张三")
private String ownerUserName;
@ApiModelProperty(value="订单编号",example = "201457878")
private String orderNo;
......
......@@ -24,4 +24,10 @@ public class PageCarrierSettlementOwnerParam extends PageParam {
@ApiModelProperty(value="状态 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:待平台确认付款 60:待平台付款 70:待货主确认付款 80:待邮寄发票 90:已完结",example = "10")
private String status;
@ApiModelProperty(value="货主姓名",example = "张三")
private String ownerUserName;
@ApiModelProperty("结算方式 1装车净重 2卸车净重")
private Integer settlementWay;
}
......@@ -21,4 +21,7 @@ public class PageOwnerSettlementParam extends PageParam {
@ApiModelProperty(value="订单编号",example = "201457878")
private String orderNo;
@ApiModelProperty(value="状态 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:待平台确认付款 60:待平台付款 70:待货主确认付款 80:待邮寄发票 90:已完结",example = "10")
private Integer status;
}
......@@ -69,6 +69,8 @@ public class CarrierPageSettlementOwnerDetailVO {
private BigDecimal invoiceFreight;
@ApiModelProperty(value = "开票标识:1网运单 2普通单")
private Integer invoiceType;
@ApiModelProperty("结算方式 1装车净重 2卸车净重")
private Integer settlementWay;
@ApiModelProperty(value = "创建时间")
private String createTime;
......
......@@ -52,4 +52,6 @@ public class CarrierPageSettlementOwnerVO {
private String createTime;
@ApiModelProperty(value = "状态 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:待平台确认付款 60:待平台付款 70:待货主确认付款 80:待邮寄发票 90:已完结")
private Integer status;
@ApiModelProperty("结算方式 1装车净重 2卸车净重")
private Integer settlementWay;
}
......@@ -26,6 +26,9 @@ public class CarrierSettlementOwnerDetailVO {
@ApiModelProperty(value = "货主名称", example = "货主")
private String ownerName;
@ApiModelProperty("结算方式 1装车净重 2卸车净重")
private Integer settlementWay;
@ApiModelProperty(value = "结算单编号", example = "JS415")
private String settlementNo;
......
package com.clx.performance.vo.pc.child;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.math.BigDecimal;
/**
* @ClassName
* @Description
* @Author kavin
* @Date 2023/10/10 10:44
* @Version 1.0
*/
@ApiModel(description = "线路统计")
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class OrderChildLineStatisticsVO {
@ApiModelProperty("磅差率均值")
private BigDecimal poundDifferenceRatioAvg;
@ApiModelProperty("时长均值")
private Integer timeAvg;
}
......@@ -52,4 +52,7 @@ public class OwnerPageSettlementOwnerVO {
private String createTime;
@ApiModelProperty(value = "状态 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:待平台确认付款 60:待平台付款 70:待货主确认付款 80:待邮寄发票 90:已完结")
private Integer status;
@ApiModelProperty(value = "结算方式 1装车净重 2卸车净重")
private Integer settlementWay;
}
......@@ -82,6 +82,10 @@ public class PageOwnerSettlementOwnerDetailVO {
@ApiModelProperty(value="开票状态 0-否,1-是",example = "是")
private String invoiceStatusMsg;
@ApiModelProperty(value="结算方式 1装车净重 2卸车净重",example = "1")
private Integer settlementWay;
@ApiModelProperty(value="创建时间",example = "2013-01-01 00:00:00")
private String createTime;
......
......@@ -3,14 +3,14 @@ package com.clx.performance.controller.feign;
import cn.hutool.core.collection.CollectionUtil;
import com.clx.performance.model.OrderChild;
import com.clx.performance.service.OrderChildService;
import com.clx.performance.service.child.FeignOrderChildService;
import com.clx.performance.vo.pc.child.OrderChildLineStatisticsVO;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotNull;
import java.util.List;
......@@ -24,6 +24,9 @@ public class OrderChildFeignController {
private final OrderChildService orderChildService;
private final FeignOrderChildService feignOrderChildService;
@GetMapping({"/getOrderChildTotalByUserNo"})
Integer getTrucksByOrderGoodsNo(@RequestParam("userNo") @NotNull(message = "用户编号不可为空") Long userNo) {
Integer totalByUserNo = orderChildService.getOrderChildTotalByUserNo(userNo);
......@@ -45,4 +48,14 @@ public class OrderChildFeignController {
return Result.ok(false);
}
}
@ApiOperation(value = "线路运单统计", notes = "<br>By:艾庆国")
@RequestMapping(value = "/lineStatistics", method = RequestMethod.GET)
Result<OrderChildLineStatisticsVO> lineStatistics(@RequestParam @NotNull(message = "发货地址不可为空") Integer sendSystemAddressId,
@RequestParam @NotNull(message = "收货货地不可为空") Integer receiveSystemAddressId){
return Result.ok(feignOrderChildService.getLineStatistics(sendSystemAddressId, receiveSystemAddressId));
}
}
......@@ -35,4 +35,10 @@ public class OrderGoodsFeignController {
return Result.ok(orderGoodsService.updateOrderGoodsStopFlag(orderNo,stopFlag));
}
@GetMapping({"/updateSystemAddressId"})
Result<Boolean> updateSystemAddressId(@RequestParam("ownerAddressId") @NotNull(message = "货主地址id不能为空") Integer ownerAddressId,
@RequestParam("systemAddressId") @NotNull(message = "系统地址id不能为空") Integer systemAddressId) {
return Result.ok(orderGoodsService.updateSystemAddressId(ownerAddressId,systemAddressId));
}
}
......@@ -43,7 +43,7 @@ public class CarrierAccountController {
private final OwnerCaseOutService ownerCaseOutService;
@ApiOperation(value = "查看资金管理列表", notes = "<br>By:胡宇帆")
@ApiOperation(value = "查看资金管理列表(保证金和预付运费)", notes = "<br>By:胡宇帆")
@PostMapping("/pageList")
@UnitCovert(param = false)
public Result<PageData<OwnerAccountVO>> pageList(@RequestBody PageOwnerAccountListParam param) {
......
......@@ -96,7 +96,7 @@ public class OwnerSettlementOwnerController {
return null;
}
@ApiOperation(value = "货主端-结算单列表" ,notes = "<br>By:李瑞新")
@ApiOperation(value = "货主端-结算单列表" ,notes = "<br>By:刘海泉")
@PostMapping("/pageSettlementOwner")
@UnitCovert(param = false)
public Result<PageData<OwnerPageSettlementOwnerVO>> pageSettlementOwner(@RequestBody @Validated PageOwnerSettlementParam param){
......
package com.clx.performance.controller.temp;
import com.clx.performance.service.TempService;
import com.clx.performance.service.child.FeignOrderChildService;
import com.clx.performance.vo.pc.child.OrderChildLineStatisticsVO;
import com.msl.common.result.Result;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -26,13 +28,16 @@ public class TempController {
@Autowired
private TempService tempService;
@Autowired
private FeignOrderChildService carrierOrderChildService;
@ApiOperation(value = "test", notes = "<br>By:艾庆国")
@RequestMapping(value = "/test", method = RequestMethod.GET)
public Result<Void> test() {
return Result.ok();
public Result<OrderChildLineStatisticsVO> test(Integer sendAddressId, Integer receiveAddressId) {
return Result.ok(carrierOrderChildService.getLineStatistics(sendAddressId, receiveAddressId));
}
@ApiOperation(value = "更新网运标识", notes = "<br>By:艾庆国")
......
......@@ -17,6 +17,7 @@ import com.msl.common.base.PageParam;
import com.msl.common.dao.BaseDao;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
......@@ -126,6 +127,16 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
*/
List<OrderChild> selectInTransitOrderChildByOrderGoodsNo(String orderGoodsNo);
BigDecimal getLinePoundDifferenceRatioAvg(@Param("sendSystemAddressId") Integer sendSystemAddressId,
@Param("receiveSystemAddressId") Integer receiveSystemAddressId,
@Param("beginTime") String beginTime);
Integer getLineArriveSendAddressToUnloadTimeAvg(@Param("sendSystemAddressId") Integer sendSystemAddressId,
@Param("receiveSystemAddressId") Integer receiveSystemAddressId,
@Param("beginTime") String beginTime);
void updateSendSystemAddress(Integer ownerAddressId, Integer systemAddressId);
void updateReceiveSystemAddress(Integer ownerAddressId, Integer systemAddressId);
/**
* 客服查询可以取消的运单
* @param orderChildNo
......
......@@ -81,6 +81,10 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
boolean batchUpdateOrderGoodsWeight(BigDecimal residueWeight, List<Integer> ids);
void updateSendSystemAddress(Integer ownerAddressId, Integer systemAddressId);
void updateReceiveSystemAddress(Integer ownerAddressId, Integer systemAddressId);
List<OrderGoods> getOrderGoodsListByOrderNoAndStatus(String orderNo);
List<OrderGoodsAPPVO> getCancelOrderGoods(List<String> list);
......
......@@ -24,6 +24,7 @@ import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
......@@ -400,4 +401,32 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
return baseMapper.selectList(lQrWrapper()
.in(OrderChild::getChildNo, childNoList)
); }
@Override
public BigDecimal getLinePoundDifferenceRatioAvg(Integer sendSystemAddressId, Integer receiveSystemAddressId, String beginTime) {
return baseMapper.getLinePoundDifferenceRatioAvg(sendSystemAddressId, receiveSystemAddressId, beginTime);
}
@Override
public Integer getLineArriveSendAddressToUnloadTimeAvg(Integer sendSystemAddressId, Integer receiveSystemAddressId, String beginTime) {
return baseMapper.getLineArriveSendAddressToUnloadTimeAvg(sendSystemAddressId, receiveSystemAddressId, beginTime);
}
@Override
public void updateSendSystemAddress(Integer ownerAddressId, Integer systemAddressId) {
update(lUdWrapper()
.eq(OrderChild::getSendAddressId, ownerAddressId)
.set(OrderChild::getSendSystemAddressId, systemAddressId)
);
}
@Override
public void updateReceiveSystemAddress(Integer ownerAddressId, Integer systemAddressId) {
update(lUdWrapper()
.eq(OrderChild::getReceiveAddressId, ownerAddressId)
.set(OrderChild::getReceiveSystemAddressId, systemAddressId)
);
}
}
......@@ -233,4 +233,21 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
}
@Override
public void updateSendSystemAddress(Integer ownerAddressId, Integer systemAddressId) {
update(lUdWrapper()
.eq(OrderGoods::getSendAddressId, ownerAddressId)
.set(OrderGoods::getSendSystemAddressId, systemAddressId)
);
}
@Override
public void updateReceiveSystemAddress(Integer ownerAddressId, Integer systemAddressId) {
update(lUdWrapper()
.eq(OrderGoods::getReceiveAddressId, ownerAddressId)
.set(OrderGoods::getReceiveSystemAddressId, systemAddressId)
);
}
}
......@@ -36,7 +36,7 @@ public class BreakContractSettlementDriverDaoImpl extends BaseDaoImpl<BreakContr
LambdaQueryWrapper<BreakContractSettlementDriver> query = new LambdaQueryWrapper<>();
query.eq(StringUtils.isNotBlank(param.getChildNo()),BreakContractSettlementDriver :: getChildNo,param.getChildNo());
query.eq(StringUtils.isNotBlank(param.getTruckOwnName()),BreakContractSettlementDriver :: getTruckOwnName,param.getTruckOwnName());
query.like(StringUtils.isNotBlank(param.getTruckOwnName()),BreakContractSettlementDriver :: getTruckOwnName,param.getTruckOwnName());
query.eq(StringUtils.isNotBlank(param.getSettlementNo()),BreakContractSettlementDriver :: getSettlementNo,param.getSettlementNo());
query.eq(Objects.nonNull(param.getSettleStatus()),BreakContractSettlementDriver :: getSettleStatus,param.getSettleStatus());
query.eq(Objects.nonNull(param.getTruckOwnUserNo()),BreakContractSettlementDriver :: getTruckOwnUserNo,param.getTruckOwnUserNo());
......
......@@ -32,7 +32,7 @@ public class BreakContractSettlementOwnerDaoImpl extends BaseDaoImpl<BreakContra
query.eq(StringUtils.isNotBlank(param.getOrderNo()),BreakContractSettlementOwner :: getOrderNo,param.getOrderNo());
query.eq(Objects.nonNull(param.getOwnerUserNo()),BreakContractSettlementOwner :: getOwnerUserNo,param.getOwnerUserNo());
query.eq(Objects.nonNull(param.getStatus()),BreakContractSettlementOwner :: getStatus,param.getStatus());
query.eq(StringUtils.isNotBlank(param.getOwnerName()),BreakContractSettlementOwner ::getOwnerName ,param.getOwnerName());
query.like(StringUtils.isNotBlank(param.getOwnerName()),BreakContractSettlementOwner ::getOwnerName ,param.getOwnerName());
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());
......
......@@ -26,7 +26,7 @@ public class BreakContractSettlementOwnerDetailDaoImpl extends BaseDaoImpl<Break
LambdaQueryWrapper<BreakContractSettlementOwnerDetail> query = new LambdaQueryWrapper<>();
query.eq(StringUtils.isNotBlank(param.getOrderNo()),BreakContractSettlementOwnerDetail :: getOrderNo,param.getOrderNo());
query.eq(Objects.nonNull(param.getOwnerUserNo()),BreakContractSettlementOwnerDetail ::getOwnerUserNo ,param.getOwnerUserNo());
query.eq(StringUtils.isNotBlank(param.getOwnerName()),BreakContractSettlementOwnerDetail :: getOwnerName,param.getOwnerName());
query.like(StringUtils.isNotBlank(param.getOwnerName()),BreakContractSettlementOwnerDetail :: getOwnerName,param.getOwnerName());
query.eq(Objects.nonNull(param.getBreakContractPartyType()),BreakContractSettlementOwnerDetail :: getBreakContractPartyType,param.getBreakContractPartyType());
query.orderByDesc(BreakContractSettlementOwnerDetail::getId);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
......
......@@ -40,6 +40,9 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
if(Objects.nonNull(param.getDriverUserNo())){
query.eq(SettlementDriver :: getDriverUserNo,param.getDriverUserNo());
}
if(StringUtils.isNotBlank(param.getDriverUserName())){
query.like(SettlementDriver :: getDriverName,param.getDriverUserName());
}
query.orderByDesc(SettlementDriver :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(),param.getPageSize()),query);
......
......@@ -59,6 +59,9 @@ public class SettlementDriverDetailDaoImpl extends BaseDaoImpl<SettlementDriverD
if(Objects.nonNull(param.getDriverUserNo())){
query.eq(SettlementDriverDetail :: getDriverUserNo,param.getDriverUserNo());
}
if(StringUtils.isNotBlank(param.getDriverUserName())){
query.like(SettlementDriverDetail :: getDriverName,param.getDriverUserName());
}
query.orderByDesc(SettlementDriverDetail :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
......
......@@ -99,6 +99,12 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
if(StringUtils.isNotBlank(param.getStatus())){
query.eq(SettlementOwner :: getStatus,param.getStatus());
}
if(StringUtils.isNotBlank(param.getOwnerUserName())){
query.like(SettlementOwner :: getOwnerName,param.getOwnerUserName());
}
if(Objects.nonNull(param.getSettlementWay())){
query.like(SettlementOwner :: getSettlementWay,param.getSettlementWay());
}
query.orderByDesc(SettlementOwner :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(),param.getPageSize()),query);
......@@ -123,6 +129,9 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
if(StringUtils.isNotBlank(param.getSettlementNo())){
query.eq(SettlementOwner :: getSettlementNo,param.getSettlementNo());
}
if(Objects.nonNull(param.getStatus())){
query.eq(SettlementOwner :: getStatus,param.getStatus());
}
query.orderByDesc(SettlementOwner :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(),param.getPageSize()),query);
}
......
......@@ -86,6 +86,9 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
if(Objects.nonNull(param.getOwnerUserNo())){
query.eq(SettlementOwnerDetail :: getOwnerUserNo,param.getOwnerUserNo());
}
if(Objects.nonNull(param.getOwnerUserName())){
query.like(SettlementOwnerDetail :: getOwnerName,param.getOwnerUserName());
}
query.orderByDesc(SettlementOwnerDetail ::getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
......
......@@ -3,20 +3,19 @@ package com.clx.performance.mapper;
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.enums.OrderChildEnum;
import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.PageOrderChildOfDriverParam;
import com.clx.performance.param.app.PageOrderChildOfDriverSearchParam;
import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.sqlProvider.OrderChildSqlProvider;
import com.clx.performance.sqlProvider.OrderGoodsSqlProvider;
import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.OrderGoodsVO;
import com.clx.performance.vo.pc.PageCarrierOrderChildVO;
import com.clx.performance.vo.pc.PageOrderChildPoundAuditVO;
import org.apache.ibatis.annotations.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
......@@ -49,6 +48,26 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
int countValidByOrderGoodsNo(String orderGoodsNo);
@UpdateProvider(type = OrderChildSqlProvider.class, method = "batchUpdateOrderChildStatus")
Integer updateOrderGoodsSetResidueWeight(@Param(value = "status") Integer status, @Param(value = "ids") List<Integer> ids);
@Select("select AVG((load_net-unload_net)/load_net) from order_child " +
" where send_system_address_id = #{sendSystemAddressId} " +
" and receive_system_address_id = #{receiveSystemAddressId} " +
" and status >= 90 and status <= 100 " +
" and pay_time >= #{beginTime}")
BigDecimal getLinePoundDifferenceRatioAvg(@Param("sendSystemAddressId") Integer sendSystemAddressId,
@Param("receiveSystemAddressId") Integer receiveSystemAddressId,
@Param("beginTime") String beginTime);
@Select("select AVG(TIMESTAMPDIFF(SECOND, arrive_send_time, unload_time)) from order_child " +
" where send_system_address_id = #{sendSystemAddressId} " +
" and receive_system_address_id = #{receiveSystemAddressId} " +
" and status >= 90 and status <= 100 " +
" and pay_time >= #{beginTime}")
Integer getLineArriveSendAddressToUnloadTimeAvg(@Param("sendSystemAddressId") Integer sendSystemAddressId,
@Param("receiveSystemAddressId") Integer receiveSystemAddressId,
@Param("beginTime") String beginTime);
Integer updateOrderGoodsSetResidueWeight(@Param(value = "status") Integer status, @Param(value = "remark") String remark,
@Param(value = "cancelTime") String cancelTime, @Param(value = "finishTime") String finishTime,
@Param(value = "childNoList") List<String> childNoList);
......
......@@ -43,8 +43,10 @@ public class OrderChild implements HasKey<Integer> {
private Integer sendAddressId; //发货地址id
private String sendAddress; //发货地址
private Integer sendSystemAddressId; //发货标准地址id
private Integer receiveAddressId; //收货地址id
private String receiveAddress; //收货地址
private Integer receiveSystemAddressId; //收货标准地址id
private LocalDateTime loadDeadline; //最晚装货时间
private Long truckOwnUserNo; //车主编号
......@@ -90,6 +92,8 @@ public class OrderChild implements HasKey<Integer> {
private Integer settlementAccountPeriod; //结算账期 1拉运完成结 2月结
private Integer settlementWay; //结算方式 1装车净重 2卸车净重
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
......
......@@ -72,6 +72,10 @@ public class OrderGoods implements HasKey<Integer> {
@ApiModelProperty("发货地址简称")
private String sendAddressShorter;
@TableField("send_system_address_id")
@ApiModelProperty("发货标准地址ID")
private Integer sendSystemAddressId;
@TableField("send_longitude")
@ApiModelProperty("发货地址经度")
private BigDecimal sendLongitude;
......@@ -88,6 +92,10 @@ public class OrderGoods implements HasKey<Integer> {
@ApiModelProperty("收货地址简称")
private String receiveAddressShorter;
@TableField("receive_system_address_id")
@ApiModelProperty("收货标准地址ID")
private Integer receiveSystemAddressId;
@TableField("receive_longitude")
@ApiModelProperty("收货地址经度")
private BigDecimal receiveLongitude;
......@@ -169,6 +177,10 @@ public class OrderGoods implements HasKey<Integer> {
@ApiModelProperty("结算账期 1拉运完成结 2月结")
private Integer settlementAccountPeriod;
@TableField("settlement_way")
@ApiModelProperty("结算方式 1装车净重 2卸车净重")
private Integer settlementWay;
@TableField("stop_flag")
@ApiModelProperty("是否暂停 0:否 1:是")
private Integer stopFlag;
......
......@@ -29,6 +29,7 @@ public class SettlementOwner implements HasKey<Integer> {
private Integer id; //id
private Long ownerUserNo; //货主用户编号
private String ownerName; //货主名称
private Integer settlementWay; //结算方式 1装车净重 2卸车净重
private String settlementNo; //结算单编号
private String settlementSubNo; //结算子单号
private Integer settlementPeriodType; //结算周期类型:1拉运完成结 2月结
......
......@@ -29,6 +29,7 @@ public class SettlementOwnerDetail implements HasKey<Integer> {
private Integer id; //id
private Long ownerUserNo; //货主用户编号
private String ownerName; //货主名称
private Integer settlementWay; //结算方式 1装车净重 2卸车净重
private String settlementNo; //结算单号
private String settlementSubNo; //结算子单号
private String childNo; //运单编号
......
......@@ -13,7 +13,9 @@ import com.clx.performance.vo.app.OrderGoodsAPPVO;
import com.clx.performance.vo.feign.OrderGoodsFeignVO;
import com.clx.performance.vo.pc.OrderGoodsEditVO;
import com.clx.performance.vo.pc.OrderGoodsVO;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
......@@ -88,4 +90,6 @@ public interface OrderGoodsService {
* @return
*/
OrderGoodsEditVO findOrderGoodsById(Integer id);
Boolean updateSystemAddressId( Integer ownerAddressId, Integer systemAddressId);
}
package com.clx.performance.service.child;
import com.clx.performance.vo.pc.child.OrderChildLineStatisticsVO;
public interface FeignOrderChildService {
OrderChildLineStatisticsVO getLineStatistics(Integer sendSystemAddressId, Integer receiveSystemAddressId);
}
......@@ -306,8 +306,10 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild.setSendAddressId(orderGoods.getSendAddressId());
orderChild.setSendAddress(orderGoods.getSendAddressShorter());
orderChild.setSendSystemAddressId(orderGoods.getSendSystemAddressId());
orderChild.setReceiveAddressId(orderGoods.getReceiveAddressId());
orderChild.setReceiveAddress(orderGoods.getReceiveAddressShorter());
orderChild.setReceiveSystemAddressId(orderGoods.getReceiveSystemAddressId());
orderChild.setLoadDeadline(orderGoods.getLastArriveSendTime());
......@@ -1031,7 +1033,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChildFinish(orderChild);
// 生成计费单
saveSettlementDetail(orderChild);
saveSettlementDetail(orderChild,orderGoods);
// 日志
orderChildLogService.saveDriverOrderChildLog(childNo, OrderChildLogEnum.Type.DRIVER_CONFIRM.getCode(),
......@@ -1252,10 +1254,10 @@ public class OrderChildServiceImpl implements OrderChildService {
/**
* 生成计费单
*/
private void saveSettlementDetail(OrderChild orderChild){
private void saveSettlementDetail(OrderChild orderChild,OrderGoods orderGoods){
Integer settlementDriverDetailId = settlementDriverDetailService.saveSettlementDetail(orderChild);
Integer settlementOwnerDetailId = settlementOwnerDetailService.saveSettlementDetail(orderChild);
Integer settlementOwnerDetailId = settlementOwnerDetailService.saveSettlementDetail(orderChild,orderGoods);
settlementMqService.settlementDetailAdd(settlementDriverDetailId, settlementOwnerDetailId);
......
......@@ -51,6 +51,7 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestParam;
import java.math.BigDecimal;
import java.time.LocalDateTime;
......@@ -720,4 +721,17 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
return result;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updateSystemAddressId(Integer ownerAddressId, Integer systemAddressId) {
orderGoodsDao.updateSendSystemAddress(ownerAddressId, systemAddressId);
orderGoodsDao.updateReceiveSystemAddress(ownerAddressId, systemAddressId);
orderChildDao.updateSendSystemAddress(ownerAddressId, systemAddressId);
orderChildDao.updateReceiveSystemAddress(ownerAddressId, systemAddressId);
return true;
}
}
package com.clx.performance.service.impl.child;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.service.child.FeignOrderChildService;
import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.vo.pc.child.OrderChildLineStatisticsVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
@Slf4j
@Service
public class FeignOrderChildServiceImpl implements FeignOrderChildService {
@Autowired
private OrderChildDao orderChildDao;
@Override
public OrderChildLineStatisticsVO getLineStatistics(Integer sendSystemAddressId, Integer receiveSystemAddressId) {
// 磅差
String beginTime = LocalDateTimeUtils.getStringDayStart(LocalDateTime.now().minusDays(7));
BigDecimal linePoundDifferenceRatioAvg = orderChildDao.getLinePoundDifferenceRatioAvg(sendSystemAddressId, receiveSystemAddressId, beginTime);
// 时长
beginTime = LocalDateTimeUtils.getStringDayStart(LocalDateTime.now().minusMonths(1));
Integer timeAvg = orderChildDao.getLineArriveSendAddressToUnloadTimeAvg(sendSystemAddressId, receiveSystemAddressId, beginTime);
OrderChildLineStatisticsVO vo = new OrderChildLineStatisticsVO();
vo.setPoundDifferenceRatioAvg(linePoundDifferenceRatioAvg==null? null:linePoundDifferenceRatioAvg.setScale(4, RoundingMode.HALF_UP).movePointRight(2));
vo.setTimeAvg(timeAvg==null? null : timeAvg/60);
return vo;
}
}
......@@ -32,7 +32,6 @@ public class SettlementDriverServiceImpl implements SettlementDriverService {
IPage<SettlementDriver> page = settlementDriverDao.pageCarrierSettlementDriver(param);
List<CarrierPageSettlementDriverVO> list = settlementDriverStruct.covertList(
page.getRecords());
IPage<CarrierPageSettlementDriverVO> result = new Page().setRecords(list).setTotal(page.getTotal()).setPages(page.getPages());
return result;
return new Page<CarrierPageSettlementDriverVO>().setRecords(list).setTotal(page.getTotal()).setPages(page.getPages());
}
}
package com.clx.performance.service.impl.settle;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.settle.SettlementDriverDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.dao.settle.SettlementOwnerDao;
......@@ -13,6 +14,7 @@ import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.enums.settle.SettlementPlatformEnum;
import com.clx.performance.extranal.user.DriverService;
import com.clx.performance.extranal.user.OwnerInfoService;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementDriver;
import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.model.settle.SettlementOwner;
......@@ -73,6 +75,10 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
private PaymentService paymentService;
@Autowired
private OrderGoodsDao orderGoodsDao;
@Override
@Transactional(rollbackFor = Exception.class)
......@@ -84,7 +90,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
SettlementOwner settlementOwner = null;
OwnerInfoFeignVO ownerInfo = ownerInfoService.getOwnerInfo(settlementOwnerDetail.getOwnerUserNo());
if (Objects.equals(ownerInfo.getSettlementAccountPeriod(),2)){ //月结
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(settlementOwnerDetail.getOrderGoodsNo()).get();
if (Objects.equals(orderGoods.getSettlementAccountPeriod(),2)){ //月结
LocalDateTime settlementPeriodTime = LocalDateTimeUtils.getBeginMonthDate();
settlementOwner = settlementOwnerDao.selectUnlockOfSettlementPeriodMonth(settlementOwnerDetail.getOrderNo(), settlementPeriodTime, settlementOwnerDetail.getInvoiceType()).orNull();
......@@ -215,7 +223,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwner.setCompanyContact(ownerInfo.getContactsName());
settlementOwner.setCompanyContactMobile(ownerInfo.getContactsTelephone());
settlementOwner.setCompanyContactAddress(ownerInfo.getContactsAddress());
settlementOwner.setSettlementWay(settlementOwnerDetail.getSettlementWay());
settlementOwnerDao.saveEntity(settlementOwner);
//保存结算单日志----创建结算单
......@@ -291,6 +299,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwner.setCompanyContact(ownerInfo.getContactsName());
settlementOwner.setCompanyContactMobile(ownerInfo.getContactsTelephone());
settlementOwner.setCompanyContactAddress(ownerInfo.getContactsAddress());
settlementOwner.setSettlementWay(settlementOwnerDetail.getSettlementWay());
settlementOwnerDao.saveEntity(settlementOwner);
......
......@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
import com.clx.performance.enums.settle.SettlementWayEnum;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam;
......@@ -25,6 +27,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @author liruixin
......@@ -41,9 +44,11 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
@Override
public Integer saveSettlementDetail(OrderChild orderChild) {
public Integer saveSettlementDetail(OrderChild orderChild, OrderGoods orderGoods) {
SettlementOwnerDetail settlementOwnerDetail = new SettlementOwnerDetail();
//设置结算方式
settlementOwnerDetail.setSettlementWay(orderGoods.getSettlementWay());
settlementOwnerDetail.setChildNo(orderChild.getChildNo());
settlementOwnerDetail.setOrderGoodsNo(orderChild.getOrderGoodsNo());
settlementOwnerDetail.setOrderNo(orderChild.getOrderNo());
......@@ -61,7 +66,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
// 运费
settlementOwnerDetail.setFreightPrice(orderChild.getOrderFreightPrice()); //平台运费
settlementOwnerDetail.setWeight(weightCalc(orderChild.getLoadNet(), orderChild.getUnloadNet()));
settlementOwnerDetail.setWeight(weightCalc(orderGoods.getSettlementWay(),orderChild.getLoadNet(), orderChild.getUnloadNet()));
settlementOwnerDetail.setFreight(freightCalc(settlementOwnerDetail.getFreightPrice(), settlementOwnerDetail.getWeight()));
// 亏吨
......@@ -73,10 +78,11 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
settlementOwnerDetail.setPrepayFreight(BigDecimal.ZERO);
// 开票金额
settlementOwnerDetail.setInvoiceFreight(invoiceFreightCalc(settlementOwnerDetail.getFreight(), settlementOwnerDetail.getLossFreight()));
settlementOwnerDetail.setInvoiceFreight(invoiceFreightCalc(orderGoods.getSettlementWay(),settlementOwnerDetail));
// 结算金额
settlementOwnerDetail.setSettlementFreight(settlementFreightCalc(settlementOwnerDetail.getFreight(), settlementOwnerDetail.getLossFreight()));
settlementOwnerDetail.setSettlementFreight(settlementFreightCalc(orderGoods.getSettlementWay(),settlementOwnerDetail));
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO.getCode());
if(settlementOwnerDetail.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0){
......@@ -91,8 +97,12 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
/**
* 吨数计算
*/
private BigDecimal weightCalc(BigDecimal loadNet, BigDecimal unLoadNet){
return unLoadNet.compareTo(loadNet) < 0? unLoadNet : loadNet;
private BigDecimal weightCalc(Integer settlementWay,BigDecimal loadNet, BigDecimal unLoadNet){
if(Objects.equals(settlementWay, SettlementWayEnum.WayType.LOAD.getCode())){ //如果该货主的结算方式为“装车净重”时,那么实际净重=装车净重。
return loadNet;
}else{ //如果货主的结算方式为“卸车净重”时,那么实际净重=卸车净重。如果卸车净重>装车净重,那么卸车净重=装车净重。
return unLoadNet.compareTo(loadNet) > 0? loadNet : unLoadNet;
}
}
/**
......@@ -121,15 +131,25 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
/**
* 开票金额
*/
private BigDecimal invoiceFreightCalc(BigDecimal freight, BigDecimal lossFreight){
return freight.subtract(lossFreight);
private BigDecimal invoiceFreightCalc(Integer settlementWay,SettlementOwnerDetail settlementOwnerDetail){
if(Objects.equals(settlementWay, SettlementWayEnum.WayType.LOAD.getCode())){ //订单结算方式为“装车净重”时,开票金额=实际净重*平台运费报价-货损金额。
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice())
.subtract(settlementOwnerDetail.getLossFreight());
}else{ //订单结算方式为“卸车净重”时,开票金额=实际净重*平台运费报价。
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice());
}
}
/**
* 结算金额
*/
private BigDecimal settlementFreightCalc(BigDecimal freight, BigDecimal lossFreight){
return freight.subtract(lossFreight);
private BigDecimal settlementFreightCalc(Integer settlementWay,SettlementOwnerDetail settlementOwnerDetail){
if(Objects.equals(settlementWay, SettlementWayEnum.WayType.LOAD.getCode())){ //订单结算方式为“装车净重”时,结算金额=实际净重*平台运费报价-预付运费-货损金额。
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice())
.subtract(settlementOwnerDetail.getPrepayFreight()).subtract(settlementOwnerDetail.getLossFreight());
}else{ //订单结算方式为“卸车净重”时,结算金额=实际净重*平台运费报价-预付运费
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice()).subtract(settlementOwnerDetail.getPrepayFreight());
}
}
@Override
......
......@@ -218,7 +218,24 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
//更新状态
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,SettlementOwnerEnum.Status.COMPLETED.getCode());
settlementOwnerDetailDao.updateFinalPaymentStatusBySettlementNo(settlementNo, SettlementOwnerDetailEnum.FinalPaymentStatus.YES.getCode());
Integer finalPaymentStatus = null;
if(Objects.equals(settlementOwner.getInvoiceType(),SettlementOwnerEnum.InvoiceType.ORDINARY.getCode())){ //普通单
if(settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO)!= 0){ //结算金额!=0,结算单收款方付款确认后,更新状态为“是”
finalPaymentStatus = SettlementOwnerDetailEnum.FinalPaymentStatus.YES.getCode();
}else{ //结算金额=0,默认无需支付。
finalPaymentStatus = SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode();
}
}else{ //网运单
if(settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO) > 0){ //结算金额>0的,结算单收款方付款确认后,更新状态为“是”
finalPaymentStatus = SettlementOwnerDetailEnum.FinalPaymentStatus.YES.getCode();
}else if(settlementOwner.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0){ //结算金额=0的,默认“无需支付”。
finalPaymentStatus = SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode();
}
}
if(Objects.nonNull(finalPaymentStatus)){
settlementOwnerDetailDao.updateFinalPaymentStatusBySettlementNo(settlementNo, finalPaymentStatus);
}
//保存结算单日志
settlementLogService.saveSettlementLog(settlementNo,
......@@ -238,9 +255,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
IPage<SettlementOwner> page = settlementOwnerDao.pageCarrierSettlementOwner(param);
List<CarrierPageSettlementOwnerVO> list = settlementOwnerStruct.convertCarrierList(
page.getRecords());
IPage<CarrierPageSettlementOwnerVO> result = new Page().setRecords(list).setTotal(page.getTotal()).setPages(
page.getPages());
return result;
return new Page<CarrierPageSettlementOwnerVO>().setRecords(list).setTotal(page.getTotal()).setPages(page.getPages());
}
@Override
......@@ -248,9 +263,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
Long userNo = TokenUtil.getLoginUserInfo().getUserNo();
IPage<SettlementOwner> page = settlementOwnerDao.pageSettlementOwner(userNo,param);
List<OwnerPageSettlementOwnerVO> list = settlementOwnerStruct.convertOwnerList(page.getRecords());
IPage<OwnerPageSettlementOwnerVO> result = new Page().setRecords(list).setTotal(page.getTotal()).setPages(
page.getPages());
return result;
return new Page<OwnerPageSettlementOwnerVO>().setRecords(list).setTotal(page.getTotal()).setPages(page.getPages());
}
@Override
......@@ -363,10 +376,17 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
settlementOwnerDao.saveExpress(settlementNo,param.getExpressCompany(),param.getExpressNo());
if(Objects.equals(settlementOwner.getInvoiceType(),SettlementOwnerEnum.InvoiceType.ORDINARY.getCode())){
if(settlementOwner.getInvoiceFreight().compareTo(BigDecimal.ZERO) > 0 ){
settlementOwnerDao.updateInvoiceStatusById(settlementOwner.getId(),SettlementOwnerEnum.InvoiceStatus.All_INVOICED.getCode());
settlementOwnerDetailDao.updateInvoiceStatusBySettlementNo(settlementNo, SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode());
int invoiceStatus;
int detailInvoiceStatus;
if(settlementOwner.getInvoiceFreight().compareTo(BigDecimal.ZERO) > 0 ){ //结算单开票金额>0结算单填写发票物流单号以后,更新状态为“是”
invoiceStatus = SettlementOwnerEnum.InvoiceStatus.INVOICED.getCode();
detailInvoiceStatus = SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode();
}else{ //结算单开票金额<=0的结算单,货主确认结算单后,更新状态为“无需开票”
invoiceStatus = SettlementOwnerEnum.InvoiceStatus.NO_NEED_INVOICE.getCode();
detailInvoiceStatus = SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode();
}
settlementOwnerDao.updateInvoiceStatusById(settlementOwner.getId(),invoiceStatus);
settlementOwnerDetailDao.updateInvoiceStatusBySettlementNo(settlementNo, detailInvoiceStatus);
}
settlementOwnerDao.updateStatusBySettlementNo(settlementNo
......@@ -423,7 +443,8 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
public void payeeConfirm(String settlementNo){
SettlementOwner settlementOwner = settlementOwnerDao.selectBySettlementNo(settlementNo).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
settlementOwnerDetailDao.updateFinalPaymentStatusBySettlementNo(settlementNo, SettlementOwnerDetailEnum.FinalPaymentStatus.YES.getCode());
//货主付款确认后在更改是否已付尾款字段
//settlementOwnerDetailDao.updateFinalPaymentStatusBySettlementNo(settlementNo, SettlementOwnerDetailEnum.FinalPaymentStatus.YES.getCode());
if(settlementOwner.getInvoiceFreight().compareTo(BigDecimal.ZERO) < 0){
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,SettlementOwnerEnum.Status.COMPLETED.getCode());
......
......@@ -3,6 +3,7 @@ package com.clx.performance.service.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerDetailParam;
import com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerDetailVO;
......@@ -16,7 +17,7 @@ import org.apache.poi.xssf.streaming.SXSSFWorkbook;
*/
public interface SettlementOwnerDetailService {
Integer saveSettlementDetail(OrderChild orderChild);
Integer saveSettlementDetail(OrderChild orderChild, OrderGoods orderGoods);
IPage<PageOwnerSettlementOwnerDetailVO> pageOwnerSettlementOrderDetailList(PageOwnerSettlementOwnerDetailParam param);
......
......@@ -33,6 +33,9 @@ public class OwnerAccountSqlProvider {
if (ObjectUtil.isNotNull(param.getAccountType())) {
WHERE("a.account_type = #{param.accountType}");
}
if (StringUtils.isNotBlank(param.getOwnerUserName())) {
WHERE("a.owner_user_name like CONCAT('%',#{param.ownerUserName},'%')");
}
ORDER_BY("a.create_time desc");
}}.toString();
return sql;
......
......@@ -146,6 +146,7 @@ public class OneGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
orderGoods.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.CREATED.getCode());
orderGoods.setSendAddressId(orderInfo.getSendAddressId());
orderGoods.setSendAddressShorter(orderInfo.getSendAddressShorter());
orderGoods.setSendSystemAddressId(orderInfoFeign.getSendSystemAddressId());
//收发货经纬度
orderGoods.setSendLongitude(orderInfo.getSendLongitude());
orderGoods.setSendLatitude(orderInfo.getSendLatitude());
......@@ -153,6 +154,7 @@ public class OneGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
orderGoods.setReceiveLongitude(orderInfo.getReveiveLongitude());
orderGoods.setReceiveAddressId(orderInfo.getReveiveAddressId());
orderGoods.setReceiveAddressShorter(orderInfo.getReveiveAddressShorter());
orderGoods.setReceiveSystemAddressId(orderInfoFeign.getReveiveSystemAddressId());
orderGoods.setGoodsName(orderInfo.getGoodsName());
orderGoods.setGoodsId(orderInfo.getGoodsNameId());
......@@ -165,8 +167,11 @@ public class OneGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
orderGoods.setLastLoadTime(DateUtils.parseDateTime(child.getLastLoadTime()).get());
orderGoods.setLastArriveReceiveTime(DateUtils.parseDateTime(child.getLastArriveReceiveTime()).get());
//设置结周期
//设置结周期
orderGoods.setSettlementAccountPeriod(orderInfo.getSettlementAccountPeriod());
//设置结算方式
orderGoods.setSettlementWay(orderInfo.getSettlementWay());
if (CollectionUtil.isNotEmpty(child.getTruckList())) {
orderGoodsTruckBindDao.saveBatchEntity(orderNo, orderGoodsNo, child.getTruckList(), now);
goodsOrderTruckRecordComponent.saveTruckRecord(orderGoodsNo, child.getTruckList());
......
......@@ -147,6 +147,7 @@ public class ThreeGoodsOrderStrategy extends GoodsOrderStrategy implements Initi
orderGoods.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.CREATED.getCode());
orderGoods.setSendAddressId(orderInfo.getSendAddressId());
orderGoods.setSendAddressShorter(orderInfo.getSendAddressShorter());
orderGoods.setSendSystemAddressId(orderInfoFeign.getSendSystemAddressId());
//收发货经纬度
orderGoods.setSendLongitude(orderInfo.getSendLongitude());
orderGoods.setSendLatitude(orderInfo.getSendLatitude());
......@@ -154,6 +155,7 @@ public class ThreeGoodsOrderStrategy extends GoodsOrderStrategy implements Initi
orderGoods.setReceiveLongitude(orderInfo.getReveiveLongitude());
orderGoods.setReceiveAddressId(orderInfo.getReveiveAddressId());
orderGoods.setReceiveAddressShorter(orderInfo.getReveiveAddressShorter());
orderGoods.setReceiveSystemAddressId(orderInfoFeign.getReveiveSystemAddressId());
orderGoods.setGoodsName(orderInfo.getGoodsName());
orderGoods.setGoodsId(orderInfo.getGoodsNameId());
......@@ -167,8 +169,10 @@ public class ThreeGoodsOrderStrategy extends GoodsOrderStrategy implements Initi
orderGoods.setLastLoadTime(DateUtils.parseDateTime(child.getLastLoadTime()).get());
orderGoods.setLastArriveReceiveTime(DateUtils.parseDateTime(child.getLastArriveReceiveTime()).get());
//设置结周期
//设置结周期
orderGoods.setSettlementAccountPeriod(orderInfo.getSettlementAccountPeriod());
//设置结算方式
orderGoods.setSettlementWay(orderInfo.getSettlementWay());
List<OrderOwnTruckVo> orderOwnTruckVos = orderFeign.selectTruckListFeign(orderNo);
if (orderOwnTruckVos == null || orderOwnTruckVos.isEmpty()) {
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "全部自由车辆列表数据为空");
......
......@@ -150,6 +150,7 @@ public class TwoGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
orderGoods.setOrderGoodsStatus(OrderGoodsStatusEnum.Status.CREATED.getCode());
orderGoods.setSendAddressId(orderInfo.getSendAddressId());
orderGoods.setSendAddressShorter(orderInfo.getSendAddressShorter());
orderGoods.setSendSystemAddressId(orderInfoFeign.getSendSystemAddressId());
//收发货经纬度
orderGoods.setSendLongitude(orderInfo.getSendLongitude());
orderGoods.setSendLatitude(orderInfo.getSendLatitude());
......@@ -157,6 +158,7 @@ public class TwoGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
orderGoods.setReceiveLongitude(orderInfo.getReveiveLongitude());
orderGoods.setReceiveAddressId(orderInfo.getReveiveAddressId());
orderGoods.setReceiveAddressShorter(orderInfo.getReveiveAddressShorter());
orderGoods.setReceiveSystemAddressId(orderInfoFeign.getReveiveSystemAddressId());
orderGoods.setGoodsName(orderInfo.getGoodsName());
orderGoods.setGoodsId(orderInfo.getGoodsNameId());
......@@ -171,8 +173,10 @@ public class TwoGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
orderGoods.setLastArriveReceiveTime(DateUtils.parseDateTime(child.getLastArriveReceiveTime()).get());
//设置结周期
//设置结周期
orderGoods.setSettlementAccountPeriod(orderInfo.getSettlementAccountPeriod());
//设置结算方式
orderGoods.setSettlementWay(orderInfo.getSettlementWay());
if (CollectionUtil.isNotEmpty(child.getTruckList())) {
orderGoodsTruckBindDao.saveBatchEntity(orderNo, orderGoodsNo, child.getTruckList(), now);
goodsOrderTruckRecordComponent.saveTruckRecord(orderGoodsNo, child.getTruckList());
......
......@@ -155,6 +155,10 @@ public class LocalDateTimeUtils {
return formatTime(parseTime(time).withHour(0).withMinute(0).withSecond(0).withNano(0));
}
public static String getStringDayStart(LocalDateTime time) {
return formatTime(time.withHour(0).withMinute(0).withSecond(0).withNano(0));
}
public static LocalDateTime getDayStart(String time) {
return parseTime(time).withHour(0).withMinute(0).withSecond(0).withNano(0);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论