From 127ab1d4d0a7fe3e4fc6dd81845e5a9c5327a5a2 Mon Sep 17 00:00:00 2001
From: 李白 <7387820+wjli_13439841639@user.noreply.gitee.com>
Date: 星期四, 07 五月 2026 11:03:22 +0800
Subject: [PATCH] 客商、销售员、产品、排产计划后台增删改查功能

---
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/BusinessCustomerController.java    |  119 +++++++++
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductServiceImpl.java          |   16 +
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/ProductionPlanMapper.java              |   11 
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ProductService.java                   |    8 
 platformx-business-finance-biz/src/main/resources/mapper/ProductMapper.xml                                                 |   21 +
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductionPlanServiceImpl.java   |   16 +
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/SalesManController.java            |  119 +++++++++
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BusinessCustomerServiceImpl.java |   16 +
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BusinessCustomerMapper.java            |   11 
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ProductionPlanService.java            |    8 
 platformx-business-finance-biz/src/main/resources/mapper/ProductionPlanMapper.xml                                          |   34 ++
 platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BusinessCustomer.java                  |    4 
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java             |  119 +++++++++
 platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Product.java                           |    2 
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/BusinessCustomerService.java          |    8 
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/SalesManServiceImpl.java         |   16 +
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductionPlanController.java      |  119 +++++++++
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/ProductMapper.java                     |   11 
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/SalesManMapper.java                    |   11 
 platformx-business-finance-biz/src/main/resources/mapper/BusinessCustomerMapper.xml                                        |   34 ++
 platformx-business-finance-biz/src/main/resources/mapper/SalesManMapper.xml                                                |   19 +
 platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/SalesManService.java                  |    8 
 22 files changed, 727 insertions(+), 3 deletions(-)

diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BusinessCustomer.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BusinessCustomer.java
index fa9424a..02bc9c3 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BusinessCustomer.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BusinessCustomer.java
@@ -19,7 +19,7 @@
 @Comment("瀹㈠晢淇℃伅")
 public class BusinessCustomer extends BaseModel<BusinessCustomer> {
 
-    @Schema(description = "'缁熶竴绀句細淇$敤浠g爜'")
+    @Schema(description = "缁熶竴绀句細淇$敤浠g爜")
     @Column(columnDefinition = "VARCHAR(30) comment '缁熶竴绀句細淇$敤浠g爜'")
     private String creditCode;
 
@@ -64,7 +64,7 @@
     private String status;
 
     @Schema(description = "琛屼笟Id")
-    @Column(columnDefinition = "VARCHAR(50) comment '琛屼笟'")
+    @Column(columnDefinition = "VARCHAR(50) comment '琛屼笟Id'")
     private String industryId;
 
     @Schema(description = "琛屼笟")
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/product.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Product.java
similarity index 96%
rename from platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/product.java
rename to platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Product.java
index 1cdadf7..02b1358 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/product.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Product.java
@@ -17,7 +17,7 @@
 @Entity
 @Table(name = "product")
 @Comment("浜у搧淇℃伅")
-public class product  extends BaseModel<product> {
+public class Product extends BaseModel<Product> {
     //浜у搧鍚嶇О銆佷骇鍝佺紪鐮侊紙涓绘暟鎹�丒RP锛夈�佷骇鍝佷环鏍笺�佺◣鐐广�佹墍灞炰笂绾�
     @Schema(description = "浜у搧鍚嶇О")
     @Column(columnDefinition = "VARCHAR(50) comment '浜у搧鍚嶇О'")
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/BusinessCustomerController.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/BusinessCustomerController.java
new file mode 100644
index 0000000..bca111a
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/BusinessCustomerController.java
@@ -0,0 +1,119 @@
+package com.by4cloud.platformx.business.controller;
+
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.business.entity.BusinessCustomer;
+import com.by4cloud.platformx.business.service.BusinessCustomerService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import org.springdoc.core.annotations.ParameterObject;
+import org.springframework.http.HttpHeaders;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 瀹㈠晢淇℃伅
+ *
+ * @author platformx
+ * @date 2026-05-07 10:13:22
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/businessCustomer" )
+@Tag(description = "businessCustomer" , name = "瀹㈠晢淇℃伅绠$悊" )
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class BusinessCustomerController {
+
+    private final  BusinessCustomerService businessCustomerService;
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param page 鍒嗛〉瀵硅薄
+     * @param businessCustomer 瀹㈠晢淇℃伅
+     * @return
+     */
+    @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+    @GetMapping("/page" )
+    @PreAuthorize("@pms.hasPermission('business_businessCustomer_view')" )
+    public R getBusinessCustomerPage(@ParameterObject Page page, @ParameterObject BusinessCustomer businessCustomer) {
+        LambdaQueryWrapper<BusinessCustomer> wrapper = Wrappers.lambdaQuery();
+        return R.ok(businessCustomerService.page(page, wrapper));
+    }
+
+
+    /**
+     * 閫氳繃id鏌ヨ瀹㈠晢淇℃伅
+     * @param id id
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+    @GetMapping("/{id}" )
+    @PreAuthorize("@pms.hasPermission('business_businessCustomer_view')" )
+    public R getById(@PathVariable("id" ) Long id) {
+        return R.ok(businessCustomerService.getById(id));
+    }
+
+    /**
+     * 鏂板瀹㈠晢淇℃伅
+     * @param businessCustomer 瀹㈠晢淇℃伅
+     * @return R
+     */
+    @Operation(summary = "鏂板瀹㈠晢淇℃伅" , description = "鏂板瀹㈠晢淇℃伅" )
+    @SysLog("鏂板瀹㈠晢淇℃伅" )
+    @PostMapping
+    @PreAuthorize("@pms.hasPermission('business_businessCustomer_add')" )
+    public R save(@RequestBody BusinessCustomer businessCustomer) {
+        return R.ok(businessCustomerService.save(businessCustomer));
+    }
+
+    /**
+     * 淇敼瀹㈠晢淇℃伅
+     * @param businessCustomer 瀹㈠晢淇℃伅
+     * @return R
+     */
+    @Operation(summary = "淇敼瀹㈠晢淇℃伅" , description = "淇敼瀹㈠晢淇℃伅" )
+    @SysLog("淇敼瀹㈠晢淇℃伅" )
+    @PutMapping
+    @PreAuthorize("@pms.hasPermission('business_businessCustomer_edit')" )
+    public R updateById(@RequestBody BusinessCustomer businessCustomer) {
+        return R.ok(businessCustomerService.updateById(businessCustomer));
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎瀹㈠晢淇℃伅
+     * @param ids id鍒楄〃
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鍒犻櫎瀹㈠晢淇℃伅" , description = "閫氳繃id鍒犻櫎瀹㈠晢淇℃伅" )
+    @SysLog("閫氳繃id鍒犻櫎瀹㈠晢淇℃伅" )
+    @DeleteMapping
+    @PreAuthorize("@pms.hasPermission('business_businessCustomer_del')" )
+    public R removeById(@RequestBody Long[] ids) {
+        return R.ok(businessCustomerService.removeBatchByIds(CollUtil.toList(ids)));
+    }
+
+
+    /**
+     * 瀵煎嚭excel 琛ㄦ牸
+     * @param businessCustomer 鏌ヨ鏉′欢
+   	 * @param ids 瀵煎嚭鎸囧畾ID
+     * @return excel 鏂囦欢娴�
+     */
+    @ResponseExcel
+    @GetMapping("/export")
+    @PreAuthorize("@pms.hasPermission('business_businessCustomer_export')" )
+    public List<BusinessCustomer> export(BusinessCustomer businessCustomer,Long[] ids) {
+        return businessCustomerService.list(Wrappers.lambdaQuery(businessCustomer).in(ArrayUtil.isNotEmpty(ids), BusinessCustomer::getId, ids));
+    }
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java
new file mode 100644
index 0000000..4b74887
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java
@@ -0,0 +1,119 @@
+package com.by4cloud.platformx.business.controller;
+
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.business.entity.Product;
+import com.by4cloud.platformx.business.service.ProductService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import org.springdoc.core.annotations.ParameterObject;
+import org.springframework.http.HttpHeaders;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 浜у搧淇℃伅
+ *
+ * @author platformx
+ * @date 2026-05-07 10:17:52
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/product" )
+@Tag(description = "product" , name = "浜у搧淇℃伅绠$悊" )
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class ProductController {
+
+    private final  ProductService productService;
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param page 鍒嗛〉瀵硅薄
+     * @param product 浜у搧淇℃伅
+     * @return
+     */
+    @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+    @GetMapping("/page" )
+    @PreAuthorize("@pms.hasPermission('business_product_view')" )
+    public R getProductPage(@ParameterObject Page page, @ParameterObject Product product) {
+        LambdaQueryWrapper<Product> wrapper = Wrappers.lambdaQuery();
+        return R.ok(productService.page(page, wrapper));
+    }
+
+
+    /**
+     * 閫氳繃id鏌ヨ浜у搧淇℃伅
+     * @param id id
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+    @GetMapping("/{id}" )
+    @PreAuthorize("@pms.hasPermission('business_product_view')" )
+    public R getById(@PathVariable("id" ) Long id) {
+        return R.ok(productService.getById(id));
+    }
+
+    /**
+     * 鏂板浜у搧淇℃伅
+     * @param product 浜у搧淇℃伅
+     * @return R
+     */
+    @Operation(summary = "鏂板浜у搧淇℃伅" , description = "鏂板浜у搧淇℃伅" )
+    @SysLog("鏂板浜у搧淇℃伅" )
+    @PostMapping
+    @PreAuthorize("@pms.hasPermission('business_product_add')" )
+    public R save(@RequestBody Product product) {
+        return R.ok(productService.save(product));
+    }
+
+    /**
+     * 淇敼浜у搧淇℃伅
+     * @param product 浜у搧淇℃伅
+     * @return R
+     */
+    @Operation(summary = "淇敼浜у搧淇℃伅" , description = "淇敼浜у搧淇℃伅" )
+    @SysLog("淇敼浜у搧淇℃伅" )
+    @PutMapping
+    @PreAuthorize("@pms.hasPermission('business_product_edit')" )
+    public R updateById(@RequestBody Product product) {
+        return R.ok(productService.updateById(product));
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎浜у搧淇℃伅
+     * @param ids id鍒楄〃
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鍒犻櫎浜у搧淇℃伅" , description = "閫氳繃id鍒犻櫎浜у搧淇℃伅" )
+    @SysLog("閫氳繃id鍒犻櫎浜у搧淇℃伅" )
+    @DeleteMapping
+    @PreAuthorize("@pms.hasPermission('business_product_del')" )
+    public R removeById(@RequestBody Long[] ids) {
+        return R.ok(productService.removeBatchByIds(CollUtil.toList(ids)));
+    }
+
+
+    /**
+     * 瀵煎嚭excel 琛ㄦ牸
+     * @param product 鏌ヨ鏉′欢
+   	 * @param ids 瀵煎嚭鎸囧畾ID
+     * @return excel 鏂囦欢娴�
+     */
+    @ResponseExcel
+    @GetMapping("/export")
+    @PreAuthorize("@pms.hasPermission('business_product_export')" )
+    public List<Product> export(Product product,Long[] ids) {
+        return productService.list(Wrappers.lambdaQuery(product).in(ArrayUtil.isNotEmpty(ids), Product::getId, ids));
+    }
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductionPlanController.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductionPlanController.java
new file mode 100644
index 0000000..ec8281b
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductionPlanController.java
@@ -0,0 +1,119 @@
+package com.by4cloud.platformx.business.controller;
+
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.business.entity.ProductionPlan;
+import com.by4cloud.platformx.business.service.ProductionPlanService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import org.springdoc.core.annotations.ParameterObject;
+import org.springframework.http.HttpHeaders;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 鎺掍骇璁″垝
+ *
+ * @author platformx
+ * @date 2026-05-07 10:27:42
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/productionPlan" )
+@Tag(description = "productionPlan" , name = "鎺掍骇璁″垝绠$悊" )
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class ProductionPlanController {
+
+    private final  ProductionPlanService productionPlanService;
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param page 鍒嗛〉瀵硅薄
+     * @param productionPlan 鎺掍骇璁″垝
+     * @return
+     */
+    @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+    @GetMapping("/page" )
+    @PreAuthorize("@pms.hasPermission('business_productionPlan_view')" )
+    public R getProductionPlanPage(@ParameterObject Page page, @ParameterObject ProductionPlan productionPlan) {
+        LambdaQueryWrapper<ProductionPlan> wrapper = Wrappers.lambdaQuery();
+        return R.ok(productionPlanService.page(page, wrapper));
+    }
+
+
+    /**
+     * 閫氳繃id鏌ヨ鎺掍骇璁″垝
+     * @param id id
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+    @GetMapping("/{id}" )
+    @PreAuthorize("@pms.hasPermission('business_productionPlan_view')" )
+    public R getById(@PathVariable("id" ) Long id) {
+        return R.ok(productionPlanService.getById(id));
+    }
+
+    /**
+     * 鏂板鎺掍骇璁″垝
+     * @param productionPlan 鎺掍骇璁″垝
+     * @return R
+     */
+    @Operation(summary = "鏂板鎺掍骇璁″垝" , description = "鏂板鎺掍骇璁″垝" )
+    @SysLog("鏂板鎺掍骇璁″垝" )
+    @PostMapping
+    @PreAuthorize("@pms.hasPermission('business_productionPlan_add')" )
+    public R save(@RequestBody ProductionPlan productionPlan) {
+        return R.ok(productionPlanService.save(productionPlan));
+    }
+
+    /**
+     * 淇敼鎺掍骇璁″垝
+     * @param productionPlan 鎺掍骇璁″垝
+     * @return R
+     */
+    @Operation(summary = "淇敼鎺掍骇璁″垝" , description = "淇敼鎺掍骇璁″垝" )
+    @SysLog("淇敼鎺掍骇璁″垝" )
+    @PutMapping
+    @PreAuthorize("@pms.hasPermission('business_productionPlan_edit')" )
+    public R updateById(@RequestBody ProductionPlan productionPlan) {
+        return R.ok(productionPlanService.updateById(productionPlan));
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎鎺掍骇璁″垝
+     * @param ids id鍒楄〃
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鍒犻櫎鎺掍骇璁″垝" , description = "閫氳繃id鍒犻櫎鎺掍骇璁″垝" )
+    @SysLog("閫氳繃id鍒犻櫎鎺掍骇璁″垝" )
+    @DeleteMapping
+    @PreAuthorize("@pms.hasPermission('business_productionPlan_del')" )
+    public R removeById(@RequestBody Long[] ids) {
+        return R.ok(productionPlanService.removeBatchByIds(CollUtil.toList(ids)));
+    }
+
+
+    /**
+     * 瀵煎嚭excel 琛ㄦ牸
+     * @param productionPlan 鏌ヨ鏉′欢
+   	 * @param ids 瀵煎嚭鎸囧畾ID
+     * @return excel 鏂囦欢娴�
+     */
+    @ResponseExcel
+    @GetMapping("/export")
+    @PreAuthorize("@pms.hasPermission('business_productionPlan_export')" )
+    public List<ProductionPlan> export(ProductionPlan productionPlan,Long[] ids) {
+        return productionPlanService.list(Wrappers.lambdaQuery(productionPlan).in(ArrayUtil.isNotEmpty(ids), ProductionPlan::getId, ids));
+    }
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/SalesManController.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/SalesManController.java
new file mode 100644
index 0000000..e2a33e7
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/SalesManController.java
@@ -0,0 +1,119 @@
+package com.by4cloud.platformx.business.controller;
+
+import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.log.annotation.SysLog;
+import com.by4cloud.platformx.business.entity.SalesMan;
+import com.by4cloud.platformx.business.service.SalesManService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
+import io.swagger.v3.oas.annotations.security.SecurityRequirement;
+import org.springdoc.core.annotations.ParameterObject;
+import org.springframework.http.HttpHeaders;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 閿�鍞汉鍛�
+ *
+ * @author platformx
+ * @date 2026-05-07 10:15:31
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/salesMan" )
+@Tag(description = "salesMan" , name = "閿�鍞汉鍛樼鐞�" )
+@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
+public class SalesManController {
+
+    private final  SalesManService salesManService;
+
+    /**
+     * 鍒嗛〉鏌ヨ
+     * @param page 鍒嗛〉瀵硅薄
+     * @param salesMan 閿�鍞汉鍛�
+     * @return
+     */
+    @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+    @GetMapping("/page" )
+    @PreAuthorize("@pms.hasPermission('business_salesMan_view')" )
+    public R getSalesManPage(@ParameterObject Page page, @ParameterObject SalesMan salesMan) {
+        LambdaQueryWrapper<SalesMan> wrapper = Wrappers.lambdaQuery();
+        return R.ok(salesManService.page(page, wrapper));
+    }
+
+
+    /**
+     * 閫氳繃id鏌ヨ閿�鍞汉鍛�
+     * @param id id
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鏌ヨ" , description = "閫氳繃id鏌ヨ" )
+    @GetMapping("/{id}" )
+    @PreAuthorize("@pms.hasPermission('business_salesMan_view')" )
+    public R getById(@PathVariable("id" ) Long id) {
+        return R.ok(salesManService.getById(id));
+    }
+
+    /**
+     * 鏂板閿�鍞汉鍛�
+     * @param salesMan 閿�鍞汉鍛�
+     * @return R
+     */
+    @Operation(summary = "鏂板閿�鍞汉鍛�" , description = "鏂板閿�鍞汉鍛�" )
+    @SysLog("鏂板閿�鍞汉鍛�" )
+    @PostMapping
+    @PreAuthorize("@pms.hasPermission('business_salesMan_add')" )
+    public R save(@RequestBody SalesMan salesMan) {
+        return R.ok(salesManService.save(salesMan));
+    }
+
+    /**
+     * 淇敼閿�鍞汉鍛�
+     * @param salesMan 閿�鍞汉鍛�
+     * @return R
+     */
+    @Operation(summary = "淇敼閿�鍞汉鍛�" , description = "淇敼閿�鍞汉鍛�" )
+    @SysLog("淇敼閿�鍞汉鍛�" )
+    @PutMapping
+    @PreAuthorize("@pms.hasPermission('business_salesMan_edit')" )
+    public R updateById(@RequestBody SalesMan salesMan) {
+        return R.ok(salesManService.updateById(salesMan));
+    }
+
+    /**
+     * 閫氳繃id鍒犻櫎閿�鍞汉鍛�
+     * @param ids id鍒楄〃
+     * @return R
+     */
+    @Operation(summary = "閫氳繃id鍒犻櫎閿�鍞汉鍛�" , description = "閫氳繃id鍒犻櫎閿�鍞汉鍛�" )
+    @SysLog("閫氳繃id鍒犻櫎閿�鍞汉鍛�" )
+    @DeleteMapping
+    @PreAuthorize("@pms.hasPermission('business_salesMan_del')" )
+    public R removeById(@RequestBody Long[] ids) {
+        return R.ok(salesManService.removeBatchByIds(CollUtil.toList(ids)));
+    }
+
+
+    /**
+     * 瀵煎嚭excel 琛ㄦ牸
+     * @param salesMan 鏌ヨ鏉′欢
+   	 * @param ids 瀵煎嚭鎸囧畾ID
+     * @return excel 鏂囦欢娴�
+     */
+    @ResponseExcel
+    @GetMapping("/export")
+    @PreAuthorize("@pms.hasPermission('business_salesMan_export')" )
+    public List<SalesMan> export(SalesMan salesMan,Long[] ids) {
+        return salesManService.list(Wrappers.lambdaQuery(salesMan).in(ArrayUtil.isNotEmpty(ids), SalesMan::getId, ids));
+    }
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BusinessCustomerMapper.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BusinessCustomerMapper.java
new file mode 100644
index 0000000..5f7f386
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BusinessCustomerMapper.java
@@ -0,0 +1,11 @@
+package com.by4cloud.platformx.business.mapper;
+
+import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
+import com.by4cloud.platformx.business.entity.BusinessCustomer;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface BusinessCustomerMapper extends PlatformxBaseMapper<BusinessCustomer> {
+
+
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/ProductMapper.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/ProductMapper.java
new file mode 100644
index 0000000..4acf7b9
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/ProductMapper.java
@@ -0,0 +1,11 @@
+package com.by4cloud.platformx.business.mapper;
+
+import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
+import com.by4cloud.platformx.business.entity.Product;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ProductMapper extends PlatformxBaseMapper<Product> {
+
+
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/ProductionPlanMapper.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/ProductionPlanMapper.java
new file mode 100644
index 0000000..01e94bd
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/ProductionPlanMapper.java
@@ -0,0 +1,11 @@
+package com.by4cloud.platformx.business.mapper;
+
+import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
+import com.by4cloud.platformx.business.entity.ProductionPlan;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface ProductionPlanMapper extends PlatformxBaseMapper<ProductionPlan> {
+
+
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/SalesManMapper.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/SalesManMapper.java
new file mode 100644
index 0000000..310343d
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/SalesManMapper.java
@@ -0,0 +1,11 @@
+package com.by4cloud.platformx.business.mapper;
+
+import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
+import com.by4cloud.platformx.business.entity.SalesMan;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SalesManMapper extends PlatformxBaseMapper<SalesMan> {
+
+
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/BusinessCustomerService.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/BusinessCustomerService.java
new file mode 100644
index 0000000..e63df12
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/BusinessCustomerService.java
@@ -0,0 +1,8 @@
+package com.by4cloud.platformx.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.business.entity.BusinessCustomer;
+
+public interface BusinessCustomerService extends IService<BusinessCustomer> {
+
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ProductService.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ProductService.java
new file mode 100644
index 0000000..302b1ca
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ProductService.java
@@ -0,0 +1,8 @@
+package com.by4cloud.platformx.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.business.entity.Product;
+
+public interface ProductService extends IService<Product> {
+
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ProductionPlanService.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ProductionPlanService.java
new file mode 100644
index 0000000..1396680
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ProductionPlanService.java
@@ -0,0 +1,8 @@
+package com.by4cloud.platformx.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.business.entity.ProductionPlan;
+
+public interface ProductionPlanService extends IService<ProductionPlan> {
+
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/SalesManService.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/SalesManService.java
new file mode 100644
index 0000000..3fede74
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/SalesManService.java
@@ -0,0 +1,8 @@
+package com.by4cloud.platformx.business.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.by4cloud.platformx.business.entity.SalesMan;
+
+public interface SalesManService extends IService<SalesMan> {
+
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BusinessCustomerServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BusinessCustomerServiceImpl.java
new file mode 100644
index 0000000..55db786
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BusinessCustomerServiceImpl.java
@@ -0,0 +1,16 @@
+package com.by4cloud.platformx.business.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.business.entity.BusinessCustomer;
+import com.by4cloud.platformx.business.mapper.BusinessCustomerMapper;
+import com.by4cloud.platformx.business.service.BusinessCustomerService;
+import org.springframework.stereotype.Service;
+/**
+ * 瀹㈠晢淇℃伅
+ *
+ * @author platformx
+ * @date 2026-05-07 10:13:22
+ */
+@Service
+public class BusinessCustomerServiceImpl extends ServiceImpl<BusinessCustomerMapper, BusinessCustomer> implements BusinessCustomerService {
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductServiceImpl.java
new file mode 100644
index 0000000..b389286
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductServiceImpl.java
@@ -0,0 +1,16 @@
+package com.by4cloud.platformx.business.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.business.entity.Product;
+import com.by4cloud.platformx.business.mapper.ProductMapper;
+import com.by4cloud.platformx.business.service.ProductService;
+import org.springframework.stereotype.Service;
+/**
+ * 浜у搧淇℃伅
+ *
+ * @author platformx
+ * @date 2026-05-07 10:17:52
+ */
+@Service
+public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductionPlanServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductionPlanServiceImpl.java
new file mode 100644
index 0000000..72f27f6
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductionPlanServiceImpl.java
@@ -0,0 +1,16 @@
+package com.by4cloud.platformx.business.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.business.entity.ProductionPlan;
+import com.by4cloud.platformx.business.mapper.ProductionPlanMapper;
+import com.by4cloud.platformx.business.service.ProductionPlanService;
+import org.springframework.stereotype.Service;
+/**
+ * 鎺掍骇璁″垝
+ *
+ * @author platformx
+ * @date 2026-05-07 10:27:42
+ */
+@Service
+public class ProductionPlanServiceImpl extends ServiceImpl<ProductionPlanMapper, ProductionPlan> implements ProductionPlanService {
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/SalesManServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/SalesManServiceImpl.java
new file mode 100644
index 0000000..1ac6a23
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/SalesManServiceImpl.java
@@ -0,0 +1,16 @@
+package com.by4cloud.platformx.business.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.business.entity.SalesMan;
+import com.by4cloud.platformx.business.mapper.SalesManMapper;
+import com.by4cloud.platformx.business.service.SalesManService;
+import org.springframework.stereotype.Service;
+/**
+ * 閿�鍞汉鍛�
+ *
+ * @author platformx
+ * @date 2026-05-07 10:15:31
+ */
+@Service
+public class SalesManServiceImpl extends ServiceImpl<SalesManMapper, SalesMan> implements SalesManService {
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/resources/mapper/BusinessCustomerMapper.xml b/platformx-business-finance-biz/src/main/resources/mapper/BusinessCustomerMapper.xml
new file mode 100644
index 0000000..153557b
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/resources/mapper/BusinessCustomerMapper.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.by4cloud.platformx.business.mapper.BusinessCustomerMapper">
+
+  <resultMap id="businessCustomerMap" type="com.by4cloud.platformx.business.entity.BusinessCustomer">
+        <id property="id" column="id"/>
+        <result property="companyName" column="company_name"/>
+        <result property="creditCode" column="credit_code"/>
+        <result property="companyType" column="company_type"/>
+        <result property="legalPerson" column="legal_person"/>
+        <result property="establishDate" column="establish_date"/>
+        <result property="address" column="address"/>
+        <result property="registeredCapital" column="registered_capital"/>
+        <result property="businessScope" column="business_scope"/>
+        <result property="registerOrg" column="register_org"/>
+        <result property="issueDate" column="issue_date"/>
+        <result property="contactPhone" column="contact_phone"/>
+        <result property="email" column="email"/>
+        <result property="status" column="status"/>
+        <result property="areaId" column="area_id"/>
+        <result property="province" column="province"/>
+        <result property="city" column="city"/>
+        <result property="district" column="district"/>
+        <result property="industry" column="industry"/>
+        <result property="industryId" column="industry_id"/>
+        <result property="compId" column="comp_id"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="delFlag" column="del_flag"/>
+  </resultMap>
+</mapper>
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/resources/mapper/ProductMapper.xml b/platformx-business-finance-biz/src/main/resources/mapper/ProductMapper.xml
new file mode 100644
index 0000000..aa2b472
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/resources/mapper/ProductMapper.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.by4cloud.platformx.business.mapper.ProductMapper">
+
+  <resultMap id="productMap" type="com.by4cloud.platformx.business.entity.Product">
+        <id property="id" column="id"/>
+        <result property="categoryId" column="category_id"/>
+        <result property="productName" column="product_name"/>
+        <result property="erpCode" column="erp_code"/>
+        <result property="mainCode" column="main_code"/>
+        <result property="price" column="price"/>
+        <result property="taxRate" column="tax_rate"/>
+        <result property="compId" column="comp_id"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="delFlag" column="del_flag"/>
+  </resultMap>
+</mapper>
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/resources/mapper/ProductionPlanMapper.xml b/platformx-business-finance-biz/src/main/resources/mapper/ProductionPlanMapper.xml
new file mode 100644
index 0000000..f68d208
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/resources/mapper/ProductionPlanMapper.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.by4cloud.platformx.business.mapper.ProductionPlanMapper">
+
+  <resultMap id="productionPlanMap" type="com.by4cloud.platformx.business.entity.ProductionPlan">
+        <id property="id" column="id"/>
+        <result property="productionPlanName" column="production_plan_name"/>
+        <result property="productionPlanNo" column="production_plan_no"/>
+        <result property="contractName" column="contract_name"/>
+        <result property="contractNo" column="contract_no"/>
+        <result property="contractType" column="contract_type"/>
+        <result property="partyaid" column="partyaid"/>
+        <result property="partya" column="partya"/>
+        <result property="partybid" column="partybid"/>
+        <result property="partyb" column="partyb"/>
+        <result property="attribute" column="attribute"/>
+        <result property="supplyAttribute" column="supply_attribute"/>
+        <result property="currency" column="currency"/>
+        <result property="amount" column="amount"/>
+        <result property="signDate" column="sign_date"/>
+        <result property="approveTime" column="approve_time"/>
+        <result property="effectiveDate" column="effective_date"/>
+        <result property="expirationDate" column="expiration_date"/>
+        <result property="remark" column="remark"/>
+        <result property="status" column="status"/>
+        <result property="compId" column="comp_id"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="delFlag" column="del_flag"/>
+  </resultMap>
+</mapper>
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/resources/mapper/SalesManMapper.xml b/platformx-business-finance-biz/src/main/resources/mapper/SalesManMapper.xml
new file mode 100644
index 0000000..11d0563
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/resources/mapper/SalesManMapper.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.by4cloud.platformx.business.mapper.SalesManMapper">
+
+  <resultMap id="salesManMap" type="com.by4cloud.platformx.business.entity.SalesMan">
+        <id property="id" column="id"/>
+        <result property="customerId" column="customer_id"/>
+        <result property="salesName" column="sales_name"/>
+        <result property="salesNo" column="sales_no"/>
+        <result property="phone" column="phone"/>
+        <result property="compId" column="comp_id"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="delFlag" column="del_flag"/>
+  </resultMap>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.1