提交 01c11ec5 authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v9.1_ownerAppInterface_20231221' into release

# Conflicts: # performance-api/src/main/java/com/clx/performance/vo/app/OrderChildVO.java # performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerServiceImpl.java
package com.clx.performance.param.app.owner;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* @ClassName PageOwnerOrderChildListParam
* @Description
* @Author kavin
* @Date 2023/12/22 15:02
* @Version 1.0
*/
@Getter
@Setter
public class PageOwnerOrderChildListParam extends PageParam {
@ApiModelProperty("运单编号/车牌号/订单编号")
private String searchNo;
@ApiModelProperty("运单状态集合")
private List<Integer> status;
@ApiModelProperty("开始时间")
private String beginTime;
@ApiModelProperty("结束时间")
private String endTime;
@ApiModelProperty("货主编码")
@JsonIgnore
private Long ownerUserNo;
}
...@@ -53,4 +53,7 @@ public class CarrierBreakContractSavePayeeParam { ...@@ -53,4 +53,7 @@ public class CarrierBreakContractSavePayeeParam {
@ApiModelProperty(value = "状态", example = "1",hidden = true) @ApiModelProperty(value = "状态", example = "1",hidden = true)
private Integer status; private Integer status;
@ApiModelProperty(value = "交易密码")
private String accountPassword;
} }
...@@ -37,4 +37,7 @@ public class PageCarrierBreakContractSettlementOwnerParam extends PageParam { ...@@ -37,4 +37,7 @@ public class PageCarrierBreakContractSettlementOwnerParam extends PageParam {
@ApiModelProperty(value="结束时间",example = "2012-01-01 00:00:00") @ApiModelProperty(value="结束时间",example = "2012-01-01 00:00:00")
private String endTime; private String endTime;
@ApiModelProperty(value="订单号/结算单号/货主名称/货主编码 复合搜索",example = "")
private String searchCondition;
} }
...@@ -48,4 +48,6 @@ public class OwnerPaymentSettlementParam { ...@@ -48,4 +48,6 @@ public class OwnerPaymentSettlementParam {
@ApiModelProperty(value = "付款凭证", example = "/a.png") @ApiModelProperty(value = "付款凭证", example = "/a.png")
private String paymentImg; private String paymentImg;
@ApiModelProperty(value = "交易密码")
private String accountPassword;
} }
...@@ -22,6 +22,18 @@ public class PageOwnerSettlementParam extends PageParam { ...@@ -22,6 +22,18 @@ public class PageOwnerSettlementParam extends PageParam {
@ApiModelProperty(value="订单编号",example = "201457878") @ApiModelProperty(value="订单编号",example = "201457878")
private String orderNo; private String orderNo;
@ApiModelProperty(value = "订单/结算单号 复合搜索", example = "JS415")
private String searchNo;
@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 Integer status; private Integer status;
@ApiModelProperty(value = "开票标识:1网运单 2普通单", example = "1")
private Integer invoiceType;
@ApiModelProperty(value = "开始时间", example = "1")
private String beginTime;
@ApiModelProperty(value = "结束时间", example = "1")
private String endTime;
} }
...@@ -190,4 +190,20 @@ public class OrderChildVO { ...@@ -190,4 +190,20 @@ public class OrderChildVO {
private BigDecimal lossAmount; private BigDecimal lossAmount;
//结算信息
@ApiModelProperty(value = "实际运费", example = "1.23")
@MoneyOutConvert
private BigDecimal realFreight;
@ApiModelProperty(value = "货损金额", example = "1.23")
@MoneyOutConvert
private BigDecimal lossFreight;
@ApiModelProperty(value = "预付运费金额", example = "1.23")
@MoneyOutConvert
private BigDecimal prepayFreight;
@ApiModelProperty(value = "结算金额", example = "1.23")
@MoneyOutConvert
private BigDecimal settlementFreight;
} }
\ No newline at end of file
package com.clx.performance.vo.app.owner;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
* @ClassName OwnerOrderChildVO
* @Description
* @Author kavin
* @Date 2023/12/22 15:00
* @Version 1.0
*/
@ApiModel(description = "货主运单")
@Getter
@Setter
public class OwnerOrderChildVO {
@ApiModelProperty("id")
private Integer id; //id
@ApiModelProperty("运单编号")
private String childNo; //运单编号
@ApiModelProperty("货单编号")
private String orderGoodsNo; //货单编号
@ApiModelProperty("订单编号")
private String orderNo; //订单编号
@ApiModelProperty("货物名称")
private String goodsName; //货物名称
@ApiModelProperty("车牌号")
private String truckNo; //车牌号
@ApiModelProperty("状态")
private Integer status; //状态
@ApiModelProperty("状态描述")
private String statusMsg; //状态
@ApiModelProperty("发货地址")
private String sendAddress; //发货地址
@ApiModelProperty("收货地址")
private String receiveAddress; //收货地址
}
...@@ -29,4 +29,13 @@ public class SettlementPlatformAccountVO { ...@@ -29,4 +29,13 @@ public class SettlementPlatformAccountVO {
private String paymentBankCardNo; private String paymentBankCardNo;
@ApiModelProperty(value = "开户银行代码", example = "302161026303")
private String openBankCode;
public String getOpenBankCode(){
return "302161026303";
}
} }
\ No newline at end of file
package com.clx.performance.controller.app.owner;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.app.owner.PageOwnerOrderChildListParam;
import com.clx.performance.service.OrderChildService;
import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.app.owner.OwnerOrderChildVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import com.msl.user.utils.TokenUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* @ClassName AppOwnerOrderChildController
* @Description
* @Author kavin
* @Date 2023/12/22 14:51
* @Version 1.0
*/
@Slf4j
@RestController
@RequestMapping(value="/app/owner/orderChild")
@Validated
@Api(tags = "APP-货主运单")
@AllArgsConstructor
public class AppOwnerOrderChildController {
@Autowired
OrderChildService orderChildService;
@ApiOperation(value = "运单列表", notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerOrderChildList")
public Result<PageData<OwnerOrderChildVO>> pageOwnerOrderChildList(@RequestBody @Validated PageOwnerOrderChildListParam param) {
param.setOwnerUserNo(TokenUtil.getLoginUserInfo().getUserNo());
IPage<OwnerOrderChildVO> page = orderChildService.pageOwnerOrderChildList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
@ApiOperation(value = "查询运单详情", notes = "<br>By:刘海泉")
@UnitCovert(param = false)
@GetMapping("/getOrderChildInfo")
public Result<OrderChildVO> getOrderChildInfo(String childNo) {
return Result.ok(orderChildService.getOwnerOrderChildInfo(childNo));
}
}
...@@ -6,6 +6,7 @@ import com.clx.performance.mapper.OrderChildMapper; ...@@ -6,6 +6,7 @@ import com.clx.performance.mapper.OrderChildMapper;
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.app.owner.PageOwnerOrderChildListParam;
import com.clx.performance.param.pc.*; import com.clx.performance.param.pc.*;
import com.clx.performance.vo.app.OrderChildVO; import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.PageCarrierOrderChildVO; import com.clx.performance.vo.pc.PageCarrierOrderChildVO;
...@@ -163,4 +164,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -163,4 +164,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List<OrderChild> selectListWithEmptyCarList(); List<OrderChild> selectListWithEmptyCarList();
Page<OrderChild> getMonthAgoByUserNo(Long userNo, LocalDateTime monthAgo, PageParam param); Page<OrderChild> getMonthAgoByUserNo(Long userNo, LocalDateTime monthAgo, PageParam param);
IPage<OrderChild> pageOwnerOrderChildList(PageOwnerOrderChildListParam param);
} }
...@@ -11,6 +11,7 @@ import com.clx.performance.mapper.OrderChildMapper; ...@@ -11,6 +11,7 @@ import com.clx.performance.mapper.OrderChildMapper;
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.app.owner.PageOwnerOrderChildListParam;
import com.clx.performance.param.pc.*; import com.clx.performance.param.pc.*;
import com.clx.performance.vo.app.OrderChildVO; import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.pc.PageCarrierOrderChildVO; import com.clx.performance.vo.pc.PageCarrierOrderChildVO;
...@@ -520,4 +521,21 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -520,4 +521,21 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
query.orderByDesc(OrderChild :: getCreateTime); query.orderByDesc(OrderChild :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query); return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
} }
@Override
public IPage<OrderChild> pageOwnerOrderChildList(PageOwnerOrderChildListParam param) {
LambdaQueryWrapper<OrderChild> query = new LambdaQueryWrapper<>();
query.eq(OrderChild :: getOwnerUserNo,param.getOwnerUserNo());
if(StringUtils.isNotBlank(param.getSearchNo())){
query.and(i ->
i.eq(OrderChild :: getChildNo,param.getSearchNo()).or()
.eq(OrderChild :: getTruckNo,param.getSearchNo()).or()
.eq(OrderChild :: getOrderNo,param.getSearchNo()));
}
if(CollectionUtil.isNotEmpty(param.getStatus())){query.in(OrderChild :: getStatus,param.getStatus());}
if(StringUtils.isNotBlank(param.getBeginTime())){query.ge(OrderChild :: getCreateTime,param.getBeginTime());}
if(StringUtils.isNotBlank(param.getEndTime())){query.le(OrderChild :: getCreateTime,param.getEndTime());}
query.orderByDesc(OrderChild :: getCreateTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
} }
...@@ -37,6 +37,13 @@ public class BreakContractSettlementOwnerDaoImpl extends BaseDaoImpl<BreakContra ...@@ -37,6 +37,13 @@ public class BreakContractSettlementOwnerDaoImpl extends BaseDaoImpl<BreakContra
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());
query.le(StringUtils.isNotBlank(param.getEndTime()),BreakContractSettlementOwner :: getCreateTime,param.getEndTime()); query.le(StringUtils.isNotBlank(param.getEndTime()),BreakContractSettlementOwner :: getCreateTime,param.getEndTime());
if(StringUtils.isNotBlank(param.getSearchCondition())){
query.and(i->i.eq(BreakContractSettlementOwner :: getOrderNo,param.getSearchCondition()).or()
.eq(BreakContractSettlementOwner :: getSettlementNo,param.getSearchCondition()).or()
.eq(BreakContractSettlementOwner :: getOwnerName,param.getSearchCondition()).or()
.eq(BreakContractSettlementOwner :: getOwnerUserNo,param.getSearchCondition())
);
}
query.orderByDesc(BreakContractSettlementOwner::getId); query.orderByDesc(BreakContractSettlementOwner::getId);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query); return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
} }
......
...@@ -8,8 +8,8 @@ import com.clx.performance.enums.settle.SettlementOwnerEnum; ...@@ -8,8 +8,8 @@ import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.mapper.settle.SettlementOwnerMapper; import com.clx.performance.mapper.settle.SettlementOwnerMapper;
import com.clx.performance.model.settle.SettlementOwner; import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerParam; import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerParam;
import com.msl.common.base.Optional;
import com.clx.performance.param.pc.owner.PageOwnerSettlementParam; import com.clx.performance.param.pc.owner.PageOwnerSettlementParam;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -145,6 +145,20 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S ...@@ -145,6 +145,20 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
if(Objects.nonNull(param.getStatus())){ if(Objects.nonNull(param.getStatus())){
query.eq(SettlementOwner :: getStatus,param.getStatus()); query.eq(SettlementOwner :: getStatus,param.getStatus());
} }
if(StringUtils.isNotBlank(param.getSearchNo())){
query.and(i ->
i.eq(SettlementOwner:: getOrderNo,param.getSearchNo()).or()
.eq(SettlementOwner :: getSettlementNo,param.getSearchNo()));
}
if(StringUtils.isNotBlank(param.getBeginTime())){
query.ge(SettlementOwner :: getCreateTime,param.getBeginTime());
}
if(StringUtils.isNotBlank(param.getEndTime())){
query.le(SettlementOwner :: getCreateTime,param.getEndTime());
}
if(Objects.nonNull(param.getInvoiceType())){
query.eq(SettlementOwner :: getInvoiceType,param.getInvoiceType());
}
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);
} }
......
...@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,11 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.param.app.*; import com.clx.performance.param.app.*;
import com.clx.performance.param.app.owner.PageOwnerOrderChildListParam;
import com.clx.performance.param.pc.OrderChildCarrierCancelParam; import com.clx.performance.param.pc.OrderChildCarrierCancelParam;
import com.clx.performance.param.pc.PageCarrierOrderChildParam; import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.param.pc.PageMonitorOrderChildQCParam; import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
import com.clx.performance.param.pc.PagePoundAuditParam; import com.clx.performance.param.pc.PagePoundAuditParam;
import com.clx.performance.vo.app.*; import com.clx.performance.vo.app.*;
import com.clx.performance.vo.app.owner.OwnerOrderChildVO;
import com.clx.performance.vo.pc.*; import com.clx.performance.vo.pc.*;
import com.msl.common.base.PageParam; import com.msl.common.base.PageParam;
...@@ -88,4 +90,8 @@ public interface OrderChildService { ...@@ -88,4 +90,8 @@ public interface OrderChildService {
void updateOrderGoodsAmountLoad(OrderGoods orderGoods,String childNo, BigDecimal dif, Integer orderGoodsStatus); void updateOrderGoodsAmountLoad(OrderGoods orderGoods,String childNo, BigDecimal dif, Integer orderGoodsStatus);
IPage<CustomerComplaintOrderChildVO> pageCustomerComplaintOrderChild(PageParam param); IPage<CustomerComplaintOrderChildVO> pageCustomerComplaintOrderChild(PageParam param);
IPage<OwnerOrderChildVO> pageOwnerOrderChildList(PageOwnerOrderChildListParam param);
OrderChildVO getOwnerOrderChildInfo(String childNo);
} }
...@@ -12,6 +12,7 @@ import com.clx.performance.constant.RedisConstants; ...@@ -12,6 +12,7 @@ import com.clx.performance.constant.RedisConstants;
import com.clx.performance.constant.RedissonConstants; import com.clx.performance.constant.RedissonConstants;
import com.clx.performance.dao.*; import com.clx.performance.dao.*;
import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao; import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.dto.OrderChildExpectDTO; import com.clx.performance.dto.OrderChildExpectDTO;
import com.clx.performance.dto.gd.GdRouteDTO; import com.clx.performance.dto.gd.GdRouteDTO;
import com.clx.performance.dto.payment.WalletResidueCardDTO; import com.clx.performance.dto.payment.WalletResidueCardDTO;
...@@ -21,7 +22,9 @@ import com.clx.performance.extranal.user.*; ...@@ -21,7 +22,9 @@ import com.clx.performance.extranal.user.*;
import com.clx.performance.feign.FeignPaymentService; import com.clx.performance.feign.FeignPaymentService;
import com.clx.performance.model.*; import com.clx.performance.model.*;
import com.clx.performance.model.breakcontract.BreakContractDriverRecord; import com.clx.performance.model.breakcontract.BreakContractDriverRecord;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.app.*; import com.clx.performance.param.app.*;
import com.clx.performance.param.app.owner.PageOwnerOrderChildListParam;
import com.clx.performance.param.pc.OrderChildCarrierCancelParam; import com.clx.performance.param.pc.OrderChildCarrierCancelParam;
import com.clx.performance.param.pc.PageCarrierOrderChildParam; import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import com.clx.performance.param.pc.PageMonitorOrderChildQCParam; import com.clx.performance.param.pc.PageMonitorOrderChildQCParam;
...@@ -37,6 +40,7 @@ import com.clx.performance.utils.gd.GdService; ...@@ -37,6 +40,7 @@ import com.clx.performance.utils.gd.GdService;
import com.clx.performance.utils.spring.ApplicationContextUtils; import com.clx.performance.utils.spring.ApplicationContextUtils;
import com.clx.performance.utils.zjxl.ZjxlGpsService; import com.clx.performance.utils.zjxl.ZjxlGpsService;
import com.clx.performance.vo.app.*; import com.clx.performance.vo.app.*;
import com.clx.performance.vo.app.owner.OwnerOrderChildVO;
import com.clx.performance.vo.pc.*; import com.clx.performance.vo.pc.*;
import com.clx.user.enums.driver.DriverInfoEnum; import com.clx.user.enums.driver.DriverInfoEnum;
import com.clx.user.vo.feign.DriverTruckInfoFeignVo; import com.clx.user.vo.feign.DriverTruckInfoFeignVo;
...@@ -161,6 +165,9 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -161,6 +165,9 @@ public class OrderChildServiceImpl implements OrderChildService {
@Autowired @Autowired
private UserService userService; private UserService userService;
@Autowired
SettlementOwnerDetailDao settlementOwnerDetailDao;
@Autowired @Autowired
private OwnerRunningWaterRecordDao ownerRunningWaterRecordDao; private OwnerRunningWaterRecordDao ownerRunningWaterRecordDao;
...@@ -1372,6 +1379,68 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -1372,6 +1379,68 @@ public class OrderChildServiceImpl implements OrderChildService {
result.setLossAmount(calcLossAmount(result.getLossWeight(),orderChild.getLossPrice())); result.setLossAmount(calcLossAmount(result.getLossWeight(),orderChild.getLossPrice()));
//查询结算信息
Optional<SettlementOwnerDetail> optional = settlementOwnerDetailDao.getByChildNo(childNo);
if(optional.isPresent()){
SettlementOwnerDetail settlementOwnerDetail = optional.get();
result.setRealFreight(settlementOwnerDetail.getFreight());
result.setLossFreight(settlementOwnerDetail.getLossFreight());
result.setPrepayFreight(settlementOwnerDetail.getPrepayFreight());
result.setSettlementFreight(settlementOwnerDetail.getSettlementFreight());
}
return result;
}
@Override
public OrderChildVO getOwnerOrderChildInfo(String childNo) {
OrderChild orderChild = orderChildDao.getByChildNo(childNo).orElseThrow(
PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.ORDER_CHILD_NO_FOUND);
OrderChildVO result = orderChildStruct.convert(orderChild);
result.setLastArriveSendTime(orderGoods.getLastArriveSendTime()==null? null : LocalDateTimeUtils.convertLocalDateTimeToDefaultString(orderGoods.getLastArriveSendTime()));
result.setLastArriveReceiveTime(orderGoods.getLastArriveReceiveTime()==null? null : LocalDateTimeUtils.convertLocalDateTimeToDefaultString(orderGoods.getLastArriveReceiveTime()));
result.setLastLoadTime(orderGoods.getLastLoadTime()==null? null : LocalDateTimeUtils.convertLocalDateTimeToDefaultString(orderGoods.getLastLoadTime()));
// 磅单
if (Objects.equals(orderChild.getPoundStatus(), OrderChildPoundAuditEnum.Status.REJECT.getCode())) {
Optional<OrderChildPoundAudit> poundAuditDetail = orderChildPoundAuditDao.getPoundAuditDetail(childNo);
result.setPoundRemark(poundAuditDetail.orNull().getRemark());
result.setPoundRejectType(poundAuditDetail.orNull().getRejectType());
}
List<OrderChildImage> imageList = orderChildImageDao.listLoadAndUnload(childNo).orElse(new ArrayList<>());
result.setLoadImageList(imageList.stream().filter(
item -> Objects.equals(item.getType(), OrderChildImage.Type.LOAD.getCode())).map(
item -> item.getImage()).collect(Collectors.toList()));
result.setUnloadImageList(imageList.stream().filter(
item -> Objects.equals(item.getType(), OrderChildImage.Type.UNLOAD.getCode())).map(
item -> item.getImage()).collect(Collectors.toList()));
// 地址
Optional<FeignAddressVO> sendAndReceiveAddress = addressService.getSendAndReceiveAddress(
orderChild.getSendAddressId(), orderChild.getReceiveAddressId());
if (sendAndReceiveAddress.isPresent()) {
result.setSendAddressInfo(addressStruct.convert(sendAndReceiveAddress.get().getSendAddress()));
}
if (sendAndReceiveAddress.isPresent()) {
result.setReceiveAddressInfo(addressStruct.convert(sendAndReceiveAddress.get().getReceiveAddress()));
}
//查询结算信息
Optional<SettlementOwnerDetail> optional = settlementOwnerDetailDao.getByChildNo(childNo);
if(optional.isPresent()){
SettlementOwnerDetail settlementOwnerDetail = optional.get();
result.setRealFreight(settlementOwnerDetail.getFreight());
result.setLossFreight(settlementOwnerDetail.getLossFreight());
result.setPrepayFreight(settlementOwnerDetail.getPrepayFreight());
result.setSettlementFreight(settlementOwnerDetail.getSettlementFreight());
}
return result; return result;
} }
//计算亏吨吨数 //计算亏吨吨数
...@@ -2212,5 +2281,14 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -2212,5 +2281,14 @@ public class OrderChildServiceImpl implements OrderChildService {
return "--"; return "--";
} }
@Override
public IPage<OwnerOrderChildVO> pageOwnerOrderChildList(PageOwnerOrderChildListParam param) {
IPage<OrderChild> page = orderChildDao.pageOwnerOrderChildList(param);
List<OwnerOrderChildVO> list = orderChildStruct.convertOwnerOrderChildVOList(page.getRecords());
if(CollectionUtils.isNotEmpty(list)){
list.forEach(item-> item.setStatusMsg(OrderChildEnum.Status.getMsgByCode(item.getStatus())));
return new Page<OwnerOrderChildVO>().setPages(page.getPages()).setTotal(page.getTotal()).setRecords(list);
}
return new Page<>();
}
} }
package com.clx.performance.service.impl.breakcontract; package com.clx.performance.service.impl.breakcontract;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.feign.OrderFeign; import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO; import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao; import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.OwnerAccountPasswordDao;
import com.clx.performance.dao.breakcontract.BreakContractOwnerRecordDao; import com.clx.performance.dao.breakcontract.BreakContractOwnerRecordDao;
import com.clx.performance.dao.breakcontract.BreakContractOwnerRuleDao; import com.clx.performance.dao.breakcontract.BreakContractOwnerRuleDao;
import com.clx.performance.dao.breakcontract.BreakContractSettlementLogDao; import com.clx.performance.dao.breakcontract.BreakContractSettlementLogDao;
...@@ -19,6 +18,7 @@ import com.clx.performance.enums.*; ...@@ -19,6 +18,7 @@ import com.clx.performance.enums.*;
import com.clx.performance.extranal.order.QuotationService; import com.clx.performance.extranal.order.QuotationService;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.OwnerAccountPassword;
import com.clx.performance.model.breakcontract.BreakContractOwnerRecord; import com.clx.performance.model.breakcontract.BreakContractOwnerRecord;
import com.clx.performance.model.breakcontract.BreakContractOwnerRule; import com.clx.performance.model.breakcontract.BreakContractOwnerRule;
import com.clx.performance.model.breakcontract.BreakContractSettlementLog; import com.clx.performance.model.breakcontract.BreakContractSettlementLog;
...@@ -32,6 +32,7 @@ import com.clx.performance.service.breakcontract.BreakContractSettlementLogServi ...@@ -32,6 +32,7 @@ import com.clx.performance.service.breakcontract.BreakContractSettlementLogServi
import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService; import com.clx.performance.service.breakcontract.BreakContractSettlementOwnerService;
import com.clx.performance.struct.breakcontract.BreakContractSettlementLogStruct; import com.clx.performance.struct.breakcontract.BreakContractSettlementLogStruct;
import com.clx.performance.struct.breakcontract.BreakContractSettlementOwnerStruct; import com.clx.performance.struct.breakcontract.BreakContractSettlementOwnerStruct;
import com.clx.performance.utils.MyMD5Util;
import com.clx.performance.utils.excel.ExcelData; import com.clx.performance.utils.excel.ExcelData;
import com.clx.performance.utils.excel.ExcelField; import com.clx.performance.utils.excel.ExcelField;
import com.clx.performance.utils.excel.ExcelSheet; import com.clx.performance.utils.excel.ExcelSheet;
...@@ -48,6 +49,7 @@ import com.msl.user.data.UserSessionData; ...@@ -48,6 +49,7 @@ import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil; import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -55,7 +57,6 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -55,7 +57,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -83,6 +84,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe ...@@ -83,6 +84,7 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
private final BreakContractOwnerRecordService breakContractOwnerRecordService; private final BreakContractOwnerRecordService breakContractOwnerRecordService;
private final BreakContractOwnerRecordDao breakContractOwnerRecordDao; private final BreakContractOwnerRecordDao breakContractOwnerRecordDao;
private final OrderGoodsDao orderGoodsDao; private final OrderGoodsDao orderGoodsDao;
private final OwnerAccountPasswordDao ownerAccountPasswordDao;
...@@ -267,6 +269,18 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe ...@@ -267,6 +269,18 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void saveOwnerBreakContractPayee(CarrierBreakContractSavePayeeParam param) { public void saveOwnerBreakContractPayee(CarrierBreakContractSavePayeeParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
if (StringUtils.equals(loginUserInfo.getProductCode(), "carrier-owner-app")) {
OwnerAccountPassword entity = ownerAccountPasswordDao.findEntityByUserNo(loginUserInfo.getUserNo());
try {
boolean b = MyMD5Util.validPassword(param.getAccountPassword(), entity.getPassword());
if (!b) {
throw new ServiceSystemException(PerformanceResultEnum.PASSWORD_CHECK_FAIL);
}
} catch (Exception e) {
throw new ServiceSystemException(PerformanceResultEnum.PASSWORD_CHECK_FAIL);
}
}
BreakContractSettlementOwner settlementOwner = breakContractSettlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); BreakContractSettlementOwner settlementOwner = breakContractSettlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if(!Objects.equals(settlementOwner.getStatus(), BreakContractSettlementOwnerEnum.Status.SHIPPER_TO_PAYMENT.getCode())){ if(!Objects.equals(settlementOwner.getStatus(), BreakContractSettlementOwnerEnum.Status.SHIPPER_TO_PAYMENT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.STATUS_CHANGED); throw new ServiceSystemException(PerformanceResultEnum.STATUS_CHANGED);
...@@ -281,7 +295,6 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe ...@@ -281,7 +295,6 @@ public class BreakContractSettlementOwnerServiceImpl implements BreakContractSe
record.setPayTime(LocalDateTime.now()); record.setPayTime(LocalDateTime.now());
breakContractOwnerRecordDao.uploadPayTime(record); breakContractOwnerRecordDao.uploadPayTime(record);
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志----货主付款 //保存结算单日志----货主付款
breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(), breakContractSettlementLogService.saveBreakSettlementLog(settlementOwner.getSettlementNo(),
BreakContractSettlementLogEnum.Type.SHIPPER_TO_PAYMENT.getCode(),BreakContractSettlementLogEnum.Type.SHIPPER_TO_PAYMENT.getMsg(), BreakContractSettlementLogEnum.Type.SHIPPER_TO_PAYMENT.getCode(),BreakContractSettlementLogEnum.Type.SHIPPER_TO_PAYMENT.getMsg(),
......
...@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; ...@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
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.component.NetworkSyncComponent; import com.clx.performance.component.NetworkSyncComponent;
import com.clx.performance.dao.OwnerAccountPasswordDao;
import com.clx.performance.dao.settle.SettlementLogDao; import com.clx.performance.dao.settle.SettlementLogDao;
import com.clx.performance.dao.settle.SettlementOwnerDao; import com.clx.performance.dao.settle.SettlementOwnerDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao; import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
...@@ -12,6 +13,11 @@ import com.clx.performance.dto.InvoicingStatusNotifyDTO; ...@@ -12,6 +13,11 @@ import com.clx.performance.dto.InvoicingStatusNotifyDTO;
import com.clx.performance.enums.OrderChildLogEnum; import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.settle.*; import com.clx.performance.enums.settle.*;
import com.clx.performance.enums.settle.SettlementLogEnum;
import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.enums.settle.SettlementWayEnum;
import com.clx.performance.model.OwnerAccountPassword;
import com.clx.performance.model.settle.SettlementLog; import com.clx.performance.model.settle.SettlementLog;
import com.clx.performance.model.settle.SettlementOwner; import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail; import com.clx.performance.model.settle.SettlementOwnerDetail;
...@@ -23,6 +29,7 @@ import com.clx.performance.service.settle.SettlementMqHandlerService; ...@@ -23,6 +29,7 @@ import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.service.settle.SettlementOwnerService; import com.clx.performance.service.settle.SettlementOwnerService;
import com.clx.performance.struct.settle.SettlementLogStruct; import com.clx.performance.struct.settle.SettlementLogStruct;
import com.clx.performance.struct.settle.SettlementOwnerStruct; import com.clx.performance.struct.settle.SettlementOwnerStruct;
import com.clx.performance.utils.MyMD5Util;
import com.clx.performance.utils.excel.ExcelData; import com.clx.performance.utils.excel.ExcelData;
import com.clx.performance.utils.excel.ExcelField; import com.clx.performance.utils.excel.ExcelField;
import com.clx.performance.utils.excel.ExcelSheet; import com.clx.performance.utils.excel.ExcelSheet;
...@@ -36,6 +43,7 @@ import com.msl.user.data.UserSessionData; ...@@ -36,6 +43,7 @@ import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil; import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
...@@ -76,6 +84,8 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -76,6 +84,8 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
private final SettlementMqHandlerService settlementMqHandlerService; private final SettlementMqHandlerService settlementMqHandlerService;
private final OwnerAccountPasswordDao ownerAccountPasswordDao;
@Override @Override
public CarrierSettlementOwnerDetailVO getCarrierSettlementOwnerDetail(Integer id) { public CarrierSettlementOwnerDetailVO getCarrierSettlementOwnerDetail(Integer id) {
...@@ -198,6 +208,20 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -198,6 +208,20 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
@Override @Override
public void updatePaymentSettlement(OwnerPaymentSettlementParam param) { public void updatePaymentSettlement(OwnerPaymentSettlementParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
if (StringUtils.equals(loginUserInfo.getProductCode(), "carrier-owner-app")) {
OwnerAccountPassword entity = ownerAccountPasswordDao.findEntityByUserNo(loginUserInfo.getUserNo());
try {
boolean b = MyMD5Util.validPassword(param.getAccountPassword(), entity.getPassword());
if (!b) {
throw new ServiceSystemException(PerformanceResultEnum.PASSWORD_CHECK_FAIL);
}
} catch (Exception e) {
throw new ServiceSystemException(PerformanceResultEnum.PASSWORD_CHECK_FAIL);
}
}
//结算单详情 //结算单详情
SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
...@@ -215,7 +239,6 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -215,7 +239,6 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
.status(SettlementOwnerEnum.Status.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode()).build(); .status(SettlementOwnerEnum.Status.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode()).build();
settlementOwnerDao.updatePayment(settlement); settlementOwnerDao.updatePayment(settlement);
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志 //保存结算单日志
settlementLogService.saveSettlementLog(settlementNo, settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.SHIPPER_TO_PAYMENT.getCode(),SettlementLogEnum.Type.SHIPPER_TO_PAYMENT.getMsg(), SettlementLogEnum.Type.SHIPPER_TO_PAYMENT.getCode(),SettlementLogEnum.Type.SHIPPER_TO_PAYMENT.getMsg(),
......
...@@ -6,6 +6,7 @@ import com.clx.performance.model.OrderChild; ...@@ -6,6 +6,7 @@ import com.clx.performance.model.OrderChild;
import com.clx.performance.vo.app.CustomerComplaintOrderChildVO; import com.clx.performance.vo.app.CustomerComplaintOrderChildVO;
import com.clx.performance.vo.app.GoingOrderChildVO; import com.clx.performance.vo.app.GoingOrderChildVO;
import com.clx.performance.vo.app.OrderChildVO; import com.clx.performance.vo.app.OrderChildVO;
import com.clx.performance.vo.app.owner.OwnerOrderChildVO;
import com.clx.performance.vo.pc.CarrierOrderChildDetailVO; import com.clx.performance.vo.pc.CarrierOrderChildDetailVO;
import com.clx.performance.vo.pc.OrderChildPCVO; import com.clx.performance.vo.pc.OrderChildPCVO;
import com.msl.common.utils.DateStructUtil; import com.msl.common.utils.DateStructUtil;
...@@ -29,4 +30,8 @@ public interface OrderChildStruct { ...@@ -29,4 +30,8 @@ public interface OrderChildStruct {
OrderChildMessage convertMessage(OrderChild item); OrderChildMessage convertMessage(OrderChild item);
Page<CustomerComplaintOrderChildVO> covertPageCustomerComplaintOrderChildVO(Page<OrderChild> page); Page<CustomerComplaintOrderChildVO> covertPageCustomerComplaintOrderChildVO(Page<OrderChild> page);
List<OwnerOrderChildVO> convertOwnerOrderChildVOList(List<OrderChild> list);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论