feat(order): 新增订单成本和返点管理功能
- 新增订单成本项管理接口,支持创建和分页查询 - 新增订单返点管理接口,支持分页查询 - 扩展订单供应商接口,增加批量上传发票功能 - 完善费用类型枚举,新增物流类型 - 扩展费用归属枚举,新增司机类型 - 更新订单相关DTO,增加是否付款字段 - 优化订单查询条件,支持按支付状态筛选 - 完善订单供应商信息,增加公司信息和创建时间字段 - 新增经销商损耗相关字段配置
This commit is contained in:
parent
6ff802850e
commit
9b9542385f
@ -0,0 +1,62 @@
|
||||
package com.xunhong.erp.turbo.admin.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.xunhong.erp.turbo.api.biz.api.OrderCostServiceI;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderCostCreateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderCostPageQry;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderCostVO;
|
||||
import com.xunhong.erp.turbo.api.rbac.dto.constants.RoleConstant;
|
||||
import com.xunhong.erp.turbo.api.user.api.AdminServiceI;
|
||||
import com.xunhong.erp.turbo.api.user.dto.qry.AdminShowQry;
|
||||
import com.xunhong.erp.turbo.api.user.dto.vo.AdminVO;
|
||||
import com.xunhong.erp.turbo.base.dto.PageDTO;
|
||||
import com.xunhong.erp.turbo.base.dto.UserSession;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Tag(name = "OrderCost", description = "订单成本项管理")
|
||||
@RestController("operationOrderCostController")
|
||||
@RequestMapping(value = "/operation")
|
||||
@RequiredArgsConstructor
|
||||
public class OrderCostController {
|
||||
|
||||
@DubboReference(version = "1.0.0")
|
||||
private final OrderCostServiceI orderCostService;
|
||||
|
||||
@DubboReference(version = "1.0.0")
|
||||
private final AdminServiceI adminService;
|
||||
|
||||
|
||||
@SaCheckLogin
|
||||
// @SaCheckPermission(value = {PermissionConstant.MDB_BUSINESS_ORDER_SUPPLIER_VIEW})
|
||||
@GetMapping("pageOrderCost")
|
||||
@Operation(summary = "订单成本项列表", method = "GET")
|
||||
public PageResponse<OrderCostVO> pageOrderCost(@ModelAttribute @Validated OrderCostPageQry orderCostPageQry) {
|
||||
String roleSlug = UserSession.USER_THREAD_LOCAL.get().getRoleSlug();
|
||||
if (roleSlug.equals(RoleConstant.ORIGIN_ENTRY) || roleSlug.equals(RoleConstant.MARKET_BUYER)) {
|
||||
Long userId = UserSession.USER_THREAD_LOCAL.get().getUserId();
|
||||
AdminShowQry adminShowQry = new AdminShowQry();
|
||||
adminShowQry.setUserId(userId);
|
||||
AdminVO adminVO = adminService.show(adminShowQry);
|
||||
orderCostPageQry.setCreatedBy(adminVO.getAdminId());
|
||||
}
|
||||
PageDTO<OrderCostVO> page = orderCostService.page(orderCostPageQry);
|
||||
return PageResponse.of(page.getRecords(), (int) page.getTotal(), (int) page.getSize(), (int) page.getCurrent());
|
||||
}
|
||||
@SaCheckLogin
|
||||
// @SaCheckPermission(value = {PermissionConstant.MDB_BUSINESS_ORDER_SUPPLIER_UPDATE})
|
||||
@PostMapping(value = "createOrderCost")
|
||||
@Operation(summary = "创建订单成本项", method = "POST")
|
||||
public SingleResponse<OrderCostVO> createOrderCost(@RequestBody @Validated OrderCostCreateCmd orderCostCreateCmd) {
|
||||
return SingleResponse.of(orderCostService.create(orderCostCreateCmd));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,56 @@
|
||||
package com.xunhong.erp.turbo.admin.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.xunhong.erp.turbo.api.biz.api.OrderRebateServiceI;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderRebatePageQry;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderRebateVO;
|
||||
import com.xunhong.erp.turbo.api.rbac.dto.constants.RoleConstant;
|
||||
import com.xunhong.erp.turbo.api.user.api.AdminServiceI;
|
||||
import com.xunhong.erp.turbo.api.user.dto.qry.AdminShowQry;
|
||||
import com.xunhong.erp.turbo.api.user.dto.vo.AdminVO;
|
||||
import com.xunhong.erp.turbo.base.dto.PageDTO;
|
||||
import com.xunhong.erp.turbo.base.dto.UserSession;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Tag(name = "OrderRebate", description = "订单返点管理")
|
||||
@RestController("operationOrderRebateController")
|
||||
@RequestMapping(value = "/operation")
|
||||
@RequiredArgsConstructor
|
||||
public class OrderRebateController {
|
||||
|
||||
@DubboReference(version = "1.0.0")
|
||||
private final OrderRebateServiceI orderRebateService;
|
||||
|
||||
@DubboReference(version = "1.0.0")
|
||||
private final AdminServiceI adminService;
|
||||
|
||||
|
||||
@SaCheckLogin
|
||||
// @SaCheckPermission(value = {PermissionConstant.MDB_BUSINESS_ORDER_SUPPLIER_VIEW})
|
||||
@GetMapping("pageOrderRebate")
|
||||
@Operation(summary = "订单返点列表", method = "GET")
|
||||
public PageResponse<OrderRebateVO> pageOrderRebate(@ModelAttribute @Validated OrderRebatePageQry orderRebatePageQry) {
|
||||
String roleSlug = UserSession.USER_THREAD_LOCAL.get().getRoleSlug();
|
||||
if (roleSlug.equals(RoleConstant.ORIGIN_ENTRY) || roleSlug.equals(RoleConstant.MARKET_BUYER)) {
|
||||
Long userId = UserSession.USER_THREAD_LOCAL.get().getUserId();
|
||||
AdminShowQry adminShowQry = new AdminShowQry();
|
||||
adminShowQry.setUserId(userId);
|
||||
AdminVO adminVO = adminService.show(adminShowQry);
|
||||
orderRebatePageQry.setCreatedBy(adminVO.getAdminId());
|
||||
}
|
||||
PageDTO<OrderRebateVO> page = orderRebateService.page(orderRebatePageQry);
|
||||
return PageResponse.of(page.getRecords(), (int) page.getTotal(), (int) page.getSize(), (int) page.getCurrent());
|
||||
}
|
||||
}
|
||||
@ -2,8 +2,10 @@ package com.xunhong.erp.turbo.admin.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckLogin;
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.alibaba.cola.dto.Response;
|
||||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.xunhong.erp.turbo.api.biz.api.OrderSupplierServiceI;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierBatchInvoiceUploadCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierUpdateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderSupplierPageQry;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderSupplierVO;
|
||||
@ -60,4 +62,13 @@ public class OrderSupplierController {
|
||||
public SingleResponse<OrderSupplierVO> updateOrderSupplier(@RequestBody @Validated OrderSupplierUpdateCmd orderSupplierUpdateCmd) {
|
||||
return SingleResponse.of(orderSupplierService.update(orderSupplierUpdateCmd));
|
||||
}
|
||||
|
||||
@SaCheckLogin
|
||||
// @SaCheckPermission(value = {PermissionConstant.MDB_BUSINESS_ORDER_SUPPLIER_BATCH_INVOICE_UPLOAD})
|
||||
@PostMapping("batchUploadInvoice")
|
||||
@Operation(summary = "批量上传供应商发票", method = "POST")
|
||||
public Response batchUploadInvoice(@RequestBody @Validated OrderSupplierBatchInvoiceUploadCmd batchInvoiceUploadCmd) {
|
||||
orderSupplierService.batchUploadInvoice(batchInvoiceUploadCmd);
|
||||
return SingleResponse.buildSuccess();
|
||||
}
|
||||
}
|
||||
|
||||
@ -82,7 +82,6 @@ public class UserController {
|
||||
@GetMapping(value = "/userAdmin")
|
||||
@Operation(summary = "管理员详情", method = "GET")
|
||||
public SingleResponse<AdminVO> userAdmin(@ModelAttribute @Validated AdminShowQry adminShowQry) {
|
||||
|
||||
Long userId = UserSession.USER_THREAD_LOCAL.get().getUserId();
|
||||
adminShowQry.setUserId(userId);
|
||||
|
||||
@ -99,6 +98,10 @@ public class UserController {
|
||||
|
||||
EmployeeVO employeeVO = employeeService.show(employeeShowQry);
|
||||
|
||||
if (Objects.isNull(employeeVO)) {
|
||||
return SingleResponse.of(null);
|
||||
}
|
||||
|
||||
// 获取角色
|
||||
UserRoleListQry userRoleListQry = new UserRoleListQry();
|
||||
userRoleListQry.setUserId(employeeVO.getUserId());
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
package com.xunhong.erp.turbo.biz.app.assembler;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderCostVO;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderCost;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.NullValueCheckStrategy;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
|
||||
public interface OrderCostAssembler {
|
||||
|
||||
@Mapping(target = "purchaseOrderVO", source = "purchaseOrder")
|
||||
@Mapping(target = "createdByName", ignore = true)
|
||||
@Mapping(target = "createdBy", ignore = true)
|
||||
OrderCostVO toOrderCostVO(OrderCost orderCost);
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.xunhong.erp.turbo.biz.app.assembler;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderRebateVO;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderRebate;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.NullValueCheckStrategy;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
|
||||
public interface OrderRebateAssembler {
|
||||
|
||||
@Mapping(target = "purchaseOrderVO", source = "purchaseOrder")
|
||||
@Mapping(target = "createdByName", ignore = true)
|
||||
@Mapping(target = "createdBy", ignore = true)
|
||||
OrderRebateVO toOrderRebateVO(OrderRebate orderRebate);
|
||||
}
|
||||
@ -1,7 +1,7 @@
|
||||
package com.xunhong.erp.turbo.biz.app.assembler;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderSupplier;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderSupplierVO;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderSupplier;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.NullValueCheckStrategy;
|
||||
@ -12,7 +12,6 @@ import org.mapstruct.NullValueCheckStrategy;
|
||||
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
|
||||
public interface OrderSupplierAssembler {
|
||||
|
||||
@Mapping(target = "pricingMethod", ignore = true)
|
||||
@Mapping(target = "createdAt", ignore = true)
|
||||
@Mapping(target = "purchaseOrderVO", source = "purchaseOrder")
|
||||
OrderSupplierVO toOrderSupplierVO(OrderSupplier orderSupplier);
|
||||
}
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderCostCreateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderCostVO;
|
||||
import com.xunhong.erp.turbo.biz.app.assembler.OrderCostAssembler;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderCost;
|
||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderCostGateway;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class OrderCostCreateCmdExe {
|
||||
|
||||
private final OrderCostAssembler orderCostAssembler;
|
||||
private final OrderCostGateway orderCostGateway;
|
||||
|
||||
public OrderCostVO execute(OrderCostCreateCmd orderCostCreateCmd) {
|
||||
OrderCost orderCost = orderCostGateway.save(orderCostCreateCmd);
|
||||
|
||||
return orderCostAssembler.toOrderCostVO(orderCost);
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierBatchInvoiceUploadCmd;
|
||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderSupplierGateway;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 订单供应商批量上传发票执行器
|
||||
*
|
||||
* @author claude
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class OrderSupplierBatchInvoiceUploadCmdExe {
|
||||
|
||||
private final OrderSupplierGateway orderSupplierGateway;
|
||||
|
||||
/**
|
||||
* 执行批量上传发票
|
||||
*
|
||||
* @param orderSupplierBatchInvoiceUploadCmd 批量上传发票命令
|
||||
*/
|
||||
public void execute(OrderSupplierBatchInvoiceUploadCmd orderSupplierBatchInvoiceUploadCmd) {
|
||||
orderSupplierGateway.batchInvoiceUpload(orderSupplierBatchInvoiceUploadCmd);
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,9 @@
|
||||
package com.xunhong.erp.turbo.biz.app.executor.cmd;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierUpdateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderSupplier;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderSupplierVO;
|
||||
import com.xunhong.erp.turbo.biz.app.assembler.OrderSupplierAssembler;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderSupplier;
|
||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderSupplierGateway;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
package com.xunhong.erp.turbo.biz.app.executor.query;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderCostPageQry;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderCostVO;
|
||||
import com.xunhong.erp.turbo.biz.app.assembler.OrderCostAssembler;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderCost;
|
||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderCostGateway;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class OrderCostPageQryExe {
|
||||
|
||||
private final OrderCostGateway orderCostGateway;
|
||||
private final OrderCostAssembler orderCostAssembler;
|
||||
|
||||
public IPage<OrderCostVO> execute(OrderCostPageQry orderCostPageQry) {
|
||||
IPage<OrderCost> page = orderCostGateway.page(orderCostPageQry);
|
||||
return page.convert(orderCostAssembler::toOrderCostVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
package com.xunhong.erp.turbo.biz.app.executor.query;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderRebatePageQry;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderRebateVO;
|
||||
import com.xunhong.erp.turbo.biz.app.assembler.OrderRebateAssembler;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderRebate;
|
||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderRebateGateway;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class OrderRebatePageQryExe {
|
||||
|
||||
private final OrderRebateGateway orderRebateGateway;
|
||||
private final OrderRebateAssembler orderRebateAssembler;
|
||||
|
||||
public IPage<OrderRebateVO> execute(OrderRebatePageQry orderRebatePageQry) {
|
||||
IPage<OrderRebate> page = orderRebateGateway.page(orderRebatePageQry);
|
||||
return page.convert(orderRebateAssembler::toOrderRebateVO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
package com.xunhong.erp.turbo.biz.app.executor.query;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderSupplier;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderSupplierPageQry;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderSupplierVO;
|
||||
import com.xunhong.erp.turbo.biz.app.assembler.OrderSupplierAssembler;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderSupplier;
|
||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderSupplierGateway;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@ -0,0 +1,37 @@
|
||||
package com.xunhong.erp.turbo.biz.app.service;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.api.OrderCostServiceI;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderCostCreateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderCostPageQry;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderCostVO;
|
||||
import com.xunhong.erp.turbo.base.dto.PageDTO;
|
||||
import com.xunhong.erp.turbo.biz.app.executor.cmd.OrderCostCreateCmdExe;
|
||||
import com.xunhong.erp.turbo.biz.app.executor.query.OrderCostPageQryExe;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@DubboService(interfaceClass = OrderCostServiceI.class, version = "1.0.0")
|
||||
@RequiredArgsConstructor
|
||||
public class OrderCostServiceImpl implements OrderCostServiceI {
|
||||
|
||||
private final OrderCostPageQryExe orderCostPageQryExe;
|
||||
private final OrderCostCreateCmdExe orderCostCreateCmdExe;
|
||||
|
||||
@Override
|
||||
public PageDTO<OrderCostVO> page(OrderCostPageQry orderCostPageQry) {
|
||||
return PageDTO.of(orderCostPageQryExe.execute(orderCostPageQry));
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderCostVO create(OrderCostCreateCmd orderCostCreateCmd) {
|
||||
return orderCostCreateCmdExe.execute(orderCostCreateCmd);
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
package com.xunhong.erp.turbo.biz.app.service;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.api.OrderRebateServiceI;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderRebatePageQry;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderRebateVO;
|
||||
import com.xunhong.erp.turbo.base.dto.PageDTO;
|
||||
import com.xunhong.erp.turbo.biz.app.executor.query.OrderRebatePageQryExe;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@DubboService(interfaceClass = OrderRebateServiceI.class, version = "1.0.0")
|
||||
@RequiredArgsConstructor
|
||||
public class OrderRebateServiceImpl implements OrderRebateServiceI {
|
||||
|
||||
private final OrderRebatePageQryExe orderRebatePageQryExe;
|
||||
|
||||
@Override
|
||||
public PageDTO<OrderRebateVO> page(OrderRebatePageQry orderRebatePageQry) {
|
||||
return PageDTO.of(orderRebatePageQryExe.execute(orderRebatePageQry));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,10 +1,12 @@
|
||||
package com.xunhong.erp.turbo.biz.app.service;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.api.OrderSupplierServiceI;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierBatchInvoiceUploadCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierUpdateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderSupplierPageQry;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderSupplierVO;
|
||||
import com.xunhong.erp.turbo.base.dto.PageDTO;
|
||||
import com.xunhong.erp.turbo.biz.app.executor.cmd.OrderSupplierBatchInvoiceUploadCmdExe;
|
||||
import com.xunhong.erp.turbo.biz.app.executor.cmd.OrderSupplierUpdateCmdExe;
|
||||
import com.xunhong.erp.turbo.biz.app.executor.query.OrderSupplierPageQryExe;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@ -22,6 +24,7 @@ import org.springframework.stereotype.Service;
|
||||
public class OrderSupplierServiceImpl implements OrderSupplierServiceI {
|
||||
|
||||
private final OrderSupplierUpdateCmdExe orderSupplierUpdateCmdExe;
|
||||
private final OrderSupplierBatchInvoiceUploadCmdExe orderSupplierBatchInvoiceUploadCmdExe;
|
||||
private final OrderSupplierPageQryExe orderSupplierPageQryExe;
|
||||
|
||||
|
||||
@ -35,5 +38,10 @@ public class OrderSupplierServiceImpl implements OrderSupplierServiceI {
|
||||
public OrderSupplierVO update(OrderSupplierUpdateCmd orderSupplierUpdateCmd) {
|
||||
return orderSupplierUpdateCmdExe.execute(orderSupplierUpdateCmd);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void batchUploadInvoice(OrderSupplierBatchInvoiceUploadCmd batchInvoiceUploadCmd) {
|
||||
orderSupplierBatchInvoiceUploadCmdExe.execute(batchInvoiceUploadCmd);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -25,12 +25,12 @@ public class Cost extends DTO {
|
||||
private Long costId;
|
||||
|
||||
/**
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型
|
||||
*/
|
||||
private CostTypeEnum type;
|
||||
|
||||
/**
|
||||
* 费用归属:1_工头;2_产地;
|
||||
* 费用归属:0_无归属;1_工头;2_产地;3_司机;
|
||||
*/
|
||||
private CostBelongEnum belong;
|
||||
|
||||
|
||||
@ -0,0 +1,108 @@
|
||||
package com.xunhong.erp.turbo.biz.domain.entity;
|
||||
|
||||
import com.alibaba.cola.dto.DTO;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCompany;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.CostBelongEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.CostTypeEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class OrderCost extends DTO {
|
||||
|
||||
/**
|
||||
* 记录ID
|
||||
*/
|
||||
private Long orderCostId;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 费用Id
|
||||
*/
|
||||
private Long costId;
|
||||
|
||||
/**
|
||||
* 成本项目名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private Integer count;
|
||||
|
||||
/**
|
||||
* 费用归属:0_无归属;1_工头;2_产地;3_司机;
|
||||
*/
|
||||
private CostBelongEnum belong;
|
||||
|
||||
/**
|
||||
* 负责人
|
||||
*/
|
||||
private String principal;
|
||||
|
||||
/**
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型
|
||||
*/
|
||||
private CostTypeEnum type;
|
||||
|
||||
/**
|
||||
* 关联项目id
|
||||
*/
|
||||
private List<Long> costItemIds;
|
||||
|
||||
/**
|
||||
* 是否付款
|
||||
*/
|
||||
private Boolean isPaid;
|
||||
|
||||
/**
|
||||
* 采购订单车辆信息
|
||||
*/
|
||||
private OrderVehicle orderVehicle;
|
||||
|
||||
/**
|
||||
* 采购订单公司信息
|
||||
*/
|
||||
private OrderCompany orderCompany;
|
||||
|
||||
/**
|
||||
* 采购订单信息
|
||||
*/
|
||||
private PurchaseOrder purchaseOrder;
|
||||
|
||||
/**
|
||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||
*/
|
||||
private PurchaseOrderStateEnum poState;
|
||||
|
||||
|
||||
private LocalDateTime createdAt;
|
||||
}
|
||||
|
||||
@ -0,0 +1,90 @@
|
||||
package com.xunhong.erp.turbo.biz.domain.entity;
|
||||
|
||||
import com.alibaba.cola.dto.DTO;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCompany;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderRebateCalcMethodEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OrderRebate extends DTO {
|
||||
|
||||
/**
|
||||
* 记录ID
|
||||
*/
|
||||
private Long orderRebateId;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 客户ID
|
||||
*/
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 经销商ID
|
||||
*/
|
||||
private Long dealerId;
|
||||
|
||||
/**
|
||||
* 客户名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 返点计算方式:1_按净重计算;2_固定金额;
|
||||
*/
|
||||
private OrderRebateCalcMethodEnum calcMethod;
|
||||
|
||||
/**
|
||||
* 返点净重
|
||||
*/
|
||||
private BigDecimal netWeight;
|
||||
|
||||
/**
|
||||
* 返点单价
|
||||
*/
|
||||
private BigDecimal unitPrice;
|
||||
|
||||
/**
|
||||
* 返点金额
|
||||
*/
|
||||
private BigDecimal amount;
|
||||
|
||||
/**
|
||||
* 是否付款
|
||||
*/
|
||||
private Boolean isPaid;
|
||||
|
||||
/**
|
||||
* 采购订单车辆信息
|
||||
*/
|
||||
private OrderVehicle orderVehicle;
|
||||
|
||||
/**
|
||||
* 采购订单公司信息
|
||||
*/
|
||||
private OrderCompany orderCompany;
|
||||
|
||||
/**
|
||||
* 采购订单信息
|
||||
*/
|
||||
private PurchaseOrder purchaseOrder;
|
||||
|
||||
/**
|
||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||
*/
|
||||
private PurchaseOrderStateEnum poState;
|
||||
|
||||
|
||||
private LocalDateTime createdAt;
|
||||
}
|
||||
@ -4,6 +4,7 @@ import com.alibaba.cola.domain.Entity;
|
||||
import com.alibaba.cola.dto.DTO;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCost;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderShipItem;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipStateEnum;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@ -35,6 +36,16 @@ public class OrderShip extends DTO {
|
||||
*/
|
||||
private String orderSn;
|
||||
|
||||
/**
|
||||
* 经销商ID
|
||||
*/
|
||||
private Long dealerId;
|
||||
|
||||
/**
|
||||
* 经销商名称
|
||||
*/
|
||||
private String dealerName;
|
||||
|
||||
/**
|
||||
* 仓库ID
|
||||
*/
|
||||
@ -119,4 +130,9 @@ public class OrderShip extends DTO {
|
||||
* 订单费用表
|
||||
*/
|
||||
private List<OrderCost> orderCostList;
|
||||
|
||||
/**
|
||||
* 订单运输表
|
||||
*/
|
||||
private OrderVehicle orderVehicle;
|
||||
}
|
||||
|
||||
@ -0,0 +1,218 @@
|
||||
package com.xunhong.erp.turbo.biz.domain.entity;
|
||||
|
||||
import com.alibaba.cola.dto.DTO;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.*;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.LoadingModeEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderPricingMethodEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "采购订单供应商信息创建")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OrderSupplier extends DTO {
|
||||
|
||||
/**
|
||||
* 记录ID
|
||||
*/
|
||||
private Long orderSupplierId;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 供应商ID
|
||||
*/
|
||||
private Long supplierId;
|
||||
|
||||
/**
|
||||
* 供应商姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
private String idCard;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
private String bankCard;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 微信二维码
|
||||
*/
|
||||
private String wechatQr;
|
||||
|
||||
/**
|
||||
* 是否最后一家
|
||||
*/
|
||||
private Boolean isLast;
|
||||
|
||||
/**
|
||||
* 空磅是否包含纸箱
|
||||
*/
|
||||
private Boolean isPaper;
|
||||
|
||||
/**
|
||||
* 空车重量(kg)
|
||||
*/
|
||||
private BigDecimal emptyWeight;
|
||||
|
||||
/**
|
||||
* 总重量(kg)
|
||||
*/
|
||||
private BigDecimal totalWeight;
|
||||
|
||||
/**
|
||||
* 毛重(kg)
|
||||
*/
|
||||
private BigDecimal grossWeight;
|
||||
|
||||
/**
|
||||
* 净重(kg)
|
||||
*/
|
||||
private BigDecimal netWeight;
|
||||
|
||||
/**
|
||||
* 采购单价(元/斤)
|
||||
*/
|
||||
private BigDecimal purchasePrice;
|
||||
|
||||
/**
|
||||
* 箱子类型
|
||||
*/
|
||||
private List<SupplierPackageUsage> packageUsage;
|
||||
|
||||
/**
|
||||
* 装车模式:1_搭架子+网垫;2_纸箱+胶带+木隔板
|
||||
*/
|
||||
private LoadingModeEnum loadingMode;
|
||||
|
||||
/**
|
||||
* 销售单价(元/斤)
|
||||
*/
|
||||
private BigDecimal salePrice;
|
||||
|
||||
/**
|
||||
* 报价方式:1_按毛重报价;2_按净重报价;
|
||||
*/
|
||||
private PurchaseOrderPricingMethodEnum pricingMethod;
|
||||
|
||||
/**
|
||||
* 发票金额
|
||||
*/
|
||||
private BigDecimal invoiceAmount;
|
||||
|
||||
/**
|
||||
* 空车照片
|
||||
*/
|
||||
private String emptyWeightImg;
|
||||
|
||||
/**
|
||||
* 满载照片
|
||||
*/
|
||||
private String totalWeightImg;
|
||||
|
||||
/**
|
||||
* 是否上传票证
|
||||
*/
|
||||
private Boolean invoiceUpload;
|
||||
|
||||
/**
|
||||
* 发票
|
||||
*/
|
||||
private List<UploadFileItem> invoiceImg;
|
||||
|
||||
/**
|
||||
* 是否上传合同
|
||||
*/
|
||||
private Boolean contractUpload;
|
||||
|
||||
/**
|
||||
* 合同
|
||||
*/
|
||||
private List<UploadFileItem> contractImg;
|
||||
|
||||
/**
|
||||
* 产品ID
|
||||
*/
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
private String productName;
|
||||
|
||||
/**
|
||||
* 关联费用id
|
||||
*/
|
||||
private List<Long> costIds;
|
||||
|
||||
/**
|
||||
* 成本模板
|
||||
*/
|
||||
private String costTemplate;
|
||||
|
||||
/**
|
||||
* 是否已付定金
|
||||
*/
|
||||
private Boolean isDepositPaid;
|
||||
|
||||
/**
|
||||
* 定金金额
|
||||
*/
|
||||
private BigDecimal depositAmount;
|
||||
|
||||
/**
|
||||
* 是否付款
|
||||
*/
|
||||
private Boolean isPaid;
|
||||
|
||||
/**
|
||||
* 采购订单包装箱信息
|
||||
*/
|
||||
private List<OrderPackage> orderPackageList;
|
||||
|
||||
/**
|
||||
* 采购订单车辆信息
|
||||
*/
|
||||
private OrderVehicle orderVehicle;
|
||||
|
||||
/**
|
||||
* 采购订单公司信息
|
||||
*/
|
||||
private OrderCompany orderCompany;
|
||||
|
||||
/**
|
||||
* 采购订单信息
|
||||
*/
|
||||
private PurchaseOrder purchaseOrder;
|
||||
|
||||
/**
|
||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||
*/
|
||||
private PurchaseOrderStateEnum poState;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createdAt;
|
||||
}
|
||||
@ -83,7 +83,7 @@ public class PurchaseOrder extends DTO {
|
||||
/**
|
||||
* 采购订单供应商信息
|
||||
*/
|
||||
private List<OrderSupplier> orderSupplierList;
|
||||
private List<com.xunhong.erp.turbo.api.biz.dto.common.OrderSupplier> orderSupplierList;
|
||||
|
||||
/**
|
||||
* 采购订单运输信息
|
||||
@ -103,7 +103,7 @@ public class PurchaseOrder extends DTO {
|
||||
/**
|
||||
* 采购订单包装箱信息
|
||||
*/
|
||||
private List<OrderCost> orderCostList;
|
||||
private List<com.xunhong.erp.turbo.api.biz.dto.common.OrderCost> orderCostList;
|
||||
|
||||
/**
|
||||
* 采购订单成本项目信息
|
||||
@ -113,7 +113,7 @@ public class PurchaseOrder extends DTO {
|
||||
/**
|
||||
* 采购订单返点信息
|
||||
*/
|
||||
private OrderRebate orderRebate;
|
||||
private com.xunhong.erp.turbo.api.biz.dto.common.OrderRebate orderRebate;
|
||||
|
||||
/**
|
||||
* 采购订单包装信息
|
||||
|
||||
@ -0,0 +1,16 @@
|
||||
package com.xunhong.erp.turbo.biz.domain.gateway;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderCostCreateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderCostPageQry;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderCost;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
public interface OrderCostGateway {
|
||||
IPage<OrderCost> page(OrderCostPageQry orderCostPageQry);
|
||||
|
||||
OrderCost save(OrderCostCreateCmd orderCostCreateCmd);
|
||||
}
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
package com.xunhong.erp.turbo.biz.domain.gateway;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderRebatePageQry;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderRebate;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
public interface OrderRebateGateway {
|
||||
IPage<OrderRebate> page(OrderRebatePageQry orderRebatePageQry);
|
||||
}
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
package com.xunhong.erp.turbo.biz.domain.gateway;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierBatchInvoiceUploadCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierUpdateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderSupplier;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderSupplierPageQry;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderSupplier;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
@ -12,5 +13,7 @@ public interface OrderSupplierGateway {
|
||||
IPage<OrderSupplier> page(OrderSupplierPageQry orderSupplierPageQry);
|
||||
|
||||
OrderSupplier update(OrderSupplierUpdateCmd orderSupplierUpdateCmd);
|
||||
|
||||
void batchInvoiceUpload(OrderSupplierBatchInvoiceUploadCmd cmd);
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.xunhong.erp.turbo.biz.infrastructure.convert;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCost;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderCostCreateCmd;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderCost;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCostDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
@ -13,6 +14,9 @@ import java.util.List;
|
||||
*/
|
||||
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
|
||||
public interface OrderCostConvert {
|
||||
@Mapping(target = "purchaseOrderDO", ignore = true)
|
||||
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||
@Mapping(target = "orderCompanyDO", ignore = true)
|
||||
@Mapping(target = "orderCostId", ignore = true)
|
||||
@Mapping(target = "version", ignore = true)
|
||||
@Mapping(target = "updatedAt", ignore = true)
|
||||
@ -24,5 +28,19 @@ public interface OrderCostConvert {
|
||||
|
||||
List<OrderCost> toOrderCostList(List<OrderCostDO> orderCostDOList);
|
||||
|
||||
@Mapping(target = "orderCompany", source = "orderCompanyDO")
|
||||
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
|
||||
@Mapping(target = "purchaseOrder", source = "purchaseOrderDO")
|
||||
OrderCost toOrderCost(OrderCostDO orderCostDO);
|
||||
|
||||
@Mapping(target = "version", ignore = true)
|
||||
@Mapping(target = "updatedAt", ignore = true)
|
||||
@Mapping(target = "purchaseOrderDO", ignore = true)
|
||||
@Mapping(target = "poState", ignore = true)
|
||||
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||
@Mapping(target = "orderCostId", ignore = true)
|
||||
@Mapping(target = "orderCompanyDO", ignore = true)
|
||||
@Mapping(target = "isDelete", ignore = true)
|
||||
@Mapping(target = "createdAt", ignore = true)
|
||||
OrderCostDO toOrderCostDO(OrderCostCreateCmd orderCostCreateCmd);
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.xunhong.erp.turbo.biz.infrastructure.convert;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderRebate;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderRebate;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderRebateDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
@ -11,11 +11,9 @@ import org.mapstruct.NullValueCheckStrategy;
|
||||
*/
|
||||
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
|
||||
public interface OrderRebateConvert {
|
||||
@Mapping(target = "version", ignore = true)
|
||||
@Mapping(target = "updatedAt", ignore = true)
|
||||
@Mapping(target = "isDelete", ignore = true)
|
||||
@Mapping(target = "createdAt", ignore = true)
|
||||
OrderRebateDO toOrderRebateDO(OrderRebate orderRebate);
|
||||
|
||||
@Mapping(target = "orderCompany", source = "orderCompanyDO")
|
||||
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
|
||||
@Mapping(target = "purchaseOrder", source = "purchaseOrderDO")
|
||||
OrderRebate toOrderRebate(OrderRebateDO orderRebateDO);
|
||||
}
|
||||
|
||||
@ -16,10 +16,12 @@ import org.mapstruct.NullValueCheckStrategy;
|
||||
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
|
||||
public interface OrderShipConvert {
|
||||
|
||||
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
|
||||
@Mapping(target = "orderCostList", source = "orderCostDOList")
|
||||
@Mapping(target = "orderShipItemList", source = "orderShipItemDOList")
|
||||
com.xunhong.erp.turbo.biz.domain.entity.OrderShip toOrderShip(OrderShipDO orderShipDO);
|
||||
|
||||
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||
@Mapping(target = "orderCostDOList", ignore = true)
|
||||
@Mapping(target = "warehouseName", ignore = true)
|
||||
@Mapping(target = "warehouseId", ignore = true)
|
||||
@ -32,6 +34,7 @@ public interface OrderShipConvert {
|
||||
@Mapping(target = "createdAt", ignore = true)
|
||||
OrderShipDO toOrderShipDO(OrderShipCreateCmd orderShipCreateCmd);
|
||||
|
||||
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||
@Mapping(target = "orderId", ignore = true)
|
||||
@Mapping(target = "orderCostDOList", ignore = true)
|
||||
@Mapping(target = "warehouseName", ignore = true)
|
||||
@ -48,6 +51,7 @@ public interface OrderShipConvert {
|
||||
@Mapping(target = "createdAt", ignore = true)
|
||||
void toOrderShipDO(@MappingTarget OrderShipDO orderShipDO, OrderShipUpdateCmd orderShipUpdateCmd);
|
||||
|
||||
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||
@Mapping(target = "orderId", ignore = true)
|
||||
@Mapping(target = "orderCostDOList", ignore = true)
|
||||
@Mapping(target = "companyName", ignore = true)
|
||||
@ -66,6 +70,7 @@ public interface OrderShipConvert {
|
||||
@Mapping(target = "createdAt", ignore = true)
|
||||
void toOrderShipDO(@MappingTarget OrderShipDO orderShipDO, OrderShipGenerateDocumentCmd orderShipGenerateDocumentCmd);
|
||||
|
||||
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||
@Mapping(target = "orderCostDOList", ignore = true)
|
||||
@Mapping(target = "orderShipItemDOList", ignore = true)
|
||||
@Mapping(target = "version", ignore = true)
|
||||
|
||||
@ -1,39 +1,32 @@
|
||||
package com.xunhong.erp.turbo.biz.infrastructure.convert;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierUpdateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderSupplier;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderSupplier;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderSupplierDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.MappingTarget;
|
||||
import org.mapstruct.NullValueCheckStrategy;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, uses = {OrderPackageConvert.class})
|
||||
public interface OrderSupplierConvert {
|
||||
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||
@Mapping(target = "orderPackageDOList", source = "orderPackageList")
|
||||
@Mapping(target = "orderSupplierId", ignore = true)
|
||||
@Mapping(target = "version", ignore = true)
|
||||
@Mapping(target = "updatedAt", ignore = true)
|
||||
@Mapping(target = "isDelete", ignore = true)
|
||||
@Mapping(target = "createdAt", ignore = true)
|
||||
OrderSupplierDO toOrderSupplierDO(OrderSupplier orderSupplier);
|
||||
|
||||
List<OrderSupplierDO> toOrderSupplierDOList(List<OrderSupplier> orderSupplierList);
|
||||
|
||||
List<OrderSupplier> toOrderSupplierList(List<OrderSupplierDO> orderSupplierDOList);
|
||||
|
||||
@Mapping(target = "purchaseOrder", source = "purchaseOrderDO")
|
||||
@Mapping(target = "orderCompany", source = "orderCompanyDO")
|
||||
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
|
||||
@Mapping(target = "createdByName", ignore = true)
|
||||
@Mapping(target = "createdBy", ignore = true)
|
||||
@Mapping(target = "orderPackageList", source = "orderPackageDOList")
|
||||
OrderSupplier toOrderSupplier(OrderSupplierDO orderSupplierDO);
|
||||
|
||||
@Mapping(target = "pricingMethod", ignore = true)
|
||||
@Mapping(target = "poState", ignore = true)
|
||||
@Mapping(target = "packageUsage", ignore = true)
|
||||
@Mapping(target = "orderCompanyDO", ignore = true)
|
||||
@Mapping(target = "costTemplate", ignore = true)
|
||||
@Mapping(target = "costIds", ignore = true)
|
||||
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||
@Mapping(target = "wechatQr", ignore = true)
|
||||
@Mapping(target = "totalWeightImg", ignore = true)
|
||||
|
||||
@ -1,17 +1,25 @@
|
||||
package com.xunhong.erp.turbo.biz.infrastructure.convert;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.*;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCost;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderRebate;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderSupplier;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.PurchaseOrder;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCostDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderRebateDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderSupplierDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.PurchaseOrderDO;
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.mapstruct.MappingTarget;
|
||||
import org.mapstruct.NullValueCheckStrategy;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, uses = {OrderVehicleConvert.class, OrderSupplierConvert.class, OrderCostConvert.class, OrderPackageConvert.class, OrderDealerConvert.class, OrderRebateConvert.class, OrderCompanyConvert.class, OrderPackageConvert.class, OrderShipItemConvert.class, OrderShipConvert.class})
|
||||
@Mapper(componentModel = "spring", nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS, uses = {OrderVehicleConvert.class, OrderCostConvert.class, OrderPackageConvert.class, OrderDealerConvert.class, OrderRebateConvert.class, OrderCompanyConvert.class, OrderPackageConvert.class, OrderShipItemConvert.class, OrderShipConvert.class})
|
||||
public interface PurchaseOrderConvert {
|
||||
|
||||
@Mapping(target = "orderShipList", source = "orderShipDOList")
|
||||
@ -92,5 +100,97 @@ public interface PurchaseOrderConvert {
|
||||
@Mapping(target = "isDelete", ignore = true)
|
||||
@Mapping(target = "createdAt", ignore = true)
|
||||
PurchaseOrderDO toPurchaseOrderDO(PurchaseOrderStep1Cmd purchaseOrderStep1Cmd);
|
||||
|
||||
@Mapping(target = "purchaseOrderDO", ignore = true)
|
||||
@Mapping(target = "orderCompanyDO", ignore = true)
|
||||
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||
@Mapping(target = "orderPackageDOList", source = "orderPackageList")
|
||||
@Mapping(target = "orderSupplierId", ignore = true)
|
||||
@Mapping(target = "version", ignore = true)
|
||||
@Mapping(target = "updatedAt", ignore = true)
|
||||
@Mapping(target = "isDelete", ignore = true)
|
||||
@Mapping(target = "createdAt", ignore = true)
|
||||
OrderSupplierDO toOrderSupplierDO(OrderSupplier orderSupplier);
|
||||
|
||||
List<OrderSupplierDO> toOrderSupplierDOList(List<OrderSupplier> orderSupplierList);
|
||||
|
||||
List<OrderSupplier> toOrderSupplierList(List<OrderSupplierDO> orderSupplierDOList);
|
||||
|
||||
@Mapping(target = "selected", ignore = true)
|
||||
@Mapping(target = "orderCompany", source = "orderCompanyDO")
|
||||
@Mapping(target = "orderVehicle", source = "orderVehicleDO")
|
||||
@Mapping(target = "createdByName", ignore = true)
|
||||
@Mapping(target = "createdBy", ignore = true)
|
||||
@Mapping(target = "orderPackageList", source = "orderPackageDOList")
|
||||
OrderSupplier toOrderSupplier(OrderSupplierDO orderSupplierDO);
|
||||
|
||||
@Mapping(target = "purchaseOrderDO", ignore = true)
|
||||
@Mapping(target = "pricingMethod", ignore = true)
|
||||
@Mapping(target = "poState", ignore = true)
|
||||
@Mapping(target = "packageUsage", ignore = true)
|
||||
@Mapping(target = "orderCompanyDO", ignore = true)
|
||||
@Mapping(target = "costTemplate", ignore = true)
|
||||
@Mapping(target = "costIds", ignore = true)
|
||||
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||
@Mapping(target = "wechatQr", ignore = true)
|
||||
@Mapping(target = "totalWeightImg", ignore = true)
|
||||
@Mapping(target = "totalWeight", ignore = true)
|
||||
@Mapping(target = "supplierId", ignore = true)
|
||||
@Mapping(target = "salePrice", ignore = true)
|
||||
@Mapping(target = "purchasePrice", ignore = true)
|
||||
@Mapping(target = "productName", ignore = true)
|
||||
@Mapping(target = "productId", ignore = true)
|
||||
@Mapping(target = "phone", ignore = true)
|
||||
@Mapping(target = "orderId", ignore = true)
|
||||
@Mapping(target = "netWeight", ignore = true)
|
||||
@Mapping(target = "name", ignore = true)
|
||||
@Mapping(target = "isPaper", ignore = true)
|
||||
@Mapping(target = "isLast", ignore = true)
|
||||
@Mapping(target = "invoiceAmount", ignore = true)
|
||||
@Mapping(target = "idCard", ignore = true)
|
||||
@Mapping(target = "grossWeight", ignore = true)
|
||||
@Mapping(target = "emptyWeightImg", ignore = true)
|
||||
@Mapping(target = "emptyWeight", ignore = true)
|
||||
@Mapping(target = "createdAt", ignore = true)
|
||||
@Mapping(target = "bankCard", ignore = true)
|
||||
@Mapping(target = "version", ignore = true)
|
||||
@Mapping(target = "updatedAt", ignore = true)
|
||||
@Mapping(target = "orderPackageDOList", ignore = true)
|
||||
@Mapping(target = "isDelete", ignore = true)
|
||||
@Mapping(target = "isDepositPaid", ignore = true)
|
||||
@Mapping(target = "depositAmount", ignore = true)
|
||||
void toOrderSupplierDO(@MappingTarget OrderSupplierDO orderSupplierDO, OrderSupplierUpdateCmd orderSupplierUpdateCmd);
|
||||
|
||||
@Mapping(target = "purchaseOrderDO", ignore = true)
|
||||
@Mapping(target = "poState", ignore = true)
|
||||
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||
@Mapping(target = "orderCompanyDO", ignore = true)
|
||||
@Mapping(target = "orderCostId", ignore = true)
|
||||
@Mapping(target = "version", ignore = true)
|
||||
@Mapping(target = "updatedAt", ignore = true)
|
||||
@Mapping(target = "isDelete", ignore = true)
|
||||
@Mapping(target = "createdAt", ignore = true)
|
||||
OrderCostDO toOrderCostDO(OrderCost orderCost);
|
||||
|
||||
List<OrderCostDO> toOrderCostDOList(List<OrderCost> orderCostList);
|
||||
|
||||
List<OrderCost> toOrderCostList(List<OrderCostDO> orderCostDOList);
|
||||
|
||||
@Mapping(target = "selected", ignore = true)
|
||||
@Mapping(target = "createdByName", ignore = true)
|
||||
@Mapping(target = "createdBy", ignore = true)
|
||||
OrderCost toOrderCost(OrderCostDO orderCostDO);
|
||||
|
||||
@Mapping(target = "purchaseOrderDO", ignore = true)
|
||||
@Mapping(target = "poState", ignore = true)
|
||||
@Mapping(target = "orderVehicleDO", ignore = true)
|
||||
@Mapping(target = "orderCompanyDO", ignore = true)
|
||||
@Mapping(target = "version", ignore = true)
|
||||
@Mapping(target = "updatedAt", ignore = true)
|
||||
@Mapping(target = "isDelete", ignore = true)
|
||||
@Mapping(target = "createdAt", ignore = true)
|
||||
OrderRebateDO toOrderRebateDO(OrderRebate orderRebate);
|
||||
|
||||
OrderRebate toOrderRebate(OrderRebateDO orderRebateDO);
|
||||
}
|
||||
|
||||
|
||||
@ -29,13 +29,13 @@ public class CostDO extends BaseDO<CostDO> {
|
||||
private Long costId;
|
||||
|
||||
/**
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型
|
||||
*/
|
||||
@TableField(value = "type")
|
||||
private CostTypeEnum type;
|
||||
|
||||
/**
|
||||
* 费用归属:1_工头;2_产地;
|
||||
* 费用归属:0_无归属;1_工头;2_产地;3_司机;
|
||||
*/
|
||||
@TableField(value = "belong")
|
||||
private CostBelongEnum belong;
|
||||
|
||||
@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.CostBelongEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.CostTypeEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
|
||||
import com.xunhong.erp.turbo.datasource.domain.entity.BaseDO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@ -65,7 +66,7 @@ public class OrderCostDO extends BaseDO<OrderCostDO> {
|
||||
private Integer count;
|
||||
|
||||
/**
|
||||
* 费用归属:1_工头;2_产地
|
||||
* 费用归属:0_无归属;1_工头;2_产地;3_司机;
|
||||
*/
|
||||
@TableField(value = "belong")
|
||||
private CostBelongEnum belong;
|
||||
@ -83,10 +84,29 @@ public class OrderCostDO extends BaseDO<OrderCostDO> {
|
||||
private List<Long> costItemIds;
|
||||
|
||||
/**
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型
|
||||
*/
|
||||
@TableField(value = "type")
|
||||
private CostTypeEnum type;
|
||||
|
||||
/**
|
||||
* 是否付款
|
||||
*/
|
||||
@TableField(value = "is_paid")
|
||||
private Boolean isPaid;
|
||||
|
||||
@TableField(exist = false)
|
||||
private PurchaseOrderStateEnum poState;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private OrderVehicleDO orderVehicleDO;
|
||||
|
||||
@TableField(exist = false)
|
||||
private OrderCompanyDO orderCompanyDO;
|
||||
|
||||
@TableField(exist = false)
|
||||
private PurchaseOrderDO purchaseOrderDO;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderRebateCalcMethodEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
|
||||
import com.xunhong.erp.turbo.datasource.domain.entity.BaseDO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@ -72,4 +73,23 @@ public class OrderRebateDO extends BaseDO<OrderPackageDO> {
|
||||
*/
|
||||
@TableField("amount")
|
||||
private BigDecimal amount;
|
||||
|
||||
/**
|
||||
* 是否付款
|
||||
*/
|
||||
@TableField(value = "is_paid")
|
||||
private Boolean isPaid;
|
||||
|
||||
@TableField(exist = false)
|
||||
private PurchaseOrderStateEnum poState;
|
||||
|
||||
|
||||
@TableField(exist = false)
|
||||
private OrderVehicleDO orderVehicleDO;
|
||||
|
||||
@TableField(exist = false)
|
||||
private OrderCompanyDO orderCompanyDO;
|
||||
|
||||
@TableField(exist = false)
|
||||
private PurchaseOrderDO purchaseOrderDO;
|
||||
}
|
||||
|
||||
@ -32,6 +32,19 @@ public class OrderShipDO extends BaseDO<OrderShipDO> {
|
||||
@TableField(value = "order_id")
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 经销商ID
|
||||
*/
|
||||
@TableField(value = "dealer_id")
|
||||
private Long dealerId;
|
||||
|
||||
/**
|
||||
* 经销商名称
|
||||
*/
|
||||
@TableField(value = "dealer_name")
|
||||
private String dealerName;
|
||||
|
||||
|
||||
/**
|
||||
* 发货单编号
|
||||
*/
|
||||
@ -139,4 +152,7 @@ public class OrderShipDO extends BaseDO<OrderShipDO> {
|
||||
@TableField(exist = false)
|
||||
private List<OrderCostDO> orderCostDOList;
|
||||
|
||||
@TableField(exist = false)
|
||||
private OrderVehicleDO orderVehicleDO;
|
||||
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import com.xunhong.erp.turbo.api.biz.dto.common.SupplierPackageUsage;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.UploadFileItem;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.LoadingModeEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderPricingMethodEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
|
||||
import com.xunhong.erp.turbo.datasource.domain.entity.BaseDO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@ -216,9 +217,25 @@ public class OrderSupplierDO extends BaseDO<OrderSupplierDO> {
|
||||
@TableField(value = "deposit_amount")
|
||||
private BigDecimal depositAmount;
|
||||
|
||||
/**
|
||||
* 是否付款
|
||||
*/
|
||||
@TableField(value = "is_paid")
|
||||
private Boolean isPaid;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<OrderPackageDO> orderPackageDOList;
|
||||
|
||||
@TableField(exist = false)
|
||||
private OrderVehicleDO orderVehicleDO;
|
||||
|
||||
@TableField(exist = false)
|
||||
private OrderCompanyDO orderCompanyDO;
|
||||
|
||||
@TableField(exist = false)
|
||||
private PurchaseOrderDO purchaseOrderDO;
|
||||
|
||||
@TableField(exist = false)
|
||||
private PurchaseOrderStateEnum poState;
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,108 @@
|
||||
package com.xunhong.erp.turbo.biz.infrastructure.gateway;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderCostCreateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderCostPageQry;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderCost;
|
||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderCostGateway;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.convert.OrderCostConvert;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.*;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Slf4j
|
||||
@Repository
|
||||
@RequiredArgsConstructor
|
||||
public class OrderCostGatewayImpl implements OrderCostGateway {
|
||||
private final OrderCostMapper orderCostMapper;
|
||||
private final OrderCostConvert orderCostConvert;
|
||||
|
||||
private final OrderVehicleMapper orderVehicleMapper;
|
||||
private final OrderCompanyMapper orderCompanyMapper;
|
||||
private final PurchaseOrderMapper purchaseOrderMapper;
|
||||
|
||||
private final CostMapper costMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public IPage<OrderCost> page(OrderCostPageQry orderCostPageQry) {
|
||||
LambdaQueryWrapper<OrderCostDO> queryWrapper = Wrappers.lambdaQuery(OrderCostDO.class);
|
||||
queryWrapper.eq(Objects.nonNull(orderCostPageQry.getCostId()), OrderCostDO::getCostId, orderCostPageQry.getCostId());
|
||||
queryWrapper.eq(Objects.nonNull(orderCostPageQry.getIsPaid()), OrderCostDO::getIsPaid, orderCostPageQry.getIsPaid());
|
||||
queryWrapper.in(Objects.nonNull(orderCostPageQry.getBelongs()), OrderCostDO::getBelong, orderCostPageQry.getBelongs());
|
||||
|
||||
queryWrapper.orderByDesc(OrderCostDO::getCreatedAt);
|
||||
|
||||
IPage<OrderCostDO> page = new Page<>(orderCostPageQry.getPageIndex(), orderCostPageQry.getPageSize());
|
||||
page = orderCostMapper.selectPage(page, queryWrapper, orderCostPageQry);
|
||||
|
||||
List<Long> orderIdList = page.getRecords().stream().map(OrderCostDO::getOrderId).toList();
|
||||
if (CollUtil.isNotEmpty(orderIdList)) {
|
||||
LambdaQueryWrapper<OrderVehicleDO> queryWrapper3 = Wrappers.lambdaQuery(OrderVehicleDO.class);
|
||||
queryWrapper3.in(OrderVehicleDO::getOrderId, orderIdList);
|
||||
queryWrapper3.select(OrderVehicleDO::getOrderId, OrderVehicleDO::getVehicleNo, OrderVehicleDO::getDeliveryTime, OrderVehicleDO::getOrigin, OrderVehicleDO::getDestination, OrderVehicleDO::getDealerId, OrderVehicleDO::getDealerName);
|
||||
List<OrderVehicleDO> orderVehicleDOList = orderVehicleMapper.selectList(queryWrapper3);
|
||||
Map<Long, OrderVehicleDO> orderVehicleDOMap = orderVehicleDOList.stream().collect(Collectors.toMap(OrderVehicleDO::getOrderId, Function.identity()));
|
||||
page.getRecords().forEach(orderCostDO -> {
|
||||
OrderVehicleDO orderVehicleDO = orderVehicleDOMap.get(orderCostDO.getOrderId());
|
||||
if (Objects.nonNull(orderVehicleDO)) {
|
||||
orderCostDO.setOrderVehicleDO(orderVehicleDO);
|
||||
}
|
||||
});
|
||||
|
||||
LambdaQueryWrapper<OrderCompanyDO> queryWrapper2 = Wrappers.lambdaQuery(OrderCompanyDO.class);
|
||||
queryWrapper2.in(OrderCompanyDO::getOrderId, orderIdList);
|
||||
queryWrapper2.select(OrderCompanyDO::getOrderId, OrderCompanyDO::getShortName, OrderCompanyDO::getFullName, OrderCompanyDO::getCompanyId);
|
||||
List<OrderCompanyDO> orderCompanyDOList = orderCompanyMapper.selectList(queryWrapper2);
|
||||
Map<Long, OrderCompanyDO> orderCompanyDOMap = orderCompanyDOList.stream().collect(Collectors.toMap(OrderCompanyDO::getOrderId, Function.identity()));
|
||||
page.getRecords().forEach(orderCostDO -> {
|
||||
OrderCompanyDO orderCompanyDO = orderCompanyDOMap.get(orderCostDO.getOrderId());
|
||||
if (Objects.nonNull(orderCompanyDO)) {
|
||||
orderCostDO.setOrderCompanyDO(orderCompanyDO);
|
||||
}
|
||||
});
|
||||
|
||||
LambdaQueryWrapper<PurchaseOrderDO> queryWrapper1 = Wrappers.lambdaQuery(PurchaseOrderDO.class);
|
||||
queryWrapper1.in(PurchaseOrderDO::getOrderId, orderIdList);
|
||||
queryWrapper1.select(PurchaseOrderDO::getOrderId, PurchaseOrderDO::getOrderSn, PurchaseOrderDO::getState, PurchaseOrderDO::getAuditState);
|
||||
List<PurchaseOrderDO> purchaseOrderDOList = purchaseOrderMapper.selectList(queryWrapper1);
|
||||
Map<Long, PurchaseOrderDO> purchaseOrderDOMap = purchaseOrderDOList.stream().collect(Collectors.toMap(PurchaseOrderDO::getOrderId, Function.identity()));
|
||||
page.getRecords().forEach(orderCostDO -> {
|
||||
PurchaseOrderDO purchaseOrderDO = purchaseOrderDOMap.get(orderCostDO.getOrderId());
|
||||
if (Objects.nonNull(purchaseOrderDO)) {
|
||||
orderCostDO.setPurchaseOrderDO(purchaseOrderDO);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return page.convert(orderCostConvert::toOrderCost);
|
||||
}
|
||||
|
||||
@Override
|
||||
public OrderCost save(OrderCostCreateCmd orderCostCreateCmd) {
|
||||
CostDO costDO = costMapper.selectById(orderCostCreateCmd.getCostId());
|
||||
OrderCostDO orderCostDO = orderCostConvert.toOrderCostDO(orderCostCreateCmd);
|
||||
orderCostDO.setUnit(costDO.getUnit());
|
||||
orderCostDO.setName(costDO.getName());
|
||||
orderCostDO.setBelong(costDO.getBelong());
|
||||
orderCostMapper.insert(orderCostDO);
|
||||
|
||||
return orderCostConvert.toOrderCost(orderCostDO);
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,97 @@
|
||||
package com.xunhong.erp.turbo.biz.infrastructure.gateway;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderRebatePageQry;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderRebate;
|
||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderRebateGateway;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.convert.OrderRebateConvert;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCompanyDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderRebateDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderVehicleDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.PurchaseOrderDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderCompanyMapper;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderRebateMapper;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderVehicleMapper;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.PurchaseOrderMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Slf4j
|
||||
@Repository
|
||||
@RequiredArgsConstructor
|
||||
public class OrderRebateGatewayImpl implements OrderRebateGateway {
|
||||
private final OrderRebateMapper orderRebateMapper;
|
||||
private final OrderRebateConvert orderRebateConvert;
|
||||
|
||||
private final OrderVehicleMapper orderVehicleMapper;
|
||||
private final OrderCompanyMapper orderCompanyMapper;
|
||||
private final PurchaseOrderMapper purchaseOrderMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public IPage<OrderRebate> page(OrderRebatePageQry orderRebatePageQry) {
|
||||
LambdaQueryWrapper<OrderRebateDO> queryWrapper = Wrappers.lambdaQuery(OrderRebateDO.class);
|
||||
queryWrapper.eq(Objects.nonNull(orderRebatePageQry.getIsPaid()), OrderRebateDO::getIsPaid, orderRebatePageQry.getIsPaid());
|
||||
|
||||
queryWrapper.orderByDesc(OrderRebateDO::getCreatedAt);
|
||||
|
||||
IPage<OrderRebateDO> page = new Page<>(orderRebatePageQry.getPageIndex(), orderRebatePageQry.getPageSize());
|
||||
page = orderRebateMapper.selectPage(page, queryWrapper, orderRebatePageQry);
|
||||
|
||||
List<Long> orderIdList = page.getRecords().stream().map(OrderRebateDO::getOrderId).toList();
|
||||
if (CollUtil.isNotEmpty(orderIdList)) {
|
||||
LambdaQueryWrapper<OrderVehicleDO> queryWrapper3 = Wrappers.lambdaQuery(OrderVehicleDO.class);
|
||||
queryWrapper3.in(OrderVehicleDO::getOrderId, orderIdList);
|
||||
queryWrapper3.select(OrderVehicleDO::getOrderId, OrderVehicleDO::getVehicleNo, OrderVehicleDO::getDeliveryTime, OrderVehicleDO::getOrigin, OrderVehicleDO::getDestination, OrderVehicleDO::getDealerId, OrderVehicleDO::getDealerName);
|
||||
List<OrderVehicleDO> orderVehicleDOList = orderVehicleMapper.selectList(queryWrapper3);
|
||||
Map<Long, OrderVehicleDO> orderVehicleDOMap = orderVehicleDOList.stream().collect(Collectors.toMap(OrderVehicleDO::getOrderId, Function.identity()));
|
||||
page.getRecords().forEach(orderCostDO -> {
|
||||
OrderVehicleDO orderVehicleDO = orderVehicleDOMap.get(orderCostDO.getOrderId());
|
||||
if (Objects.nonNull(orderVehicleDO)) {
|
||||
orderCostDO.setOrderVehicleDO(orderVehicleDO);
|
||||
}
|
||||
});
|
||||
|
||||
LambdaQueryWrapper<OrderCompanyDO> queryWrapper2 = Wrappers.lambdaQuery(OrderCompanyDO.class);
|
||||
queryWrapper2.in(OrderCompanyDO::getOrderId, orderIdList);
|
||||
queryWrapper2.select(OrderCompanyDO::getOrderId, OrderCompanyDO::getShortName, OrderCompanyDO::getFullName, OrderCompanyDO::getCompanyId);
|
||||
List<OrderCompanyDO> orderCompanyDOList = orderCompanyMapper.selectList(queryWrapper2);
|
||||
Map<Long, OrderCompanyDO> orderCompanyDOMap = orderCompanyDOList.stream().collect(Collectors.toMap(OrderCompanyDO::getOrderId, Function.identity()));
|
||||
page.getRecords().forEach(orderCostDO -> {
|
||||
OrderCompanyDO orderCompanyDO = orderCompanyDOMap.get(orderCostDO.getOrderId());
|
||||
if (Objects.nonNull(orderCompanyDO)) {
|
||||
orderCostDO.setOrderCompanyDO(orderCompanyDO);
|
||||
}
|
||||
});
|
||||
|
||||
LambdaQueryWrapper<PurchaseOrderDO> queryWrapper1 = Wrappers.lambdaQuery(PurchaseOrderDO.class);
|
||||
queryWrapper1.in(PurchaseOrderDO::getOrderId, orderIdList);
|
||||
queryWrapper1.select(PurchaseOrderDO::getOrderId, PurchaseOrderDO::getOrderSn, PurchaseOrderDO::getState, PurchaseOrderDO::getAuditState);
|
||||
List<PurchaseOrderDO> purchaseOrderDOList = purchaseOrderMapper.selectList(queryWrapper1);
|
||||
Map<Long, PurchaseOrderDO> purchaseOrderDOMap = purchaseOrderDOList.stream().collect(Collectors.toMap(PurchaseOrderDO::getOrderId, Function.identity()));
|
||||
page.getRecords().forEach(orderCostDO -> {
|
||||
PurchaseOrderDO purchaseOrderDO = purchaseOrderDOMap.get(orderCostDO.getOrderId());
|
||||
if (Objects.nonNull(purchaseOrderDO)) {
|
||||
orderCostDO.setPurchaseOrderDO(purchaseOrderDO);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return page.convert(orderRebateConvert::toOrderRebate);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xunhong.erp.turbo.biz.infrastructure.gateway;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
@ -20,14 +21,16 @@ import com.xunhong.erp.turbo.biz.infrastructure.convert.OrderShipConvert;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCostDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderShipDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderShipItemDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderCostMapper;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderShipItemMapper;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderShipMapper;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderVehicleDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.*;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
@ -41,6 +44,9 @@ public class OrderShipGatewayImpl implements OrderShipGateway {
|
||||
private final OrderShipItemMapper orderShipItemMapper;
|
||||
|
||||
private final OrderCostMapper orderCostMapper;
|
||||
private final PurchaseOrderMapper purchaseOrderMapper;
|
||||
|
||||
private final OrderVehicleMapper orderVehicleMapper;
|
||||
|
||||
@Override
|
||||
public OrderShip save(OrderShipCreateCmd orderShipCreateCmd) {
|
||||
@ -62,6 +68,17 @@ public class OrderShipGatewayImpl implements OrderShipGateway {
|
||||
IPage<OrderShipDO> page = new Page<>(orderShipPageQry.getPageIndex(), orderShipPageQry.getPageSize());
|
||||
page = orderShipMapper.selectPage(page, queryWrapper);
|
||||
|
||||
List<Long> orderIdList = page.getRecords().stream().map(OrderShipDO::getOrderId).toList();
|
||||
if (CollUtil.isNotEmpty(orderIdList)) {
|
||||
LambdaQueryWrapper<OrderVehicleDO> queryWrapper1 = Wrappers.lambdaQuery(OrderVehicleDO.class);
|
||||
queryWrapper1.in(OrderVehicleDO::getOrderId, orderIdList);
|
||||
List<OrderVehicleDO> orderVehicleDOList = orderVehicleMapper.selectList(queryWrapper1);
|
||||
Map<Long, OrderVehicleDO> orderVehicleDOMap = orderVehicleDOList.stream().collect(Collectors.toMap(OrderVehicleDO::getOrderId, Function.identity()));
|
||||
page.getRecords().forEach(orderShipDO -> {
|
||||
orderShipDO.setOrderVehicleDO(orderVehicleDOMap.get(orderShipDO.getOrderId()));
|
||||
});
|
||||
}
|
||||
|
||||
return page.convert(orderShipConvert::toOrderShip);
|
||||
}
|
||||
|
||||
|
||||
@ -1,20 +1,28 @@
|
||||
package com.xunhong.erp.turbo.biz.infrastructure.gateway;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierBatchInvoiceUploadCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierUpdateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderSupplier;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderSupplierPageQry;
|
||||
import com.xunhong.erp.turbo.biz.domain.entity.OrderSupplier;
|
||||
import com.xunhong.erp.turbo.biz.domain.gateway.OrderSupplierGateway;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.convert.OrderSupplierConvert;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCompanyDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderSupplierDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderVehicleDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.PurchaseOrderDO;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderCompanyMapper;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderSupplierMapper;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.OrderVehicleMapper;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.mapper.PurchaseOrderMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
@ -26,6 +34,7 @@ import java.util.stream.Collectors;
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Slf4j
|
||||
@Repository
|
||||
@RequiredArgsConstructor
|
||||
public class OrderSupplierGatewayImpl implements OrderSupplierGateway {
|
||||
@ -33,14 +42,16 @@ public class OrderSupplierGatewayImpl implements OrderSupplierGateway {
|
||||
private final OrderSupplierConvert orderSupplierConvert;
|
||||
|
||||
private final OrderVehicleMapper orderVehicleMapper;
|
||||
private final OrderCompanyMapper orderCompanyMapper;
|
||||
private final PurchaseOrderMapper purchaseOrderMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public IPage<OrderSupplier> page(OrderSupplierPageQry orderSupplierPageQry) {
|
||||
LambdaQueryWrapper<OrderSupplierDO> queryWrapper = Wrappers.lambdaQuery(OrderSupplierDO.class);
|
||||
queryWrapper.eq(Objects.nonNull(orderSupplierPageQry.getOrderId()), OrderSupplierDO::getOrderId, orderSupplierPageQry.getOrderId());
|
||||
queryWrapper.eq(Objects.nonNull(orderSupplierPageQry.getSupplierId()), OrderSupplierDO::getSupplierId, orderSupplierPageQry.getSupplierId());
|
||||
queryWrapper.eq(Objects.nonNull(orderSupplierPageQry.getInvoiceUpload()), OrderSupplierDO::getInvoiceUpload, orderSupplierPageQry.getInvoiceUpload());
|
||||
queryWrapper.eq(Objects.nonNull(orderSupplierPageQry.getIsPaid()), OrderSupplierDO::getIsPaid, orderSupplierPageQry.getIsPaid());
|
||||
|
||||
queryWrapper.orderByDesc(OrderSupplierDO::getCreatedAt);
|
||||
|
||||
@ -49,7 +60,10 @@ public class OrderSupplierGatewayImpl implements OrderSupplierGateway {
|
||||
|
||||
List<Long> orderIdList = page.getRecords().stream().map(OrderSupplierDO::getOrderId).toList();
|
||||
if (CollUtil.isNotEmpty(orderIdList)) {
|
||||
List<OrderVehicleDO> orderVehicleDOList = orderVehicleMapper.selectList(Wrappers.lambdaQuery(OrderVehicleDO.class).in(OrderVehicleDO::getOrderId, orderIdList));
|
||||
LambdaQueryWrapper<OrderVehicleDO> queryWrapper3 = Wrappers.lambdaQuery(OrderVehicleDO.class);
|
||||
queryWrapper3.in(OrderVehicleDO::getOrderId, orderIdList);
|
||||
queryWrapper3.select(OrderVehicleDO::getOrderId, OrderVehicleDO::getVehicleNo, OrderVehicleDO::getDeliveryTime, OrderVehicleDO::getOrigin, OrderVehicleDO::getDestination, OrderVehicleDO::getDealerId, OrderVehicleDO::getDealerName);
|
||||
List<OrderVehicleDO> orderVehicleDOList = orderVehicleMapper.selectList(queryWrapper3);
|
||||
Map<Long, OrderVehicleDO> orderVehicleDOMap = orderVehicleDOList.stream().collect(Collectors.toMap(OrderVehicleDO::getOrderId, Function.identity()));
|
||||
page.getRecords().forEach(orderSupplierDO -> {
|
||||
OrderVehicleDO orderVehicleDO = orderVehicleDOMap.get(orderSupplierDO.getOrderId());
|
||||
@ -57,6 +71,30 @@ public class OrderSupplierGatewayImpl implements OrderSupplierGateway {
|
||||
orderSupplierDO.setOrderVehicleDO(orderVehicleDO);
|
||||
}
|
||||
});
|
||||
|
||||
LambdaQueryWrapper<OrderCompanyDO> queryWrapper2 = Wrappers.lambdaQuery(OrderCompanyDO.class);
|
||||
queryWrapper2.in(OrderCompanyDO::getOrderId, orderIdList);
|
||||
queryWrapper2.select(OrderCompanyDO::getOrderId, OrderCompanyDO::getShortName, OrderCompanyDO::getFullName, OrderCompanyDO::getCompanyId);
|
||||
List<OrderCompanyDO> orderCompanyDOList = orderCompanyMapper.selectList(queryWrapper2);
|
||||
Map<Long, OrderCompanyDO> orderCompanyDOMap = orderCompanyDOList.stream().collect(Collectors.toMap(OrderCompanyDO::getOrderId, Function.identity()));
|
||||
page.getRecords().forEach(orderSupplierDO -> {
|
||||
OrderCompanyDO orderCompanyDO = orderCompanyDOMap.get(orderSupplierDO.getOrderId());
|
||||
if (Objects.nonNull(orderCompanyDO)) {
|
||||
orderSupplierDO.setOrderCompanyDO(orderCompanyDO);
|
||||
}
|
||||
});
|
||||
|
||||
LambdaQueryWrapper<PurchaseOrderDO> queryWrapper1 = Wrappers.lambdaQuery(PurchaseOrderDO.class);
|
||||
queryWrapper1.in(PurchaseOrderDO::getOrderId, orderIdList);
|
||||
queryWrapper1.select(PurchaseOrderDO::getOrderId, PurchaseOrderDO::getOrderSn, PurchaseOrderDO::getState, PurchaseOrderDO::getAuditState);
|
||||
List<PurchaseOrderDO> purchaseOrderDOList = purchaseOrderMapper.selectList(queryWrapper1);
|
||||
Map<Long, PurchaseOrderDO> purchaseOrderDOMap = purchaseOrderDOList.stream().collect(Collectors.toMap(PurchaseOrderDO::getOrderId, Function.identity()));
|
||||
page.getRecords().forEach(orderSupplierDO -> {
|
||||
PurchaseOrderDO purchaseOrderDO = purchaseOrderDOMap.get(orderSupplierDO.getOrderId());
|
||||
if (Objects.nonNull(purchaseOrderDO)) {
|
||||
orderSupplierDO.setPurchaseOrderDO(purchaseOrderDO);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return page.convert(orderSupplierConvert::toOrderSupplier);
|
||||
@ -75,5 +113,17 @@ public class OrderSupplierGatewayImpl implements OrderSupplierGateway {
|
||||
|
||||
return orderSupplierConvert.toOrderSupplier(orderSupplierDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void batchInvoiceUpload(OrderSupplierBatchInvoiceUploadCmd orderSupplierBatchInvoiceUploadCmd) {
|
||||
// 构建更新条件
|
||||
LambdaUpdateWrapper<OrderSupplierDO> updateWrapper = Wrappers.lambdaUpdate(OrderSupplierDO.class);
|
||||
updateWrapper.in(OrderSupplierDO::getOrderSupplierId, orderSupplierBatchInvoiceUploadCmd.getOrderSupplierIdList())
|
||||
.set(OrderSupplierDO::getInvoiceUpload, true)
|
||||
.set(OrderSupplierDO::getInvoiceImg, JSONObject.toJSONString(orderSupplierBatchInvoiceUploadCmd.getInvoiceImg()));
|
||||
|
||||
// 执行更新
|
||||
orderSupplierMapper.update(updateWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -212,6 +212,7 @@ public class PurchaseOrderGatewayImpl implements PurchaseOrderGateway {
|
||||
|
||||
LambdaQueryWrapper<OrderShipDO> queryWrapper6 = Wrappers.lambdaQuery(OrderShipDO.class);
|
||||
queryWrapper6.eq(OrderShipDO::getOrderId, purchaseOrderDO.getOrderId());
|
||||
queryWrapper6.eq(Objects.nonNull(purchaseOrderShowQry.getOrderShipId()), OrderShipDO::getOrderShipId, purchaseOrderShowQry.getOrderShipId());
|
||||
List<OrderShipDO> orderShipDOList = orderShipMapper.selectList(queryWrapper6);
|
||||
|
||||
LambdaQueryWrapper<OrderShipItemDO> queryWrapper7 = Wrappers.lambdaQuery(OrderShipItemDO.class);
|
||||
@ -339,7 +340,7 @@ public class PurchaseOrderGatewayImpl implements PurchaseOrderGateway {
|
||||
// 更新供应商信息(直接更新,因为不存在条数更新)
|
||||
purchaseOrderApproveCmd.getOrderSupplierList().forEach(orderSupplier -> {
|
||||
orderSupplier.setOrderId(purchaseOrderDO.getOrderId());
|
||||
OrderSupplierDO orderSupplierDO = orderSupplierConvert.toOrderSupplierDO(orderSupplier);
|
||||
OrderSupplierDO orderSupplierDO = purchaseOrderConvert.toOrderSupplierDO(orderSupplier);
|
||||
orderSupplierDO.setOrderSupplierId(orderSupplier.getOrderSupplierId());
|
||||
|
||||
// 直接更新包材信息(因为包材信息条数也不会变)
|
||||
@ -359,7 +360,7 @@ public class PurchaseOrderGatewayImpl implements PurchaseOrderGateway {
|
||||
OrderRebate orderRebate = purchaseOrderApproveCmd.getOrderRebate();
|
||||
if (Objects.nonNull(orderRebate)) {
|
||||
orderRebate.setOrderId(purchaseOrderDO.getOrderId());
|
||||
OrderRebateDO orderRebateDO = orderRebateConvert.toOrderRebateDO(orderRebate);
|
||||
OrderRebateDO orderRebateDO = purchaseOrderConvert.toOrderRebateDO(orderRebate);
|
||||
// 先尝试更新,如果不存在则插入
|
||||
if (orderRebateDO.getOrderRebateId() != null) {
|
||||
orderRebateMapper.updateById(orderRebateDO);
|
||||
@ -377,7 +378,19 @@ public class PurchaseOrderGatewayImpl implements PurchaseOrderGateway {
|
||||
}
|
||||
|
||||
saveOrderCostItem(purchaseOrderDO.getOrderId(), purchaseOrderApproveCmd.getOrderCostItemList().stream().toList());
|
||||
saveOrderCost(purchaseOrderDO.getOrderId(), purchaseOrderApproveCmd.getOrderCostList().stream().toList());
|
||||
saveOrderCost(purchaseOrderDO.getOrderId(), purchaseOrderApproveCmd.getOrderCostList().stream().peek(orderCost -> {
|
||||
if (orderCost.getBelong().equals(CostBelongEnum.PRODUCTION_TYPE)) {
|
||||
orderCost.setPrincipal(purchaseOrderDO.getOriginPrincipal());
|
||||
}
|
||||
|
||||
if (orderCost.getBelong().equals(CostBelongEnum.DRIVER_TYPE)) {
|
||||
orderCost.setPrincipal(orderVehicleDO.getDriver());
|
||||
}
|
||||
|
||||
if (orderCost.getBelong().equals(CostBelongEnum.WORKER_TYPE)) {
|
||||
orderCost.setPrincipal(purchaseOrderDO.getForeman());
|
||||
}
|
||||
}).toList());
|
||||
saveOrderShip(purchaseOrderDO.getOrderId(), purchaseOrderApproveCmd.getOrderShipList().stream().toList(), purchaseOrderApproveCmd);
|
||||
}
|
||||
|
||||
@ -856,7 +869,7 @@ public class PurchaseOrderGatewayImpl implements PurchaseOrderGateway {
|
||||
}
|
||||
|
||||
updatedSupplier.setOrderId(orderId);
|
||||
OrderSupplierDO orderSupplierDO = orderSupplierConvert.toOrderSupplierDO(updatedSupplier);
|
||||
OrderSupplierDO orderSupplierDO = purchaseOrderConvert.toOrderSupplierDO(updatedSupplier);
|
||||
|
||||
if (updatedSupplier.getSupplierId() != null && existingOrderSupplierMap.containsKey(updatedSupplier.getSupplierId())) {
|
||||
// 更新已存在的供应商
|
||||
@ -980,7 +993,7 @@ public class PurchaseOrderGatewayImpl implements PurchaseOrderGateway {
|
||||
purchaseOrderMapper.updateById(purchaseOrderDO);
|
||||
|
||||
saveOrderCostItem(orderId, purchaseOrderStep3Cmd.getOrderCostItemList().stream().toList());
|
||||
saveOrderCost(orderId, purchaseOrderStep3Cmd.getOrderCostList().stream().toList());
|
||||
saveOrderCost(purchaseOrderDO.getOrderId(), purchaseOrderStep3Cmd.getOrderCostList().stream().toList());
|
||||
|
||||
// 空箱费
|
||||
if (purchaseOrderStep3Cmd.getOrderPackageList() != null) {
|
||||
@ -1062,7 +1075,7 @@ public class PurchaseOrderGatewayImpl implements PurchaseOrderGateway {
|
||||
|
||||
for (OrderCost updatedCost : orderCostList) {
|
||||
updatedCost.setOrderId(orderId);
|
||||
OrderCostDO costDO = orderCostConvert.toOrderCostDO(updatedCost);
|
||||
OrderCostDO costDO = purchaseOrderConvert.toOrderCostDO(updatedCost);
|
||||
|
||||
if (existingCostMap.containsKey(updatedCost.getCostId())) {
|
||||
// 更新已存在的费用
|
||||
|
||||
@ -1,13 +1,20 @@
|
||||
package com.xunhong.erp.turbo.biz.infrastructure.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderCostPageQry;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCostDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Mapper
|
||||
public interface OrderCostMapper extends BaseMapper<OrderCostDO> {
|
||||
IPage<OrderCostDO> selectPage(IPage<OrderCostDO> page, @Param(Constants.WRAPPER) LambdaQueryWrapper<OrderCostDO> queryWrapper, @Param("query") OrderCostPageQry orderCostPageQry);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -1,13 +1,19 @@
|
||||
package com.xunhong.erp.turbo.biz.infrastructure.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderRebatePageQry;
|
||||
import com.xunhong.erp.turbo.biz.infrastructure.entity.OrderRebateDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Mapper
|
||||
public interface OrderRebateMapper extends BaseMapper<OrderRebateDO> {
|
||||
IPage<OrderRebateDO> selectPage(IPage<OrderRebateDO> page, @Param(Constants.WRAPPER) LambdaQueryWrapper<OrderRebateDO> queryWrapper, @Param("query") OrderRebatePageQry orderRebatePageQry);
|
||||
}
|
||||
|
||||
|
||||
@ -14,11 +14,44 @@
|
||||
<result property="belong" column="belong"/>
|
||||
<result property="principal" column="principal"/>
|
||||
<result property="type" column="type"/>
|
||||
<result property="isPaid" column="is_paid"/>
|
||||
<result property="poState" column="po_state"/>
|
||||
<result property="createdAt" column="created_at"/>
|
||||
<result property="createdAt" column="created_at"/>
|
||||
<result property="updatedAt" column="updated_at"/>
|
||||
<result property="isDelete" column="is_delete"/>
|
||||
<result property="version" column="version"/>
|
||||
</resultMap>
|
||||
<select id="selectPage"
|
||||
resultType="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderCostDO"
|
||||
resultMap="BaseResultMap">
|
||||
SELECT
|
||||
oc.*,
|
||||
po.state as po_state
|
||||
FROM order_cost oc
|
||||
LEFT JOIN order_vehicle ov ON oc.order_id = ov.order_id AND ov.is_delete = 0
|
||||
LEFT JOIN purchase_order po ON oc.order_id = po.order_id AND po.is_delete = 0
|
||||
<where>
|
||||
oc.is_delete = 0
|
||||
<if test="query.createdBy != null">
|
||||
AND po.created_by = #{query.createdBy}
|
||||
</if>
|
||||
<if test="query.orderId != null">
|
||||
AND po.order_id = #{query.orderId}
|
||||
</if>
|
||||
<if test="query.poStates != null and query.poStates.size() > 0">
|
||||
AND po.state IN
|
||||
<foreach collection="query.poStates" item="state" open="(" separator="," close=")">
|
||||
#{state.type}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="ew != null">
|
||||
<if test="ew.nonEmptyOfWhere">
|
||||
AND
|
||||
</if>
|
||||
${ew.sqlSegment}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
||||
@ -13,11 +13,44 @@
|
||||
<result property="netWeight" column="net_weight"/>
|
||||
<result property="unitPrice" column="unit_price"/>
|
||||
<result property="amount" column="amount"/>
|
||||
<result property="isPaid" column="is_paid"/>
|
||||
<result property="poState" column="po_state"/>
|
||||
<result property="createdAt" column="created_at"/>
|
||||
<result property="createdAt" column="created_at"/>
|
||||
<result property="updatedAt" column="updated_at"/>
|
||||
<result property="isDelete" column="is_delete"/>
|
||||
<result property="version" column="version"/>
|
||||
</resultMap>
|
||||
<select id="selectPage"
|
||||
resultType="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderRebateDO"
|
||||
resultMap="BaseResultMap">
|
||||
SELECT
|
||||
ore.*,
|
||||
po.state as po_state
|
||||
FROM order_rebate ore
|
||||
LEFT JOIN order_vehicle ov ON ore.order_id = ov.order_id AND ov.is_delete = 0
|
||||
LEFT JOIN purchase_order po ON ore.order_id = po.order_id AND po.is_delete = 0
|
||||
<where>
|
||||
ore.is_delete = 0
|
||||
<if test="query.createdBy != null">
|
||||
AND po.created_by = #{query.createdBy}
|
||||
</if>
|
||||
<if test="query.orderId != null">
|
||||
AND po.order_id = #{query.orderId}
|
||||
</if>
|
||||
<if test="query.poStates != null and query.poStates.size() > 0">
|
||||
AND po.state IN
|
||||
<foreach collection="query.poStates" item="state" open="(" separator="," close=")">
|
||||
#{state.type}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="ew != null">
|
||||
<if test="ew.nonEmptyOfWhere">
|
||||
AND
|
||||
</if>
|
||||
${ew.sqlSegment}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
|
||||
@ -41,6 +41,8 @@
|
||||
<result property="costTemplate" column="cost_template"/>
|
||||
<result property="isDepositPaid" column="is_deposit_paid"/>
|
||||
<result property="depositAmount" column="deposit_amount"/>
|
||||
<result property="isPaid" column="is_paid"/>
|
||||
<result property="poState" column="po_state"/>
|
||||
<result property="createdAt" column="created_at"/>
|
||||
<result property="updatedAt" column="updated_at"/>
|
||||
<result property="isDelete" column="is_delete"/>
|
||||
@ -51,7 +53,8 @@
|
||||
resultType="com.xunhong.erp.turbo.biz.infrastructure.entity.OrderSupplierDO"
|
||||
resultMap="BaseResultMap">
|
||||
SELECT
|
||||
os.*
|
||||
os.*,
|
||||
po.state as po_state
|
||||
FROM order_supplier os
|
||||
LEFT JOIN order_vehicle ov ON os.order_id = ov.order_id AND ov.is_delete = 0
|
||||
LEFT JOIN purchase_order po ON os.order_id = po.order_id AND po.is_delete = 0
|
||||
@ -63,10 +66,13 @@
|
||||
<if test="query.createdBy != null">
|
||||
AND po.created_by = #{query.createdBy}
|
||||
</if>
|
||||
<if test="query.orderId != null">
|
||||
AND po.order_id = #{query.orderId}
|
||||
</if>
|
||||
<if test="query.poStates != null and query.poStates.size() > 0">
|
||||
AND po.state IN
|
||||
<foreach collection="poStates" item="state" open="(" separator="," close=")">
|
||||
#{state}
|
||||
<foreach collection="query.poStates" item="state" open="(" separator="," close=")">
|
||||
#{state.type}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="ew != null">
|
||||
|
||||
@ -0,0 +1,16 @@
|
||||
package com.xunhong.erp.turbo.api.biz.api;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderCostCreateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderCostPageQry;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderCostVO;
|
||||
import com.xunhong.erp.turbo.base.dto.PageDTO;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
public interface OrderCostServiceI {
|
||||
PageDTO<OrderCostVO> page(OrderCostPageQry orderCostPageQry);
|
||||
|
||||
OrderCostVO create(OrderCostCreateCmd orderCostCreateCmd);
|
||||
}
|
||||
|
||||
@ -0,0 +1,13 @@
|
||||
package com.xunhong.erp.turbo.api.biz.api;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderRebatePageQry;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderRebateVO;
|
||||
import com.xunhong.erp.turbo.base.dto.PageDTO;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
public interface OrderRebateServiceI {
|
||||
PageDTO<OrderRebateVO> page(OrderRebatePageQry orderRebatePageQry);
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xunhong.erp.turbo.api.biz.api;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierBatchInvoiceUploadCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.cmd.OrderSupplierUpdateCmd;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.qry.OrderSupplierPageQry;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.vo.OrderSupplierVO;
|
||||
@ -12,5 +13,12 @@ public interface OrderSupplierServiceI {
|
||||
PageDTO<OrderSupplierVO> page(OrderSupplierPageQry orderSupplierPageQry);
|
||||
|
||||
OrderSupplierVO update(OrderSupplierUpdateCmd orderSupplierUpdateCmd);
|
||||
|
||||
/**
|
||||
* 批量上传供应商发票
|
||||
*
|
||||
* @param batchInvoiceUploadCmd 批量上传发票命令
|
||||
*/
|
||||
void batchUploadInvoice(OrderSupplierBatchInvoiceUploadCmd batchInvoiceUploadCmd);
|
||||
}
|
||||
|
||||
|
||||
@ -25,15 +25,15 @@ public class CostCreateCmd extends Command {
|
||||
private Long costId;
|
||||
|
||||
/**
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型
|
||||
*/
|
||||
@Schema(title = "费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@Schema(title = "费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private CostTypeEnum type;
|
||||
|
||||
/**
|
||||
* 费用归属:1_工头;2_产地;
|
||||
* 费用归属:0_无归属;1_工头;2_产地;3_司机;
|
||||
*/
|
||||
@Schema(title = "费用归属:1_工头;2_产地;", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@Schema(title = "费用归属:0_无归属;1_工头;2_产地;3_司机;", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private CostBelongEnum belong;
|
||||
|
||||
/**
|
||||
|
||||
@ -118,5 +118,17 @@ public class DealerCreateCmd extends Command {
|
||||
@Schema(title = "是否可调整比例")
|
||||
private Boolean shareAdjusted;
|
||||
|
||||
/**
|
||||
* 是否开启损耗
|
||||
*/
|
||||
@Schema(title = "是否开启损耗")
|
||||
private Boolean enableLoss;
|
||||
|
||||
/**
|
||||
* 损耗金额
|
||||
*/
|
||||
@Schema(title = "损耗金额")
|
||||
private BigDecimal lossAmount;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,89 @@
|
||||
package com.xunhong.erp.turbo.api.biz.dto.cmd;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.CostBelongEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.CostTypeEnum;
|
||||
import com.xunhong.erp.turbo.base.dto.Command;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "订单成本费用创建")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class OrderCostCreateCmd extends Command {
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
@Schema(title = "订单ID", type = "string")
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 费用Id
|
||||
*/
|
||||
@Schema(title = "费用Id", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long costId;
|
||||
|
||||
/**
|
||||
* 成本项目名称
|
||||
*/
|
||||
@Schema(title = "成本项目名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
@Schema(title = "单价", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@Schema(title = "单位", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@Schema(title = "数量", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Integer count;
|
||||
|
||||
/**
|
||||
* 费用归属:0_无归属;1_工头;2_产地;3_司机;
|
||||
*/
|
||||
@Schema(title = "费用归属:0_无归属;1_工头;2_产地;3_司机;")
|
||||
private CostBelongEnum belong;
|
||||
|
||||
/**
|
||||
* 负责人
|
||||
*/
|
||||
@Schema(title = "负责人")
|
||||
private String principal;
|
||||
|
||||
/**
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型
|
||||
*/
|
||||
@Schema(title = "费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private CostTypeEnum type;
|
||||
|
||||
/**
|
||||
* 关联项目id
|
||||
*/
|
||||
@Schema(title = "关联项目id")
|
||||
private List<Long> costItemIds;
|
||||
|
||||
/**
|
||||
* 是否付款
|
||||
*/
|
||||
@Schema(title = "是否付款")
|
||||
private Boolean isPaid;
|
||||
}
|
||||
|
||||
@ -0,0 +1,39 @@
|
||||
package com.xunhong.erp.turbo.api.biz.dto.cmd;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.UploadFileItem;
|
||||
import com.xunhong.erp.turbo.base.dto.Command;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 订单供应商批量上传发票命令
|
||||
*
|
||||
* @author claude
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Schema(description = "订单供应商批量上传发票命令")
|
||||
public class OrderSupplierBatchInvoiceUploadCmd extends Command {
|
||||
|
||||
/**
|
||||
* 供应商ID列表
|
||||
*/
|
||||
@Schema(description = "供应商ID列表", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<Long> orderSupplierIdList;
|
||||
|
||||
/**
|
||||
* 是否上传票证
|
||||
*/
|
||||
@Schema(title = "是否上传票证")
|
||||
private Boolean invoiceUpload;
|
||||
|
||||
/**
|
||||
* 发票照片
|
||||
*/
|
||||
@Schema(title = "发票照片")
|
||||
private List<UploadFileItem> invoiceImg;
|
||||
|
||||
}
|
||||
@ -57,6 +57,12 @@ public class OrderSupplierUpdateCmd extends Command {
|
||||
@Schema(title = "定金金额")
|
||||
private BigDecimal depositAmount;
|
||||
|
||||
/**
|
||||
* 是否付款
|
||||
*/
|
||||
@Schema(title = "是否付款")
|
||||
private Boolean isPaid;
|
||||
|
||||
/**
|
||||
* 装车模式:1_搭架子+网垫;2_纸箱+胶带+木隔板
|
||||
*/
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xunhong.erp.turbo.api.biz.dto.common;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.xunhong.erp.turbo.base.dto.Command;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
@ -11,6 +12,7 @@ import lombok.EqualsAndHashCode;
|
||||
@Data
|
||||
@Schema(title = "采购订单公司信息创建")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class OrderCompany extends Command {
|
||||
|
||||
/**
|
||||
|
||||
@ -63,9 +63,9 @@ public class OrderCost extends Command {
|
||||
private Integer count;
|
||||
|
||||
/**
|
||||
* 费用归属:1_工头;2_产地
|
||||
* 费用归属:0_无归属;1_工头;2_产地;3_司机;
|
||||
*/
|
||||
@Schema(title = "费用归属:1_工头;2_产地")
|
||||
@Schema(title = "费用归属:0_无归属;1_工头;2_产地;3_司机;")
|
||||
private CostBelongEnum belong;
|
||||
|
||||
/**
|
||||
@ -75,9 +75,9 @@ public class OrderCost extends Command {
|
||||
private String principal;
|
||||
|
||||
/**
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型
|
||||
*/
|
||||
@Schema(title = "费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@Schema(title = "费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private CostTypeEnum type;
|
||||
|
||||
/**
|
||||
@ -92,5 +92,11 @@ public class OrderCost extends Command {
|
||||
*/
|
||||
@Schema(title = "是否选中", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Boolean selected;
|
||||
|
||||
/**
|
||||
* 是否已付款
|
||||
*/
|
||||
@Schema(title = "是否已付款")
|
||||
private Boolean isPaid;
|
||||
}
|
||||
|
||||
|
||||
@ -65,4 +65,10 @@ public class OrderRebate extends DTO {
|
||||
*/
|
||||
@Schema(title = "返点金额")
|
||||
private BigDecimal amount;
|
||||
|
||||
/**
|
||||
* 是否已付款
|
||||
*/
|
||||
@Schema(title = "是否已付款")
|
||||
private Boolean isPaid;
|
||||
}
|
||||
|
||||
@ -35,6 +35,18 @@ public class OrderShip extends Command {
|
||||
@Schema(title = "发货单编号", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String orderSn;
|
||||
|
||||
/**
|
||||
* 经销商ID
|
||||
*/
|
||||
@Schema(title = "经销商ID", type = "string")
|
||||
private Long dealerId;
|
||||
|
||||
/**
|
||||
* 经销商名称
|
||||
*/
|
||||
@Schema(title = "经销商名称")
|
||||
private String dealerName;
|
||||
|
||||
/**
|
||||
* 仓库ID
|
||||
*/
|
||||
|
||||
@ -2,12 +2,14 @@ package com.xunhong.erp.turbo.api.biz.dto.common;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.LoadingModeEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderPricingMethodEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
|
||||
import com.xunhong.erp.turbo.base.dto.Command;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -210,6 +212,12 @@ public class OrderSupplier extends Command {
|
||||
@Schema(title = "定金金额")
|
||||
private BigDecimal depositAmount;
|
||||
|
||||
/**
|
||||
* 是否付款
|
||||
*/
|
||||
@Schema(title = "是否付款")
|
||||
private Boolean isPaid;
|
||||
|
||||
/**
|
||||
* 采购订单包装箱信息
|
||||
*/
|
||||
@ -222,9 +230,27 @@ public class OrderSupplier extends Command {
|
||||
@Schema(title = "采购订单车辆信息")
|
||||
private OrderVehicle orderVehicle;
|
||||
|
||||
/**
|
||||
* 采购订单公司信息
|
||||
*/
|
||||
@Schema(title = "采购订单公司信息")
|
||||
private OrderCompany orderCompany;
|
||||
|
||||
/**
|
||||
* 是否选中
|
||||
*/
|
||||
@Schema(title = "是否选中", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Boolean selected;
|
||||
|
||||
/**
|
||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||
*/
|
||||
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;")
|
||||
private PurchaseOrderStateEnum poState;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Schema(title = "创建时间")
|
||||
private LocalDateTime createdAt;
|
||||
}
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.xunhong.erp.turbo.api.biz.dto.common;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderVehiclePriceTypeEnum;
|
||||
import com.xunhong.erp.turbo.base.dto.Command;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
@ -17,6 +18,7 @@ import java.time.LocalDate;
|
||||
@Data
|
||||
@Schema(title = "采购订单车辆运输信息创建")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class OrderVehicle extends Command {
|
||||
|
||||
/**
|
||||
|
||||
@ -8,11 +8,12 @@ import lombok.RequiredArgsConstructor;
|
||||
@RequiredArgsConstructor
|
||||
public enum CostBelongEnum {
|
||||
/**
|
||||
* 费用归属:0_无归属;1_工头;2_产地;
|
||||
* 费用归属:0_无归属;1_工头;2_产地;3_司机;
|
||||
*/
|
||||
NONE_TYPE(0, "无归属"),
|
||||
WORKER_TYPE(1, "工头"),
|
||||
PRODUCTION_TYPE(2, "产地"),
|
||||
DRIVER_TYPE(3, "司机"),
|
||||
;
|
||||
|
||||
@EnumValue
|
||||
|
||||
@ -8,12 +8,13 @@ import lombok.RequiredArgsConstructor;
|
||||
@RequiredArgsConstructor
|
||||
public enum CostTypeEnum {
|
||||
/**
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型;5_物流类型
|
||||
*/
|
||||
MATERIAL_TYPE(1, "辅料类型"),
|
||||
ARTIFICIAL_TYPE(2, "人工类型"),
|
||||
PRODUCTION_TYPE(3, "产地类型"),
|
||||
OTHER_TYPE(4, "其他类型"),
|
||||
LOGISTICS_TYPE(5, "物流类型"),
|
||||
;
|
||||
|
||||
@EnumValue
|
||||
|
||||
@ -19,15 +19,15 @@ public class CostListQry extends Query {
|
||||
private Long costId;
|
||||
|
||||
/**
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型
|
||||
*/
|
||||
@Schema(title = "费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型")
|
||||
@Schema(title = "费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型")
|
||||
private CostTypeEnum type;
|
||||
|
||||
/**
|
||||
* 费用归属:1_工头;2_产地;
|
||||
* 费用归属:0_无归属;1_工头;2_产地;3_司机;
|
||||
*/
|
||||
@Schema(title = "费用归属:1_工头;2_产地;")
|
||||
@Schema(title = "费用归属:0_无归属;1_工头;2_产地;3_司机;")
|
||||
private CostBelongEnum belong;
|
||||
}
|
||||
|
||||
|
||||
@ -19,15 +19,15 @@ public class CostPageQry extends PageQuery {
|
||||
private Long costId;
|
||||
|
||||
/**
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型
|
||||
*/
|
||||
@Schema(title = "费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型")
|
||||
@Schema(title = "费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型")
|
||||
private CostTypeEnum type;
|
||||
|
||||
/**
|
||||
* 费用归属:1_工头;2_产地;
|
||||
* 费用归属:0_无归属;1_工头;2_产地;3_司机;
|
||||
*/
|
||||
@Schema(title = "费用归属:1_工头;2_产地;")
|
||||
@Schema(title = "费用归属:0_无归属;1_工头;2_产地;3_司机;")
|
||||
private CostBelongEnum belong;
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,38 @@
|
||||
package com.xunhong.erp.turbo.api.biz.dto.qry;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.CostBelongEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
|
||||
import com.xunhong.erp.turbo.base.dto.PageQuery;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "订单成本分页查询")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OrderCostPageQry extends PageQuery {
|
||||
|
||||
@Schema(title = "订单ID", type = "string")
|
||||
private Long orderId;
|
||||
|
||||
@Schema(title = "订单ID", type = "string")
|
||||
private Long costId;
|
||||
|
||||
@Schema(title = "供应商id", type = "string")
|
||||
private Long supplierId;
|
||||
|
||||
@Schema(title = "订单状态")
|
||||
private List<PurchaseOrderStateEnum> poStates;
|
||||
|
||||
@Schema(title = "所属方")
|
||||
private List<CostBelongEnum> belongs;
|
||||
|
||||
@Schema(title = "是否支付", type = "boolean")
|
||||
private Boolean isPaid;
|
||||
}
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
package com.xunhong.erp.turbo.api.biz.dto.qry;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
|
||||
import com.xunhong.erp.turbo.base.dto.PageQuery;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "订单返点分页查询")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OrderRebatePageQry extends PageQuery {
|
||||
|
||||
@Schema(title = "订单ID", type = "string")
|
||||
private Long orderId;
|
||||
|
||||
@Schema(title = "订单状态")
|
||||
private List<PurchaseOrderStateEnum> poStates;
|
||||
|
||||
@Schema(title = "是否支付", type = "boolean")
|
||||
private Boolean isPaid;
|
||||
}
|
||||
|
||||
@ -36,5 +36,8 @@ public class OrderSupplierPageQry extends PageQuery {
|
||||
|
||||
@Schema(title = "订单状态")
|
||||
private List<PurchaseOrderStateEnum> poStates;
|
||||
|
||||
@Schema(title = "是否支付", type = "boolean")
|
||||
private Boolean isPaid;
|
||||
}
|
||||
|
||||
|
||||
@ -15,5 +15,8 @@ public class PurchaseOrderShowQry extends Query {
|
||||
|
||||
@Schema(title = "采购订单ID", type = "string")
|
||||
private Long orderId;
|
||||
|
||||
@Schema(title = "采购订单发货ID", type = "string")
|
||||
private Long orderShipId;
|
||||
}
|
||||
|
||||
|
||||
@ -26,15 +26,15 @@ public class CostVO extends DTO {
|
||||
private Long costId;
|
||||
|
||||
/**
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型
|
||||
*/
|
||||
@Schema(title = "费用类型", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private CostTypeEnum type;
|
||||
|
||||
/**
|
||||
* 费用归属:1_工头;2_产地;
|
||||
* 费用归属:0_无归属;1_工头;2_产地;3_司机;
|
||||
*/
|
||||
@Schema(title = "费用归属:1_工头;2_产地;", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@Schema(title = "费用归属:0_无归属;1_工头;2_产地;3_司机;", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private CostBelongEnum belong;
|
||||
|
||||
/**
|
||||
|
||||
@ -137,5 +137,17 @@ public class DealerVO extends DTO {
|
||||
*/
|
||||
@Schema(title = "是否可调整比例")
|
||||
private Boolean shareAdjusted;
|
||||
|
||||
/**
|
||||
* 是否开启损耗
|
||||
*/
|
||||
@Schema(title = "是否开启损耗")
|
||||
private Boolean enableLoss;
|
||||
|
||||
/**
|
||||
* 损耗金额
|
||||
*/
|
||||
@Schema(title = "损耗金额")
|
||||
private BigDecimal lossAmount;
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,132 @@
|
||||
package com.xunhong.erp.turbo.api.biz.dto.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCompany;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.CostBelongEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.CostTypeEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
|
||||
import com.xunhong.erp.turbo.base.dto.Command;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author shenyifei
|
||||
*/
|
||||
@Data
|
||||
@Schema(title = "采购订单成本项目信息")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class OrderCostVO extends Command {
|
||||
|
||||
/**
|
||||
* 记录ID
|
||||
*/
|
||||
@Schema(title = "记录ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long orderCostId;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
@Schema(title = "订单ID", type = "string")
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 费用Id
|
||||
*/
|
||||
@Schema(title = "费用Id", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long costId;
|
||||
|
||||
/**
|
||||
* 成本项目名称
|
||||
*/
|
||||
@Schema(title = "成本项目名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
@Schema(title = "单价", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@Schema(title = "单位", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@Schema(title = "数量", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Integer count;
|
||||
|
||||
/**
|
||||
* 费用归属:0_无归属;1_工头;2_产地;3_司机;
|
||||
*/
|
||||
@Schema(title = "费用归属:0_无归属;1_工头;2_产地;3_司机;")
|
||||
private CostBelongEnum belong;
|
||||
|
||||
/**
|
||||
* 负责人
|
||||
*/
|
||||
@Schema(title = "负责人")
|
||||
private String principal;
|
||||
|
||||
/**
|
||||
* 费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型
|
||||
*/
|
||||
@Schema(title = "费用类型:1_辅料类型;2_人工类型;3_产地类型;4_其他类型;5_物流类型", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private CostTypeEnum type;
|
||||
|
||||
/**
|
||||
* 关联项目id
|
||||
*/
|
||||
@Schema(title = "关联项目id")
|
||||
private List<Long> costItemIds;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Schema(title = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime createdAt;
|
||||
|
||||
/**
|
||||
* 车辆信息
|
||||
*/
|
||||
@Schema(title = "车辆信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private OrderVehicle orderVehicle;
|
||||
|
||||
/**
|
||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||
*/
|
||||
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;")
|
||||
private PurchaseOrderStateEnum poState;
|
||||
|
||||
/**
|
||||
* 公司信息
|
||||
*/
|
||||
@Schema(title = "公司信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private OrderCompany orderCompany;
|
||||
|
||||
/**
|
||||
* 采购订单信息
|
||||
*/
|
||||
@Schema(title = "采购订单信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private PurchaseOrderVO purchaseOrderVO;
|
||||
|
||||
|
||||
/**
|
||||
* 是否付款
|
||||
*/
|
||||
@Schema(title = "是否付款")
|
||||
private Boolean isPaid;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,108 @@
|
||||
package com.xunhong.erp.turbo.api.biz.dto.vo;
|
||||
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCompany;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderRebateCalcMethodEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
|
||||
import com.xunhong.erp.turbo.base.dto.Command;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class OrderRebateVO extends Command {
|
||||
|
||||
/**
|
||||
* 记录ID
|
||||
*/
|
||||
@Schema(title = "记录ID", type = "string")
|
||||
private Long orderRebateId;
|
||||
|
||||
/**
|
||||
* 订单ID
|
||||
*/
|
||||
@Schema(title = "订单ID", type = "string")
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 客户ID
|
||||
*/
|
||||
@Schema(title = "客户ID", type = "string")
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 经销商ID
|
||||
*/
|
||||
@Schema(title = "经销商ID", type = "string")
|
||||
private Long dealerId;
|
||||
|
||||
/**
|
||||
* 客户名称
|
||||
*/
|
||||
@Schema(title = "客户名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 返点计算方式:1_按净重计算;2_固定金额;
|
||||
*/
|
||||
@Schema(title = "返点计算方式:1_按净重计算;2_固定金额;")
|
||||
private OrderRebateCalcMethodEnum calcMethod;
|
||||
|
||||
/**
|
||||
* 返点净重
|
||||
*/
|
||||
@Schema(title = "返点净重")
|
||||
private BigDecimal netWeight;
|
||||
|
||||
/**
|
||||
* 返点单价
|
||||
*/
|
||||
@Schema(title = "返点单价")
|
||||
private BigDecimal unitPrice;
|
||||
|
||||
/**
|
||||
* 返点金额
|
||||
*/
|
||||
@Schema(title = "返点金额")
|
||||
private BigDecimal amount;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Schema(title = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime createdAt;
|
||||
|
||||
/**
|
||||
* 车辆信息
|
||||
*/
|
||||
@Schema(title = "车辆信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private OrderVehicle orderVehicle;
|
||||
|
||||
/**
|
||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||
*/
|
||||
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;")
|
||||
private PurchaseOrderStateEnum poState;
|
||||
|
||||
/**
|
||||
* 公司信息
|
||||
*/
|
||||
@Schema(title = "公司信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private OrderCompany orderCompany;
|
||||
|
||||
/**
|
||||
* 采购订单信息
|
||||
*/
|
||||
@Schema(title = "采购订单信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private PurchaseOrderVO purchaseOrderVO;
|
||||
|
||||
|
||||
/**
|
||||
* 是否付款
|
||||
*/
|
||||
@Schema(title = "是否付款")
|
||||
private Boolean isPaid;
|
||||
}
|
||||
@ -4,6 +4,7 @@ import com.alibaba.cola.dto.DTO;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCost;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderShipItem;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.OrderShipStateEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
@ -34,6 +35,18 @@ public class OrderShipVO extends DTO {
|
||||
@Schema(title = "采购单ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long orderId;
|
||||
|
||||
/**
|
||||
* 经销商ID
|
||||
*/
|
||||
@Schema(title = "经销商ID", type = "string")
|
||||
private Long dealerId;
|
||||
|
||||
/**
|
||||
* 经销商名称
|
||||
*/
|
||||
@Schema(title = "经销商名称")
|
||||
private String dealerName;
|
||||
|
||||
/**
|
||||
* 发货单编号
|
||||
*/
|
||||
@ -153,4 +166,10 @@ public class OrderShipVO extends DTO {
|
||||
@Schema(title = "发货单成本项目信息")
|
||||
private List<OrderCost> orderCostList;
|
||||
|
||||
/**
|
||||
* 采购订单车辆运输信息
|
||||
*/
|
||||
@Schema(title = "采购订单车辆运输信息")
|
||||
private OrderVehicle orderVehicle;
|
||||
|
||||
}
|
||||
|
||||
@ -1,9 +1,12 @@
|
||||
package com.xunhong.erp.turbo.api.biz.dto.vo;
|
||||
|
||||
import com.alibaba.cola.dto.DTO;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderCompany;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.OrderVehicle;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.UploadFileItem;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.LoadingModeEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderPricingMethodEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderStateEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@ -35,176 +38,199 @@ public class OrderSupplierVO extends DTO {
|
||||
/**
|
||||
* 供应商ID
|
||||
*/
|
||||
@Schema(title = "供应商ID", type = "string")
|
||||
@Schema(title = "供应商ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long supplierId;
|
||||
|
||||
/**
|
||||
* 供应商姓名
|
||||
*/
|
||||
@Schema(title = "供应商姓名")
|
||||
@Schema(title = "供应商姓名", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 身份证号
|
||||
*/
|
||||
@Schema(title = "身份证号")
|
||||
@Schema(title = "身份证号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String idCard;
|
||||
|
||||
/**
|
||||
* 银行卡号
|
||||
*/
|
||||
@Schema(title = "银行卡号")
|
||||
@Schema(title = "银行卡号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String bankCard;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Schema(title = "手机号")
|
||||
@Schema(title = "手机号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 微信二维码
|
||||
*/
|
||||
@Schema(title = "微信二维码")
|
||||
@Schema(title = "微信二维码", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String wechatQr;
|
||||
|
||||
/**
|
||||
* 是否最后一家
|
||||
*/
|
||||
@Schema(title = "是否最后一家")
|
||||
@Schema(title = "是否最后一家", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Boolean isLast;
|
||||
|
||||
/**
|
||||
* 空磅是否包含纸箱
|
||||
*/
|
||||
@Schema(title = "空磅是否包含纸箱")
|
||||
@Schema(title = "空磅是否包含纸箱", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Boolean isPaper;
|
||||
|
||||
/**
|
||||
* 产品id
|
||||
*/
|
||||
@Schema(title = "产品id", type = "string")
|
||||
@Schema(title = "产品id", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long productId;
|
||||
|
||||
/**
|
||||
* 产品名称
|
||||
*/
|
||||
@Schema(title = "产品名称")
|
||||
@Schema(title = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String productName;
|
||||
|
||||
/**
|
||||
* 装车模式:1_搭架子+网垫;2_纸箱+胶带+木隔板
|
||||
*/
|
||||
@Schema(title = "装车模式", description = "1_搭架子+网垫;2_纸箱+胶带+木隔板")
|
||||
@Schema(title = "装车模式:1_搭架子+网垫;2_纸箱+胶带+木隔板", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LoadingModeEnum loadingMode;
|
||||
|
||||
/**
|
||||
* 空车重量(kg)
|
||||
*/
|
||||
@Schema(title = "空车重量(kg)")
|
||||
@Schema(title = "空车重量(kg)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private BigDecimal emptyWeight;
|
||||
|
||||
/**
|
||||
* 总重量(kg)
|
||||
*/
|
||||
@Schema(title = "总重量(kg)")
|
||||
@Schema(title = "总重量(kg)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private BigDecimal totalWeight;
|
||||
|
||||
/**
|
||||
* 毛重(斤)
|
||||
*/
|
||||
@Schema(title = "毛重(斤)")
|
||||
@Schema(title = "毛重(斤)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private BigDecimal grossWeight;
|
||||
|
||||
/**
|
||||
* 净重(斤)
|
||||
*/
|
||||
@Schema(title = "净重(斤)")
|
||||
@Schema(title = "净重(斤)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private BigDecimal netWeight;
|
||||
|
||||
/**
|
||||
* 采购单价(元/斤)
|
||||
*/
|
||||
@Schema(title = "采购单价(元/斤)")
|
||||
@Schema(title = "采购单价(元/斤)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private BigDecimal purchasePrice;
|
||||
|
||||
/**
|
||||
* 销售单价(元/斤)
|
||||
*/
|
||||
@Schema(title = "销售单价(元/斤)")
|
||||
@Schema(title = "销售单价(元/斤)", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private BigDecimal salePrice;
|
||||
|
||||
/**
|
||||
* 报价方式:1_按毛重报价;2_按净重报价;
|
||||
*/
|
||||
@Schema(title = "报价方式:1_按毛重报价;2_按净重报价;")
|
||||
private Boolean pricingMethod;
|
||||
@Schema(title = "报价方式:1_按毛重报价;2_按净重报价;", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private PurchaseOrderPricingMethodEnum pricingMethod;
|
||||
|
||||
/**
|
||||
* 发票金额
|
||||
*/
|
||||
@Schema(title = "发票金额")
|
||||
@Schema(title = "发票金额", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private BigDecimal invoiceAmount;
|
||||
|
||||
/**
|
||||
* 是否已付定金
|
||||
*/
|
||||
@Schema(title = "是否已付定金")
|
||||
@Schema(title = "是否已付定金", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Boolean isDepositPaid;
|
||||
|
||||
/**
|
||||
* 定金金额
|
||||
*/
|
||||
@Schema(title = "定金金额")
|
||||
@Schema(title = "定金金额", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private BigDecimal depositAmount;
|
||||
|
||||
/**
|
||||
* 是否付款
|
||||
*/
|
||||
@Schema(title = "是否付款", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Boolean isPaid;
|
||||
|
||||
/**
|
||||
* 空车照片
|
||||
*/
|
||||
@Schema(title = "空车照片")
|
||||
@Schema(title = "空车照片", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String emptyWeightImg;
|
||||
|
||||
/**
|
||||
* 满载照片
|
||||
*/
|
||||
@Schema(title = "满载照片")
|
||||
@Schema(title = "满载照片", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String totalWeightImg;
|
||||
|
||||
/**
|
||||
* 是否上传票证
|
||||
*/
|
||||
@Schema(title = "是否上传票证")
|
||||
@Schema(title = "是否上传票证", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Boolean invoiceUpload;
|
||||
|
||||
/**
|
||||
* 发票照片
|
||||
*/
|
||||
@Schema(title = "发票照片")
|
||||
@Schema(title = "发票照片", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<UploadFileItem> invoiceImg;
|
||||
|
||||
/**
|
||||
* 是否上传合同
|
||||
*/
|
||||
@Schema(title = "是否上传合同")
|
||||
@Schema(title = "是否上传合同", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Boolean contractUpload;
|
||||
|
||||
/**
|
||||
* 合同照片
|
||||
*/
|
||||
@Schema(title = "合同照片")
|
||||
@Schema(title = "合同照片", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private List<UploadFileItem> contractImg;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Schema(title = "创建时间")
|
||||
@Schema(title = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private LocalDateTime createdAt;
|
||||
|
||||
/**
|
||||
* 车辆信息
|
||||
*/
|
||||
@Schema(title = "车辆信息")
|
||||
@Schema(title = "车辆信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private OrderVehicle orderVehicle;
|
||||
|
||||
/**
|
||||
* 采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;
|
||||
*/
|
||||
@Schema(title = "采购订单状态: 0_草稿;1_审核中;2_已完成;3_已驳回;4_已关闭;")
|
||||
private PurchaseOrderStateEnum poState;
|
||||
|
||||
/**
|
||||
* 公司信息
|
||||
*/
|
||||
@Schema(title = "公司信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private OrderCompany orderCompany;
|
||||
|
||||
/**
|
||||
* 采购订单信息
|
||||
*/
|
||||
@Schema(title = "采购订单信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private PurchaseOrderVO purchaseOrderVO;
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.xunhong.erp.turbo.api.biz.dto.vo;
|
||||
|
||||
import com.alibaba.cola.dto.DTO;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.common.*;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderAuditStateEnum;
|
||||
import com.xunhong.erp.turbo.api.biz.dto.enums.PurchaseOrderPricingMethodEnum;
|
||||
@ -18,6 +19,7 @@ import java.util.List;
|
||||
@Data
|
||||
@Schema(title = "采购订单")
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class PurchaseOrderVO extends DTO {
|
||||
|
||||
/**
|
||||
|
||||
@ -19,6 +19,6 @@ public class AdminCreateCmd extends Command {
|
||||
@Schema(title = "管理员名称")
|
||||
private String name;
|
||||
|
||||
@Schema(title = "管理员类型", type = "string")
|
||||
@Schema(title = "管理员类型")
|
||||
private AdminTypeEnum type;
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xunhong.erp.turbo.api.user.dto.qry;
|
||||
|
||||
import com.xunhong.erp.turbo.api.user.dto.enums.AdminTypeEnum;
|
||||
import com.xunhong.erp.turbo.base.dto.Query;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
@ -15,6 +16,9 @@ public class AdminShowQry extends Query {
|
||||
@Schema(title = "用户ID", type = "string")
|
||||
private Long userId;
|
||||
|
||||
@Schema(title = "管理员类型", type = "string")
|
||||
private Integer type;
|
||||
@Schema(title = "管理员类型")
|
||||
private AdminTypeEnum type;
|
||||
|
||||
@Schema(title = "平台ID", type = "string")
|
||||
private Long platformId;
|
||||
}
|
||||
|
||||
@ -29,6 +29,6 @@ public class AdminVO extends DTO {
|
||||
@Schema(title = "用户Id", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
|
||||
private Long userId;
|
||||
|
||||
@Schema(title = "管理员类型", type = "string")
|
||||
@Schema(title = "管理员类型")
|
||||
private AdminTypeEnum type;
|
||||
}
|
||||
|
||||
@ -61,9 +61,12 @@ public class MerchantIdAspect {
|
||||
// 获取方法的第一个参数对象
|
||||
if (args.length > 0 && args[0] instanceof DTO dto) {
|
||||
|
||||
String roleSlug = UserSession.USER_THREAD_LOCAL.get().getRoleSlug();
|
||||
if (!"operation".equals(roleSlug)) {
|
||||
setParam(dto, "CreatedBy", UserSession.USER_THREAD_LOCAL.get().getCreatedBy());
|
||||
setParam(dto, "CreatedByName", UserSession.USER_THREAD_LOCAL.get().getCreatedByName());
|
||||
}
|
||||
}
|
||||
|
||||
// 继续执行原方法
|
||||
return joinPoint.proceed(args);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user