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