diff --git a/erp-turbo-admin/pom.xml b/erp-turbo-admin/pom.xml
index 469dcf2..c2a711b 100644
--- a/erp-turbo-admin/pom.xml
+++ b/erp-turbo-admin/pom.xml
@@ -97,18 +97,6 @@
mybatis-mate-annotation
1.3.4
-
-
- com.itextpdf
- itext7-core
- 8.0.3
- pom
-
-
- com.itextpdf
- html2pdf
- 5.0.3
-
diff --git a/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/CostItemController.java b/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/CostItemController.java
index f92559c..7b04b78 100644
--- a/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/CostItemController.java
+++ b/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/CostItemController.java
@@ -9,6 +9,7 @@ import com.xunhong.erp.turbo.api.biz.api.CostItemServiceI;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemUpdateCmd;
+import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemDragCmd;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemPageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemShowQry;
@@ -82,4 +83,13 @@ public class CostItemController {
costItemService.destroy(costItemDestroyCmd);
return Response.buildSuccess();
}
-}
+
+ @SaCheckLogin
+// @SaCheckPermission(value = {PermissionConstant.MDB_BUSINESS_COST_ITEM_UPDATE})
+ @RequestMapping(value = "dragCostItem", method = {RequestMethod.PATCH, RequestMethod.PUT})
+ @Operation(summary = "费用项目拖拽排序", method = "PATCH")
+ public Response dragCostItem(@RequestBody @Validated CostItemDragCmd costItemDragCmd) {
+ costItemService.drag(costItemDragCmd);
+ return Response.buildSuccess();
+ }
+}
\ No newline at end of file
diff --git a/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/ExtractionController.java b/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/ExtractionController.java
index 5c7bc24..30000ab 100644
--- a/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/ExtractionController.java
+++ b/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/ExtractionController.java
@@ -2,6 +2,9 @@ package com.xunhong.erp.turbo.admin.controller;
import cn.dev33.satoken.annotation.SaCheckLogin;
import com.alibaba.cola.dto.SingleResponse;
+import com.xunhong.erp.turbo.api.biz.api.DealerServiceI;
+import com.xunhong.erp.turbo.api.biz.dto.qry.DealerListQry;
+import com.xunhong.erp.turbo.api.biz.dto.vo.DealerVO;
import com.xunhong.erp.turbo.api.facade.api.DeepSeekServiceI;
import com.xunhong.erp.turbo.api.facade.dto.cmd.VehicleExtractionCmd;
import com.xunhong.erp.turbo.api.facade.dto.vo.VehicleExtractionVO;
@@ -16,6 +19,9 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
+import java.util.stream.Collectors;
+
/**
* 聊天
*/
@@ -29,10 +35,30 @@ public class ExtractionController {
@DubboReference(version = "1.0.0")
private final DeepSeekServiceI deepSeekService;
+ @DubboReference(version = "1.0.0")
+ private final DealerServiceI dealerService;
+
@SaCheckLogin
@PostMapping("/extraction/vehicle")
@Operation(summary = "智能提取物流信息", method = "POST")
public SingleResponse vehicleExtraction(@RequestBody @Validated VehicleExtractionCmd vehicleExtractionCmd) {
- return SingleResponse.of(deepSeekService.vehicleExtraction(vehicleExtractionCmd));
+ DealerListQry dealerListQry = new DealerListQry();
+ dealerListQry.setStatus(Boolean.TRUE);
+ List dealerVOList = dealerService.list(dealerListQry);
+ String dealerNames = dealerVOList.stream().map(DealerVO::getShortName).collect(Collectors.joining(","));
+ vehicleExtractionCmd.setDealerNames(dealerNames);
+
+ VehicleExtractionVO vehicleExtractionVO = deepSeekService.vehicleExtraction(vehicleExtractionCmd);
+ String dealerName = vehicleExtractionVO.getDealerName();
+ if (dealerName != null) {
+ dealerVOList.stream()
+ .filter(dealerVO -> dealerVO.getShortName().equals(dealerName))
+ .findFirst()
+ .ifPresent(dealerVO -> {
+ vehicleExtractionVO.setDealerId(dealerVO.getDealerId());
+ vehicleExtractionVO.setDealerVO(dealerVO);
+ });
+ }
+ return SingleResponse.of(vehicleExtractionVO);
}
}
diff --git a/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/SupplierController.java b/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/SupplierController.java
index db52548..d79a45f 100644
--- a/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/SupplierController.java
+++ b/erp-turbo-admin/src/main/java/com/xunhong/erp/turbo/admin/controller/SupplierController.java
@@ -1,6 +1,7 @@
package com.xunhong.erp.turbo.admin.controller;
import cn.dev33.satoken.annotation.SaCheckLogin;
+import cn.dev33.satoken.annotation.SaCheckPermission;
import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.Response;
@@ -9,6 +10,7 @@ import com.xunhong.erp.turbo.api.biz.api.SupplierServiceI;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierUpdateCmd;
+import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierCheckQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierPageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierShowQry;
@@ -82,4 +84,10 @@ public class SupplierController {
supplierService.destroy(supplierDestroyCmd);
return Response.buildSuccess();
}
+ @SaCheckLogin
+ @GetMapping("/checkSupplier")
+ @Operation(summary = "检查供应商", method = "GET")
+ public SingleResponse checkSupplier(@ModelAttribute @Validated SupplierCheckQry supplierCheckQry) {
+ return SingleResponse.of(supplierService.checkSupplier(supplierCheckQry));
+ }
}
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/assembler/DealerAssembler.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/assembler/DealerAssembler.java
index d50bade..d40be27 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/assembler/DealerAssembler.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/assembler/DealerAssembler.java
@@ -14,4 +14,4 @@ public interface DealerAssembler {
@Mapping(target = "dealerPaymentAccountVOList", source = "dealerPaymentAccountList")
DealerVO toDealerVO(Dealer dealer);
-}
+}
\ No newline at end of file
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/CostItemDragCmdExe.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/CostItemDragCmdExe.java
new file mode 100644
index 0000000..c1140d7
--- /dev/null
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/CostItemDragCmdExe.java
@@ -0,0 +1,21 @@
+package com.xunhong.erp.turbo.biz.app.executor.query;
+
+import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemDragCmd;
+import com.xunhong.erp.turbo.biz.domain.gateway.CostItemGateway;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author shenyifei
+ */
+@Slf4j
+@Component
+@RequiredArgsConstructor
+public class CostItemDragCmdExe {
+ private final CostItemGateway costItemGateway;
+
+ public void execute(CostItemDragCmd costItemDragCmd) {
+ costItemGateway.drag(costItemDragCmd);
+ }
+}
\ No newline at end of file
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/SupplierCheckQryExe.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/SupplierCheckQryExe.java
new file mode 100644
index 0000000..7ae5863
--- /dev/null
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/executor/query/SupplierCheckQryExe.java
@@ -0,0 +1,30 @@
+package com.xunhong.erp.turbo.biz.app.executor.query;
+
+import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierCheckQry;
+import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierShowQry;
+import com.xunhong.erp.turbo.api.biz.dto.vo.SupplierVO;
+import com.xunhong.erp.turbo.biz.app.assembler.SupplierAssembler;
+import com.xunhong.erp.turbo.biz.domain.entity.Supplier;
+import com.xunhong.erp.turbo.biz.domain.gateway.SupplierGateway;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author shenyifei
+ */
+@Slf4j
+@Component
+@RequiredArgsConstructor
+public class SupplierCheckQryExe {
+
+ private final SupplierAssembler supplierAssembler;
+ private final SupplierGateway supplierGateway;
+
+ public SupplierVO execute(SupplierCheckQry supplierCheckQry) {
+ Supplier supplier = supplierGateway.check(supplierCheckQry);
+
+ return supplierAssembler.toSupplierVO(supplier);
+ }
+}
+
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/service/CostItemServiceImpl.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/service/CostItemServiceImpl.java
index 8102b56..7c52107 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/service/CostItemServiceImpl.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/service/CostItemServiceImpl.java
@@ -4,6 +4,7 @@ import com.xunhong.erp.turbo.api.biz.api.CostItemServiceI;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemUpdateCmd;
+import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemDragCmd;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemPageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemShowQry;
@@ -15,6 +16,7 @@ import com.xunhong.erp.turbo.biz.app.executor.cmd.CostItemUpdateCmdExe;
import com.xunhong.erp.turbo.biz.app.executor.query.CostItemListQryExe;
import com.xunhong.erp.turbo.biz.app.executor.query.CostItemPageQryExe;
import com.xunhong.erp.turbo.biz.app.executor.query.CostItemShowQryExe;
+import com.xunhong.erp.turbo.biz.app.executor.query.CostItemDragCmdExe;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;
@@ -37,6 +39,7 @@ public class CostItemServiceImpl implements CostItemServiceI {
private final CostItemListQryExe costItemListQryExe;
private final CostItemShowQryExe costItemShowQryExe;
private final CostItemDestroyCmdExe costItemDestroyCmdExe;
+ private final CostItemDragCmdExe costItemDragCmdExe;
@Override
public CostItemVO create(CostItemCreateCmd costItemCreateCmd) {
@@ -67,5 +70,9 @@ public class CostItemServiceImpl implements CostItemServiceI {
public void destroy(CostItemDestroyCmd costItemDestroyCmd) {
costItemDestroyCmdExe.execute(costItemDestroyCmd);
}
-}
+ @Override
+ public void drag(CostItemDragCmd costItemDragCmd) {
+ costItemDragCmdExe.execute(costItemDragCmd);
+ }
+}
\ No newline at end of file
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/service/SupplierServiceImpl.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/service/SupplierServiceImpl.java
index 93f19a3..245c835 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/service/SupplierServiceImpl.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/app/service/SupplierServiceImpl.java
@@ -4,6 +4,7 @@ import com.xunhong.erp.turbo.api.biz.api.SupplierServiceI;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierUpdateCmd;
+import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierCheckQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierPageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierShowQry;
@@ -12,6 +13,7 @@ import com.xunhong.erp.turbo.base.dto.PageDTO;
import com.xunhong.erp.turbo.biz.app.executor.cmd.SupplierCreateCmdExe;
import com.xunhong.erp.turbo.biz.app.executor.cmd.SupplierDestroyCmdExe;
import com.xunhong.erp.turbo.biz.app.executor.cmd.SupplierUpdateCmdExe;
+import com.xunhong.erp.turbo.biz.app.executor.query.SupplierCheckQryExe;
import com.xunhong.erp.turbo.biz.app.executor.query.SupplierListQryExe;
import com.xunhong.erp.turbo.biz.app.executor.query.SupplierPageQryExe;
import com.xunhong.erp.turbo.biz.app.executor.query.SupplierShowQryExe;
@@ -37,6 +39,7 @@ public class SupplierServiceImpl implements SupplierServiceI {
private final SupplierListQryExe supplierListQryExe;
private final SupplierShowQryExe supplierShowQryExe;
private final SupplierDestroyCmdExe supplierDestroyCmdExe;
+ private final SupplierCheckQryExe supplierCheckQryExe;
@Override
public SupplierVO create(SupplierCreateCmd supplierCreateCmd) {
@@ -67,5 +70,10 @@ public class SupplierServiceImpl implements SupplierServiceI {
public void destroy(SupplierDestroyCmd supplierDestroyCmd) {
supplierDestroyCmdExe.execute(supplierDestroyCmd);
}
+
+ @Override
+ public SupplierVO checkSupplier(SupplierCheckQry supplierCheckQry) {
+ return supplierCheckQryExe.execute(supplierCheckQry);
+ }
}
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/CostItem.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/CostItem.java
index 7df40b8..ffb6991 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/CostItem.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/CostItem.java
@@ -62,5 +62,9 @@ public class CostItem extends DTO {
*/
private LocalDateTime createdAt;
-}
+ /**
+ * 排序
+ */
+ private BigDecimal sort;
+}
\ No newline at end of file
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/Dealer.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/Dealer.java
index f1b7389..32457a4 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/Dealer.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/Dealer.java
@@ -103,4 +103,24 @@ public class Dealer extends DTO {
*/
private List dealerPaymentAccountList;
+ /**
+ * 是否开启计提税金
+ */
+ private Boolean enableAccrualTax;
+
+ /**
+ * 计提税金比例
+ */
+ private BigDecimal accrualTaxRatio;
+
+ /**
+ * 是否开启公司返点
+ */
+ private Boolean enableCompanyRebate;
+
+ /**
+ * 公司返点比例
+ */
+ private BigDecimal companyRebateRatio;
+
}
\ No newline at end of file
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/DealerRebateCustomer.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/DealerRebateCustomer.java
index d211157..e783dc4 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/DealerRebateCustomer.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/entity/DealerRebateCustomer.java
@@ -2,9 +2,11 @@ package com.xunhong.erp.turbo.biz.domain.entity;
import com.alibaba.cola.domain.Entity;
import com.alibaba.cola.dto.DTO;
+import com.xunhong.erp.turbo.api.biz.dto.enums.RebateCalcMethodEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@@ -45,6 +47,21 @@ public class DealerRebateCustomer extends DTO {
*/
private LocalDateTime createdAt;
+ /**
+ * 返点计算方式:1_按净重计算;2_固定金额;3_不固定
+ */
+ private RebateCalcMethodEnum calcMethod;
+
+ /**
+ * 返点单价
+ */
+ private BigDecimal unitPrice;
+
+ /**
+ * 返点金额
+ */
+ private BigDecimal amount;
+
private Dealer dealer;
}
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/gateway/CostItemGateway.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/gateway/CostItemGateway.java
index 275bc37..dc5dca4 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/gateway/CostItemGateway.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/gateway/CostItemGateway.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemUpdateCmd;
+import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemDragCmd;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemPageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemShowQry;
@@ -26,5 +27,6 @@ public interface CostItemGateway {
CostItem show(CostItemShowQry costItemShowQry);
void destroy(CostItemDestroyCmd costItemDestroyCmd);
-}
+ void drag(CostItemDragCmd costItemDragCmd);
+}
\ No newline at end of file
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/gateway/SupplierGateway.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/gateway/SupplierGateway.java
index 940eb51..352e608 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/gateway/SupplierGateway.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/domain/gateway/SupplierGateway.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierUpdateCmd;
+import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierCheckQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierPageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierShowQry;
@@ -26,5 +27,7 @@ public interface SupplierGateway {
Supplier show(SupplierShowQry supplierShowQry);
void destroy(SupplierDestroyCmd supplierDestroyCmd);
+
+ Supplier check(SupplierCheckQry supplierCheckQry);
}
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/CostItemDO.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/CostItemDO.java
index 1f266d6..28c5438 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/CostItemDO.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/CostItemDO.java
@@ -67,5 +67,10 @@ public class CostItemDO extends BaseDO {
@TableField(value = "status")
private Boolean status;
-}
+ /**
+ * 排序
+ */
+ @TableField(value = "sort")
+ private BigDecimal sort;
+}
\ No newline at end of file
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/DealerDO.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/DealerDO.java
index 76a861b..94bab0b 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/DealerDO.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/DealerDO.java
@@ -110,9 +110,33 @@ public class DealerDO extends BaseDO {
@TableField(value = "sort")
private BigDecimal sort;
+ /**
+ * 是否开启计提税金
+ */
+ @TableField(value = "enable_accrual_tax")
+ private Boolean enableAccrualTax;
+
+ /**
+ * 计提税金比例
+ */
+ @TableField(value = "accrual_tax_ratio")
+ private BigDecimal accrualTaxRatio;
+
+ /**
+ * 是否开启公司返点
+ */
+ @TableField(value = "enable_company_rebate")
+ private Boolean enableCompanyRebate;
+
+ /**
+ * 公司返点比例
+ */
+ @TableField(value = "company_rebate_ratio")
+ private BigDecimal companyRebateRatio;
+
/**
* 付款账户列表
*/
@TableField(exist = false)
private List dealerPaymentAccountDOList;
-}
\ No newline at end of file
+}
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/DealerRebateCustomerDO.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/DealerRebateCustomerDO.java
index 3cc678d..4643484 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/DealerRebateCustomerDO.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/entity/DealerRebateCustomerDO.java
@@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.annotation.IdType;
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.RebateCalcMethodEnum;
import com.xunhong.erp.turbo.datasource.domain.entity.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import java.math.BigDecimal;
+
/**
* @author shenyifei
*/
@@ -46,6 +49,24 @@ public class DealerRebateCustomerDO extends BaseDO {
@TableField(value = "remark")
private String remark;
+ /**
+ * 返点计算方式:1_按净重计算;2_固定金额;3_不固定
+ */
+ @TableField(value = "calc_method")
+ private RebateCalcMethodEnum calcMethod;
+
+ /**
+ * 返点单价
+ */
+ @TableField(value = "unit_price")
+ private BigDecimal unitPrice;
+
+ /**
+ * 返点金额
+ */
+ @TableField(value = "amount")
+ private BigDecimal amount;
+
@TableField(exist = false)
private DealerDO dealerDO;
}
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/CostItemGatewayImpl.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/CostItemGatewayImpl.java
index 3472992..a7e7e31 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/CostItemGatewayImpl.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/CostItemGatewayImpl.java
@@ -2,12 +2,14 @@ package com.xunhong.erp.turbo.biz.infrastructure.gateway;
import cn.hutool.core.util.StrUtil;
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.CostItemCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemUpdateCmd;
+import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemDragCmd;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemPageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemShowQry;
@@ -18,9 +20,11 @@ import com.xunhong.erp.turbo.biz.infrastructure.entity.CostItemDO;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.CostItemMapper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Objects;
+import java.util.Optional;
/**
* @author shenyifei
@@ -46,6 +50,7 @@ public class CostItemGatewayImpl implements CostItemGateway {
queryWrapper.like(StrUtil.isNotBlank(costItemPageQry.getRemark()), CostItemDO::getRemark, costItemPageQry.getRemark());
queryWrapper.eq(Objects.nonNull(costItemPageQry.getStatus()), CostItemDO::getStatus, costItemPageQry.getStatus());
queryWrapper.eq(Objects.nonNull(costItemPageQry.getCostType()), CostItemDO::getCostType, costItemPageQry.getCostType());
+ queryWrapper.orderByAsc(CostItemDO::getSort);
queryWrapper.orderByDesc(CostItemDO::getCreatedAt);
IPage page = new Page<>(costItemPageQry.getPageIndex(), costItemPageQry.getPageSize());
@@ -60,6 +65,8 @@ public class CostItemGatewayImpl implements CostItemGateway {
queryWrapper.eq(Objects.nonNull(costItemListQry.getShowInEntry()), CostItemDO::getStatus, costItemListQry.getShowInEntry());
queryWrapper.eq(Objects.nonNull(costItemListQry.getStatus()), CostItemDO::getStatus, costItemListQry.getStatus());
queryWrapper.eq(Objects.nonNull(costItemListQry.getCostType()), CostItemDO::getCostType, costItemListQry.getCostType());
+ queryWrapper.orderByAsc(CostItemDO::getSort);
+ queryWrapper.orderByDesc(CostItemDO::getCreatedAt);
List costItemDOList = costItemMapper.selectList(queryWrapper);
return costItemDOList.stream().map(costItemConvert::toCostItem).toList();
}
@@ -97,5 +104,50 @@ public class CostItemGatewayImpl implements CostItemGateway {
CostItemDO costItemDO = costItemMapper.selectOne(queryWrapper);
costItemDO.deleteById();
}
-}
+ @Override
+ @Transactional
+ public void drag(CostItemDragCmd costItemDragCmd) {
+ reorderTask(costItemDragCmd.getCurrentId(), costItemDragCmd.getPrevId(), costItemDragCmd.getNextId());
+ }
+
+ // 拖拽排序核心方法
+ public void reorderTask(Long currentId, Long prevId, Long nextId) {
+ // 获取相邻元素的sort值
+ Double prevSort = Optional.ofNullable(prevId)
+ .map(id -> costItemMapper.selectById(id).getSort().doubleValue())
+ .orElse(null);
+ Double nextSort = Optional.ofNullable(nextId)
+ .map(id -> costItemMapper.selectById(id).getSort().doubleValue())
+ .orElse(null);
+ // 计算新sort值
+ Double newSort = calculateNewSort(prevSort, nextSort);
+ // 检查是否需要重整排序
+ if (needResetSort(prevSort, nextSort)) {
+ costItemMapper.batchResetSort(costItemMapper.selectById(currentId).getItemId());
+ } else {
+ // 更新当前任务sort值
+ costItemMapper.update(null, new LambdaUpdateWrapper()
+ .eq(CostItemDO::getItemId, currentId)
+ .set(CostItemDO::getSort, newSort)
+ );
+ }
+ }
+
+ private Double calculateNewSort(Double prevSort, Double nextSort) {
+ if (prevSort == null && nextSort != null) {
+ return nextSort - 1000; // 插入到开头
+ } else if (nextSort == null && prevSort != null) {
+ return prevSort + 1000; // 插入到末尾
+ } else if (prevSort == null && nextSort == null) {
+ return 0.0;
+ } else {
+ return (prevSort + nextSort) / 2; // 插入中间
+ }
+ }
+
+ private boolean needResetSort(Double prevSort, Double nextSort) {
+ return prevSort != null && nextSort != null
+ && (nextSort - prevSort) < 1.0; // 判断间隙是否耗尽
+ }
+}
\ No newline at end of file
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/SupplierGatewayImpl.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/SupplierGatewayImpl.java
index 44b09dd..5c48d92 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/SupplierGatewayImpl.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/gateway/SupplierGatewayImpl.java
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierUpdateCmd;
+import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierCheckQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierPageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierShowQry;
@@ -15,6 +16,7 @@ import com.xunhong.erp.turbo.biz.domain.gateway.SupplierGateway;
import com.xunhong.erp.turbo.biz.infrastructure.convert.SupplierConvert;
import com.xunhong.erp.turbo.biz.infrastructure.entity.SupplierDO;
import com.xunhong.erp.turbo.biz.infrastructure.mapper.SupplierMapper;
+import com.xunhong.erp.turbo.datasource.util.AesUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;
@@ -98,5 +100,22 @@ public class SupplierGatewayImpl implements SupplierGateway {
SupplierDO supplierDO = supplierMapper.selectOne(queryWrapper);
supplierDO.deleteById();
}
+
+ @Override
+ public Supplier check(SupplierCheckQry supplierCheckQry) {
+ LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(SupplierDO.class);
+ queryWrapper.eq(Objects.nonNull(supplierCheckQry.getPhone()), SupplierDO::getPhone, AesUtil.encrypt(supplierCheckQry.getPhone()));
+ queryWrapper.eq(Objects.nonNull(supplierCheckQry.getIdCard()), SupplierDO::getIdCard, AesUtil.encrypt(supplierCheckQry.getIdCard()));
+ queryWrapper.eq(Objects.nonNull(supplierCheckQry.getName()), SupplierDO::getName, supplierCheckQry.getName());
+ queryWrapper.ne(Objects.nonNull(supplierCheckQry.getSupplierId()), SupplierDO::getSupplierId, supplierCheckQry.getSupplierId());
+
+ queryWrapper.last("limit 1");
+ SupplierDO userDO = supplierMapper.selectOne(queryWrapper);
+ if (Objects.isNull(userDO)) {
+ return null;
+ }
+
+ return supplierConvert.toSupplier(userDO);
+ }
}
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/mapper/CostItemMapper.java b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/mapper/CostItemMapper.java
index 48310d8..59ada76 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/mapper/CostItemMapper.java
+++ b/erp-turbo-business/erp-turbo-biz/src/main/java/com/xunhong/erp/turbo/biz/infrastructure/mapper/CostItemMapper.java
@@ -3,11 +3,19 @@ package com.xunhong.erp.turbo.biz.infrastructure.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xunhong.erp.turbo.biz.infrastructure.entity.CostItemDO;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
/**
* @author shenyifei
*/
@Mapper
public interface CostItemMapper extends BaseMapper {
-}
-
+ // 批量更新排序值(用于间隙重整)
+ @Update("UPDATE cost_item t " +
+ "JOIN (SELECT item_id, (ROW_NUMBER() OVER (ORDER BY sort) - 1) * 1000 AS new_sort " +
+ "FROM cost_item WHERE item_id = #{itemId}) AS sorted_rows " +
+ "ON t.item_id = sorted_rows.item_id " +
+ "SET t.sort = sorted_rows.new_sort WHERE t.item_id = #{itemId}")
+ void batchResetSort(@Param("itemId") Long itemId);
+}
\ No newline at end of file
diff --git a/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/DealerMapper.xml b/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/DealerMapper.xml
index 97c2b4e..a82bf8e 100644
--- a/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/DealerMapper.xml
+++ b/erp-turbo-business/erp-turbo-biz/src/main/resources/mapper/DealerMapper.xml
@@ -14,6 +14,10 @@
+
+
+
+
diff --git a/erp-turbo-business/erp-turbo-facade/src/main/java/com/xunhong/erp/turbo/facade/app/executor/cmd/VehicleExtractionCmdExe.java b/erp-turbo-business/erp-turbo-facade/src/main/java/com/xunhong/erp/turbo/facade/app/executor/cmd/VehicleExtractionCmdExe.java
index dc60c51..c7db658 100644
--- a/erp-turbo-business/erp-turbo-facade/src/main/java/com/xunhong/erp/turbo/facade/app/executor/cmd/VehicleExtractionCmdExe.java
+++ b/erp-turbo-business/erp-turbo-facade/src/main/java/com/xunhong/erp/turbo/facade/app/executor/cmd/VehicleExtractionCmdExe.java
@@ -1,5 +1,6 @@
package com.xunhong.erp.turbo.facade.app.executor.cmd;
+import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson2.JSONObject;
import com.xunhong.erp.turbo.api.facade.dto.cmd.VehicleExtractionCmd;
import com.xunhong.erp.turbo.api.facade.dto.vo.VehicleExtractionVO;
@@ -26,9 +27,14 @@ public class VehicleExtractionCmdExe {
public VehicleExtractionVO execute(VehicleExtractionCmd vehicleExtractionCmd) {
SystemMessage systemMessage = SystemMessage.builder().text("# 角色\n" +
"你是物流信息处理助手,可以快速提取和整理运单中的关键信息(车牌号、司机、电话、出发地、目的地、运费)。\n" +
+ "# 任务1\n" +
+ "请从运单信息中提取车牌、司机、电话、出发地、目的地、运费等信息,并返回一个JSON格式的字符串。\n" +
+ "# 任务2\n" +
+ "通过目的地去匹配经销商名称,待匹配列表如下" +
+ "\n" + vehicleExtractionCmd.getDealerNames() +
"\n" +
"# 限制\n" +
- "只做信息提取,如果没有可提取的数据请返回 {}\n" +
+ "只做信息提取和匹配,如果没有可提取的数据请返回 {}\n" +
"\n" +
"## 输入示例\n" +
"15号装车 9米6高栏 兴仁拉纸箱\n" +
@@ -40,7 +46,7 @@ public class VehicleExtractionCmdExe {
"工作上班时间,12小时内卸完货结运费,如遇雨天延迟装货不补运费\n" +
"\n" +
"## 输出示例\n" +
- "{\"plate\":\"豫RFC220\",\"driver\":null,\"phone\":\"13937795142\",\"origin\":\"五合镇附近\",\"destination\":\"湖北襄阳\",\"price\":\"7000\"}").build();
+ "{\"plate\":\"豫RFC220\",\"driver\":null,\"phone\":\"13937795142\",\"origin\":\"五合镇附近\",\"destination\":\"湖北襄阳\",\"price\":\"7000\",\"dealerName\":\"xxxx\"}").build();
UserMessage userMessage = UserMessage.builder().text(vehicleExtractionCmd.getMessage()).build();
Prompt prompt = Prompt.builder().messages(List.of(systemMessage, userMessage)).build();
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/api/CostItemServiceI.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/api/CostItemServiceI.java
index 53ae82d..0816450 100644
--- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/api/CostItemServiceI.java
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/api/CostItemServiceI.java
@@ -3,6 +3,7 @@ package com.xunhong.erp.turbo.api.biz.api;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemUpdateCmd;
+import com.xunhong.erp.turbo.api.biz.dto.cmd.CostItemDragCmd;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemPageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.CostItemShowQry;
@@ -26,5 +27,6 @@ public interface CostItemServiceI {
CostItemVO show(CostItemShowQry costItemShowQry);
void destroy(CostItemDestroyCmd costItemDestroyCmd);
-}
+ void drag(CostItemDragCmd costItemDragCmd);
+}
\ No newline at end of file
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/api/SupplierServiceI.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/api/SupplierServiceI.java
index 759f489..3f536e7 100644
--- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/api/SupplierServiceI.java
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/api/SupplierServiceI.java
@@ -3,6 +3,7 @@ package com.xunhong.erp.turbo.api.biz.api;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierCreateCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierDestroyCmd;
import com.xunhong.erp.turbo.api.biz.dto.cmd.SupplierUpdateCmd;
+import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierCheckQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierListQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierPageQry;
import com.xunhong.erp.turbo.api.biz.dto.qry.SupplierShowQry;
@@ -26,5 +27,7 @@ public interface SupplierServiceI {
SupplierVO show(SupplierShowQry supplierShowQry);
void destroy(SupplierDestroyCmd supplierDestroyCmd);
+
+ SupplierVO checkSupplier(SupplierCheckQry supplierCheckQry);
}
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/CostItemDragCmd.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/CostItemDragCmd.java
new file mode 100644
index 0000000..c84812b
--- /dev/null
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/CostItemDragCmd.java
@@ -0,0 +1,33 @@
+package com.xunhong.erp.turbo.api.biz.dto.cmd;
+
+import com.xunhong.erp.turbo.base.dto.Command;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @author shenyifei
+ */
+@Data
+@Schema(title = "费用项目拖拽")
+@EqualsAndHashCode(callSuper = true)
+public class CostItemDragCmd extends Command {
+
+ /**
+ * 相邻元素
+ */
+ @Schema(title = "相邻元素前")
+ private Long prevId;
+
+ /**
+ * 相邻元素
+ */
+ @Schema(title = "相邻元素后")
+ private Long nextId;
+
+ /**
+ * 当前元素
+ */
+ @Schema(title = "当前元素")
+ private Long currentId;
+}
\ No newline at end of file
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/DealerCreateCmd.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/DealerCreateCmd.java
index 224ee83..f785504 100644
--- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/DealerCreateCmd.java
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/DealerCreateCmd.java
@@ -94,5 +94,29 @@ public class DealerCreateCmd extends Command {
@Schema(title = "状态:1_启用;0_禁用;", requiredMode = Schema.RequiredMode.REQUIRED)
private Boolean status;
+ /**
+ * 是否开启计提税金
+ */
+ @Schema(title = "是否开启计提税金")
+ private Boolean enableAccrualTax;
+
+ /**
+ * 计提税金比例
+ */
+ @Schema(title = "计提税金比例")
+ private BigDecimal accrualTaxRatio;
+
+ /**
+ * 是否开启公司返点
+ */
+ @Schema(title = "是否开启公司返点")
+ private Boolean enableCompanyRebate;
+
+ /**
+ * 公司返点比例
+ */
+ @Schema(title = "公司返点比例")
+ private BigDecimal companyRebateRatio;
+
}
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/DealerRebateCustomerCreateCmd.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/DealerRebateCustomerCreateCmd.java
index 00693a8..5187903 100644
--- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/DealerRebateCustomerCreateCmd.java
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/cmd/DealerRebateCustomerCreateCmd.java
@@ -1,10 +1,13 @@
package com.xunhong.erp.turbo.api.biz.dto.cmd;
+import com.xunhong.erp.turbo.api.biz.dto.enums.RebateCalcMethodEnum;
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;
+
/**
* @author shenyifei
*/
@@ -43,5 +46,23 @@ public class DealerRebateCustomerCreateCmd extends Command {
@Schema(title = "备注")
private String remark;
+ /**
+ * 返点计算方式:1_按净重计算;2_固定金额;3_不固定
+ */
+ @Schema(title = "返点计算方式:1_按净重计算;2_固定金额;3_不固定")
+ private RebateCalcMethodEnum calcMethod;
+
+ /**
+ * 返点单价
+ */
+ @Schema(title = "返点单价")
+ private BigDecimal unitPrice;
+
+ /**
+ * 返点金额
+ */
+ @Schema(title = "返点金额")
+ private BigDecimal amount;
+
}
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/enums/RebateCalcMethodEnum.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/enums/RebateCalcMethodEnum.java
new file mode 100644
index 0000000..0bb9795
--- /dev/null
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/enums/RebateCalcMethodEnum.java
@@ -0,0 +1,21 @@
+package com.xunhong.erp.turbo.api.biz.dto.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+
+@Getter
+@RequiredArgsConstructor
+public enum RebateCalcMethodEnum {
+ /**
+ * 返点计算方式:1_按净重计算;2_固定金额;3_不固定
+ */
+ NET_WEIGHT(1, "按净重计算"),
+ FIXED_AMOUNT(2, "固定金额"),
+ NOT_FIXED(3, "不固定");
+
+ @EnumValue
+ private final int type;
+
+ private final String message;
+}
\ No newline at end of file
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/DealerRebateCustomerListQry.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/DealerRebateCustomerListQry.java
index ba56f75..2a5ac17 100644
--- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/DealerRebateCustomerListQry.java
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/DealerRebateCustomerListQry.java
@@ -1,5 +1,6 @@
package com.xunhong.erp.turbo.api.biz.dto.qry;
+import com.xunhong.erp.turbo.api.biz.dto.enums.RebateCalcMethodEnum;
import com.xunhong.erp.turbo.base.dto.Query;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -18,5 +19,11 @@ public class DealerRebateCustomerListQry extends Query {
@Schema(title = "客户名称", type = "string")
private String name;
+
+ /**
+ * 返点计算方式
+ */
+ @Schema(title = "返点计算方式")
+ private RebateCalcMethodEnum calcMethod;
}
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/DealerRebateCustomerPageQry.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/DealerRebateCustomerPageQry.java
index 798f94b..e921832 100644
--- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/DealerRebateCustomerPageQry.java
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/DealerRebateCustomerPageQry.java
@@ -1,5 +1,6 @@
package com.xunhong.erp.turbo.api.biz.dto.qry;
+import com.xunhong.erp.turbo.api.biz.dto.enums.RebateCalcMethodEnum;
import com.xunhong.erp.turbo.base.dto.PageQuery;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -18,5 +19,11 @@ public class DealerRebateCustomerPageQry extends PageQuery {
@Schema(title = "客户名称", type = "string")
private String name;
+
+ /**
+ * 返点计算方式
+ */
+ @Schema(title = "返点计算方式")
+ private RebateCalcMethodEnum calcMethod;
}
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/SupplierCheckQry.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/SupplierCheckQry.java
new file mode 100644
index 0000000..7632cd5
--- /dev/null
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/qry/SupplierCheckQry.java
@@ -0,0 +1,28 @@
+package com.xunhong.erp.turbo.api.biz.dto.qry;
+
+import com.xunhong.erp.turbo.base.dto.PageQuery;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @author shenyifei
+ */
+@Data
+@Schema(title = "供应商检测")
+@EqualsAndHashCode(callSuper = true)
+public class SupplierCheckQry extends PageQuery {
+
+ @Schema(title = "供应商ID", type = "string")
+ private Long supplierId;
+
+ @Schema(title = "供应商名称", type = "string")
+ private String name;
+
+ @Schema(title = "身份证号", type = "string")
+ private String idCard;
+
+ @Schema(title = "手机号", type = "string")
+ private String phone;
+}
+
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/DealerRebateCustomerVO.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/DealerRebateCustomerVO.java
index c5540f7..344a0c1 100644
--- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/DealerRebateCustomerVO.java
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/DealerRebateCustomerVO.java
@@ -1,10 +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.enums.RebateCalcMethodEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
@@ -57,5 +59,23 @@ public class DealerRebateCustomerVO extends DTO {
@Schema(title = "经销商信息")
private DealerVO dealerVO;
+ /**
+ * 返点计算方式:1_按净重计算;2_固定金额;3_不固定
+ */
+ @Schema(title = "返点计算方式:1_按净重计算;2_固定金额;3_不固定")
+ private RebateCalcMethodEnum calcMethod;
+
+ /**
+ * 返点单价
+ */
+ @Schema(title = "返点单价")
+ private BigDecimal unitPrice;
+
+ /**
+ * 返点金额
+ */
+ @Schema(title = "返点金额")
+ private BigDecimal amount;
+
}
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/DealerVO.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/DealerVO.java
index 102fbb1..4cb6586 100644
--- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/DealerVO.java
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/biz/dto/vo/DealerVO.java
@@ -113,5 +113,29 @@ public class DealerVO extends DTO {
*/
@Schema(title = "经销商账户列表")
private List dealerPaymentAccountVOList;
+
+ /**
+ * 是否开启计提税金
+ */
+ @Schema(title = "是否开启计提税金")
+ private Boolean enableAccrualTax;
+
+ /**
+ * 计提税金比例
+ */
+ @Schema(title = "计提税金比例")
+ private BigDecimal accrualTaxRatio;
+
+ /**
+ * 是否开启公司返点
+ */
+ @Schema(title = "是否开启公司返点")
+ private Boolean enableCompanyRebate;
+
+ /**
+ * 公司返点比例
+ */
+ @Schema(title = "公司返点比例")
+ private BigDecimal companyRebateRatio;
}
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/facade/dto/cmd/VehicleExtractionCmd.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/facade/dto/cmd/VehicleExtractionCmd.java
index 54fb1d1..e698818 100644
--- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/facade/dto/cmd/VehicleExtractionCmd.java
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/facade/dto/cmd/VehicleExtractionCmd.java
@@ -12,4 +12,7 @@ public class VehicleExtractionCmd extends Command {
@Schema(title = "消息内容", requiredMode = Schema.RequiredMode.REQUIRED)
private String message;
+
+ @Schema(title = "经销商信息", requiredMode = Schema.RequiredMode.REQUIRED)
+ private String dealerNames;
}
diff --git a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/facade/dto/vo/VehicleExtractionVO.java b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/facade/dto/vo/VehicleExtractionVO.java
index 81ce617..d8e8479 100644
--- a/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/facade/dto/vo/VehicleExtractionVO.java
+++ b/erp-turbo-common/erp-turbo-api/src/main/java/com/xunhong/erp/turbo/api/facade/dto/vo/VehicleExtractionVO.java
@@ -1,5 +1,6 @@
package com.xunhong.erp.turbo.api.facade.dto.vo;
+import com.xunhong.erp.turbo.api.biz.dto.vo.DealerVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@@ -25,4 +26,13 @@ public class VehicleExtractionVO {
@Schema(title = "价格")
private BigDecimal price;
+
+ @Schema(title = "经销商")
+ private String dealerName;
+
+ @Schema(title = "经销商ID", requiredMode = Schema.RequiredMode.REQUIRED, type = "string")
+ private Long dealerId;
+
+ @Schema(title = "经销商信息")
+ private DealerVO dealerVO;
}
diff --git a/erp-turbo-svc/src/main/java/com/xunhong/erp/turbo/ErpTurboSvcApplication.java b/erp-turbo-svc/src/main/java/com/xunhong/erp/turbo/ErpTurboSvcApplication.java
new file mode 100644
index 0000000..478e728
--- /dev/null
+++ b/erp-turbo-svc/src/main/java/com/xunhong/erp/turbo/ErpTurboSvcApplication.java
@@ -0,0 +1,16 @@
+package com.xunhong.erp.turbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * @author hollis
+ */
+@SpringBootApplication(scanBasePackages = {"com.xunhong.erp.turbo", "com.alibaba.cola"})
+public class ErpTurboSvcApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ErpTurboSvcApplication.class, args);
+ }
+
+}
diff --git a/erp-turbo-svc/src/main/resources/application.yml b/erp-turbo-svc/src/main/resources/application.yml
new file mode 100644
index 0000000..862e175
--- /dev/null
+++ b/erp-turbo-svc/src/main/resources/application.yml
@@ -0,0 +1,34 @@
+spring:
+ profiles:
+ active: dev
+ application:
+ name: @application.name@
+ config:
+ import: classpath:cache.yml,classpath:datasource.yml,classpath:sa-token.yml,classpath:openapi.yml
+
+ oss:
+ enabled: true
+ roleArn: acs:ram::1405760424165296:role/ramoss
+ domain: https://img.qilincloud168.com/
+ region: cn-beijing
+ ossEndpoint: https://oss-cn-beijing.aliyuncs.com
+ stsEndpoint: sts.cn-beijing.aliyuncs.com
+ access-secret: nQjR51pOeVggk1AgSyroj2svegAH2q
+ access-key: LTAI5tRk9oGxq7KYb5VtJbUm
+ bucket: qilincloud168
+ policy: '{"Version": "1","Statement": [{"Effect": "Allow","Action": ["oss:PutObject"],"Resource": ["acs:oss:*:*:qilincloud168/*"],"Condition": {}}]}'
+
+ iot:
+ huaweicloud:
+ enabled: true
+ ak: HPUA0UCCTWRVXLQSHYWV
+ sk: BkwHnQMONChjcQVWT8uLrSpOEMxPRcaMR8sEhtXl
+ region-id: cn-north-4
+ project-id: 0a5e9001800025732fd4c01f007f4a89
+ endpoint: a15f98504b.iotda.cn-north-4.myhuaweicloud.com
+
+server:
+ port: 38080
+
+dubbo:
+ enabled: false
diff --git a/erp-turbo-svc/src/main/resources/bootstrap.yml b/erp-turbo-svc/src/main/resources/bootstrap.yml
new file mode 100644
index 0000000..b374ac8
--- /dev/null
+++ b/erp-turbo-svc/src/main/resources/bootstrap.yml
@@ -0,0 +1,7 @@
+spring:
+ profiles:
+ active: dev
+ application:
+ name: @application.name@
+ config:
+ import: classpath:base.yml,classpath:logging.yml
diff --git a/output.pdf b/output.pdf
deleted file mode 100644
index 0e3c867..0000000
Binary files a/output.pdf and /dev/null differ
diff --git a/pom.xml b/pom.xml
index cd79187..a973564 100644
--- a/pom.xml
+++ b/pom.xml
@@ -78,13 +78,6 @@
pom
import
-
- com.itextpdf
- itext7-core
- 8.0.3
- pom
- import
-
org.projectlombok
diff --git a/webpage.pdf b/webpage.pdf
deleted file mode 100644
index e69de29..0000000