提交 9294381b authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v5.5_settlement_20231011' into v5.5_settlement_20231011

package com.clx.performance.vo.pc.carrier.settle;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CarrierSettlementOwnerCompanyContactVO {
@ApiModelProperty(value = "公司联系人", example = "1.23")
private String companyContact;
@ApiModelProperty(value = "公司联系电话", example = "公司联系人")
private String companyContactMobile;
@ApiModelProperty(value = "公司联系地址", example = "公司联系地址")
private String companyContactAddress;
}
package com.clx.performance.vo.pc.carrier.settle;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CarrierSettlementOwnerCompanyVO {
@ApiModelProperty(value = "公司名称", example = "公司名称")
private String companyName;
@ApiModelProperty(value = "企业税号", example = "企业税号")
private String companyTaxCode;
@ApiModelProperty(value = "公司地址", example = "公司地址")
private String companyAddress;
@ApiModelProperty(value = "公司电话", example = "1222222222")
private String companyMobile;
@ApiModelProperty(value = "公司开户行", example = "中国银行")
private String companyBankName;
@ApiModelProperty(value = "公司银行账号", example = "6215454545")
private String companyBankNo;
}
package com.clx.performance.vo.pc.carrier.settle;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CarrierSettlementOwnerExpressVO {
@ApiModelProperty(value = "快递公司", example = "顺风")
private String expressCompany;
@ApiModelProperty(value = "快递编号", example = "SF145787")
private String expressNo;
}
package com.clx.performance.vo.pc.carrier.settle;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class CarrierSettlementOwnerPayeeVO {
@ApiModelProperty(value = "收款人", example = "收款人")
private String payee;
@ApiModelProperty(value = "收款银行", example = "浙江银行")
private String payeeBankName;
@ApiModelProperty(value = "收款银行卡卡号", example = "62213545878787")
private String payeeBankCardNo;
}
...@@ -3,8 +3,7 @@ package com.clx.performance.controller.pc.carrier; ...@@ -3,8 +3,7 @@ package com.clx.performance.controller.pc.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerParam; import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerParam;
import com.clx.performance.service.settle.SettlementOwnerService; import com.clx.performance.service.settle.SettlementOwnerService;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerVO; import com.clx.performance.vo.pc.carrier.settle.*;
import com.clx.performance.vo.pc.carrier.settle.CarrierSettlementOwnerDetailVO;
import com.msl.common.base.PageData; import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert; import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result; import com.msl.common.result.Result;
...@@ -12,9 +11,13 @@ import io.swagger.annotations.Api; ...@@ -12,9 +11,13 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
...@@ -46,5 +49,40 @@ public class CarrierSettlementOwnerController { ...@@ -46,5 +49,40 @@ public class CarrierSettlementOwnerController {
return Result.page(page.getRecords(),page.getTotal(),page.getPages()); return Result.page(page.getRecords(),page.getTotal(),page.getPages());
} }
@ApiOperation(value = "货主结算单下载",notes = "<br>By:姜文业")
@PostMapping("/exportCarrierSettlementOwnerPageList")
public void exportCarrierSettlementOwnerPageList(@RequestBody @Validated PageCarrierSettlementOwnerParam param, HttpServletResponse response) throws Exception {
SXSSFWorkbook workbook = settlementOwnerService.exportCarrierSettlementOwnerPageList(param);
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
workbook.write(response.getOutputStream());
}
@ApiOperation(value = "货主结算单快递页面开票信息",notes = "<br>By:姜文业")
@GetMapping("/getCarrierSettlementOwnerInvoiceCompany")
@UnitCovert(param = false)
public Result<CarrierSettlementOwnerCompanyVO> getCarrierSettlementOwnerInvoiceCompany(@NotNull(message = "id不能为空") Integer id) {
return Result.ok(settlementOwnerService.getCarrierSettlementOwnerInvoiceCompany(id));
}
@ApiOperation(value = "货主结算单快递页面联系人信息",notes = "<br>By:姜文业")
@GetMapping("/getCarrierSettlementOwnerCompanyContact")
@UnitCovert(param = false)
public Result<CarrierSettlementOwnerCompanyContactVO> getCarrierSettlementOwnerCompanyContact(@NotNull(message = "id不能为空") Integer id) {
return Result.ok(settlementOwnerService.getCarrierSettlementOwnerCompanyContact(id));
}
@ApiOperation(value = "货主结算单付款页面收款人信息",notes = "<br>By:姜文业")
@GetMapping("/getCarrierSettlementOwnerPayee")
@UnitCovert(param = false)
public Result<CarrierSettlementOwnerPayeeVO> getCarrierSettlementOwnerPayee(@NotNull(message = "id不能为空") Integer id) {
return Result.ok(settlementOwnerService.getCarrierSettlementOwnerPayee(id));
}
@ApiOperation(value = "货主结算单快递页面快递信息",notes = "<br>By:姜文业")
@GetMapping("/getCarrierSettlementOwnerExpress")
@UnitCovert(param = false)
public Result<CarrierSettlementOwnerExpressVO> getCarrierSettlementOwnerExpress(@NotNull(message = "id不能为空") Integer id) {
return Result.ok(settlementOwnerService.getCarrierSettlementOwnerExpress(id));
}
} }
...@@ -20,9 +20,11 @@ import com.clx.performance.service.settle.SettlementLogService; ...@@ -20,9 +20,11 @@ import com.clx.performance.service.settle.SettlementLogService;
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.vo.pc.carrier.settle.CarrierPageSettlementOwnerVO; import com.clx.performance.utils.excel.ExcelData;
import com.clx.performance.vo.pc.carrier.settle.CarrierSettlementOwnerDetailVO; import com.clx.performance.utils.excel.ExcelField;
import com.clx.performance.vo.pc.carrier.settle.SettlementLogVO; import com.clx.performance.utils.excel.ExcelSheet;
import com.clx.performance.utils.excel.ExcelUtil;
import com.clx.performance.vo.pc.carrier.settle.*;
import com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO; import com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO;
import com.clx.performance.vo.pc.owner.settle.SettlementPlatformAccountVO; import com.clx.performance.vo.pc.owner.settle.SettlementPlatformAccountVO;
import com.clx.user.vo.pc.owner.OwnerBindCardVO; import com.clx.user.vo.pc.owner.OwnerBindCardVO;
...@@ -31,9 +33,11 @@ import com.msl.user.data.UserSessionData; ...@@ -31,9 +33,11 @@ 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.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;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -202,4 +206,91 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -202,4 +206,91 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
page.getPages()); page.getPages());
return result; return result;
} }
@Override
public SXSSFWorkbook exportCarrierSettlementOwnerPageList(PageCarrierSettlementOwnerParam param) {
IPage<SettlementOwner> page = settlementOwnerDao.pageCarrierSettlementOwner(param);
List<CarrierPageSettlementOwnerVO> list = settlementOwnerStruct.convertCarrierList(
page.getRecords());
// 组装表头
List<ExcelField> fieldList = new ArrayList<>();
fieldList.add(new ExcelField(0, "序号", "index", 2000));
fieldList.add(new ExcelField(1, "结算单号", "settlementNo", 5000));
fieldList.add(new ExcelField(2, "开票标识", "invoiceType", 5000));
fieldList.add(new ExcelField(3, "货主编码", "ownerUserNo", 5000));
fieldList.add(new ExcelField(4, "订单编号", "orderNo", 15000));
fieldList.add(new ExcelField(5, "实际净重", "weight", 5000));
fieldList.add(new ExcelField(6, "实际运费金额", "freight", 5000));
fieldList.add(new ExcelField(7, "预付运费金额", "prepayFreight", 5000));
fieldList.add(new ExcelField(8, "货损吨数", "lossWeight", 5000));
fieldList.add(new ExcelField(9, "货损金额", "lossFreight", 5000));
fieldList.add(new ExcelField(10, "结算金额", "settlementFreight", 5000));
fieldList.add(new ExcelField(11, "开票金额", "invoiceFreight", 5000));
fieldList.add(new ExcelField(12, "创建时间", "createTime", 5000));
fieldList.add(new ExcelField(13, "状态", "status", 5000));
// 组装数据
List<List<ExcelData>> dataList = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
CarrierPageSettlementOwnerVO dto = list.get(i);
List<ExcelData> rowData = new ArrayList<>();
rowData.add(new ExcelData(i + 1));
rowData.add(new ExcelData(dto.getSettlementNo()));
rowData.add(new ExcelData(SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType())));
rowData.add(new ExcelData(String.valueOf(dto.getOwnerUserNo())));
rowData.add(new ExcelData(dto.getOrderNo()));
rowData.add(new ExcelData(dto.getWeight()));
rowData.add(new ExcelData(dto.getFreight()));
rowData.add(new ExcelData(dto.getPrepayFreight()));
rowData.add(new ExcelData(dto.getLossWeight()));
rowData.add(new ExcelData(dto.getLossFreight()));
rowData.add(new ExcelData(dto.getSettlementFreight()));
rowData.add(new ExcelData(dto.getInvoiceFreight()));
rowData.add(new ExcelData(dto.getCreateTime()));
rowData.add(new ExcelData(SettlementOwnerEnum.Status.getMsgByCode(dto.getStatus())));
dataList.add(rowData);
}
ExcelSheet excelSheet = new ExcelSheet("货主结算单", "货主结算单", fieldList, dataList);
//创建excel
return ExcelUtil.create(excelSheet);
}
@Override
public CarrierSettlementOwnerCompanyVO getCarrierSettlementOwnerInvoiceCompany(Integer id) {
//结算单详情
SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CarrierSettlementOwnerCompanyVO detail = settlementOwnerStruct.convertToCompany(settlementOwner);
return detail;
}
@Override
public CarrierSettlementOwnerCompanyContactVO getCarrierSettlementOwnerCompanyContact(Integer id) {
//结算单详情
SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CarrierSettlementOwnerCompanyContactVO detail = settlementOwnerStruct.convertToCompanyContact(settlementOwner);
return detail;
}
@Override
public CarrierSettlementOwnerPayeeVO getCarrierSettlementOwnerPayee(Integer id) {
//结算单详情
SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CarrierSettlementOwnerPayeeVO detail = settlementOwnerStruct.convertToPayee(settlementOwner);
return detail;
}
@Override
public CarrierSettlementOwnerExpressVO getCarrierSettlementOwnerExpress(Integer id) {
//结算单详情
SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
CarrierSettlementOwnerExpressVO detail = settlementOwnerStruct.convertToExpress(settlementOwner);
return detail;
}
} }
...@@ -4,10 +4,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,10 +4,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.owner.OwnerPaymentSettlementParam; import com.clx.performance.param.pc.owner.OwnerPaymentSettlementParam;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerParam; import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerParam;
import com.clx.performance.param.pc.owner.PageOwnerSettlementParam; import com.clx.performance.param.pc.owner.PageOwnerSettlementParam;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerVO; import com.clx.performance.vo.pc.carrier.settle.*;
import com.clx.performance.vo.pc.carrier.settle.CarrierSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO; import com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO;
import com.clx.performance.vo.pc.owner.settle.SettlementPlatformAccountVO; import com.clx.performance.vo.pc.owner.settle.SettlementPlatformAccountVO;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
/** /**
* @author liruixin * @author liruixin
...@@ -30,4 +30,17 @@ public interface SettlementOwnerService { ...@@ -30,4 +30,17 @@ public interface SettlementOwnerService {
IPage<OwnerPageSettlementOwnerVO> pageSettlementOwner(PageOwnerSettlementParam param); IPage<OwnerPageSettlementOwnerVO> pageSettlementOwner(PageOwnerSettlementParam param);
SXSSFWorkbook exportCarrierSettlementOwnerPageList(PageCarrierSettlementOwnerParam param);
CarrierSettlementOwnerCompanyVO getCarrierSettlementOwnerInvoiceCompany(Integer id);
CarrierSettlementOwnerCompanyContactVO getCarrierSettlementOwnerCompanyContact(Integer id);
CarrierSettlementOwnerPayeeVO getCarrierSettlementOwnerPayee(Integer id);
CarrierSettlementOwnerExpressVO getCarrierSettlementOwnerExpress(Integer id);
} }
...@@ -2,9 +2,7 @@ package com.clx.performance.struct.settle; ...@@ -2,9 +2,7 @@ package com.clx.performance.struct.settle;
import com.clx.performance.enums.settle.SettlementOwnerEnum; import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.model.settle.SettlementOwner; import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerVO; import com.clx.performance.vo.pc.carrier.settle.*;
import com.clx.performance.vo.pc.carrier.settle.CarrierSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.carrier.settle.SettlementMergeVO;
import com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO; import com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO;
import com.msl.common.utils.DateStructUtil; import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils; import com.msl.common.utils.DateUtils;
...@@ -31,5 +29,13 @@ public interface SettlementOwnerStruct { ...@@ -31,5 +29,13 @@ public interface SettlementOwnerStruct {
List<OwnerPageSettlementOwnerVO> convertOwnerList(List<SettlementOwner> settlementOwners); List<OwnerPageSettlementOwnerVO> convertOwnerList(List<SettlementOwner> settlementOwners);
CarrierSettlementOwnerCompanyVO convertToCompany(SettlementOwner settlementOwner);
CarrierSettlementOwnerCompanyContactVO convertToCompanyContact(SettlementOwner settlementOwner);
CarrierSettlementOwnerPayeeVO convertToPayee(SettlementOwner settlementOwner);
CarrierSettlementOwnerExpressVO convertToExpress(SettlementOwner settlementOwner);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论