From 575672673d6738fc0f2504b5d9bc273913d690a8 Mon Sep 17 00:00:00 2001
From: fanzongzhe <285169773@qq.com>
Date: Mon, 6 May 2024 14:39:10 +0800
Subject: [PATCH 1/8] yxt-crm
---
yxt-crm-biz/README.md | 3 +
yxt-crm-biz/pom.xml | 134 ++++++++
.../java/com/yxt/crm/YxtCrmApplication.java | 22 ++
.../com/yxt/crm/apiadmin/AdminHomeRest.java | 10 +
.../yxt/crm/apiadmin/CrmCustomerOrgRest.java | 95 ++++++
.../com/yxt/crm/apiadmin/CrmCustomerRest.java | 105 +++++++
.../yxt/crm/biz/crmcustomer/CrmCustomer.java | 72 +++++
.../biz/crmcustomer/CrmCustomerDetailsVo.java | 73 +++++
.../crm/biz/crmcustomer/CrmCustomerDto.java | 73 +++++
.../biz/crmcustomer/CrmCustomerMapper.java | 68 ++++
.../crm/biz/crmcustomer/CrmCustomerMapper.xml | 34 ++
.../crm/biz/crmcustomer/CrmCustomerQuery.java | 71 +++++
.../biz/crmcustomer/CrmCustomerService.java | 291 ++++++++++++++++++
.../crm/biz/crmcustomer/CrmCustomerVo.java | 73 +++++
.../crm/biz/crmcustomer/CustomerVehQuery.java | 26 ++
.../crm/biz/crmcustomer/CustomerVehVo.java | 31 ++
.../biz/crmcustomerorg/CrmCustomerOrg.java | 72 +++++
.../CrmCustomerOrgDetailsVo.java | 73 +++++
.../biz/crmcustomerorg/CrmCustomerOrgDto.java | 73 +++++
.../crmcustomerorg/CrmCustomerOrgMapper.java | 64 ++++
.../crmcustomerorg/CrmCustomerOrgMapper.xml | 13 +
.../crmcustomerorg/CrmCustomerOrgQuery.java | 71 +++++
.../crmcustomerorg/CrmCustomerOrgService.java | 104 +++++++
.../biz/crmcustomerorg/CrmCustomerOrgVo.java | 73 +++++
.../java/com/yxt/crm/biz/package-info.java | 4 +
.../com/yxt/crm/config/SaTokenConfigure.java | 114 +++++++
.../crm/config/SaTokenGloableException.java | 67 ++++
.../java/com/yxt/crm/config/package-info.java | 4 +
.../ascustomervehicle/AsCustomerCrmVehVo.java | 26 ++
.../AsCustomerVehicleFeign.java | 27 ++
.../AsCustomerVehicleFeignFallback.java | 54 ++++
.../java/com/yxt/crm/feign/package-info.java | 4 +
.../portal/privilege/PrivilegeQuery.java | 22 ++
.../sysorganization/SysOrganizationFeign.java | 35 +++
.../sysorganization/SysOrganizationVo.java | 88 ++++++
.../portal/sysstafforg/SysStaffOrgFeign.java | 25 ++
.../feign/portal/sysuser/SysUserFeign.java | 22 ++
.../src/main/resources/application-devv.yml | 30 ++
.../src/main/resources/application-pro.yml | 27 ++
.../src/main/resources/application-test.yml | 31 ++
.../src/main/resources/application.yml | 50 +++
.../src/main/resources/logback-spring.xml | 50 +++
.../com/yxt/crm/YxtCrm11ApplicationTests.java | 13 +
43 files changed, 2417 insertions(+)
create mode 100644 yxt-crm-biz/README.md
create mode 100644 yxt-crm-biz/pom.xml
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/YxtCrmApplication.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/AdminHomeRest.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerOrgRest.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDetailsVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrg.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDetailsVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDto.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.xml
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgService.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/biz/package-info.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenConfigure.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenGloableException.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/config/package-info.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerCrmVehVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeignFallback.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/package-info.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/privilege/PrivilegeQuery.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationVo.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysstafforg/SysStaffOrgFeign.java
create mode 100644 yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/SysUserFeign.java
create mode 100644 yxt-crm-biz/src/main/resources/application-devv.yml
create mode 100644 yxt-crm-biz/src/main/resources/application-pro.yml
create mode 100644 yxt-crm-biz/src/main/resources/application-test.yml
create mode 100644 yxt-crm-biz/src/main/resources/application.yml
create mode 100644 yxt-crm-biz/src/main/resources/logback-spring.xml
create mode 100644 yxt-crm-biz/src/test/java/com/yxt/crm/YxtCrm11ApplicationTests.java
diff --git a/yxt-crm-biz/README.md b/yxt-crm-biz/README.md
new file mode 100644
index 0000000000..26ee59c281
--- /dev/null
+++ b/yxt-crm-biz/README.md
@@ -0,0 +1,3 @@
+yxt-crm-biz
+
+客户管理后台程序及接口
\ No newline at end of file
diff --git a/yxt-crm-biz/pom.xml b/yxt-crm-biz/pom.xml
new file mode 100644
index 0000000000..0e5badb0f9
--- /dev/null
+++ b/yxt-crm-biz/pom.xml
@@ -0,0 +1,134 @@
+
+
+
+
+ com.yxt
+ yxt-parent
+ 0.0.1
+
+
+ 4.0.0
+
+ yxt-crm-biz
+ com.yxt.crm
+ 2.0.1
+
+
+
+ com.yxt
+ yxt-common-base
+ 0.0.1
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+
+ mysql
+ mysql-connector-java
+ runtime
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+
+
+ com.baomidou
+ mybatis-plus-annotation
+
+
+ junit
+ junit
+ compile
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.26
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+ cn.dev33
+ sa-token-spring-boot-starter
+ 1.37.0
+
+
+ cn.hutool
+ hutool-all
+ 5.8.23
+
+
+ cn.hutool
+ hutool-core
+ 5.8.23
+
+
+ com.google.zxing
+ core
+ 3.5.2
+
+
+ com.alibaba
+ easyexcel
+ 3.3.2
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.5.6
+
+
+
+ repackage
+
+
+
+
+
+
+
+ src/main/java
+
+ **/*Mapper.xml
+
+
+
+ src/main/resources
+
+ **/*.*
+
+ false
+
+
+
+
+
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/YxtCrmApplication.java b/yxt-crm-biz/src/main/java/com/yxt/crm/YxtCrmApplication.java
new file mode 100644
index 0000000000..a921a4fcd3
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/YxtCrmApplication.java
@@ -0,0 +1,22 @@
+package com.yxt.crm;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@SpringBootApplication(scanBasePackages = {
+ "com.yxt.crm.config",
+ "com.yxt.common.base.config",
+ "com.yxt.crm"
+})
+// 启用自带定时任务
+@EnableScheduling
+@EnableFeignClients(basePackages = {})
+public class YxtCrmApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(YxtCrmApplication.class, args);
+ }
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/AdminHomeRest.java b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/AdminHomeRest.java
new file mode 100644
index 0000000000..aa2508eb8e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/AdminHomeRest.java
@@ -0,0 +1,10 @@
+package com.yxt.crm.apiadmin;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController("com.yxt.crm.apiadmin.AdminHomeRest")
+@RequestMapping("/apiadmin/home")
+public class AdminHomeRest {
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerOrgRest.java b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerOrgRest.java
new file mode 100644
index 0000000000..5b53621cd4
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerOrgRest.java
@@ -0,0 +1,95 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.apiadmin;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.crm.biz.crmcustomerorg.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgFeignFallback.java
+ * Class: com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgRest
+ * Description: 客户单位.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "客户单位")
+@RestController
+@RequestMapping("/apiadmin/v1/crmcustomerorg")
+public class CrmCustomerOrgRest {
+
+ @Autowired
+ private CrmCustomerOrgService crmCustomerOrgService;
+
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = crmCustomerOrgService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody CrmCustomerOrgDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ crmCustomerOrgService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ crmCustomerOrgService.delBySids(sids);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ CrmCustomerOrgDetailsVo vo = crmCustomerOrgService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java
new file mode 100644
index 0000000000..f5aa1d3486
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/apiadmin/CrmCustomerRest.java
@@ -0,0 +1,105 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.apiadmin;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.crm.biz.crmcustomer.*;
+import com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgQuery;
+import com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerFeignFallback.java
+ * Class: com.yxt.crm.biz.crmcustomer.CrmCustomerRest
+ * Description: 客户.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "客户")
+@RestController
+@RequestMapping("/apiadmin/v1/crmcustomer")
+public class CrmCustomerRest {
+
+ @Autowired
+ private CrmCustomerService crmCustomerService;
+
+
+ @ApiOperation("根据条件分页查询客户信息的列表")
+ @PostMapping("/customerListPage")
+ public ResultBean> customerListPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = crmCustomerService.customerListPage(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq) {
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = crmCustomerService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody CrmCustomerDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ crmCustomerService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids) {
+ ResultBean rb = ResultBean.fireFail();
+ crmCustomerService.delBySids(sids);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ CrmCustomerDetailsVo vo = crmCustomerService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java
new file mode 100644
index 0000000000..202dc5a668
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomer.java
@@ -0,0 +1,72 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomer;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomer.java
+ * Class: com.yxt.crm.api.crmcustomer.CrmCustomer
+ * Description: 客户.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户", description = "客户")
+@TableName("crm_customer")
+public class CrmCustomer extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("客户编码")
+ private String customerNo; // 客户编码
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("客户类型")
+ private String customerTypeKey; // 客户类型
+ @ApiModelProperty("客户类型(个人、企业)")
+ private String customerType; // 客户类型(个人、企业)
+ @ApiModelProperty("所在单位sid")
+ private String orgSid; // 所在单位sid
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDetailsVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDetailsVo.java
new file mode 100644
index 0000000000..af0868f53e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDetailsVo.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomer;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerVo.java
+ * Class: com.yxt.crm.api.crmcustomer.CrmCustomerVo
+ * Description: 客户 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户 视图数据详情", description = "客户 视图数据详情")
+public class CrmCustomerDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("客户编码")
+ private String customerNo; // 客户编码
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("客户类型")
+ private String customerTypeKey; // 客户类型
+ @ApiModelProperty("客户类型(个人、企业)")
+ private String customerType; // 客户类型(个人、企业)
+ @ApiModelProperty("所在单位sid")
+ private String orgSid; // 所在单位sid
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java
new file mode 100644
index 0000000000..7cab759339
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerDto.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomer;
+
+
+import com.yxt.common.core.dto.Dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerDto.java
+ * Class: com.yxt.crm.api.crmcustomer.CrmCustomerDto
+ * Description: 客户 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户 数据传输对象", description = "客户 数据传输对象")
+public class CrmCustomerDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("客户编码")
+ private String customerNo; // 客户编码
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("客户类型")
+ private String customerTypeKey; // 客户类型
+ @ApiModelProperty("客户类型(个人、企业)")
+ private String customerType; // 客户类型(个人、企业)
+ @ApiModelProperty("所在单位sid")
+ private String orgSid; // 所在单位sid
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java
new file mode 100644
index 0000000000..f40f42b8d4
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.java
@@ -0,0 +1,68 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomer;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerMapper.java
+ * Class: com.yxt.crm.biz.crmcustomer.CrmCustomerMapper
+ * Description: 客户.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface CrmCustomerMapper extends BaseMapper {
+
+ //@Update("update crm_customer set name=#{msg} where id=#{id}")
+ //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from crm_customer")
+ List selectListVo();
+
+ List customerListPage(@Param(Constants.WRAPPER) QueryWrapper qw);
+
+ List customerList();
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml
new file mode 100644
index 0000000000..f79bee4934
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerMapper.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerQuery.java
new file mode 100644
index 0000000000..16c7e7dac1
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerQuery.java
@@ -0,0 +1,71 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomer;
+
+
+import com.yxt.common.core.query.Query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerQuery.java
+ * Class: com.yxt.crm.api.crmcustomer.CrmCustomerQuery
+ * Description: 客户 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户 查询条件", description = "客户 查询条件")
+public class CrmCustomerQuery implements Query {
+
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("客户编码")
+ private String customerNo; // 客户编码
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("客户类型")
+ private String customerTypeKey; // 客户类型
+ @ApiModelProperty("客户类型(个人、企业)")
+ private String customerType; // 客户类型(个人、企业)
+ @ApiModelProperty("所在单位sid")
+ private String orgSid; // 所在单位sid
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java
new file mode 100644
index 0000000000..6a4144df8f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerService.java
@@ -0,0 +1,291 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomer;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerCrmVehVo;
+import com.yxt.crm.feign.as.ascustomervehicle.AsCustomerVehicleFeign;
+import com.yxt.crm.feign.portal.sysstafforg.SysStaffOrgFeign;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerService.java
+ * Class: com.yxt.crm.biz.crmcustomer.CrmCustomerService
+ * Description: 客户 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class CrmCustomerService extends MybatisBaseService {
+
+ @Resource
+ private AsCustomerVehicleFeign asCustomerVehicleFeign;
+ @Autowired
+ private SysStaffOrgFeign sysStaffOrgFeign;
+
+ private QueryWrapper createQueryWrapper(CrmCustomerQuery query) {
+ // todo: 这里根据具体业务调整查询条件
+ // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
+ QueryWrapper qw = new QueryWrapper<>();
+ return qw;
+ }
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ CrmCustomerQuery query = pq.getParams();
+ QueryWrapper qw = createQueryWrapper(query);
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public void saveOrUpdateDto(CrmCustomerDto dto) {
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public void insertByDto(CrmCustomerDto dto) {
+ CrmCustomer entity = new CrmCustomer();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(CrmCustomerDto dto) {
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ CrmCustomer entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public CrmCustomerDetailsVo fetchDetailsVoBySid(String sid) {
+ CrmCustomer entity = fetchBySid(sid);
+ CrmCustomerDetailsVo vo = new CrmCustomerDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public PagerVo customerListPage(PagerQuery pq) {
+ PagerVo pagerVo = new PagerVo<>();
+ CustomerVehQuery pagerQuery = pq.getParams();
+ List nameList = new ArrayList<>();
+ List mobileList = new ArrayList<>();
+ List orgNameList = new ArrayList<>();
+ List vinList = new ArrayList<>();
+ List vehVos = asCustomerVehicleFeign.listCustomerVeh().getData();
+ if (!vehVos.isEmpty()) {
+ List customerVos = baseMapper.customerList();
+ customerVos.removeAll(Collections.singleton(null));
+ if (!customerVos.isEmpty()) {
+ List result = vehVos.stream()
+ .map(v -> {
+ Optional vehVo = customerVos.stream()
+ .filter(c -> c.getSid().equals(v.getCustomerSid()))
+ .findFirst();
+ if (vehVo.isPresent()) {
+ CustomerVehVo customerVehVo = new CustomerVehVo();
+ if (StringUtils.isNotBlank(vehVo.get().getMobile())) {
+ customerVehVo.setMobile(vehVo.get().getMobile());
+ } else {
+ customerVehVo.setMobile("");
+ }
+ if (StringUtils.isNotBlank(vehVo.get().getName())) {
+ customerVehVo.setName(vehVo.get().getName());
+ } else {
+ customerVehVo.setName("");
+ }
+ if (StringUtils.isNotBlank(v.getVehMark())) {
+ customerVehVo.setVehMark(v.getVehMark());
+ } else {
+ customerVehVo.setVehMark("");
+ }
+ if (StringUtils.isNotBlank(vehVo.get().getSid())) {
+ customerVehVo.setSid(vehVo.get().getSid());
+ } else {
+ customerVehVo.setSid("");
+ }
+ if (StringUtils.isNotBlank(vehVo.get().getOrgName())) {
+ customerVehVo.setOrgName(vehVo.get().getOrgName());
+ } else {
+ customerVehVo.setOrgName("");
+ }
+ if (StringUtils.isNotBlank(vehVo.get().getUseOrgSid())) {
+ customerVehVo.setUseOrgSid(vehVo.get().getUseOrgSid());
+ } else {
+ customerVehVo.setUseOrgSid("");
+ }
+ if (StringUtils.isNotBlank(v.getVinNo())) {
+ customerVehVo.setVinNo(v.getVinNo());
+ } else {
+ customerVehVo.setVinNo("");
+ }
+ if (StringUtils.isNotBlank(v.getVehModel())) {
+ customerVehVo.setVehModel(v.getVehModel());
+ } else {
+ customerVehVo.setVehModel("");
+ }
+ if (StringUtils.isNotBlank(v.getVehModelSid())) {
+ customerVehVo.setVehModelSid(v.getVehModelSid());
+ } else {
+ customerVehVo.setVehModelSid("");
+ }
+ return customerVehVo;
+ } else {
+ CustomerVehVo customerVehVo = new CustomerVehVo();
+ if (StringUtils.isNotBlank(v.getVehMark())) {
+ customerVehVo.setVehMark(v.getVehMark());
+ } else {
+ customerVehVo.setVehMark("");
+ }
+ if (StringUtils.isNotBlank(v.getVinNo())) {
+ customerVehVo.setVinNo(v.getVinNo());
+ } else {
+ customerVehVo.setVinNo("");
+ }
+ if (StringUtils.isNotBlank(v.getVehModel())) {
+ customerVehVo.setVehModel(v.getVehModel());
+ } else {
+ customerVehVo.setVehModel("");
+ }
+ if (StringUtils.isNotBlank(v.getVehModelSid())) {
+ customerVehVo.setVehModelSid(v.getVehModelSid());
+ } else {
+ customerVehVo.setVehModelSid("");
+ }
+ customerVehVo.setMobile("");
+ customerVehVo.setOrgName("");
+ customerVehVo.setSid("");
+ customerVehVo.setName("");
+ customerVehVo.setUseOrgSid("");
+ return customerVehVo;
+ }
+ })
+ .collect(Collectors.toList());
+
+ if (StringUtils.isNotBlank(pagerQuery.getOrgPath())) {
+ String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(pagerQuery.getOrgPath()).getData();
+ result = result.stream()
+ .filter(r -> r.getUseOrgSid().equals(useOrgSid))
+ .collect(Collectors.toList());
+ }
+ if (!result.isEmpty()) {
+ if (StringUtils.isNotBlank(pagerQuery.getVehMark())) {
+ result = result.stream().filter(r -> r.getVehMark().contains(pagerQuery.getVehMark()))
+ .collect(Collectors.toList());
+ }
+ if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
+ vinList = result.stream().filter(r -> r.getVinNo().contains(pagerQuery.getVinNo()))
+ .collect(Collectors.toList());
+ result = result.stream().filter(vinList::contains).collect(Collectors.toList());
+ }
+ if (StringUtils.isNotBlank(pagerQuery.getName())) {
+ nameList = result.stream().filter(r -> r.getName().contains(pagerQuery.getName()))
+ .collect(Collectors.toList());
+ result = result.stream().filter(nameList::contains).collect(Collectors.toList());
+ }
+ if (StringUtils.isNotBlank(pagerQuery.getOrgName())) {
+ orgNameList = result.stream().filter(r -> r.getOrgName().contains(pagerQuery.getOrgName()))
+ .collect(Collectors.toList());
+ result = result.stream().filter(orgNameList::contains).collect(Collectors.toList());
+ }
+ if (StringUtils.isNotBlank(pagerQuery.getMobile())) {
+ mobileList = result.stream().filter(r -> r.getMobile().contains(pagerQuery.getMobile()))
+ .collect(Collectors.toList());
+ result = result.stream().filter(mobileList::contains).collect(Collectors.toList());
+ }
+ }
+ if (!result.isEmpty()) {
+ List lastList = this.pageBySubList(result, (int) pq.getSize(), (int) pq.getCurrent());
+ pagerVo.setRecords(lastList);
+ pagerVo.setTotal(result.size());
+ pagerVo.setCurrent(pq.getCurrent());
+ pagerVo.setSize(pq.getSize());
+ if (result.size() % pq.getSize() != 0L) {
+ pagerVo.setPages((result.size() / pq.getSize()) + 1);
+ } else {
+ pagerVo.setPages(result.size() / pq.getSize());
+ }
+ pagerVo.setMsg("当前共查询到" + result.size() + "条记录");
+ }
+ }
+ }
+ return pagerVo;
+ }
+
+ /**
+ * 分页方法
+ */
+ public List pageBySubList(List list, int pagesize, int currentPage) {
+ int totalcount = list.size();
+ int pagecount = 0;
+ List subList;
+ int m = totalcount % pagesize;
+ if (m > 0) {
+ pagecount = totalcount / pagesize + 1;
+ } else {
+ pagecount = totalcount / pagesize;
+ }
+ if (m == 0) {
+ subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
+ } else {
+ if (currentPage == pagecount) {
+ subList = list.subList((currentPage - 1) * pagesize, totalcount);
+ } else {
+ subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
+ }
+ }
+ return subList;
+ }
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java
new file mode 100644
index 0000000000..863ddda64e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CrmCustomerVo.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomer;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerVo.java
+ * Class: com.yxt.crm.api.crmcustomer.CrmCustomerVo
+ * Description: 客户 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户 视图数据对象", description = "客户 视图数据对象")
+public class CrmCustomerVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("客户编码")
+ private String customerNo; // 客户编码
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("客户类型")
+ private String customerTypeKey; // 客户类型
+ @ApiModelProperty("客户类型(个人、企业)")
+ private String customerType; // 客户类型(个人、企业)
+ @ApiModelProperty("所在单位sid")
+ private String orgSid; // 所在单位sid
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehQuery.java
new file mode 100644
index 0000000000..ffa98fef0e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehQuery.java
@@ -0,0 +1,26 @@
+package com.yxt.crm.biz.crmcustomer;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/3/19 9:56
+ */
+@Data
+public class CustomerVehQuery implements Query {
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("车辆牌照")
+ private String vehMark; // 车辆牌照
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ private String vinNo; //车架号
+ @ApiModelProperty("组织全路径")
+ private String orgPath; // 组织全路径
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehVo.java
new file mode 100644
index 0000000000..be7cef4943
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomer/CustomerVehVo.java
@@ -0,0 +1,31 @@
+package com.yxt.crm.biz.crmcustomer;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/3/19 9:57
+ */
+@Data
+public class CustomerVehVo implements Vo {
+
+ private String sid;
+ @ApiModelProperty("客户名称")
+ private String name; // 客户名称
+ @ApiModelProperty("车辆牌照")
+ private String vehMark; // 车辆牌照
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("所在单位")
+ private String orgName; // 所在单位
+ @ApiModelProperty("车型sid")
+ private String vehModelSid;
+ @ApiModelProperty("车型")
+ private String vehModel;
+ @ApiModelProperty("车架号")
+ private String vinNo;
+ private String useOrgSid;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrg.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrg.java
new file mode 100644
index 0000000000..14d5b2825c
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrg.java
@@ -0,0 +1,72 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrg.java
+ * Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrg
+ * Description: 客户单位.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户单位", description = "客户单位")
+@TableName("crm_customer_org")
+public class CrmCustomerOrg extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("单位名称")
+ private String orgName; // 单位名称
+ @ApiModelProperty("单位编码(拼音缩写)")
+ private String orgCode; // 单位编码(拼音缩写)
+ @ApiModelProperty("联系人")
+ private String contacts; // 联系人
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("地址")
+ private String address; // 地址
+ @ApiModelProperty("信用额度")
+ private Integer creditLimit; // 信用额度
+ @ApiModelProperty("排序号")
+ private Integer sortNo; // 排序号
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDetailsVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDetailsVo.java
new file mode 100644
index 0000000000..639910271f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDetailsVo.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgVo.java
+ * Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgVo
+ * Description: 客户单位 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户单位 视图数据详情", description = "客户单位 视图数据详情")
+public class CrmCustomerOrgDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("单位名称")
+ private String orgName; // 单位名称
+ @ApiModelProperty("单位编码(拼音缩写)")
+ private String orgCode; // 单位编码(拼音缩写)
+ @ApiModelProperty("联系人")
+ private String contacts; // 联系人
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("地址")
+ private String address; // 地址
+ @ApiModelProperty("信用额度")
+ private Integer creditLimit; // 信用额度
+ @ApiModelProperty("排序号")
+ private Integer sortNo; // 排序号
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDto.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDto.java
new file mode 100644
index 0000000000..d387adffdb
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgDto.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+
+import com.yxt.common.core.dto.Dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgDto.java
+ * Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgDto
+ * Description: 客户单位 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户单位 数据传输对象", description = "客户单位 数据传输对象")
+public class CrmCustomerOrgDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("单位名称")
+ private String orgName; // 单位名称
+ @ApiModelProperty("单位编码(拼音缩写)")
+ private String orgCode; // 单位编码(拼音缩写)
+ @ApiModelProperty("联系人")
+ private String contacts; // 联系人
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("地址")
+ private String address; // 地址
+ @ApiModelProperty("信用额度")
+ private Integer creditLimit; // 信用额度
+ @ApiModelProperty("排序号")
+ private Integer sortNo; // 排序号
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.java
new file mode 100644
index 0000000000..944a8ee9a9
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.java
@@ -0,0 +1,64 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgMapper.java
+ * Class: com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgMapper
+ * Description: 客户单位.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface CrmCustomerOrgMapper extends BaseMapper {
+
+ //@Update("update crm_customer_org set name=#{msg} where id=#{id}")
+ //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from crm_customer_org")
+ List selectListVo();
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.xml b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.xml
new file mode 100644
index 0000000000..5a3b598079
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgMapper.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgQuery.java
new file mode 100644
index 0000000000..6be3f4b9ae
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgQuery.java
@@ -0,0 +1,71 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+
+import com.yxt.common.core.query.Query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgQuery.java
+ * Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgQuery
+ * Description: 客户单位 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户单位 查询条件", description = "客户单位 查询条件")
+public class CrmCustomerOrgQuery implements Query {
+
+ @ApiModelProperty("单位名称")
+ private String orgName; // 单位名称
+ @ApiModelProperty("单位编码(拼音缩写)")
+ private String orgCode; // 单位编码(拼音缩写)
+ @ApiModelProperty("联系人")
+ private String contacts; // 联系人
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("地址")
+ private String address; // 地址
+ @ApiModelProperty("信用额度")
+ private Integer creditLimit; // 信用额度
+ @ApiModelProperty("排序号")
+ private Integer sortNo; // 排序号
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgService.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgService.java
new file mode 100644
index 0000000000..a5d020ab2f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgService.java
@@ -0,0 +1,104 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgService.java
+ * Class: com.yxt.crm.biz.crmcustomerorg.CrmCustomerOrgService
+ * Description: 客户单位 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class CrmCustomerOrgService extends MybatisBaseService {
+ private QueryWrapper createQueryWrapper(CrmCustomerOrgQuery query) {
+ // todo: 这里根据具体业务调整查询条件
+ // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
+ QueryWrapper qw = new QueryWrapper<>();
+ return qw;
+ }
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ CrmCustomerOrgQuery query = pq.getParams();
+ QueryWrapper qw = createQueryWrapper(query);
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public void saveOrUpdateDto(CrmCustomerOrgDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public void insertByDto(CrmCustomerOrgDto dto){
+ CrmCustomerOrg entity = new CrmCustomerOrg();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(CrmCustomerOrgDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ CrmCustomerOrg entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public CrmCustomerOrgDetailsVo fetchDetailsVoBySid(String sid){
+ CrmCustomerOrg entity = fetchBySid(sid);
+ CrmCustomerOrgDetailsVo vo = new CrmCustomerOrgDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgVo.java
new file mode 100644
index 0000000000..d530d648c2
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/crmcustomerorg/CrmCustomerOrgVo.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.biz.crmcustomerorg;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: crm(crm)
+ * File: CrmCustomerOrgVo.java
+ * Class: com.yxt.crm.api.crmcustomerorg.CrmCustomerOrgVo
+ * Description: 客户单位 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-15 17:06:09
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "客户单位 视图数据对象", description = "客户单位 视图数据对象")
+public class CrmCustomerOrgVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("单位名称")
+ private String orgName; // 单位名称
+ @ApiModelProperty("单位编码(拼音缩写)")
+ private String orgCode; // 单位编码(拼音缩写)
+ @ApiModelProperty("联系人")
+ private String contacts; // 联系人
+ @ApiModelProperty("联系电话")
+ private String mobile; // 联系电话
+ @ApiModelProperty("地址")
+ private String address; // 地址
+ @ApiModelProperty("信用额度")
+ private Integer creditLimit; // 信用额度
+ @ApiModelProperty("排序号")
+ private Integer sortNo; // 排序号
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/biz/package-info.java b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/package-info.java
new file mode 100644
index 0000000000..09ea0f4f4f
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/biz/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 宇信通 仓库管理 项目后台逻辑和接口
+ */
+package com.yxt.crm.biz;
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenConfigure.java b/yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenConfigure.java
new file mode 100644
index 0000000000..b6565c3e31
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenConfigure.java
@@ -0,0 +1,114 @@
+package com.yxt.crm.config;//package com.yxt.wms.config;
+//
+//import cn.dev33.satoken.interceptor.SaInterceptor;
+//import cn.dev33.satoken.stp.StpUtil;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+//
+///**
+// * @author wangpengfei
+// * @date 2023/5/16 14:43
+// */
+//@Configuration
+//public class SaTokenConfigure implements WebMvcConfigurer {
+// @Value("${image.url.prefix:http://127.0.0.1:8080/upload/}")
+// private String urlPrefix;
+// // 注册 Sa-Token 拦截器
+// @Override
+// public void addInterceptors(InterceptorRegistry registry) {
+// // 注册 Sa-Token 拦截器,校验规则为 StpUtil.checkLogin() 登录校验。
+//
+// registry.addInterceptor(new SaInterceptor(handler -> StpUtil.checkLogin()))
+// .addPathPatterns("/**")
+// .excludePathPatterns("/sysuser/doLogin")
+// .excludePathPatterns("/lpkgiftcard/gifCardByCustomerSid")
+// .excludePathPatterns("/empcardgift/gifCardByCustomerSid")
+// .excludePathPatterns("/empcard/getEmpCardByCustomerSid")
+// .excludePathPatterns("/lpkgiftcard/getGifCardBySid/**")
+// .excludePathPatterns("/empcardgift/getGifCardBySid/**")
+// .excludePathPatterns("/empcard/getEmpCardBySid/**")
+// .excludePathPatterns("/lpkgiftcard/isSaturAndSun/**")
+// .excludePathPatterns("/empcardgift/isSaturAndSun/**")
+// .excludePathPatterns("/empcard/isSaturAndSun/**")
+// .excludePathPatterns("/lpkgiftcard/getReservationBySid/**")
+// .excludePathPatterns("/lpksreservoorder/submission")
+// .excludePathPatterns("/lpksreservoorder/exportExcelByStore")
+// .excludePathPatterns("/empsreservoorder/createNewUserBagOrder")
+// .excludePathPatterns("/lpksreservoorders/submission")
+// .excludePathPatterns("/empsreservoorder/ordersList")
+// .excludePathPatterns("/empsreservoorder/submission")
+// .excludePathPatterns("/empsreservoorder/submissionEmp")
+// .excludePathPatterns("/empcardgift/generateCard")
+// .excludePathPatterns("/lpkgiftcard/bindCard")
+// .excludePathPatterns("/empcard/bindCard")
+// .excludePathPatterns("/lpksreservoorder/orderByCardSid/**")
+// .excludePathPatterns("/lpksreservoorder/orderListByUserSid/**")
+// .excludePathPatterns("/lpksreservoorder/orderDetails/**")
+// .excludePathPatterns("/newcomerrecorecord/recommendNewUsers")
+// .excludePathPatterns("/newcomerrecorecord/recommendedAssistance")
+// .excludePathPatterns("/newcomerrecorecord/recordList/**")
+// .excludePathPatterns("/transferrecords/transferRecordsList")
+// .excludePathPatterns("/empsreservoorder/createVegeOrder")
+// .excludePathPatterns("/empsreservoorder/OrderDetails/**")
+// .excludePathPatterns("/empsreservoorder/changePayState/**")
+// .excludePathPatterns("/lpkgoods/goodsDetails/**")
+// .excludePathPatterns("/lpkstore/getAllStoreByQuery")
+// .excludePathPatterns("/vegetablecellar/receiveTransferGoods")
+// .excludePathPatterns("/transferrecords/submission")
+// .excludePathPatterns("/lpkgiftcard/getCardByBank")
+// .excludePathPatterns("/empcard/getEmpCard")
+// .excludePathPatterns("/empcardgift/shareEmpCard/**")
+// .excludePathPatterns("/empcardgift/generateEmpCardGift")
+// .excludePathPatterns("/empcardgift/generateEmpCard")
+// .excludePathPatterns("/lpkcustomer/wxSilentLogin")
+// .excludePathPatterns("/lpkgiftcard/gifCardsByCustomerSid")
+// .excludePathPatterns("/lpkgoods/getAllGiftBag")
+// .excludePathPatterns("/appletgiftbag/getGiftBagBySid/**")
+// .excludePathPatterns("/appletgiftbag/appletGiftBagList")
+// .excludePathPatterns("/lpkgiftcard/cardShareDetail/**")
+// .excludePathPatterns("/lpkgiftcard/cardShareGoodsDetail/**")
+// .excludePathPatterns("/empcardgift/generateTopEmpCard/**")
+// .excludePathPatterns("/empsreservoorder/createOrder")
+// .excludePathPatterns("/appletgiftbag/recommendRecord/**")
+// //2024-01-17
+// .excludePathPatterns("/lpkgiftcard/getAllGoodsType/**")
+// .excludePathPatterns("/appletnotice/getNotice")
+// .excludePathPatterns("/empsreservoorder/getPreOrder")
+// .excludePathPatterns("/lpkgoods/getAllGoodsType/**")
+// .excludePathPatterns("/transferrecords/submission")
+// .excludePathPatterns("/vegetablecellar/receiveTransferGoods")
+// .excludePathPatterns("/customerstore/isSaturAndSun")
+// .excludePathPatterns("/lpkgiftcard/getGoodsByType/**")
+// .excludePathPatterns("/lpkgoods/getGoodsTypeAndBrand")
+// .excludePathPatterns("/lpkgoods/getGoodsByType")
+// .excludePathPatterns("/lpksreservoorders/orderListByUserSid")
+// .excludePathPatterns("/appletgiftbag/newUserQuota")
+// .excludePathPatterns("/shoppingcart/addShoppingCart")
+// .excludePathPatterns("/shoppingcart/getGoodsWeight")
+// .excludePathPatterns("/shoppingcart/shoppingCartList")
+// .excludePathPatterns("/shoppingcart/delShoppingCart/**")
+// .excludePathPatterns("/lpkgoods/vegeCellarTypeList")
+// .excludePathPatterns("/vegetablecellar/addGoods/**")
+// .excludePathPatterns("/lpkgoods/vegeCellarList")
+// .excludePathPatterns("/customerstore/getStoreBySid/**")
+// .excludePathPatterns("/lpkgiftcard/bindAllCard")
+// .excludePathPatterns("/lpkcustomer/customerInfo/**")
+// .excludePathPatterns("/vegetablecellar/saveGoods")
+// .excludePathPatterns("/transferrecords/getTransferByCode/**")
+// //2024-01-18
+// .excludePathPatterns("/lpkcustomer/getCustomerInfo/**")
+// .excludePathPatterns("/lpkcustomer/modifyUserNickName")
+// .excludePathPatterns("/lpkcustomer/modifyHeadImage")
+// .excludePathPatterns("/upload/**")
+// .excludePathPatterns("/lpkcustomer/getPhoneNumber")
+// .excludePathPatterns("/lpkcustomer/getRealInfo/**")
+// .excludePathPatterns("/lpkcustomer/saveRealInfo")
+// .excludePathPatterns("/pms/PmsBrand/getList")
+// .excludePathPatterns("/LpkCustomerBank/getBankList")
+// .excludePathPatterns("/lpkcustomer/updateCustomerBank")
+// .excludePathPatterns("//wxapi/**")
+// ;
+// }
+//}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenGloableException.java b/yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenGloableException.java
new file mode 100644
index 0000000000..5bec3ce79d
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/config/SaTokenGloableException.java
@@ -0,0 +1,67 @@
+package com.yxt.crm.config;
+
+import com.yxt.common.base.config.handler.GlobalExceptionHandler;
+import com.yxt.common.core.result.ResultBean;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.validation.BindException;
+import org.springframework.validation.ObjectError;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.servlet.NoHandlerFoundException;
+
+/**
+ * @author dimengzhe
+ * @date 2020/9/12 3:23
+ * @description 全局异常处理
+ */
+@RestControllerAdvice
+public class SaTokenGloableException extends GlobalExceptionHandler {
+
+ private static final Logger L = LoggerFactory.getLogger(GlobalExceptionHandler.class);
+
+ public SaTokenGloableException() {
+ }
+ @ExceptionHandler({Exception.class})
+ public ResultBean handleException(Exception e) {
+ if(null !=e.getMessage()){
+ if(e.getMessage().contains("token 无效:")){
+ L.error(e.getMessage(), e);
+ return ResultBean.fireFail().setCode("5000").setMsg("系统异常::" + e.getMessage());
+ }
+ if(e.getMessage().contains("未能读取到有效 token")){
+// L.error(e.getMessage(), e);
+ return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage());
+ }
+ }
+
+ L.error(e.getMessage(), e);
+ return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage());
+ }
+ @ExceptionHandler({NoHandlerFoundException.class})
+ public ResultBean handlerNoFoundException(Exception e) {
+ L.error(e.getMessage(), e);
+ return ResultBean.fireFail().setCode("404").setMsg("路径不存在,请检查路径是否正确");
+ }
+
+// @ExceptionHandler({Exception.class})
+// public ResultBean handleException(Exception e) {
+// L.error(e.getMessage(), e);
+// return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage());
+// }
+
+ @ExceptionHandler({BindException.class})
+ public ResultBean validatedBindException(BindException e) {
+ L.error(e.getMessage(), e);
+ String message = ((ObjectError)e.getAllErrors().get(0)).getDefaultMessage();
+ return ResultBean.fireFail().setCode("405").setMsg(message);
+ }
+
+ @ExceptionHandler({MethodArgumentNotValidException.class})
+ public ResultBean validExceptionHandler(MethodArgumentNotValidException e) {
+ L.error(e.getMessage(), e);
+ String message = e.getBindingResult().getFieldError().getDefaultMessage();
+ return ResultBean.fireFail().setCode("405").setMsg(message);
+ }
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/config/package-info.java b/yxt-crm-biz/src/main/java/com/yxt/crm/config/package-info.java
new file mode 100644
index 0000000000..a4a817e32b
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/config/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明
+ */
+package com.yxt.crm.config;
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerCrmVehVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerCrmVehVo.java
new file mode 100644
index 0000000000..fa6ed0f1f4
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerCrmVehVo.java
@@ -0,0 +1,26 @@
+package com.yxt.crm.feign.as.ascustomervehicle;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author Fan
+ * @description
+ * @date 2024/3/7 14:29
+ */
+@Data
+public class AsCustomerCrmVehVo {
+ @ApiModelProperty("客户sid")
+ private String customerSid; // 客户sid
+ @ApiModelProperty("车牌号")
+ private String vehMark; // 车牌号
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @ApiModelProperty("车型sid")
+ private String vehModelSid;
+ @ApiModelProperty("车型")
+ private String vehModel;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeign.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeign.java
new file mode 100644
index 0000000000..60d4735919
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeign.java
@@ -0,0 +1,27 @@
+package com.yxt.crm.feign.as.ascustomervehicle;
+
+import com.yxt.common.core.result.ResultBean;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+/**
+ * @description: 客户车辆信息
+ * @author: fzz
+ * @date: 2024/3/7
+ **/
+@FeignClient(
+ contextId = "yxt-as-AsCustomerVehicle",
+ name = "yxt-as",
+ path = "as/v1/ascustomervehicle",
+ fallback = AsCustomerVehicleFeignFallback.class
+)
+public interface AsCustomerVehicleFeign {
+ @ApiOperation("查询数据的列表")
+ @PostMapping("/listCustomerVeh")
+ public ResultBean> listCustomerVeh();
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeignFallback.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeignFallback.java
new file mode 100644
index 0000000000..bde9f2b9c1
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/as/ascustomervehicle/AsCustomerVehicleFeignFallback.java
@@ -0,0 +1,54 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.crm.feign.as.ascustomervehicle;
+
+import com.yxt.common.core.result.ResultBean;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * Project: anrui-fin(安瑞财务)
+ * File: FinManufacturerBankFeignFallback.java
+ * Class: com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBankFeignFallback
+ * Description: 公司开户账号表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-08-03 15:00:11
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Component
+public class AsCustomerVehicleFeignFallback implements AsCustomerVehicleFeign{
+
+
+ @Override
+ public ResultBean> listCustomerVeh() {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/package-info.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/package-info.java
new file mode 100644
index 0000000000..86b2f3cad1
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明
+ */
+package com.yxt.crm.feign;
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/privilege/PrivilegeQuery.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/privilege/PrivilegeQuery.java
new file mode 100644
index 0000000000..d6a8324ed7
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/privilege/PrivilegeQuery.java
@@ -0,0 +1,22 @@
+package com.yxt.crm.feign.portal.privilege;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description: 权限角色层级
+ * @author: dimengzhe
+ * @date: 2023/5/23
+ **/
+@Data
+public class PrivilegeQuery {
+
+ @ApiModelProperty("菜单路由")
+ private String menuUrl;
+ @ApiModelProperty("组织全路径sid")
+ private String orgPath;
+ @ApiModelProperty("菜单sid")
+ private String menuSid;
+ @ApiModelProperty("用户sid")
+ private String userSid;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationFeign.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationFeign.java
new file mode 100644
index 0000000000..4f6d1eaac2
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationFeign.java
@@ -0,0 +1,35 @@
+package com.yxt.crm.feign.portal.sysorganization;
+
+import com.yxt.common.core.result.ResultBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+/**
+ * Project: anrui_portal(门户建设)
+ * File: SysOrganizationFeign.java
+ * Class: com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign
+ * Description: 组织机构表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "组织机构表")
+@FeignClient(
+ contextId = "anrui-portal-SysOrganization",
+ name = "anrui-portal",
+ path = "v1/sysorganization")
+public interface SysOrganizationFeign {
+
+ @ApiOperation("获取一条记录 根据sid")
+ @ResponseBody
+ @GetMapping("/fetchBySid/{sid}")
+ public ResultBean fetchBySid(@PathVariable("sid") String sid);
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationVo.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationVo.java
new file mode 100644
index 0000000000..295811f65d
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysorganization/SysOrganizationVo.java
@@ -0,0 +1,88 @@
+package com.yxt.crm.feign.portal.sysorganization;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Project: anrui_portal(门户建设)
+ * File: SysOrganizationVo.java
+ * Class: com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo
+ * Description: 组织机构表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2021-08-03 00:24:28
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@ApiModel(value = "组织机构表 视图数据对象", description = "组织机构表 视图数据对象")
+@Data
+public class SysOrganizationVo implements Vo {
+ @ApiModelProperty("部门/组织名称")
+ private String name;
+
+ @ApiModelProperty("父(部门/组织) sid")
+ private String psid;
+
+ @ApiModelProperty("联系电话")
+ private String linkPhone;
+
+ @ApiModelProperty("联系人")
+ private String linkPerson;
+
+ @ApiModelProperty("部门sid全路径")
+ private String orgSidPath;
+
+ @ApiModelProperty("排序")
+ private Integer sort;
+
+ @ApiModelProperty("地址")
+ private String addrs;
+
+ @ApiModelProperty("地理位置经纬度")
+ private String jwd;
+
+ @ApiModelProperty("二维码")
+ private String qrText;
+
+ @ApiModelProperty("限制本部门成员查看通讯录:限制开启后,本部门成员只能看到限定范围内的通讯录不能看到所有通讯录,仅可见自己")
+ private Integer limitOrgMember;
+
+ @ApiModelProperty("部门编码")
+ private String orgCode;
+ @ApiModelProperty("sid")
+ private String sid;
+ @ApiModelProperty("子集")
+ private List children = new ArrayList<>();
+ @ApiModelProperty("主管人员名称")
+ private String zgNames;
+ @ApiModelProperty("分管人员名称")
+ private String fgNames;
+ @ApiModelProperty("主管人员sid")
+ private String zgStaffSid;
+ @ApiModelProperty("分管人员sid")
+ private String fgStaffSid;
+ @ApiModelProperty("组织简称")
+ private String orgAbbre;
+ @ApiModelProperty("是否是部门(0否,1是)")
+ private Integer isDept;
+ @ApiModelProperty("组织属性key")
+ private String orgAttributeKey;
+ @ApiModelProperty("组织属性value")
+ private String orgAttributeValue;
+ @ApiModelProperty("管理层级key")
+ private String orgLevelKey;
+ @ApiModelProperty("管理层级value")
+ private String orgLevelValue;
+ @ApiModelProperty("其他编码")
+ private String otherCode;
+ @ApiModelProperty("主管用户sid")
+ private String managerSid;
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysstafforg/SysStaffOrgFeign.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysstafforg/SysStaffOrgFeign.java
new file mode 100644
index 0000000000..719a48186e
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysstafforg/SysStaffOrgFeign.java
@@ -0,0 +1,25 @@
+package com.yxt.crm.feign.portal.sysstafforg;
+
+import com.yxt.common.core.result.ResultBean;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+/**
+ * @description: 人员与机构
+ * @author: dimengzhe
+ * @date: 2024/3/6
+ **/
+@FeignClient(
+ contextId = "anrui-portal-SysStaffOrg",
+ name = "anrui-portal",
+ path = "v1/sysstafforg")
+public interface SysStaffOrgFeign {
+
+ @GetMapping("/getOrgSidByPath")
+ @ResponseBody
+ @ApiOperation("根据用户组织全路径获取用户的分公司sid")
+ ResultBean getOrgSidByPath(@RequestParam("orgPath") String orgPath);
+}
diff --git a/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/SysUserFeign.java b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/SysUserFeign.java
new file mode 100644
index 0000000000..aab255e456
--- /dev/null
+++ b/yxt-crm-biz/src/main/java/com/yxt/crm/feign/portal/sysuser/SysUserFeign.java
@@ -0,0 +1,22 @@
+package com.yxt.crm.feign.portal.sysuser;
+
+
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.crm.feign.portal.privilege.PrivilegeQuery;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@Api(tags = "用户表")
+@FeignClient(
+ contextId = "anrui-portal-SysUser",
+ name = "anrui-portal",
+ path = "v1/sysuser")
+public interface SysUserFeign {
+
+ @ApiOperation(value = "查询角色权限的层级获取权限id")
+ @PostMapping(value = "/selectPrivilegeLevel")
+ ResultBean selectPrivilegeLevel(@RequestBody PrivilegeQuery query);
+}
\ No newline at end of file
diff --git a/yxt-crm-biz/src/main/resources/application-devv.yml b/yxt-crm-biz/src/main/resources/application-devv.yml
new file mode 100644
index 0000000000..604acaf44c
--- /dev/null
+++ b/yxt-crm-biz/src/main/resources/application-devv.yml
@@ -0,0 +1,30 @@
+spring:
+ datasource:
+ hikari:
+ max-lifetime: 500000
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://39.104.100.138:3306/yxt_crm?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
+ username: root
+ password: yxt_mysql_138
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 39.104.100.138:8848
+ register-enabled: false
+ redis:
+ database: 3 # Redis数据库索引(默认为0)
+ host: 39.104.100.138
+ jedis:
+ pool:
+ max-active: -1 #连接池最大连接数(使用负值表示没有限制)
+ max-idle: 8 #连接池中的最大空闲连接
+ max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+ min-idle: 0 # 连接池中的最小空闲连接
+ password: 123456
+ port: 6379
+ timeout: 0 # 连接超时时间(毫秒)
+image:
+ upload:
+ path: D:\\anrui\\upload\\
+ url:
+ prefix: http://192.168.1.106:8111/upload/
diff --git a/yxt-crm-biz/src/main/resources/application-pro.yml b/yxt-crm-biz/src/main/resources/application-pro.yml
new file mode 100644
index 0000000000..99f21a03d6
--- /dev/null
+++ b/yxt-crm-biz/src/main/resources/application-pro.yml
@@ -0,0 +1,27 @@
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://120.46.172.184:3306/yxt_crm?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+ username: root
+ password: '@anrui18033887500'
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+ redis:
+ database: 3 # Redis数据库索引(默认为0)
+ host: 127.0.0.1
+ jedis:
+ pool:
+ max-active: -1 #连接池最大连接数(使用负值表示没有限制)
+ max-idle: 8 #连接池中的最大空闲连接
+ max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+ min-idle: 0 # 连接池中的最小空闲连接
+ password: 123456
+ port: 6379
+ timeout: 0 # 连接超时时间(毫秒)
+image:
+ upload:
+ path: D:\anrui\upload\
+ url:
+ prefix: http://120.46.172.184/api/upload/
diff --git a/yxt-crm-biz/src/main/resources/application-test.yml b/yxt-crm-biz/src/main/resources/application-test.yml
new file mode 100644
index 0000000000..a669332ab7
--- /dev/null
+++ b/yxt-crm-biz/src/main/resources/application-test.yml
@@ -0,0 +1,31 @@
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://172.18.0.4:3306/yxt_crm?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+ username: root
+ password: yxt_mysql_138
+ hikari:
+ minimum-idle: 3
+ max-lifetime: 30000
+ maximum-pool-size: 10
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 172.18.0.5:8848
+ redis:
+ database: 3 # Redis数据库索引(默认为0)
+ host: 172.18.0.7
+ jedis:
+ pool:
+ max-active: -1 #连接池最大连接数(使用负值表示没有限制)
+ max-idle: 8 #连接池中的最大空闲连接
+ max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+ min-idle: 0 # 连接池中的最小空闲连接
+ password: 123456
+ port: 6379
+ timeout: 0 # 连接超时时间(毫秒)
+image:
+ upload:
+ path: /home/lzh/docker_data/nginx/html/anrui-system-ui/upload/
+ url:
+ prefix: http://anrui.yyundong.com/upload/
diff --git a/yxt-crm-biz/src/main/resources/application.yml b/yxt-crm-biz/src/main/resources/application.yml
new file mode 100644
index 0000000000..486ba0834c
--- /dev/null
+++ b/yxt-crm-biz/src/main/resources/application.yml
@@ -0,0 +1,50 @@
+spring:
+ application:
+ name: yxt-crm
+ profiles:
+ active: devv
+# active: test
+# active: pro
+ messages:
+ # 国际化资源文件路径
+ basename: i18n/messages
+ servlet:
+ #上传文件
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 100MB
+ devtools:
+ restart:
+ # 热部署开关
+ enabled: true
+
+server:
+ port: 7303
+ max-http-header-size: 102400
+ undertow:
+ max-http-post-size: -1
+
+#mybatis
+mybatis-plus:
+ # 配置mapper的扫描,找到所有的mapper.xml映射文件
+ mapper-locations: classpath*:**Mapper.xml
+ global-config:
+ refresh: true
+ db-config:
+ #定义生成ID的类型
+ id-type: Auto
+ db-type: mysql
+ configuration:
+ map-underscore-to-camel-case: false
+ cache-enabled: true
+ call-setters-on-nulls: true
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+#rocketmq:
+# producer:
+# group: yxt-supervise-gf
+# name-server: 127.0.0.1:9876
+
+
+
+
diff --git a/yxt-crm-biz/src/main/resources/logback-spring.xml b/yxt-crm-biz/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000000..1a756cd90a
--- /dev/null
+++ b/yxt-crm-biz/src/main/resources/logback-spring.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+ %yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${log.base}.log
+
+ ${log.base}.%d{yyyyMMdd}.%i.log.zip
+
+
+
+ 1MB
+
+
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
+ -%msg%n
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-crm-biz/src/test/java/com/yxt/crm/YxtCrm11ApplicationTests.java b/yxt-crm-biz/src/test/java/com/yxt/crm/YxtCrm11ApplicationTests.java
new file mode 100644
index 0000000000..53dbc513a8
--- /dev/null
+++ b/yxt-crm-biz/src/test/java/com/yxt/crm/YxtCrm11ApplicationTests.java
@@ -0,0 +1,13 @@
+package com.yxt.crm;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class YxtCrm11ApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}
From 5767302178d56ab8b2855fb7ad0146e325c9950a Mon Sep 17 00:00:00 2001
From: fanzongzhe <285169773@qq.com>
Date: Mon, 6 May 2024 14:47:38 +0800
Subject: [PATCH 2/8] yxt-fms
---
yxt-fms-biz/README.md | 3 +
yxt-fms-biz/pom.xml | 134 ++++++++++++++++++
.../com/yxt/fms/YxtFmsBizApplication.java | 22 +++
.../com/yxt/fms/apiadmin/AdminHomeRest.java | 10 ++
.../yxt/fms/apiadmin/FmsPaysettleRest.java | 109 ++++++++++++++
.../fms/apiadmin/FmsReceivesettleRest.java | 121 ++++++++++++++++
.../fms/biz/fmspaysettle/FmsPaysettle.java | 95 +++++++++++++
.../biz/fmspaysettle/FmsPaysettleCGRKDto.java | 93 ++++++++++++
.../biz/fmspaysettle/FmsPaysettleCGTKDto.java | 94 ++++++++++++
.../fmspaysettle/FmsPaysettleDetailsVo.java | 97 +++++++++++++
.../fms/biz/fmspaysettle/FmsPaysettleDto.java | 96 +++++++++++++
.../biz/fmspaysettle/FmsPaysettleMapper.java | 66 +++++++++
.../biz/fmspaysettle/FmsPaysettleMapper.xml | 13 ++
.../biz/fmspaysettle/FmsPaysettleQuery.java | 93 ++++++++++++
.../biz/fmspaysettle/FmsPaysettleService.java | 120 ++++++++++++++++
.../fms/biz/fmspaysettle/FmsPaysettleVo.java | 95 +++++++++++++
.../fmsreceivesettle/FmsReceivesettle.java | 93 ++++++++++++
.../FmsReceivesettleDetailsVo.java | 95 +++++++++++++
.../fmsreceivesettle/FmsReceivesettleDto.java | 94 ++++++++++++
.../FmsReceivesettleMapper.java | 66 +++++++++
.../FmsReceivesettleMapper.xml | 13 ++
.../FmsReceivesettleQuery.java | 91 ++++++++++++
.../FmsReceivesettleService.java | 133 +++++++++++++++++
.../fmsreceivesettle/FmsReceivesettleVo.java | 93 ++++++++++++
.../java/com/yxt/fms/biz/package-info.java | 4 +
.../com/yxt/fms/config/SaTokenConfigure.java | 114 +++++++++++++++
.../fms/config/SaTokenGloableException.java | 67 +++++++++
.../java/com/yxt/fms/config/package-info.java | 4 +
.../java/com/yxt/fms/feign/package-info.java | 4 +
.../PmsPurchaseBackBillFeign.java | 25 ++++
.../PmsPurchaseBackBillFeignFallback.java | 19 +++
.../PmsPurchasebackBillDetailsVo.java | 84 +++++++++++
.../PmsPurchasebackBillDto.java | 85 +++++++++++
.../PmsPurchasebackDetailDetailsVo.java | 100 +++++++++++++
.../PmsPurchasebackDetailDto.java | 100 +++++++++++++
.../PmsPurchaseBillDetailDto.java | 98 +++++++++++++
.../pmspurchasebill/PmsPurchaseBillDto.java | 108 ++++++++++++++
.../PmsPurchaseBillExtendDto.java | 86 +++++++++++
.../pmspurchasebill/PmsPurchaseBillFeign.java | 26 ++++
.../PmsPurchaseBillFeignFallback.java | 18 +++
.../src/main/resources/application-devv.yml | 30 ++++
.../src/main/resources/application-pro.yml | 27 ++++
.../src/main/resources/application-test.yml | 31 ++++
.../src/main/resources/application.yml | 50 +++++++
.../src/main/resources/logback-spring.xml | 50 +++++++
.../com/yxt/fms/YxtFmsApplicationTests.java | 13 ++
46 files changed, 3082 insertions(+)
create mode 100644 yxt-fms-biz/README.md
create mode 100644 yxt-fms-biz/pom.xml
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/YxtFmsBizApplication.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/apiadmin/AdminHomeRest.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/apiadmin/FmsPaysettleRest.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/apiadmin/FmsReceivesettleRest.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettle.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleCGRKDto.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleCGTKDto.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleDetailsVo.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleDto.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleMapper.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleMapper.xml
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleQuery.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleService.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleVo.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettle.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleDetailsVo.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleDto.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleMapper.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleMapper.xml
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleQuery.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleService.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleVo.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/biz/package-info.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/config/SaTokenConfigure.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/config/SaTokenGloableException.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/config/package-info.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/feign/package-info.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchaseBackBillFeign.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchaseBackBillFeignFallback.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackBillDetailsVo.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackBillDto.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackDetailDetailsVo.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackDetailDto.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillDetailDto.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillDto.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillExtendDto.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillFeign.java
create mode 100644 yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillFeignFallback.java
create mode 100644 yxt-fms-biz/src/main/resources/application-devv.yml
create mode 100644 yxt-fms-biz/src/main/resources/application-pro.yml
create mode 100644 yxt-fms-biz/src/main/resources/application-test.yml
create mode 100644 yxt-fms-biz/src/main/resources/application.yml
create mode 100644 yxt-fms-biz/src/main/resources/logback-spring.xml
create mode 100644 yxt-fms-biz/src/test/java/com/yxt/fms/YxtFmsApplicationTests.java
diff --git a/yxt-fms-biz/README.md b/yxt-fms-biz/README.md
new file mode 100644
index 0000000000..3b700c234f
--- /dev/null
+++ b/yxt-fms-biz/README.md
@@ -0,0 +1,3 @@
+yxt-fms-biz
+
+财务管理后台程序及接口
\ No newline at end of file
diff --git a/yxt-fms-biz/pom.xml b/yxt-fms-biz/pom.xml
new file mode 100644
index 0000000000..4d806f64cd
--- /dev/null
+++ b/yxt-fms-biz/pom.xml
@@ -0,0 +1,134 @@
+
+
+
+
+ com.yxt
+ yxt-parent
+ 0.0.1
+
+
+ 4.0.0
+
+ yxt-fms-biz
+ com.yxt.fms
+ 2.0.1
+
+
+
+ com.yxt
+ yxt-common-base
+ 0.0.1
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+
+ mysql
+ mysql-connector-java
+ runtime
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+
+
+ com.baomidou
+ mybatis-plus-annotation
+
+
+ junit
+ junit
+ compile
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.26
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+ cn.dev33
+ sa-token-spring-boot-starter
+ 1.37.0
+
+
+ cn.hutool
+ hutool-all
+ 5.8.23
+
+
+ cn.hutool
+ hutool-core
+ 5.8.23
+
+
+ com.google.zxing
+ core
+ 3.5.2
+
+
+ com.alibaba
+ easyexcel
+ 3.3.2
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.5.6
+
+
+
+ repackage
+
+
+
+
+
+
+
+ src/main/java
+
+ **/*Mapper.xml
+
+
+
+ src/main/resources
+
+ **/*.*
+
+ false
+
+
+
+
+
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/YxtFmsBizApplication.java b/yxt-fms-biz/src/main/java/com/yxt/fms/YxtFmsBizApplication.java
new file mode 100644
index 0000000000..9257664341
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/YxtFmsBizApplication.java
@@ -0,0 +1,22 @@
+package com.yxt.fms;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@SpringBootApplication(scanBasePackages = {
+ "com.yxt.fms.config",
+ "com.yxt.common.base.config",
+ "com.yxt.fms"
+})
+// 启用自带定时任务
+@EnableScheduling
+@EnableFeignClients(basePackages = {})
+public class YxtFmsBizApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(YxtFmsBizApplication.class, args);
+ }
+
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/apiadmin/AdminHomeRest.java b/yxt-fms-biz/src/main/java/com/yxt/fms/apiadmin/AdminHomeRest.java
new file mode 100644
index 0000000000..db394425c9
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/apiadmin/AdminHomeRest.java
@@ -0,0 +1,10 @@
+package com.yxt.fms.apiadmin;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController("com.yxt.fms.apiadmin.AdminHomeRest")
+@RequestMapping("/apiadmin/home")
+public class AdminHomeRest {
+
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/apiadmin/FmsPaysettleRest.java b/yxt-fms-biz/src/main/java/com/yxt/fms/apiadmin/FmsPaysettleRest.java
new file mode 100644
index 0000000000..53f3346a1c
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/apiadmin/FmsPaysettleRest.java
@@ -0,0 +1,109 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.apiadmin;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.fms.biz.fmspaysettle.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsPaysettleFeignFallback.java
+ * Class: biz.biz.fmspaysettle.FmsPaysettleRest
+ * Description: 付款结算.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "付款结算")
+@RestController
+@RequestMapping("/apiadmin/v1/fmspaysettle")
+public class FmsPaysettleRest {
+
+ @Autowired
+ private FmsPaysettleService fmsPaysettleService;
+
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = fmsPaysettleService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody FmsPaysettleDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ fmsPaysettleService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ fmsPaysettleService.delBySids(sids);
+ return rb.success();
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ FmsPaysettleDetailsVo vo = fmsPaysettleService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @ApiOperation("采购入库结算")
+ @PostMapping("/cgrkPay")
+ public ResultBean cgrkPay(@RequestBody FmsPaysettleCGRKDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ fmsPaysettleService.cgrkPay(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("根据来源SID获取一条记录")
+ @GetMapping("/fetchBySourceSid/{sourceBillSid}")
+ public ResultBean fetchBySourceSid(@PathVariable("sourceBillSid") String sourceBillSid){
+ ResultBean rb = ResultBean.fireFail();
+ FmsPaysettle paysettle = fmsPaysettleService.fetchBySourceSid(sourceBillSid);
+ return rb.success().setData(paysettle);
+ }
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/apiadmin/FmsReceivesettleRest.java b/yxt-fms-biz/src/main/java/com/yxt/fms/apiadmin/FmsReceivesettleRest.java
new file mode 100644
index 0000000000..381f852e07
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/apiadmin/FmsReceivesettleRest.java
@@ -0,0 +1,121 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.apiadmin;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.fms.biz.fmspaysettle.FmsPaysettleCGRKDto;
+import com.yxt.fms.biz.fmspaysettle.FmsPaysettleCGTKDto;
+import com.yxt.fms.biz.fmsreceivesettle.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsReceivesettleFeignFallback.java
+ * Class: biz.biz.fmsreceivesettle.FmsReceivesettleRest
+ * Description: 收款结算.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "收款结算")
+@RestController
+@RequestMapping("/apiadmin/v1/fmsreceivesettle")
+public class FmsReceivesettleRest {
+
+ @Autowired
+ private FmsReceivesettleService fmsReceivesettleService;
+
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = fmsReceivesettleService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody FmsReceivesettleDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ fmsReceivesettleService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("逻辑删除")
+ @PostMapping("/updateIsDelete")
+ public ResultBean updateIsDelete(@RequestParam("sourceSid") String sourceSid){
+ ResultBean rb = ResultBean.fireFail();
+ fmsReceivesettleService.updateIsDelete(sourceSid);
+ return rb.success();
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ fmsReceivesettleService.delBySids(sids);
+ return rb.success();
+ }
+
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ FmsReceivesettleDetailsVo vo = fmsReceivesettleService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @ApiOperation("采购退库结算")
+ @PostMapping("/cgtkPay")
+ public ResultBean cgtkPay(@RequestBody FmsPaysettleCGTKDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ fmsReceivesettleService.cgtkPay(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("根据来源SID获取一条记录")
+ @GetMapping("/fetchBySourceSid/{sourceBillSid}")
+ public ResultBean fetchBySourceSid(@PathVariable("sourceBillSid") String sourceBillSid){
+ ResultBean rb = ResultBean.fireFail();
+ FmsReceivesettle receivesettle = fmsReceivesettleService.fetchBySourceSid(sourceBillSid);
+ return rb.success().setData(receivesettle);
+ }
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettle.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettle.java
new file mode 100644
index 0000000000..65a6103540
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettle.java
@@ -0,0 +1,95 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmspaysettle;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsPaysettle.java
+ * Class: biz.api.fmspaysettle.FmsPaysettle
+ * Description: 付款结算.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "付款结算", description = "付款结算")
+@TableName("fms_paysettle")
+public class FmsPaysettle extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("结算人姓名")
+ private String createByName; // 结算人姓名
+ @ApiModelProperty("来源单sid")
+ private String sourceBillSid; // 来源单sid
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo; // 来源单编号
+ @ApiModelProperty("业务类型key")
+ private String busTypeKey; // 业务类型key
+ @ApiModelProperty("业务类型value(销售退货、采购入库)")
+ private String busTypeValue; // 业务类型value(销售退货、采购入库)
+ @ApiModelProperty("收款人编号")
+ private String payeeNo; // 收款人编号
+ @ApiModelProperty("收款人名称")
+ private String payeeName; // 收款人名称
+ @ApiModelProperty("收款人银行账号")
+ private String payeeBankAccount; // 收款人银行账号
+ @ApiModelProperty("应付金额")
+ private BigDecimal payableAmount; // 应付金额
+ @ApiModelProperty("预付款抵扣")
+ private BigDecimal prepaymentdeductAmount; // 预付款抵扣
+ @ApiModelProperty("结算方式key")
+ private String settleKey; // 结算方式key
+ @ApiModelProperty("结算方式value")
+ private String settleValue; // 结算方式value
+ @ApiModelProperty("结算金额")
+ private BigDecimal settleAmount; // 结算金额
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleKey; // 其他结算方式
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleValue; // 其他结算方式
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleAmount; // 其他结算金额
+ @ApiModelProperty("欠款金额")
+ private BigDecimal debts; // 欠款金额
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("结算时间")
+ private Date settleTime; // 结算时间
+
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleCGRKDto.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleCGRKDto.java
new file mode 100644
index 0000000000..7aaf60f168
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleCGRKDto.java
@@ -0,0 +1,93 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmspaysettle;
+
+
+import com.yxt.common.core.dto.Dto;
+import com.yxt.fms.feign.pms.pmspurchasebill.PmsPurchaseBillDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsPaysettleDto.java
+ * Class: biz.api.fmspaysettle.FmsPaysettleDto
+ * Description: 付款结算 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "付款结算 数据传输对象", description = "付款结算 数据传输对象")
+public class FmsPaysettleCGRKDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("采购单")
+ private PmsPurchaseBillDto pmsPurchaseBill;
+ @ApiModelProperty("创建者")
+ private String createBySid;
+ @ApiModelProperty("结算人姓名")
+ private String createByName; // 结算人姓名
+ @ApiModelProperty("来源单sid")
+ private String sourceBillSid; // 来源单sid
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo; // 来源单编号
+ @ApiModelProperty("业务类型key")
+ private String busTypeKey; // 业务类型key
+ @ApiModelProperty("业务类型value(销售退货、采购入库)")
+ private String busTypeValue; // 业务类型value(销售退货、采购入库)
+ @ApiModelProperty("收款人编号")
+ private String payeeNo; // 收款人编号
+ @ApiModelProperty("收款人名称")
+ private String payeeName; // 收款人名称
+ @ApiModelProperty("收款人银行账号")
+ private String payeeBankAccount; // 收款人银行账号
+ @ApiModelProperty("应付金额")
+ private String payableAmount; // 应付金额
+ @ApiModelProperty("预付款抵扣")
+ private String prepaymentdeductAmount; // 预付款抵扣
+ @ApiModelProperty("结算方式key")
+ private String settleKey; // 结算方式key
+ @ApiModelProperty("结算方式value")
+ private String settleValue; // 结算方式value
+ @ApiModelProperty("结算金额")
+ private String settleAmount; // 结算金额
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleKey; // 其他结算方式
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleValue; // 其他结算金额
+ @ApiModelProperty("欠款金额")
+ private String debts; // 欠款金额
+ @ApiModelProperty("结算时间")
+ private String settleTime; // 结算时间
+
+}
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleCGTKDto.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleCGTKDto.java
new file mode 100644
index 0000000000..71ec9d5245
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleCGTKDto.java
@@ -0,0 +1,94 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmspaysettle;
+
+
+import com.yxt.common.core.dto.Dto;
+import com.yxt.fms.feign.pms.pmspurchasebackbill.PmsPurchasebackBillDto;
+import com.yxt.fms.feign.pms.pmspurchasebill.PmsPurchaseBillDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsPaysettleDto.java
+ * Class: biz.api.fmspaysettle.FmsPaysettleDto
+ * Description: 付款结算 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "付款结算 数据传输对象", description = "付款结算 数据传输对象")
+public class FmsPaysettleCGTKDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("采购退货单")
+ private PmsPurchasebackBillDto pmsPurchasebackBillDto;
+ @ApiModelProperty("创建者")
+ private String createBySid;
+ @ApiModelProperty("结算人姓名")
+ private String createByName; // 结算人姓名
+ @ApiModelProperty("来源单sid")
+ private String sourceBillSid; // 来源单sid
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo; // 来源单编号
+ @ApiModelProperty("业务类型key")
+ private String busTypeKey; // 业务类型key
+ @ApiModelProperty("业务类型value(销售退货、采购入库)")
+ private String busTypeValue; // 业务类型value(销售退货、采购入库)
+ @ApiModelProperty("收款人编号")
+ private String payeeNo; // 收款人编号
+ @ApiModelProperty("收款人名称")
+ private String payeeName; // 收款人名称
+ @ApiModelProperty("收款人银行账号")
+ private String payeeBankAccount; // 收款人银行账号
+ @ApiModelProperty("应付金额")
+ private String payableAmount; // 应付金额
+ @ApiModelProperty("预付款抵扣")
+ private String prepaymentdeductAmount; // 预付款抵扣
+ @ApiModelProperty("结算方式key")
+ private String settleKey; // 结算方式key
+ @ApiModelProperty("结算方式value")
+ private String settleValue; // 结算方式value
+ @ApiModelProperty("结算金额")
+ private String settleAmount; // 结算金额
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleKey; // 其他结算方式
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleValue; // 其他结算金额
+ @ApiModelProperty("欠款金额")
+ private String debts; // 欠款金额
+ @ApiModelProperty("结算时间")
+ private String settleTime; // 结算时间
+
+}
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleDetailsVo.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleDetailsVo.java
new file mode 100644
index 0000000000..810075fc5d
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleDetailsVo.java
@@ -0,0 +1,97 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmspaysettle;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsPaysettleVo.java
+ * Class: biz.api.fmspaysettle.FmsPaysettleVo
+ * Description: 付款结算 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "付款结算 视图数据详情", description = "付款结算 视图数据详情")
+public class FmsPaysettleDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("结算人姓名")
+ private String createByName; // 结算人姓名
+ @ApiModelProperty("来源单sid")
+ private String sourceBillSid; // 来源单sid
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo; // 来源单编号
+ @ApiModelProperty("业务类型key")
+ private String busTypeKey; // 业务类型key
+ @ApiModelProperty("业务类型value(销售退货、采购入库)")
+ private String busTypeValue; // 业务类型value(销售退货、采购入库)
+ @ApiModelProperty("收款人编号")
+ private String payeeNo; // 收款人编号
+ @ApiModelProperty("收款人名称")
+ private String payeeName; // 收款人名称
+ @ApiModelProperty("收款人银行账号")
+ private String payeeBankAccount; // 收款人银行账号
+ @ApiModelProperty("应付金额")
+ private BigDecimal payableAmount; // 应付金额
+ @ApiModelProperty("预付款抵扣")
+ private BigDecimal prepaymentdeductAmount; // 预付款抵扣
+ @ApiModelProperty("结算方式key")
+ private String settleKey; // 结算方式key
+ @ApiModelProperty("结算方式value")
+ private String settleValue; // 结算方式value
+ @ApiModelProperty("结算金额")
+ private BigDecimal settleAmount; // 结算金额
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleKey; // 其他结算方式
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleValue; // 其他结算方式
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleAmount; // 其他结算金额
+ @ApiModelProperty("欠款金额")
+ private BigDecimal debts; // 欠款金额
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("结算时间")
+ private Date settleTimeStart; // 结算时间
+ private Date settleTimeEnd; // 结算时间
+
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleDto.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleDto.java
new file mode 100644
index 0000000000..2fccf07bf0
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleDto.java
@@ -0,0 +1,96 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmspaysettle;
+
+
+import com.yxt.common.core.dto.Dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsPaysettleDto.java
+ * Class: biz.api.fmspaysettle.FmsPaysettleDto
+ * Description: 付款结算 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "付款结算 数据传输对象", description = "付款结算 数据传输对象")
+public class FmsPaysettleDto implements Dto {
+
+ private String sid; // sid
+ @ApiModelProperty("创建者")
+ private String createBySid;
+ @ApiModelProperty("结算人姓名")
+ private String createByName; // 结算人姓名
+ @ApiModelProperty("来源单sid")
+ private String sourceBillSid; // 来源单sid
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo; // 来源单编号
+ @ApiModelProperty("业务类型key")
+ private String busTypeKey; // 业务类型key
+ @ApiModelProperty("业务类型value(销售退货、采购入库)")
+ private String busTypeValue; // 业务类型value(销售退货、采购入库)
+ @ApiModelProperty("收款人编号")
+ private String payeeNo; // 收款人编号
+ @ApiModelProperty("收款人名称")
+ private String payeeName; // 收款人名称
+ @ApiModelProperty("收款人银行账号")
+ private String payeeBankAccount; // 收款人银行账号
+ @ApiModelProperty("应付金额")
+ private String payableAmount; // 应付金额
+ @ApiModelProperty("预付款抵扣")
+ private String prepaymentdeductAmount; // 预付款抵扣
+ @ApiModelProperty("结算方式key")
+ private String settleKey; // 结算方式key
+ @ApiModelProperty("结算方式value")
+ private String settleValue; // 结算方式value
+ @ApiModelProperty("结算金额")
+ private String settleAmount; // 结算金额
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleKey; // 其他结算方式
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleValue; // 其他结算方式
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleAmount; // 其他结算金额
+ @ApiModelProperty("欠款金额")
+ private String debts; // 欠款金额
+ @ApiModelProperty("结算时间")
+ private String settleTime; // 结算时间
+
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleMapper.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleMapper.java
new file mode 100644
index 0000000000..1c2dc1eabe
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleMapper.java
@@ -0,0 +1,66 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmspaysettle;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsPaysettleMapper.java
+ * Class: biz.biz.fmspaysettle.FmsPaysettleMapper
+ * Description: 付款结算.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface FmsPaysettleMapper extends BaseMapper {
+
+ //@Update("update fms_paysettle set name=#{msg} where id=#{id}")
+ //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from fms_paysettle")
+ List selectListVo();
+
+ @Select("select * from fms_paysettle where sourceBillSid =#{sourceBillSid}")
+ FmsPaysettle fetchBySourceSid(@Param("sourceBillSid") String sourceBillSid);
+}
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleMapper.xml b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleMapper.xml
new file mode 100644
index 0000000000..3781ef4ecf
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleMapper.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleQuery.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleQuery.java
new file mode 100644
index 0000000000..802e85a2d6
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleQuery.java
@@ -0,0 +1,93 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmspaysettle;
+
+
+import com.yxt.common.core.query.Query;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsPaysettleQuery.java
+ * Class: biz.api.fmspaysettle.FmsPaysettleQuery
+ * Description: 付款结算 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "付款结算 查询条件", description = "付款结算 查询条件")
+public class FmsPaysettleQuery implements Query {
+
+ @ApiModelProperty("结算人姓名")
+ private String createByName; // 结算人姓名
+ @ApiModelProperty("来源单sid")
+ private String sourceBillSid; // 来源单sid
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo; // 来源单编号
+ @ApiModelProperty("业务类型key")
+ private String busTypeKey; // 业务类型key
+ @ApiModelProperty("业务类型value(销售退货、采购入库)")
+ private String busTypeValue; // 业务类型value(销售退货、采购入库)
+ @ApiModelProperty("收款人编号")
+ private String payeeNo; // 收款人编号
+ @ApiModelProperty("收款人名称")
+ private String payeeName; // 收款人名称
+ @ApiModelProperty("收款人银行账号")
+ private String payeeBankAccount; // 收款人银行账号
+ @ApiModelProperty("应付金额")
+ private BigDecimal payableAmount; // 应付金额
+ @ApiModelProperty("预付款抵扣")
+ private BigDecimal prepaymentdeductAmount; // 预付款抵扣
+ @ApiModelProperty("结算方式key")
+ private String settleKey; // 结算方式key
+ @ApiModelProperty("结算方式value")
+ private String settleValue; // 结算方式value
+ @ApiModelProperty("结算金额")
+ private BigDecimal settleAmount; // 结算金额
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleKey; // 其他结算方式
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleValue; // 其他结算金额
+ @ApiModelProperty("欠款金额")
+ private BigDecimal debts; // 欠款金额
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("结算时间")
+ private Date settleTimeStart; // 结算时间
+ private Date settleTimeEnd; // 结算时间
+
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleService.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleService.java
new file mode 100644
index 0000000000..4a1b70740b
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleService.java
@@ -0,0 +1,120 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmspaysettle;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.fms.feign.pms.pmspurchasebill.PmsPurchaseBillDto;
+import com.yxt.fms.feign.pms.pmspurchasebill.PmsPurchaseBillFeign;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.vo.PagerVo;
+
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsPaysettleService.java
+ * Class: biz.biz.fmspaysettle.FmsPaysettleService
+ * Description: 付款结算 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class FmsPaysettleService extends MybatisBaseService {
+
+ @Resource
+ private PmsPurchaseBillFeign pmsPurchaseBillFeign;
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ FmsPaysettleQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public void saveOrUpdateDto(FmsPaysettleDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public void insertByDto(FmsPaysettleDto dto){
+ FmsPaysettle entity = new FmsPaysettle();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(FmsPaysettleDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ FmsPaysettle entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public FmsPaysettleDetailsVo fetchDetailsVoBySid(String sid){
+ FmsPaysettle entity = fetchBySid(sid);
+ FmsPaysettleDetailsVo vo = new FmsPaysettleDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public void cgrkPay(FmsPaysettleCGRKDto dto) {
+ PmsPurchaseBillDto pmsPurchaseBillDto = dto.getPmsPurchaseBill();
+ String sid = pmsPurchaseBillFeign.save(pmsPurchaseBillDto).getData();
+ FmsPaysettleDto fmsPaysettleDto = new FmsPaysettleDto();
+ BeanUtil.copyProperties(dto,fmsPaysettleDto);
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ fmsPaysettleDto.setSourceBillSid(sid);
+ this.insertByDto(fmsPaysettleDto);
+ return;
+ }
+ this.updateByDto(fmsPaysettleDto);
+ }
+
+ public FmsPaysettle fetchBySourceSid(String sourceBillSid) {
+ return baseMapper.fetchBySourceSid(sourceBillSid);
+ }
+}
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleVo.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleVo.java
new file mode 100644
index 0000000000..6dcc6730e2
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmspaysettle/FmsPaysettleVo.java
@@ -0,0 +1,95 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmspaysettle;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsPaysettleVo.java
+ * Class: biz.api.fmspaysettle.FmsPaysettleVo
+ * Description: 付款结算 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "付款结算 视图数据对象", description = "付款结算 视图数据对象")
+public class FmsPaysettleVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("结算人姓名")
+ private String createByName; // 结算人姓名
+ @ApiModelProperty("来源单sid")
+ private String sourceBillSid; // 来源单sid
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo; // 来源单编号
+ @ApiModelProperty("业务类型key")
+ private String busTypeKey; // 业务类型key
+ @ApiModelProperty("业务类型value(销售退货、采购入库)")
+ private String busTypeValue; // 业务类型value(销售退货、采购入库)
+ @ApiModelProperty("收款人编号")
+ private String payeeNo; // 收款人编号
+ @ApiModelProperty("收款人名称")
+ private String payeeName; // 收款人名称
+ @ApiModelProperty("收款人银行账号")
+ private String payeeBankAccount; // 收款人银行账号
+ @ApiModelProperty("应付金额")
+ private BigDecimal payableAmount; // 应付金额
+ @ApiModelProperty("预付款抵扣")
+ private BigDecimal prepaymentdeductAmount; // 预付款抵扣
+ @ApiModelProperty("结算方式key")
+ private String settleKey; // 结算方式key
+ @ApiModelProperty("结算方式value")
+ private String settleValue; // 结算方式value
+ @ApiModelProperty("结算金额")
+ private BigDecimal settleAmount; // 结算金额
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleKey; // 其他结算方式
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleValue; // 其他结算金额
+ @ApiModelProperty("欠款金额")
+ private BigDecimal debts; // 欠款金额
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("结算时间")
+ private Date settleTimeStart; // 结算时间
+ private Date settleTimeEnd; // 结算时间
+
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettle.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettle.java
new file mode 100644
index 0000000000..938c29b47b
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettle.java
@@ -0,0 +1,93 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmsreceivesettle;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsReceivesettle.java
+ * Class: biz.api.fmsreceivesettle.FmsReceivesettle
+ * Description: 收款结算.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "收款结算", description = "收款结算")
+@TableName("fms_receivesettle")
+public class FmsReceivesettle extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("结算人姓名")
+ private String createByName; // 结算人姓名
+ @ApiModelProperty("来源单sid")
+ private String sourceBillSid; // 来源单sid
+ @ApiModelProperty("来源单号")
+ private String sourceBillNo; // 来源单号
+ @ApiModelProperty("业务类型key")
+ private String busTypeKey; // 业务类型key
+ @ApiModelProperty("业务类型value(销售出库、采购退货)")
+ private String busTypeValue; // 业务类型value(销售出库、采购退货)
+ @ApiModelProperty("付款人编号")
+ private String payerNo; // 付款人编号
+ @ApiModelProperty("付款人名称")
+ private String payerName; // 付款人名称
+ @ApiModelProperty("应收金额")
+ private BigDecimal receivableAmount; // 应收金额
+ @ApiModelProperty("订金抵扣")
+ private BigDecimal depositdeductAmount; // 订金抵扣
+ @ApiModelProperty("结算方式key")
+ private String settleKey; // 结算方式key
+ @ApiModelProperty("结算方式value")
+ private String settleValue; // 结算方式value
+ @ApiModelProperty("结算金额")
+ private BigDecimal settleAmount; // 结算金额
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleKey; // 其他结算方式
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleValue; // 其他结算金额
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleAmount; // 其他结算金额
+ @ApiModelProperty("欠款金额")
+ private BigDecimal debts; // 欠款金额
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("结算时间")
+ private Date settleTime; // 结算时间
+
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleDetailsVo.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleDetailsVo.java
new file mode 100644
index 0000000000..722831d060
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleDetailsVo.java
@@ -0,0 +1,95 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmsreceivesettle;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsReceivesettleVo.java
+ * Class: biz.api.fmsreceivesettle.FmsReceivesettleVo
+ * Description: 收款结算 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "收款结算 视图数据详情", description = "收款结算 视图数据详情")
+public class FmsReceivesettleDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("结算人姓名")
+ private String createByName; // 结算人姓名
+ @ApiModelProperty("来源单sid")
+ private String sourceBillSid; // 来源单sid
+ @ApiModelProperty("来源单号")
+ private String sourceBillNo; // 来源单号
+ @ApiModelProperty("业务类型key")
+ private String busTypeKey; // 业务类型key
+ @ApiModelProperty("业务类型value(销售出库、采购退货)")
+ private String busTypeValue; // 业务类型value(销售出库、采购退货)
+ @ApiModelProperty("付款人编号")
+ private String payerNo; // 付款人编号
+ @ApiModelProperty("付款人名称")
+ private String payerName; // 付款人名称
+ @ApiModelProperty("应收金额")
+ private BigDecimal receivableAmount; // 应收金额
+ @ApiModelProperty("订金抵扣")
+ private BigDecimal depositdeductAmount; // 订金抵扣
+ @ApiModelProperty("结算方式key")
+ private String settleKey; // 结算方式key
+ @ApiModelProperty("结算方式value")
+ private String settleValue; // 结算方式value
+ @ApiModelProperty("结算金额")
+ private BigDecimal settleAmount; // 结算金额
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleKey; // 其他结算方式
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleValue; // 其他结算方式
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleAmount; // 其他结算金额
+ @ApiModelProperty("欠款金额")
+ private BigDecimal debts; // 欠款金额
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("结算时间")
+ private Date settleTimeStart; // 结算时间
+ private Date settleTimeEnd; // 结算时间
+
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleDto.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleDto.java
new file mode 100644
index 0000000000..707b4b9d63
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleDto.java
@@ -0,0 +1,94 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmsreceivesettle;
+
+
+import com.yxt.common.core.dto.Dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsReceivesettleDto.java
+ * Class: biz.api.fmsreceivesettle.FmsReceivesettleDto
+ * Description: 收款结算 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "收款结算 数据传输对象", description = "收款结算 数据传输对象")
+public class FmsReceivesettleDto implements Dto {
+
+ private String sid; // sid
+ @ApiModelProperty("创建者")
+ private String createBySid;
+ @ApiModelProperty("结算人姓名")
+ private String createByName; // 结算人姓名
+ @ApiModelProperty("来源单sid")
+ private String sourceBillSid; // 来源单sid
+ @ApiModelProperty("来源单号")
+ private String sourceBillNo; // 来源单号
+ @ApiModelProperty("业务类型key")
+ private String busTypeKey; // 业务类型key
+ @ApiModelProperty("业务类型value(销售出库、采购退货)")
+ private String busTypeValue; // 业务类型value(销售出库、采购退货)
+ @ApiModelProperty("付款人编号")
+ private String payerNo; // 付款人编号
+ @ApiModelProperty("付款人名称")
+ private String payerName; // 付款人名称
+ @ApiModelProperty("应收金额")
+ private String receivableAmount; // 应收金额
+ @ApiModelProperty("订金抵扣")
+ private String depositdeductAmount; // 订金抵扣
+ @ApiModelProperty("结算方式key")
+ private String settleKey; // 结算方式key
+ @ApiModelProperty("结算方式value")
+ private String settleValue; // 结算方式value
+ @ApiModelProperty("结算金额")
+ private String settleAmount; // 结算金额
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleKey; // 其他结算方式
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleValue; // 其他结算方式
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleAmount; // 其他结算金额
+ @ApiModelProperty("欠款金额")
+ private String debts; // 欠款金额
+ @ApiModelProperty("结算时间")
+ private String settleTime; // 结算时间
+
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleMapper.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleMapper.java
new file mode 100644
index 0000000000..c5e8efc21c
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleMapper.java
@@ -0,0 +1,66 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmsreceivesettle;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsReceivesettleMapper.java
+ * Class: biz.biz.fmsreceivesettle.FmsReceivesettleMapper
+ * Description: 收款结算.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface FmsReceivesettleMapper extends BaseMapper {
+
+ //@Update("update fms_receivesettle set name=#{msg} where id=#{id}")
+ //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from fms_receivesettle")
+ List selectListVo();
+
+ @Select("select * from fms_receivesettle where sourceBillSid =#{sourceBillSid} and isDelete = 0")
+ FmsReceivesettle fetchBySourceSid(@Param("sourceBillSid") String sourceBillSid);
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleMapper.xml b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleMapper.xml
new file mode 100644
index 0000000000..a5098eeafb
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleMapper.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleQuery.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleQuery.java
new file mode 100644
index 0000000000..ac50136290
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleQuery.java
@@ -0,0 +1,91 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmsreceivesettle;
+
+
+import com.yxt.common.core.query.Query;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsReceivesettleQuery.java
+ * Class: biz.api.fmsreceivesettle.FmsReceivesettleQuery
+ * Description: 收款结算 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "收款结算 查询条件", description = "收款结算 查询条件")
+public class FmsReceivesettleQuery implements Query {
+
+ @ApiModelProperty("结算人姓名")
+ private String createByName; // 结算人姓名
+ @ApiModelProperty("来源单sid")
+ private String sourceBillSid; // 来源单sid
+ @ApiModelProperty("来源单号")
+ private String sourceBillNo; // 来源单号
+ @ApiModelProperty("业务类型key")
+ private String busTypeKey; // 业务类型key
+ @ApiModelProperty("业务类型value(销售出库、采购退货)")
+ private String busTypeValue; // 业务类型value(销售出库、采购退货)
+ @ApiModelProperty("付款人编号")
+ private String payerNo; // 付款人编号
+ @ApiModelProperty("付款人名称")
+ private String payerName; // 付款人名称
+ @ApiModelProperty("应收金额")
+ private BigDecimal receivableAmount; // 应收金额
+ @ApiModelProperty("订金抵扣")
+ private BigDecimal depositdeductAmount; // 订金抵扣
+ @ApiModelProperty("结算方式key")
+ private String settleKey; // 结算方式key
+ @ApiModelProperty("结算方式value")
+ private String settleValue; // 结算方式value
+ @ApiModelProperty("结算金额")
+ private BigDecimal settleAmount; // 结算金额
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleKey; // 其他结算方式
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleValue; // 其他结算金额
+ @ApiModelProperty("欠款金额")
+ private BigDecimal debts; // 欠款金额
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("结算时间")
+ private Date settleTimeStart; // 结算时间
+ private Date settleTimeEnd; // 结算时间
+
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleService.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleService.java
new file mode 100644
index 0000000000..b986f94ba0
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleService.java
@@ -0,0 +1,133 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmsreceivesettle;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.fms.biz.fmspaysettle.FmsPaysettleCGTKDto;
+import com.yxt.fms.biz.fmspaysettle.FmsPaysettleDto;
+import com.yxt.fms.feign.pms.pmspurchasebackbill.PmsPurchaseBackBillFeign;
+import com.yxt.fms.feign.pms.pmspurchasebackbill.PmsPurchasebackBillDto;
+import com.yxt.fms.feign.pms.pmspurchasebill.PmsPurchaseBillDto;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsReceivesettleService.java
+ * Class: biz.biz.fmsreceivesettle.FmsReceivesettleService
+ * Description: 收款结算 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class FmsReceivesettleService extends MybatisBaseService {
+
+ @Resource
+ private PmsPurchaseBackBillFeign pmsPurchaseBackBillFeign;
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ FmsReceivesettleQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public void saveOrUpdateDto(FmsReceivesettleDto dto) {
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public void insertByDto(FmsReceivesettleDto dto) {
+ FmsReceivesettle entity = new FmsReceivesettle();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(FmsReceivesettleDto dto) {
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ FmsReceivesettle entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public FmsReceivesettleDetailsVo fetchDetailsVoBySid(String sid) {
+ FmsReceivesettle entity = fetchBySid(sid);
+ FmsReceivesettleDetailsVo vo = new FmsReceivesettleDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public FmsReceivesettle fetchBySourceSid(String sourceBillSid) {
+ return baseMapper.fetchBySourceSid(sourceBillSid);
+ }
+
+ public void cgtkPay(FmsPaysettleCGTKDto dto) {
+ PmsPurchasebackBillDto pmsPurchasebackBillDto = dto.getPmsPurchasebackBillDto();
+ String sid = pmsPurchaseBackBillFeign.save(pmsPurchasebackBillDto).getData();
+ FmsReceivesettleDto fmsReceivesettleDto = new FmsReceivesettleDto();
+ BeanUtil.copyProperties(dto, fmsReceivesettleDto);
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ fmsReceivesettleDto.setSourceBillSid(sid);
+ this.insertByDto(fmsReceivesettleDto);
+ return;
+ }
+ this.updateByDto(fmsReceivesettleDto);
+ }
+
+ public void updateIsDelete(String sourceSid) {
+ FmsReceivesettle receivesettle = baseMapper.fetchBySourceSid(sourceSid);
+ if (null != receivesettle) {
+ receivesettle.setIsDelete(1);
+ baseMapper.updateById(receivesettle);
+ }
+ }
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleVo.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleVo.java
new file mode 100644
index 0000000000..98325b79b7
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/fmsreceivesettle/FmsReceivesettleVo.java
@@ -0,0 +1,93 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.biz.fmsreceivesettle;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: yxt-fms(yxt-fms)
+ * File: FmsReceivesettleVo.java
+ * Class: biz.api.fmsreceivesettle.FmsReceivesettleVo
+ * Description: 收款结算 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-04-01 17:04:33
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "收款结算 视图数据对象", description = "收款结算 视图数据对象")
+public class FmsReceivesettleVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("结算人姓名")
+ private String createByName; // 结算人姓名
+ @ApiModelProperty("来源单sid")
+ private String sourceBillSid; // 来源单sid
+ @ApiModelProperty("来源单号")
+ private String sourceBillNo; // 来源单号
+ @ApiModelProperty("业务类型key")
+ private String busTypeKey; // 业务类型key
+ @ApiModelProperty("业务类型value(销售出库、采购退货)")
+ private String busTypeValue; // 业务类型value(销售出库、采购退货)
+ @ApiModelProperty("付款人编号")
+ private String payerNo; // 付款人编号
+ @ApiModelProperty("付款人名称")
+ private String payerName; // 付款人名称
+ @ApiModelProperty("应收金额")
+ private BigDecimal receivableAmount; // 应收金额
+ @ApiModelProperty("订金抵扣")
+ private BigDecimal depositdeductAmount; // 订金抵扣
+ @ApiModelProperty("结算方式key")
+ private String settleKey; // 结算方式key
+ @ApiModelProperty("结算方式value")
+ private String settleValue; // 结算方式value
+ @ApiModelProperty("结算金额")
+ private BigDecimal settleAmount; // 结算金额
+ @ApiModelProperty("其他结算方式")
+ private String otherSettleKey; // 其他结算方式
+ @ApiModelProperty("其他结算金额")
+ private String otherSettleValue; // 其他结算金额
+ @ApiModelProperty("欠款金额")
+ private BigDecimal debts; // 欠款金额
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("结算时间")
+ private Date settleTimeStart; // 结算时间
+ private Date settleTimeEnd; // 结算时间
+
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/biz/package-info.java b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/package-info.java
new file mode 100644
index 0000000000..4dd9c57576
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/biz/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 宇信通 仓库管理 项目后台逻辑和接口
+ */
+package com.yxt.fms.biz;
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/config/SaTokenConfigure.java b/yxt-fms-biz/src/main/java/com/yxt/fms/config/SaTokenConfigure.java
new file mode 100644
index 0000000000..6a1a45fc8e
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/config/SaTokenConfigure.java
@@ -0,0 +1,114 @@
+package com.yxt.fms.config;//package com.yxt.wms.config;
+//
+//import cn.dev33.satoken.interceptor.SaInterceptor;
+//import cn.dev33.satoken.stp.StpUtil;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+//
+///**
+// * @author wangpengfei
+// * @date 2023/5/16 14:43
+// */
+//@Configuration
+//public class SaTokenConfigure implements WebMvcConfigurer {
+// @Value("${image.url.prefix:http://127.0.0.1:8080/upload/}")
+// private String urlPrefix;
+// // 注册 Sa-Token 拦截器
+// @Override
+// public void addInterceptors(InterceptorRegistry registry) {
+// // 注册 Sa-Token 拦截器,校验规则为 StpUtil.checkLogin() 登录校验。
+//
+// registry.addInterceptor(new SaInterceptor(handler -> StpUtil.checkLogin()))
+// .addPathPatterns("/**")
+// .excludePathPatterns("/sysuser/doLogin")
+// .excludePathPatterns("/lpkgiftcard/gifCardByCustomerSid")
+// .excludePathPatterns("/empcardgift/gifCardByCustomerSid")
+// .excludePathPatterns("/empcard/getEmpCardByCustomerSid")
+// .excludePathPatterns("/lpkgiftcard/getGifCardBySid/**")
+// .excludePathPatterns("/empcardgift/getGifCardBySid/**")
+// .excludePathPatterns("/empcard/getEmpCardBySid/**")
+// .excludePathPatterns("/lpkgiftcard/isSaturAndSun/**")
+// .excludePathPatterns("/empcardgift/isSaturAndSun/**")
+// .excludePathPatterns("/empcard/isSaturAndSun/**")
+// .excludePathPatterns("/lpkgiftcard/getReservationBySid/**")
+// .excludePathPatterns("/lpksreservoorder/submission")
+// .excludePathPatterns("/lpksreservoorder/exportExcelByStore")
+// .excludePathPatterns("/empsreservoorder/createNewUserBagOrder")
+// .excludePathPatterns("/lpksreservoorders/submission")
+// .excludePathPatterns("/empsreservoorder/ordersList")
+// .excludePathPatterns("/empsreservoorder/submission")
+// .excludePathPatterns("/empsreservoorder/submissionEmp")
+// .excludePathPatterns("/empcardgift/generateCard")
+// .excludePathPatterns("/lpkgiftcard/bindCard")
+// .excludePathPatterns("/empcard/bindCard")
+// .excludePathPatterns("/lpksreservoorder/orderByCardSid/**")
+// .excludePathPatterns("/lpksreservoorder/orderListByUserSid/**")
+// .excludePathPatterns("/lpksreservoorder/orderDetails/**")
+// .excludePathPatterns("/newcomerrecorecord/recommendNewUsers")
+// .excludePathPatterns("/newcomerrecorecord/recommendedAssistance")
+// .excludePathPatterns("/newcomerrecorecord/recordList/**")
+// .excludePathPatterns("/transferrecords/transferRecordsList")
+// .excludePathPatterns("/empsreservoorder/createVegeOrder")
+// .excludePathPatterns("/empsreservoorder/OrderDetails/**")
+// .excludePathPatterns("/empsreservoorder/changePayState/**")
+// .excludePathPatterns("/lpkgoods/goodsDetails/**")
+// .excludePathPatterns("/lpkstore/getAllStoreByQuery")
+// .excludePathPatterns("/vegetablecellar/receiveTransferGoods")
+// .excludePathPatterns("/transferrecords/submission")
+// .excludePathPatterns("/lpkgiftcard/getCardByBank")
+// .excludePathPatterns("/empcard/getEmpCard")
+// .excludePathPatterns("/empcardgift/shareEmpCard/**")
+// .excludePathPatterns("/empcardgift/generateEmpCardGift")
+// .excludePathPatterns("/empcardgift/generateEmpCard")
+// .excludePathPatterns("/lpkcustomer/wxSilentLogin")
+// .excludePathPatterns("/lpkgiftcard/gifCardsByCustomerSid")
+// .excludePathPatterns("/lpkgoods/getAllGiftBag")
+// .excludePathPatterns("/appletgiftbag/getGiftBagBySid/**")
+// .excludePathPatterns("/appletgiftbag/appletGiftBagList")
+// .excludePathPatterns("/lpkgiftcard/cardShareDetail/**")
+// .excludePathPatterns("/lpkgiftcard/cardShareGoodsDetail/**")
+// .excludePathPatterns("/empcardgift/generateTopEmpCard/**")
+// .excludePathPatterns("/empsreservoorder/createOrder")
+// .excludePathPatterns("/appletgiftbag/recommendRecord/**")
+// //2024-01-17
+// .excludePathPatterns("/lpkgiftcard/getAllGoodsType/**")
+// .excludePathPatterns("/appletnotice/getNotice")
+// .excludePathPatterns("/empsreservoorder/getPreOrder")
+// .excludePathPatterns("/lpkgoods/getAllGoodsType/**")
+// .excludePathPatterns("/transferrecords/submission")
+// .excludePathPatterns("/vegetablecellar/receiveTransferGoods")
+// .excludePathPatterns("/customerstore/isSaturAndSun")
+// .excludePathPatterns("/lpkgiftcard/getGoodsByType/**")
+// .excludePathPatterns("/lpkgoods/getGoodsTypeAndBrand")
+// .excludePathPatterns("/lpkgoods/getGoodsByType")
+// .excludePathPatterns("/lpksreservoorders/orderListByUserSid")
+// .excludePathPatterns("/appletgiftbag/newUserQuota")
+// .excludePathPatterns("/shoppingcart/addShoppingCart")
+// .excludePathPatterns("/shoppingcart/getGoodsWeight")
+// .excludePathPatterns("/shoppingcart/shoppingCartList")
+// .excludePathPatterns("/shoppingcart/delShoppingCart/**")
+// .excludePathPatterns("/lpkgoods/vegeCellarTypeList")
+// .excludePathPatterns("/vegetablecellar/addGoods/**")
+// .excludePathPatterns("/lpkgoods/vegeCellarList")
+// .excludePathPatterns("/customerstore/getStoreBySid/**")
+// .excludePathPatterns("/lpkgiftcard/bindAllCard")
+// .excludePathPatterns("/lpkcustomer/customerInfo/**")
+// .excludePathPatterns("/vegetablecellar/saveGoods")
+// .excludePathPatterns("/transferrecords/getTransferByCode/**")
+// //2024-01-18
+// .excludePathPatterns("/lpkcustomer/getCustomerInfo/**")
+// .excludePathPatterns("/lpkcustomer/modifyUserNickName")
+// .excludePathPatterns("/lpkcustomer/modifyHeadImage")
+// .excludePathPatterns("/upload/**")
+// .excludePathPatterns("/lpkcustomer/getPhoneNumber")
+// .excludePathPatterns("/lpkcustomer/getRealInfo/**")
+// .excludePathPatterns("/lpkcustomer/saveRealInfo")
+// .excludePathPatterns("/pms/PmsBrand/getList")
+// .excludePathPatterns("/LpkCustomerBank/getBankList")
+// .excludePathPatterns("/lpkcustomer/updateCustomerBank")
+// .excludePathPatterns("//wxapi/**")
+// ;
+// }
+//}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/config/SaTokenGloableException.java b/yxt-fms-biz/src/main/java/com/yxt/fms/config/SaTokenGloableException.java
new file mode 100644
index 0000000000..48df786187
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/config/SaTokenGloableException.java
@@ -0,0 +1,67 @@
+package com.yxt.fms.config;
+
+import com.yxt.common.base.config.handler.GlobalExceptionHandler;
+import com.yxt.common.core.result.ResultBean;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.validation.BindException;
+import org.springframework.validation.ObjectError;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.servlet.NoHandlerFoundException;
+
+/**
+ * @author dimengzhe
+ * @date 2020/9/12 3:23
+ * @description 全局异常处理
+ */
+@RestControllerAdvice
+public class SaTokenGloableException extends GlobalExceptionHandler {
+
+ private static final Logger L = LoggerFactory.getLogger(GlobalExceptionHandler.class);
+
+ public SaTokenGloableException() {
+ }
+ @ExceptionHandler({Exception.class})
+ public ResultBean handleException(Exception e) {
+ if(null !=e.getMessage()){
+ if(e.getMessage().contains("token 无效:")){
+ L.error(e.getMessage(), e);
+ return ResultBean.fireFail().setCode("5000").setMsg("系统异常::" + e.getMessage());
+ }
+ if(e.getMessage().contains("未能读取到有效 token")){
+// L.error(e.getMessage(), e);
+ return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage());
+ }
+ }
+
+ L.error(e.getMessage(), e);
+ return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage());
+ }
+ @ExceptionHandler({NoHandlerFoundException.class})
+ public ResultBean handlerNoFoundException(Exception e) {
+ L.error(e.getMessage(), e);
+ return ResultBean.fireFail().setCode("404").setMsg("路径不存在,请检查路径是否正确");
+ }
+
+// @ExceptionHandler({Exception.class})
+// public ResultBean handleException(Exception e) {
+// L.error(e.getMessage(), e);
+// return ResultBean.fireFail().setMsg("系统异常::" + e.getMessage());
+// }
+
+ @ExceptionHandler({BindException.class})
+ public ResultBean validatedBindException(BindException e) {
+ L.error(e.getMessage(), e);
+ String message = ((ObjectError)e.getAllErrors().get(0)).getDefaultMessage();
+ return ResultBean.fireFail().setCode("405").setMsg(message);
+ }
+
+ @ExceptionHandler({MethodArgumentNotValidException.class})
+ public ResultBean validExceptionHandler(MethodArgumentNotValidException e) {
+ L.error(e.getMessage(), e);
+ String message = e.getBindingResult().getFieldError().getDefaultMessage();
+ return ResultBean.fireFail().setCode("405").setMsg(message);
+ }
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/config/package-info.java b/yxt-fms-biz/src/main/java/com/yxt/fms/config/package-info.java
new file mode 100644
index 0000000000..d035582e41
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/config/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明
+ */
+package com.yxt.fms.config;
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/feign/package-info.java b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/package-info.java
new file mode 100644
index 0000000000..0111e6c42c
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明
+ */
+package com.yxt.fms.feign;
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchaseBackBillFeign.java b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchaseBackBillFeign.java
new file mode 100644
index 0000000000..b089f65a76
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchaseBackBillFeign.java
@@ -0,0 +1,25 @@
+package com.yxt.fms.feign.pms.pmspurchasebackbill;
+
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.fms.feign.pms.pmspurchasebill.PmsPurchaseBillDto;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/3/20
+ **/
+@FeignClient(
+ contextId = "yxt-pms-PmsPurchaseBackBill",
+ name = "yxt-pms",
+ path = "/apiadmin/pms/pmspurchasebackbill",
+ fallback = PmsPurchaseBackBillFeignFallback.class)
+public interface PmsPurchaseBackBillFeign {
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody PmsPurchasebackBillDto dto);
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchaseBackBillFeignFallback.java b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchaseBackBillFeignFallback.java
new file mode 100644
index 0000000000..f0c31bb719
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchaseBackBillFeignFallback.java
@@ -0,0 +1,19 @@
+package com.yxt.fms.feign.pms.pmspurchasebackbill;
+
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.fms.feign.pms.pmspurchasebill.PmsPurchaseBillDto;
+import org.springframework.stereotype.Component;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/3/20
+ **/
+@Component
+public class PmsPurchaseBackBillFeignFallback implements PmsPurchaseBackBillFeign {
+
+ @Override
+ public ResultBean save(PmsPurchasebackBillDto dto) {
+ return null;
+ }
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackBillDetailsVo.java b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackBillDetailsVo.java
new file mode 100644
index 0000000000..d63b2275f9
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackBillDetailsVo.java
@@ -0,0 +1,84 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.feign.pms.pmspurchasebackbill;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackBillVo.java
+ * Class: com.yxt.pms.api.pmspurchasebackbill.PmsPurchasebackBillVo
+ * Description: 采购退货单据 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据 视图数据详情", description = "采购退货单据 视图数据详情")
+public class PmsPurchasebackBillDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("制单人sid")
+ private String createBySid;
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("来源单sid(采购单sid)")
+ private String sourceBillSid; // 来源单sid(采购单sid)
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo; // 来源单编号
+ @ApiModelProperty("单据编号")
+ private String billNo; // 单据编号
+ @ApiModelProperty("退误差调整金额")
+ private BigDecimal backErrorAmount; // 退误差调整金额
+ @ApiModelProperty("退优惠金额")
+ private BigDecimal backDiscountAmount; // 退优惠金额
+ @ApiModelProperty("抵扣欠款")
+ private BigDecimal deductDebts; // 抵扣欠款
+ @ApiModelProperty("抵扣单号")
+ private String deductBillNo; // 抵扣单号
+ @ApiModelProperty("转入预付款")
+ private BigDecimal toPrepayment; // 转入预付款
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+ @ApiModelProperty("采购退货单明细")
+ private List pmsPurchasebackDetailList;
+}
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackBillDto.java b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackBillDto.java
new file mode 100644
index 0000000000..656205545e
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackBillDto.java
@@ -0,0 +1,85 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.feign.pms.pmspurchasebackbill;
+
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackBillDto.java
+ * Class: com.yxt.pms.api.pmspurchasebackbill.PmsPurchasebackBillDto
+ * Description: 采购退货单据 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据 数据传输对象", description = "采购退货单据 数据传输对象")
+public class PmsPurchasebackBillDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("制单人sid")
+ private String createBySid;
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("来源单sid(采购单sid)")
+ private String sourceBillSid; // 来源单sid(采购单sid)
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo; // 来源单编号
+ @ApiModelProperty("单据编号")
+ private String billNo; // 单据编号
+ @ApiModelProperty("退误差调整金额")
+ private BigDecimal backErrorAmount; // 退误差调整金额
+ @ApiModelProperty("退优惠金额")
+ private BigDecimal backDiscountAmount; // 退优惠金额
+ @ApiModelProperty("抵扣欠款")
+ private BigDecimal deductDebts; // 抵扣欠款
+ @ApiModelProperty("抵扣单号")
+ private String deductBillNo; // 抵扣单号
+ @ApiModelProperty("转入预付款")
+ private BigDecimal toPrepayment; // 转入预付款
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+ @ApiModelProperty("采购退货单明细")
+ private List pmsPurchasebackDetailList;
+
+}
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackDetailDetailsVo.java b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackDetailDetailsVo.java
new file mode 100644
index 0000000000..7685dc1058
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackDetailDetailsVo.java
@@ -0,0 +1,100 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.feign.pms.pmspurchasebackbill;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackDetailVo.java
+ * Class: com.yxt.pms.api.pmspurchasebackdetail.PmsPurchasebackDetailVo
+ * Description: 采购退货单据明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据明细 视图数据详情", description = "采购退货单据明细 视图数据详情")
+public class PmsPurchasebackDetailDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("单据sid")
+ private String billSid; // 单据sid
+ @ApiModelProperty("商品库存sid")
+ private String inventorySid; // 商品库存sid
+ @ApiModelProperty("商品基础信息Sid")
+ private String goodsSpuSid; // 商品基础信息Sid
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName; // 商品名称
+ @ApiModelProperty("商品Skusid")
+ private String goodsSkuSid; // 商品Skusid
+ @ApiModelProperty("商品Sku名称")
+ private String goodsSkuTitle; // 商品Sku名称
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode; // 商品编码(图号)
+ @ApiModelProperty("规格")
+ private String goodsSkuOwnSpec; // 规格
+ @ApiModelProperty("退货前的库存数量")
+ private BigDecimal currentCount; // 退货前的库存数量
+ @ApiModelProperty("计量单位")
+ private String unit; // 计量单位
+ @ApiModelProperty("仓库sid")
+ private String warehouseSid; // 仓库sid
+ @ApiModelProperty("仓库名称")
+ private String warehouseName; // 仓库名称
+ @ApiModelProperty("库区/货位sid")
+ private String areaSid; // 库区/货位sid
+ @ApiModelProperty("库区名称")
+ private String warehouseAreaName; // 库区名称
+ @ApiModelProperty("货架sid")
+ private String rackSid; // 货架sid
+ @ApiModelProperty("货架名称")
+ private String warehouseRackName; // 货架名称
+ @ApiModelProperty("已退数量")
+ private BigDecimal returnedCount; // 已退数量
+ @ApiModelProperty("退货数量")
+ private BigDecimal backCount; // 退货数量
+ @ApiModelProperty("税额")
+ private BigDecimal maxAmount; // 税额
+ @ApiModelProperty("含税价")
+ private BigDecimal maxPrice; // 含税价
+ @ApiModelProperty("退货金额")
+ private BigDecimal backAmount; // 退货金额
+
+}
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackDetailDto.java b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackDetailDto.java
new file mode 100644
index 0000000000..fefb26ca5b
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebackbill/PmsPurchasebackDetailDto.java
@@ -0,0 +1,100 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.feign.pms.pmspurchasebackbill;
+
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackDetailDto.java
+ * Class: com.yxt.pms.api.pmspurchasebackdetail.PmsPurchasebackDetailDto
+ * Description: 采购退货单据明细 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据明细 数据传输对象", description = "采购退货单据明细 数据传输对象")
+public class PmsPurchasebackDetailDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("单据sid")
+ private String billSid; // 单据sid
+ @ApiModelProperty("商品库存sid")
+ private String inventorySid; // 商品库存sid
+ @ApiModelProperty("商品基础信息Sid")
+ private String goodsSpuSid; // 商品基础信息Sid
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName; // 商品名称
+ @ApiModelProperty("商品Skusid")
+ private String goodsSkuSid; // 商品Skusid
+ @ApiModelProperty("商品Sku名称")
+ private String goodsSkuTitle; // 商品Sku名称
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode; // 商品编码(图号)
+ @ApiModelProperty("规格")
+ private String goodsSkuOwnSpec; // 规格
+ @ApiModelProperty("退货前的库存数量")
+ private BigDecimal currentCount; // 退货前的库存数量
+ @ApiModelProperty("计量单位")
+ private String unit; // 计量单位
+ @ApiModelProperty("仓库sid")
+ private String warehouseSid; // 仓库sid
+ @ApiModelProperty("仓库名称")
+ private String warehouseName; // 仓库名称
+ @ApiModelProperty("库区/货位sid")
+ private String areaSid; // 库区/货位sid
+ @ApiModelProperty("库区名称")
+ private String warehouseAreaName; // 库区名称
+ @ApiModelProperty("货架sid")
+ private String rackSid; // 货架sid
+ @ApiModelProperty("货架名称")
+ private String warehouseRackName; // 货架名称
+ @ApiModelProperty("已退数量")
+ private BigDecimal returnedCount; // 已退数量
+ @ApiModelProperty("退货数量")
+ private BigDecimal backCount; // 退货数量
+ @ApiModelProperty("税额")
+ private BigDecimal maxAmount; // 税额
+ @ApiModelProperty("含税价")
+ private BigDecimal maxPrice; // 含税价
+ @ApiModelProperty("退货金额")
+ private BigDecimal backAmount; // 退货金额
+
+}
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillDetailDto.java b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillDetailDto.java
new file mode 100644
index 0000000000..eefd58ebd3
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillDetailDto.java
@@ -0,0 +1,98 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.feign.pms.pmspurchasebill;
+
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillDetailDto.java
+ * Class: com.yxt.pms.api.pmspurchasebilldetail.PmsPurchaseBillDetailDto
+ * Description: 采购单据明细 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单据明细 数据传输对象", description = "采购单据明细 数据传输对象")
+public class PmsPurchaseBillDetailDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("单据sid")
+ private String billSid; // 单据sid
+ @ApiModelProperty("商品基础信息Sid")
+ private String goodSpuSid; // 商品基础信息Sid
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName; // 商品名称
+ @ApiModelProperty("商品Skusid")
+ private String goodsSkuSid; // 商品Skusid
+ @ApiModelProperty("商品Sku名称")
+ private String goodsSkuTitle; // 商品Sku名称
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode; // 商品编码(图号)
+ @ApiModelProperty("规格型号")
+ private String goodsSkuOwnSpec; // 规格型号
+ @ApiModelProperty("采购前库存数量")
+ private BigDecimal currentCount; // 采购前库存数量
+ @ApiModelProperty("仓库sid")
+ private String warehouseSid; // 仓库sid
+ @ApiModelProperty("仓库名称")
+ private String warehouseName; // 仓库名称
+ @ApiModelProperty("库区/货位sid")
+ private String warehouseAreaSid; // 库区/货位sid
+ @ApiModelProperty("库区名称")
+ private String warehouseAreaName; // 库区名称
+ @ApiModelProperty("货架sid")
+ private String warehouseRackSid; // 货架sid
+ @ApiModelProperty("货架名称")
+ private String warehouseRackName; // 货架名称
+ @ApiModelProperty("单位成本(进货价)")
+ private BigDecimal cost; // 单位成本(进货价)
+ @ApiModelProperty("采购数量")
+ private BigDecimal count; // 采购数量
+ @ApiModelProperty("税额")
+ private BigDecimal taxAmount; // 税额
+ @ApiModelProperty("含税价")
+ private BigDecimal taxPrice; // 含税价
+ @ApiModelProperty("采购金额")
+ private BigDecimal amount; // 采购金额
+ @ApiModelProperty("销售单价")
+ private BigDecimal salesPrice; // 销售单价
+ @ApiModelProperty("最低零售价")
+ private BigDecimal minimumSalesPrice; // 最低零售价
+
+}
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillDto.java b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillDto.java
new file mode 100644
index 0000000000..8ee34d0a24
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillDto.java
@@ -0,0 +1,108 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.feign.pms.pmspurchasebill;
+
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillDto.java
+ * Class: com.yxt.pms.api.pmspurchasebill.PmsPurchaseBillDto
+ * Description: 采购单 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单 数据传输对象", description = "采购单 数据传输对象")
+public class PmsPurchaseBillDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("制单人sid")
+ private String createBySid;
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("来源单sid(工单sid)")
+ private String sourceBillSid; // 来源单sid(工单sid)
+ @ApiModelProperty("来源单编号/外部编号")
+ private String sourceBillNo; // 来源单编号/外部编号
+ @ApiModelProperty("单据编号")
+ private String billNo; // 单据编号
+ @ApiModelProperty("采购类型Key")
+ private String purchaseTypeKey; // 采购类型Key
+ @ApiModelProperty("采购类型Value(厂家采购、外采、其他)")
+ private String purchaseTypeValue; // 采购类型Value(厂家采购、外采、其他)
+ @ApiModelProperty("供应商sid")
+ private String supplierSid; // 供应商sid
+ @ApiModelProperty("供应商名称")
+ private String supplierName; // 供应商名称
+ @ApiModelProperty("供应商联系电话")
+ private String supplierPhone; // 供应商联系电话
+ @ApiModelProperty("票据类型key")
+ private String billTypeKey; // 票据类型key
+ @ApiModelProperty("票据类型value(不含税、增值税、普通税、已含增值税)")
+ private String billTypeValue; // 票据类型value(不含税、增值税、普通税、已含增值税)
+ @ApiModelProperty("是否需要开发票(是1,否0)")
+ private Integer isInvoicing; // 是否需要开发票(是1,否0)
+ @ApiModelProperty("发票号码")
+ private String invoiceCode; // 发票号码
+ @ApiModelProperty("采购员sid(单选)")
+ private String purchaserSid; // 采购员sid(单选)
+ @ApiModelProperty("采购员姓名")
+ private String purchaserName; // 采购员姓名
+ @ApiModelProperty("库管员sid(单选)")
+ private String storekeeperSid; // 库管员sid(单选)
+ @ApiModelProperty("库管员姓名")
+ private String storekeeperName; // 库管员姓名
+ @ApiModelProperty("运费")
+ private BigDecimal freight; // 运费
+ @ApiModelProperty("优惠金额")
+ private BigDecimal discountAmount; // 优惠金额
+ @ApiModelProperty("应付金额(=采购金额+运费-优惠金额)")
+ private BigDecimal payableAmount; // 应付金额(=采购金额+运费-优惠金额)
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+ @ApiModelProperty("采购单商品明细")
+ private List pmsPurchaseBillDetailList;
+ @ApiModelProperty("采购单扩展")
+ private PmsPurchaseBillExtendDto pmsPurchaseBillExtend;
+}
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillExtendDto.java b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillExtendDto.java
new file mode 100644
index 0000000000..b719a17b8e
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillExtendDto.java
@@ -0,0 +1,86 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.fms.feign.pms.pmspurchasebill;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillExtendDto.java
+ * Class: com.yxt.pms.api.pmspurchasebillextend.PmsPurchaseBillExtendDto
+ * Description: 采购单扩展 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单扩展 数据传输对象", description = "采购单扩展 数据传输对象")
+public class PmsPurchaseBillExtendDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("采购单sid")
+ private String purchaseBillSid; // 采购单sid
+ @ApiModelProperty("加价方式(统一加价率、区间加价率、仓库加价率)")
+ private String markupType; // 加价方式(统一加价率、区间加价率、仓库加价率)
+ @ApiModelProperty("进价不同时的价格策略(加权平均、分别计价)")
+ private String priceStrategy; // 进价不同时的价格策略(加权平均、分别计价)
+ @ApiModelProperty("临时加价率")
+ private Integer tempMarkupRate; // 临时加价率
+ @ApiModelProperty("误差调整金额")
+ private BigDecimal errorAmount; // 误差调整金额
+ @ApiModelProperty("发货人姓名")
+ private String shipperName; // 发货人姓名
+ @ApiModelProperty("发货人手机")
+ private String shipperMob; // 发货人手机
+ @ApiModelProperty("发货省市区sid")
+ private String deliveryAreaSid; // 发货省市区sid
+ @ApiModelProperty("发货详细地址")
+ private String deliveryAddress; // 发货详细地址
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("到货日期")
+ private Date arrivalDate;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("付款期限")
+ private Date paymentTerm; // 付款期限
+ @ApiModelProperty("仓库sid")
+ private String wareHouseSid; // 仓库sid
+
+}
\ No newline at end of file
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillFeign.java b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillFeign.java
new file mode 100644
index 0000000000..2a4cb5d5e6
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillFeign.java
@@ -0,0 +1,26 @@
+package com.yxt.fms.feign.pms.pmspurchasebill;
+
+import com.yxt.common.core.result.ResultBean;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/3/20
+ **/
+@FeignClient(
+ contextId = "yxt-pms-PmsPurchaseBill",
+ name = "yxt-pms",
+ path = "/apiadmin/pms/pmspurchasebill",
+ fallback = PmsPurchaseBillFeignFallback.class)
+public interface PmsPurchaseBillFeign {
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody PmsPurchaseBillDto dto);
+}
diff --git a/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillFeignFallback.java b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillFeignFallback.java
new file mode 100644
index 0000000000..7fed4d6f25
--- /dev/null
+++ b/yxt-fms-biz/src/main/java/com/yxt/fms/feign/pms/pmspurchasebill/PmsPurchaseBillFeignFallback.java
@@ -0,0 +1,18 @@
+package com.yxt.fms.feign.pms.pmspurchasebill;
+
+import com.yxt.common.core.result.ResultBean;
+import org.springframework.stereotype.Component;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/3/20
+ **/
+@Component
+public class PmsPurchaseBillFeignFallback implements PmsPurchaseBillFeign {
+
+ @Override
+ public ResultBean save(PmsPurchaseBillDto dto) {
+ return null;
+ }
+}
diff --git a/yxt-fms-biz/src/main/resources/application-devv.yml b/yxt-fms-biz/src/main/resources/application-devv.yml
new file mode 100644
index 0000000000..022d83410a
--- /dev/null
+++ b/yxt-fms-biz/src/main/resources/application-devv.yml
@@ -0,0 +1,30 @@
+spring:
+ datasource:
+ hikari:
+ max-lifetime: 500000
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://39.104.100.138:3306/yxt_fms?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
+ username: root
+ password: yxt_mysql_138
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 39.104.100.138:8848
+ register-enabled: false
+ redis:
+ database: 3 # Redis数据库索引(默认为0)
+ host: 39.104.100.138
+ jedis:
+ pool:
+ max-active: -1 #连接池最大连接数(使用负值表示没有限制)
+ max-idle: 8 #连接池中的最大空闲连接
+ max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+ min-idle: 0 # 连接池中的最小空闲连接
+ password: 123456
+ port: 6379
+ timeout: 0 # 连接超时时间(毫秒)
+image:
+ upload:
+ path: D:\\anrui\\upload\\
+ url:
+ prefix: http://192.168.1.106:8111/upload/
diff --git a/yxt-fms-biz/src/main/resources/application-pro.yml b/yxt-fms-biz/src/main/resources/application-pro.yml
new file mode 100644
index 0000000000..1b0ead5deb
--- /dev/null
+++ b/yxt-fms-biz/src/main/resources/application-pro.yml
@@ -0,0 +1,27 @@
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://120.46.172.184:3306/yxt_fms?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+ username: root
+ password: '@anrui18033887500'
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 127.0.0.1:8848
+ redis:
+ database: 3 # Redis数据库索引(默认为0)
+ host: 127.0.0.1
+ jedis:
+ pool:
+ max-active: -1 #连接池最大连接数(使用负值表示没有限制)
+ max-idle: 8 #连接池中的最大空闲连接
+ max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+ min-idle: 0 # 连接池中的最小空闲连接
+ password: 123456
+ port: 6379
+ timeout: 0 # 连接超时时间(毫秒)
+image:
+ upload:
+ path: D:\anrui\upload\
+ url:
+ prefix: http://120.46.172.184/api/upload/
diff --git a/yxt-fms-biz/src/main/resources/application-test.yml b/yxt-fms-biz/src/main/resources/application-test.yml
new file mode 100644
index 0000000000..9a6cf88afa
--- /dev/null
+++ b/yxt-fms-biz/src/main/resources/application-test.yml
@@ -0,0 +1,31 @@
+spring:
+ datasource:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://172.18.0.4:3306/yxt_fms?serverTimezone=GMT%2B8&autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
+ username: root
+ password: yxt_mysql_138
+ hikari:
+ minimum-idle: 3
+ max-lifetime: 30000
+ maximum-pool-size: 10
+ cloud:
+ nacos:
+ discovery:
+ server-addr: 172.18.0.5:8848
+ redis:
+ database: 3 # Redis数据库索引(默认为0)
+ host: 172.18.0.7
+ jedis:
+ pool:
+ max-active: -1 #连接池最大连接数(使用负值表示没有限制)
+ max-idle: 8 #连接池中的最大空闲连接
+ max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+ min-idle: 0 # 连接池中的最小空闲连接
+ password: 123456
+ port: 6379
+ timeout: 0 # 连接超时时间(毫秒)
+image:
+ upload:
+ path: /home/lzh/docker_data/nginx/html/anrui-system-ui/upload/
+ url:
+ prefix: http://anrui.yyundong.com/upload/
diff --git a/yxt-fms-biz/src/main/resources/application.yml b/yxt-fms-biz/src/main/resources/application.yml
new file mode 100644
index 0000000000..06c54ac208
--- /dev/null
+++ b/yxt-fms-biz/src/main/resources/application.yml
@@ -0,0 +1,50 @@
+spring:
+ application:
+ name: yxt-fms
+ profiles:
+ active: devv
+# active: test
+# active: pro
+ messages:
+ # 国际化资源文件路径
+ basename: i18n/messages
+ servlet:
+ #上传文件
+ multipart:
+ max-file-size: 50MB
+ max-request-size: 100MB
+ devtools:
+ restart:
+ # 热部署开关
+ enabled: true
+
+server:
+ port: 7304
+ max-http-header-size: 102400
+ undertow:
+ max-http-post-size: -1
+
+#mybatis
+mybatis-plus:
+ # 配置mapper的扫描,找到所有的mapper.xml映射文件
+ mapper-locations: classpath*:**Mapper.xml
+ global-config:
+ refresh: true
+ db-config:
+ #定义生成ID的类型
+ id-type: Auto
+ db-type: mysql
+ configuration:
+ map-underscore-to-camel-case: false
+ cache-enabled: true
+ call-setters-on-nulls: true
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+
+#rocketmq:
+# producer:
+# group: yxt-supervise-gf
+# name-server: 127.0.0.1:9876
+
+
+
+
diff --git a/yxt-fms-biz/src/main/resources/logback-spring.xml b/yxt-fms-biz/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000000..1a756cd90a
--- /dev/null
+++ b/yxt-fms-biz/src/main/resources/logback-spring.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+ %yellow(%date{yyyy-MM-dd HH:mm:ss}) |%highlight(%-5level) |%green(%logger:%line) |%blue(%msg%n)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${log.base}.log
+
+ ${log.base}.%d{yyyyMMdd}.%i.log.zip
+
+
+
+ 1MB
+
+
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}
+ -%msg%n
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-fms-biz/src/test/java/com/yxt/fms/YxtFmsApplicationTests.java b/yxt-fms-biz/src/test/java/com/yxt/fms/YxtFmsApplicationTests.java
new file mode 100644
index 0000000000..44fb0db2d4
--- /dev/null
+++ b/yxt-fms-biz/src/test/java/com/yxt/fms/YxtFmsApplicationTests.java
@@ -0,0 +1,13 @@
+package com.yxt.fms;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class YxtFmsApplicationTests {
+
+ @Test
+ void contextLoads() {
+ }
+
+}
From 2946c69cd5c52c994370954412f15bc24a70fe0c Mon Sep 17 00:00:00 2001
From: fanzongzhe <285169773@qq.com>
Date: Mon, 6 May 2024 14:56:06 +0800
Subject: [PATCH 3/8] yxt-pms
---
yxt-pms-biz/README.md | 3 +
yxt-pms-biz/pom.xml | 134 ++++++++++++
.../java/com/yxt/pms/YxtPmsApplication.java | 24 ++
.../pms/PmsPurchaseBillDetailRest.java | 106 +++++++++
.../pms/PmsPurchaseBillExtendRest.java | 89 ++++++++
.../pms/apiadmin/pms/PmsPurchaseBillRest.java | 129 +++++++++++
.../apiadmin/pms/PmsPurchasebackBillRest.java | 114 ++++++++++
.../pms/PmsPurchasebackDetailRest.java | 89 ++++++++
.../java/com/yxt/pms/apiwx/WxHomeRest.java | 10 +
.../java/com/yxt/pms/biz/package-info.java | 4 +
.../PmsPurchasebackBill.java | 82 +++++++
.../PmsPurchasebackBillDetailsVo.java | 87 ++++++++
.../PmsPurchasebackBillDto.java | 87 ++++++++
.../PmsPurchasebackBillExcelVo.java | 75 +++++++
.../PmsPurchasebackBillMapper.java | 63 ++++++
.../PmsPurchasebackBillMapper.xml | 48 ++++
.../PmsPurchasebackBillQuery.java | 70 ++++++
.../PmsPurchasebackBillService.java | 181 +++++++++++++++
.../PmsPurchasebackBillVo.java | 78 +++++++
.../PmsPurchasebackDetail.java | 100 +++++++++
.../PmsPurchasebackDetailDetailsVo.java | 101 +++++++++
.../PmsPurchasebackDetailDto.java | 101 +++++++++
.../PmsPurchasebackDetailMapper.java | 67 ++++++
.../PmsPurchasebackDetailMapper.xml | 13 ++
.../PmsPurchasebackDetailQuery.java | 99 +++++++++
.../PmsPurchasebackDetailService.java | 105 +++++++++
.../PmsPurchasebackDetailVo.java | 101 +++++++++
.../pms/pmspurchasebill/PmsPurchaseBill.java | 96 ++++++++
.../PmsPurchaseBillDetailsVo.java | 109 +++++++++
.../pmspurchasebill/PmsPurchaseBillDto.java | 107 +++++++++
.../PmsPurchaseBillExportVo.java | 80 +++++++
.../PmsPurchaseBillMapper.java | 67 ++++++
.../pmspurchasebill/PmsPurchaseBillMapper.xml | 45 ++++
.../pmspurchasebill/PmsPurchaseBillQuery.java | 72 ++++++
.../PmsPurchaseBillService.java | 207 ++++++++++++++++++
.../pmspurchasebill/PmsPurchaseBillVo.java | 76 +++++++
.../PmsPurchaseChoiceBillVo.java | 98 +++++++++
.../PmsPurchaseBillDetail.java | 100 +++++++++
.../PmsPurchaseBillDetailDetailsVo.java | 99 +++++++++
.../PmsPurchaseBillDetailDto.java | 99 +++++++++
.../PmsPurchaseBillDetailMapper.java | 75 +++++++
.../PmsPurchaseBillDetailMapper.xml | 53 +++++
.../PmsPurchaseBillDetailQuery.java | 99 +++++++++
.../PmsPurchaseBillDetailReportQuery.java | 62 ++++++
.../PmsPurchaseBillDetailReportVo.java | 77 +++++++
.../PmsPurchaseBillDetailService.java | 148 +++++++++++++
.../PmsPurchaseBillDetailSumVo.java | 71 ++++++
.../PmsPurchaseBillDetailVo.java | 101 +++++++++
.../PmsPurchaseBillExtend.java | 86 ++++++++
.../PmsPurchaseBillExtendDetailsVo.java | 89 ++++++++
.../PmsPurchaseBillExtendDto.java | 87 ++++++++
.../PmsPurchaseBillExtendMapper.java | 67 ++++++
.../PmsPurchaseBillExtendMapper.xml | 13 ++
.../PmsPurchaseBillExtendQuery.java | 87 ++++++++
.../PmsPurchaseBillExtendService.java | 103 +++++++++
.../PmsPurchaseBillExtendVo.java | 89 ++++++++
.../com/yxt/pms/config/SaTokenConfigure.java | 114 ++++++++++
.../pms/config/SaTokenGloableException.java | 67 ++++++
.../java/com/yxt/pms/config/package-info.java | 4 +
.../java/com/yxt/pms/feign/package-info.java | 4 +
.../java/com/yxt/pms/utils/DoubleUtils.java | 93 ++++++++
.../java/com/yxt/pms/utils/StyleUtils.java | 89 ++++++++
.../src/main/resources/application-devv.yml | 30 +++
.../src/main/resources/application-pro.yml | 27 +++
.../src/main/resources/application-test.yml | 31 +++
.../src/main/resources/application.yml | 50 +++++
.../src/main/resources/logback-spring.xml | 50 +++++
.../com/yxt/pms/YxtPmsApplicationTest.java | 24 ++
68 files changed, 5305 insertions(+)
create mode 100644 yxt-pms-biz/README.md
create mode 100644 yxt-pms-biz/pom.xml
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/YxtPmsApplication.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillDetailRest.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillExtendRest.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillRest.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchasebackBillRest.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchasebackDetailRest.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/apiwx/WxHomeRest.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/package-info.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBill.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillDetailsVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillDto.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillExcelVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.xml
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillQuery.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetail.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailDetailsVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailDto.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailMapper.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailMapper.xml
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailQuery.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailService.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBill.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDetailsVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDto.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillExportVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.xml
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillQuery.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseChoiceBillVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetail.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailDetailsVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailDto.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailMapper.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailMapper.xml
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailQuery.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailReportQuery.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailReportVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailService.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailSumVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtend.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendDetailsVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendDto.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendMapper.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendMapper.xml
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendQuery.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendService.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendVo.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/config/SaTokenConfigure.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/config/SaTokenGloableException.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/config/package-info.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/feign/package-info.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/utils/DoubleUtils.java
create mode 100644 yxt-pms-biz/src/main/java/com/yxt/pms/utils/StyleUtils.java
create mode 100644 yxt-pms-biz/src/main/resources/application-devv.yml
create mode 100644 yxt-pms-biz/src/main/resources/application-pro.yml
create mode 100644 yxt-pms-biz/src/main/resources/application-test.yml
create mode 100644 yxt-pms-biz/src/main/resources/application.yml
create mode 100644 yxt-pms-biz/src/main/resources/logback-spring.xml
create mode 100644 yxt-pms-biz/src/test/java/com/yxt/pms/YxtPmsApplicationTest.java
diff --git a/yxt-pms-biz/README.md b/yxt-pms-biz/README.md
new file mode 100644
index 0000000000..0cf233c13f
--- /dev/null
+++ b/yxt-pms-biz/README.md
@@ -0,0 +1,3 @@
+yxt-pms-biz
+
+采购后台程序及接口
\ No newline at end of file
diff --git a/yxt-pms-biz/pom.xml b/yxt-pms-biz/pom.xml
new file mode 100644
index 0000000000..64632078d0
--- /dev/null
+++ b/yxt-pms-biz/pom.xml
@@ -0,0 +1,134 @@
+
+
+
+
+ com.yxt
+ yxt-parent
+ 0.0.1
+
+
+ 4.0.0
+
+ yxt-pms-biz
+ com.yxt.pms
+ 2.0.1
+
+
+
+ com.yxt
+ yxt-common-base
+ 0.0.1
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+
+ mysql
+ mysql-connector-java
+ runtime
+
+
+
+ com.baomidou
+ mybatis-plus-boot-starter
+
+
+ com.baomidou
+ mybatis-plus-annotation
+
+
+ junit
+ junit
+ compile
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.26
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+ cn.dev33
+ sa-token-spring-boot-starter
+ 1.37.0
+
+
+ cn.hutool
+ hutool-all
+ 5.8.23
+
+
+ cn.hutool
+ hutool-core
+ 5.8.23
+
+
+ com.google.zxing
+ core
+ 3.5.2
+
+
+ com.alibaba
+ easyexcel
+ 3.3.2
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+ 2.5.6
+
+
+
+ repackage
+
+
+
+
+
+
+
+ src/main/java
+
+ **/*Mapper.xml
+
+
+
+ src/main/resources
+
+ **/*.*
+
+ false
+
+
+
+
+
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/YxtPmsApplication.java b/yxt-pms-biz/src/main/java/com/yxt/pms/YxtPmsApplication.java
new file mode 100644
index 0000000000..2a6404306e
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/YxtPmsApplication.java
@@ -0,0 +1,24 @@
+package com.yxt.pms;
+
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+/**
+ * @author dimengzhe
+ */
+@SpringBootApplication(scanBasePackages = {
+ "com.yxt.pms.config",
+ "com.yxt.common.base.config",
+ "com.yxt.pms"
+})
+// 启用自带定时任务
+@EnableScheduling
+@EnableFeignClients(basePackages = {})
+public class YxtPmsApplication {
+ public static void main(String[] args) {
+ SpringApplication.run(YxtPmsApplication.class, args);
+ }
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillDetailRest.java b/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillDetailRest.java
new file mode 100644
index 0000000000..567d0b1d43
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillDetailRest.java
@@ -0,0 +1,106 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.apiadmin.pms;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.pms.biz.pms.pmspurchasebilldetail.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.ibatis.annotations.Delete;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillDetailFeignFallback.java
+ * Class: com.yxt.pms.biz.pmspurchasebilldetail.PmsPurchaseBillDetailRest
+ * Description: 采购单据明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "采购单据明细")
+@RestController
+@RequestMapping("/apiadmin/pms/pmspurchasebilldetail")
+public class PmsPurchaseBillDetailRest {
+
+ @Autowired
+ private PmsPurchaseBillDetailService pmsPurchaseBillDetailService;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = pmsPurchaseBillDetailService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody PmsPurchaseBillDetailDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ pmsPurchaseBillDetailService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @DeleteMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ pmsPurchaseBillDetailService.delBySids(sids);
+ return rb.success();
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ PmsPurchaseBillDetailDetailsVo vo = pmsPurchaseBillDetailService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @ApiOperation("采购明细报表")
+ @PostMapping("/purDetailReForm")
+ public ResultBean> purDetailReForm(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = pmsPurchaseBillDetailService.purDetailReForm(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("采购汇总报表")
+ @PostMapping("/purSumReForm")
+ public ResultBean> purSumReForm(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = pmsPurchaseBillDetailService.purSumReForm(pq);
+ return rb.success().setData(pv);
+ }
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillExtendRest.java b/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillExtendRest.java
new file mode 100644
index 0000000000..f90ce455b8
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillExtendRest.java
@@ -0,0 +1,89 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.apiadmin.pms;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.pms.biz.pms.pmspurchasebillextend.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillExtendFeignFallback.java
+ * Class: com.yxt.pms.biz.pmspurchasebillextend.PmsPurchaseBillExtendRest
+ * Description: 采购单扩展.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "采购单扩展")
+@RestController
+@RequestMapping("/apiadmin/pms/pmspurchasebillextend")
+public class PmsPurchaseBillExtendRest {
+
+ @Autowired
+ private PmsPurchaseBillExtendService pmsPurchaseBillExtendService;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = pmsPurchaseBillExtendService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody PmsPurchaseBillExtendDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ pmsPurchaseBillExtendService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ pmsPurchaseBillExtendService.delBySids(sids);
+ return rb.success();
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ PmsPurchaseBillExtendDetailsVo vo = pmsPurchaseBillExtendService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillRest.java b/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillRest.java
new file mode 100644
index 0000000000..31307cb7ff
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchaseBillRest.java
@@ -0,0 +1,129 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.apiadmin.pms;
+
+import com.yxt.common.base.utils.ExportExcelUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.pms.biz.pms.pmspurchasebill.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillFeignFallback.java
+ * Class: com.yxt.pms.biz.pmspurchasebill.PmsPurchaseBillRest
+ * Description: 采购单.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "采购单")
+@RestController
+@RequestMapping("/apiadmin/pms/pmspurchasebill")
+public class PmsPurchaseBillRest {
+
+ @Autowired
+ private PmsPurchaseBillService pmsPurchaseBillService;
+ @Autowired
+ private HttpServletResponse response;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = pmsPurchaseBillService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("选择原单")
+ @PostMapping("/choiceBillListPage")
+ public ResultBean> choiceBillListPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = pmsPurchaseBillService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody PmsPurchaseBillDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ String sid = pmsPurchaseBillService.saveOrUpdateDto(dto);
+ return rb.success().setData(sid);
+ }
+
+ @ApiOperation("反结算")
+ @PostMapping("/noSettle")
+ public ResultBean noSettle(@RequestParam("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ pmsPurchaseBillService.updateSettleState(sid);
+ return rb.success();
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @DeleteMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ pmsPurchaseBillService.delAll(sids);
+ return rb.success();
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ PmsPurchaseBillDetailsVo vo = pmsPurchaseBillService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @ApiOperation("导出")
+ @PostMapping("/exportExcel")
+ public void exportExcel(PmsPurchaseBillQuery query) {
+ //得到所有要导出的数据
+ List exportVoList = pmsPurchaseBillService.listExcel(query);
+ //定义导出的excel名字
+ String excelName = "采购单列表";
+ String fileNameURL = "";
+ try {
+ fileNameURL = URLEncoder.encode(excelName, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ ExportExcelUtils.export(fileNameURL, exportVoList, PmsPurchaseBillExportVo.class, response);
+ }
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchasebackBillRest.java b/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchasebackBillRest.java
new file mode 100644
index 0000000000..03ec86798b
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchasebackBillRest.java
@@ -0,0 +1,114 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.apiadmin.pms;
+
+import com.yxt.common.base.utils.ExportExcelUtils;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.pms.biz.pms.pmspurchasebackbill.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackBillFeignFallback.java
+ * Class: com.yxt.pms.biz.pmspurchasebackbill.PmsPurchasebackBillRest
+ * Description: 采购退货单据.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:47
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "采购退货单据")
+@RestController
+@RequestMapping("/apiadmin/pms/pmspurchasebackbill")
+public class PmsPurchasebackBillRest {
+
+ @Autowired
+ private PmsPurchasebackBillService pmsPurchasebackBillService;
+ @Autowired
+ HttpServletResponse response;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = pmsPurchasebackBillService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody PmsPurchasebackBillDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ String sid = pmsPurchasebackBillService.saveOrUpdateDto(dto);
+ return rb.success().setData(sid);
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @DeleteMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ pmsPurchasebackBillService.delAll(sids);
+ return rb.success();
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ PmsPurchasebackBillDetailsVo vo = pmsPurchasebackBillService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @PostMapping("/exportExcel")
+ @ApiOperation(value = "导出")
+ public void exportExcel(@RequestBody PmsPurchasebackBillQuery query) {
+ //得到所有要导出的数据
+ List exportVoList = pmsPurchasebackBillService.listExcel(query);
+ //定义导出的excel名字
+ String excelName = "出入库查询";
+ String fileNameURL = "";
+ try {
+ fileNameURL = URLEncoder.encode(excelName, "UTF-8");
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ ExportExcelUtils.export(fileNameURL, exportVoList, PmsPurchasebackBillExcelVo.class, response);
+
+ }
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchasebackDetailRest.java b/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchasebackDetailRest.java
new file mode 100644
index 0000000000..55057437a5
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/apiadmin/pms/PmsPurchasebackDetailRest.java
@@ -0,0 +1,89 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.apiadmin.pms;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.pms.biz.pms.pmspurchasebackdetail.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackDetailFeignFallback.java
+ * Class: com.yxt.pms.biz.pmspurchasebackdetail.PmsPurchasebackDetailRest
+ * Description: 采购退货单据明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:47
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "采购退货单据明细")
+@RestController
+@RequestMapping("/apiadmin/pms/pmspurchasebackdetail")
+public class PmsPurchasebackDetailRest {
+
+ @Autowired
+ private PmsPurchasebackDetailService pmsPurchasebackDetailService;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = pmsPurchasebackDetailService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody PmsPurchasebackDetailDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ pmsPurchasebackDetailService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @DeleteMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ pmsPurchasebackDetailService.delBySids(sids);
+ return rb.success();
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ PmsPurchasebackDetailDetailsVo vo = pmsPurchasebackDetailService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/apiwx/WxHomeRest.java b/yxt-pms-biz/src/main/java/com/yxt/pms/apiwx/WxHomeRest.java
new file mode 100644
index 0000000000..8d664dd10c
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/apiwx/WxHomeRest.java
@@ -0,0 +1,10 @@
+package com.yxt.pms.apiwx;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController("com.yxt.pms.apiwx.WxHomeRest")
+@RequestMapping("/apiwx/home")
+public class WxHomeRest {
+
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/package-info.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/package-info.java
new file mode 100644
index 0000000000..968fbb930a
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 宇信通 采购 项目后台逻辑和接口
+ */
+package com.yxt.pms.biz;
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBill.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBill.java
new file mode 100644
index 0000000000..c746e0e1f3
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBill.java
@@ -0,0 +1,82 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackbill;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackBill.java
+ * Class: com.yxt.pms.api.pmspurchasebackbill.PmsPurchasebackBill
+ * Description: 采购退货单据.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据", description = "采购退货单据")
+@TableName("pms_purchaseback_bill")
+public class PmsPurchasebackBill extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("来源单sid(采购单sid)")
+ private String sourceBillSid; // 来源单sid(采购单sid)
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo; // 来源单编号
+ @ApiModelProperty("单据编号")
+ private String billNo; // 单据编号
+ @ApiModelProperty("退误差调整金额")
+ private BigDecimal backErrorAmount; // 退误差调整金额
+ @ApiModelProperty("退优惠金额")
+ private BigDecimal backDiscountAmount; // 退优惠金额
+ @ApiModelProperty("抵扣欠款")
+ private BigDecimal deductDebts; // 抵扣欠款
+ @ApiModelProperty("抵扣单号")
+ private String deductBillNo; // 抵扣单号
+ @ApiModelProperty("转入预付款")
+ private BigDecimal toPrepayment; // 转入预付款
+ @ApiModelProperty("欠款状态")
+ private String arrearsState;
+ @ApiModelProperty("单据状态")
+ private String documentState;
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillDetailsVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillDetailsVo.java
new file mode 100644
index 0000000000..c29bc9f642
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillDetailsVo.java
@@ -0,0 +1,87 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackbill;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailDetailsVo;
+import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackBillVo.java
+ * Class: com.yxt.pms.api.pmspurchasebackbill.PmsPurchasebackBillVo
+ * Description: 采购退货单据 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据 视图数据详情", description = "采购退货单据 视图数据详情")
+public class PmsPurchasebackBillDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("制单人sid")
+ private String createBySid;
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("来源单sid(采购单sid)")
+ private String sourceBillSid; // 来源单sid(采购单sid)
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo; // 来源单编号
+ @ApiModelProperty("单据编号")
+ private String billNo; // 单据编号
+ @ApiModelProperty("退误差调整金额")
+ private BigDecimal backErrorAmount; // 退误差调整金额
+ @ApiModelProperty("退优惠金额")
+ private BigDecimal backDiscountAmount; // 退优惠金额
+ @ApiModelProperty("抵扣欠款")
+ private BigDecimal deductDebts; // 抵扣欠款
+ @ApiModelProperty("抵扣单号")
+ private String deductBillNo; // 抵扣单号
+ @ApiModelProperty("转入预付款")
+ private BigDecimal toPrepayment; // 转入预付款
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+ @ApiModelProperty("采购退货单明细")
+ private List pmsPurchasebackDetailList;
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillDto.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillDto.java
new file mode 100644
index 0000000000..c8c6752bf4
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillDto.java
@@ -0,0 +1,87 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackbill;
+
+
+import com.yxt.common.core.dto.Dto;
+
+import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackBillDto.java
+ * Class: com.yxt.pms.api.pmspurchasebackbill.PmsPurchasebackBillDto
+ * Description: 采购退货单据 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据 数据传输对象", description = "采购退货单据 数据传输对象")
+public class PmsPurchasebackBillDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("制单人sid")
+ private String createBySid;
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("来源单sid(采购单sid)")
+ private String sourceBillSid; // 来源单sid(采购单sid)
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo; // 来源单编号
+ @ApiModelProperty("单据编号")
+ private String billNo; // 单据编号
+ @ApiModelProperty("退误差调整金额")
+ private BigDecimal backErrorAmount; // 退误差调整金额
+ @ApiModelProperty("退优惠金额")
+ private BigDecimal backDiscountAmount; // 退优惠金额
+ @ApiModelProperty("抵扣欠款")
+ private BigDecimal deductDebts; // 抵扣欠款
+ @ApiModelProperty("抵扣单号")
+ private String deductBillNo; // 抵扣单号
+ @ApiModelProperty("转入预付款")
+ private BigDecimal toPrepayment; // 转入预付款
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid; // 使用组织sid
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid; // 创建组织sid
+ @ApiModelProperty("采购退货单明细")
+ private List pmsPurchasebackDetailList;
+
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillExcelVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillExcelVo.java
new file mode 100644
index 0000000000..ea0e2d9d19
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillExcelVo.java
@@ -0,0 +1,75 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackbill;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.utils.ExportEntityMap;
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackBillVo.java
+ * Class: com.yxt.pms.api.pmspurchasebackbill.PmsPurchasebackBillVo
+ * Description: 采购退货单据 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据 视图数据对象", description = "采购退货单据 视图数据对象")
+public class PmsPurchasebackBillExcelVo implements Vo {
+
+ @ExportEntityMap(CnName = "单据编号", EnName = "billNo")
+ private String billNo;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ExportEntityMap(CnName = "创建时间", EnName = "createTime")
+ private Date createTime;
+ @ExportEntityMap(CnName = "来源单编号", EnName = "sourceBillNo")
+ private String sourceBillNo;
+ @ExportEntityMap(CnName = "供应商名称", EnName = "supplierName")
+ private String supplierName;
+ @ExportEntityMap(CnName = "供应商联系电话", EnName = "supplierPhone")
+ private String supplierPhone;
+ @ExportEntityMap(CnName = "采购员姓名", EnName = "purchaserName")
+ private String purchaserName;
+ @ExportEntityMap(CnName = "库管员姓名", EnName = "storekeeperName")
+ private String storekeeperName;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ExportEntityMap(CnName = "结算时间", EnName = "settleTime")
+ private Date settleTime;
+ @ExportEntityMap(CnName = "票据类型", EnName = "billTypeValue")
+ private String billTypeValue;
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.java
new file mode 100644
index 0000000000..6ef8aeac03
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.java
@@ -0,0 +1,63 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackbill;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackBillMapper.java
+ * Class: com.yxt.pms.biz.pmspurchasebackbill.PmsPurchasebackBillMapper
+ * Description: 采购退货单据.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:47
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface PmsPurchasebackBillMapper extends BaseMapper {
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from pms_purchaseback_bill")
+ List selectListVo();
+
+ List listExcel(@Param(Constants.WRAPPER) QueryWrapper qw);
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.xml b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.xml
new file mode 100644
index 0000000000..4c46fbd517
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillMapper.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillQuery.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillQuery.java
new file mode 100644
index 0000000000..de58809e6e
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillQuery.java
@@ -0,0 +1,70 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackbill;
+
+
+import com.yxt.common.core.query.Query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackBillQuery.java
+ * Class: com.yxt.pms.api.pmspurchasebackbill.PmsPurchasebackBillQuery
+ * Description: 采购退货单据 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据 查询条件", description = "采购退货单据 查询条件")
+public class PmsPurchasebackBillQuery implements Query {
+
+ @ApiModelProperty("创建开始日期")
+ private String createStartTime;
+ @ApiModelProperty("创建结束日期")
+ private String createEndTime;
+ @ApiModelProperty("门店sid")
+ private String createOrgSid;
+ @ApiModelProperty("单据状态(0未作废,1已作废)")
+ private String documentState;
+ @ApiModelProperty("票据类型key")
+ private String billTypeKey;
+ @ApiModelProperty("供应商sid")
+ private String supplierSid;
+ @ApiModelProperty("欠款状态(0欠款,1未欠款)")
+ private String arrearsState;
+ @ApiModelProperty("其他查询条件")
+ private String otherQuery;
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java
new file mode 100644
index 0000000000..c0274bc344
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillService.java
@@ -0,0 +1,181 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackbill;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailDetailsVo;
+import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailDto;
+import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailService;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.vo.PagerVo;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackBillService.java
+ * Class: com.yxt.pms.biz.pmspurchasebackbill.PmsPurchasebackBillService
+ * Description: 采购退货单据 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:47
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class PmsPurchasebackBillService extends MybatisBaseService {
+
+ @Autowired
+ private PmsPurchasebackDetailService pmsPurchasebackDetailService;
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ PmsPurchasebackBillQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(query.getCreateOrgSid())){
+ qw.eq("ppb.createOrgSid",query.getCreateOrgSid());
+ }
+ if (StringUtils.isNotBlank(query.getDocumentState())){
+ qw.eq("ppb.documentState",query.getDocumentState());
+ }
+ if (StringUtils.isNotBlank(query.getBillTypeKey())){
+ qw.eq("pb.billTypeKey",query.getBillTypeKey());
+ }
+ if (StringUtils.isNotBlank(query.getSupplierSid())){
+ qw.eq("pb.supplierSid",query.getSupplierSid());
+ }
+ if (StringUtils.isNotBlank(query.getArrearsState())){
+ qw.eq("ppb.arrearsState",query.getArrearsState());
+ }
+ if (StringUtils.isNotBlank(query.getOtherQuery())){
+ qw.and(wrapper -> wrapper.like("ppb.billNo", query.getOtherQuery()).or().like("pb.supplierPhone", query.getOtherQuery()).or().like("ppb.remarks",query.getOtherQuery()));
+ }
+ String createStartTime = query.getCreateStartTime();
+ String createEndTime = query.getCreateEndTime();
+ qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (pb.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
+ apply(StringUtils.isNotEmpty(createEndTime), "date_format (pb.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
+ );
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public String saveOrUpdateDto(PmsPurchasebackBillDto dto){
+ String dtoSid = dto.getSid();
+ List pmsPurchasebackDetailList = dto.getPmsPurchasebackDetailList();
+ if (StringUtils.isBlank(dtoSid)) {
+ String sid = this.insertByDto(dto);
+ for (PmsPurchasebackDetailDto pmsPurchasebackDetailDto : pmsPurchasebackDetailList) {
+ pmsPurchasebackDetailDto.setBillSid(sid);
+ pmsPurchasebackDetailService.saveOrUpdateDto(pmsPurchasebackDetailDto);
+ }
+ return sid;
+ }
+ this.updateByDto(dto);
+ pmsPurchasebackDetailService.delByMainSid(dtoSid);
+ for (PmsPurchasebackDetailDto pmsPurchasebackDetailDto : pmsPurchasebackDetailList) {
+ pmsPurchasebackDetailDto.setBillSid(dtoSid);
+ pmsPurchasebackDetailService.saveOrUpdateDto(pmsPurchasebackDetailDto);
+ }
+ return dtoSid;
+ }
+
+ public String insertByDto(PmsPurchasebackBillDto dto){
+ PmsPurchasebackBill entity = new PmsPurchasebackBill();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ return entity.getSid();
+ }
+
+ public void updateByDto(PmsPurchasebackBillDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ PmsPurchasebackBill entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public PmsPurchasebackBillDetailsVo fetchDetailsVoBySid(String sid){
+ PmsPurchasebackBill entity = fetchBySid(sid);
+ PmsPurchasebackBillDetailsVo vo = new PmsPurchasebackBillDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ List pmsPurchasebackDetailDetailsVos = pmsPurchasebackDetailService.selByMainSid(sid);
+ vo.setPmsPurchasebackDetailList(pmsPurchasebackDetailDetailsVos);
+ return vo;
+ }
+
+ public void delAll(String[] sids) {
+ delBySids(sids);
+ for (String sid : sids) {
+ pmsPurchasebackDetailService.delByMainSid(sid);
+ }
+ }
+
+ public List listExcel(PmsPurchasebackBillQuery query) {
+ QueryWrapper qw = new QueryWrapper<>();
+ if (query != null){
+ if (StringUtils.isNotBlank(query.getCreateOrgSid())){
+ qw.eq("ppb.createOrgSid",query.getCreateOrgSid());
+ }
+ if (StringUtils.isNotBlank(query.getDocumentState())){
+ qw.eq("ppb.documentState",query.getDocumentState());
+ }
+ if (StringUtils.isNotBlank(query.getBillTypeKey())){
+ qw.eq("pb.billTypeKey",query.getBillTypeKey());
+ }
+ if (StringUtils.isNotBlank(query.getSupplierSid())){
+ qw.eq("pb.supplierSid",query.getSupplierSid());
+ }
+ if (StringUtils.isNotBlank(query.getArrearsState())){
+ qw.eq("ppb.arrearsState",query.getArrearsState());
+ }
+ if (StringUtils.isNotBlank(query.getOtherQuery())){
+ qw.and(wrapper -> wrapper.like("ppb.billNo", query.getOtherQuery()).or().like("pb.supplierPhone", query.getOtherQuery()).or().like("ppb.remarks",query.getOtherQuery()));
+ }
+ String createStartTime = query.getCreateStartTime();
+ String createEndTime = query.getCreateEndTime();
+ qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (pb.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
+ apply(StringUtils.isNotEmpty(createEndTime), "date_format (pb.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
+ );
+ }
+ List list = baseMapper.listExcel(qw);
+ list.removeAll(Collections.singleton(null));
+ return list;
+ }
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillVo.java
new file mode 100644
index 0000000000..8544ee1aa0
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackbill/PmsPurchasebackBillVo.java
@@ -0,0 +1,78 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackbill;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackBillVo.java
+ * Class: com.yxt.pms.api.pmspurchasebackbill.PmsPurchasebackBillVo
+ * Description: 采购退货单据 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据 视图数据对象", description = "采购退货单据 视图数据对象")
+public class PmsPurchasebackBillVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("单据编号")
+ private String billNo;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("创建时间")
+ private Date createTime;
+ @ApiModelProperty("来源单编号")
+ private String sourceBillNo;
+ @ApiModelProperty("供应商名称")
+ private String supplierName;
+ @ApiModelProperty("供应商联系电话")
+ private String supplierPhone;
+ @ApiModelProperty("采购员姓名")
+ private String purchaserName;
+ @ApiModelProperty("库管员姓名")
+ private String storekeeperName;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("结算时间")
+ private Date settleTime;
+ @ApiModelProperty("票据类型value(不含税、增值税、普通税、已含增值税)")
+ private String billTypeValue;
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetail.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetail.java
new file mode 100644
index 0000000000..48ac61fc04
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetail.java
@@ -0,0 +1,100 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackdetail;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackDetail.java
+ * Class: com.yxt.pms.api.pmspurchasebackdetail.PmsPurchasebackDetail
+ * Description: 采购退货单据明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据明细", description = "采购退货单据明细")
+@TableName("pms_purchaseback_detail")
+public class PmsPurchasebackDetail extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("单据sid")
+ private String billSid; // 单据sid
+ @ApiModelProperty("商品库存sid")
+ private String inventorySid; // 商品库存sid
+ @ApiModelProperty("商品基础信息Sid")
+ private String goodsSpuSid; // 商品基础信息Sid
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName; // 商品名称
+ @ApiModelProperty("商品Skusid")
+ private String goodsSkuSid; // 商品Skusid
+ @ApiModelProperty("商品Sku名称")
+ private String goodsSkuTitle; // 商品Sku名称
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode; // 商品编码(图号)
+ @ApiModelProperty("规格")
+ private String goodsSkuOwnSpec; // 规格
+ @ApiModelProperty("退货前的库存数量")
+ private BigDecimal currentCount; // 退货前的库存数量
+ @ApiModelProperty("计量单位")
+ private String unit; // 计量单位
+ @ApiModelProperty("仓库sid")
+ private String warehouseSid; // 仓库sid
+ @ApiModelProperty("仓库名称")
+ private String warehouseName; // 仓库名称
+ @ApiModelProperty("库区/货位sid")
+ private String areaSid; // 库区/货位sid
+ @ApiModelProperty("库区名称")
+ private String warehouseAreaName; // 库区名称
+ @ApiModelProperty("货架sid")
+ private String rackSid; // 货架sid
+ @ApiModelProperty("货架名称")
+ private String warehouseRackName; // 货架名称
+ @ApiModelProperty("已退数量")
+ private BigDecimal returnedCount; // 已退数量
+ @ApiModelProperty("退货数量")
+ private BigDecimal backCount; // 退货数量
+ @ApiModelProperty("税额")
+ private BigDecimal maxAmount; // 税额
+ @ApiModelProperty("含税价")
+ private BigDecimal maxPrice; // 含税价
+ @ApiModelProperty("退货金额")
+ private BigDecimal backAmount; // 退货金额
+
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailDetailsVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailDetailsVo.java
new file mode 100644
index 0000000000..12b3a34616
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailDetailsVo.java
@@ -0,0 +1,101 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackdetail;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackDetailVo.java
+ * Class: com.yxt.pms.api.pmspurchasebackdetail.PmsPurchasebackDetailVo
+ * Description: 采购退货单据明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据明细 视图数据详情", description = "采购退货单据明细 视图数据详情")
+public class PmsPurchasebackDetailDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("单据sid")
+ private String billSid; // 单据sid
+ @ApiModelProperty("商品库存sid")
+ private String inventorySid; // 商品库存sid
+ @ApiModelProperty("商品基础信息Sid")
+ private String goodsSpuSid; // 商品基础信息Sid
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName; // 商品名称
+ @ApiModelProperty("商品Skusid")
+ private String goodsSkuSid; // 商品Skusid
+ @ApiModelProperty("商品Sku名称")
+ private String goodsSkuTitle; // 商品Sku名称
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode; // 商品编码(图号)
+ @ApiModelProperty("规格")
+ private String goodsSkuOwnSpec; // 规格
+ @ApiModelProperty("退货前的库存数量")
+ private BigDecimal currentCount; // 退货前的库存数量
+ @ApiModelProperty("计量单位")
+ private String unit; // 计量单位
+ @ApiModelProperty("仓库sid")
+ private String warehouseSid; // 仓库sid
+ @ApiModelProperty("仓库名称")
+ private String warehouseName; // 仓库名称
+ @ApiModelProperty("库区/货位sid")
+ private String areaSid; // 库区/货位sid
+ @ApiModelProperty("库区名称")
+ private String warehouseAreaName; // 库区名称
+ @ApiModelProperty("货架sid")
+ private String rackSid; // 货架sid
+ @ApiModelProperty("货架名称")
+ private String warehouseRackName; // 货架名称
+ @ApiModelProperty("已退数量")
+ private BigDecimal returnedCount; // 已退数量
+ @ApiModelProperty("退货数量")
+ private BigDecimal backCount; // 退货数量
+ @ApiModelProperty("税额")
+ private BigDecimal maxAmount; // 税额
+ @ApiModelProperty("含税价")
+ private BigDecimal maxPrice; // 含税价
+ @ApiModelProperty("退货金额")
+ private BigDecimal backAmount; // 退货金额
+
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailDto.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailDto.java
new file mode 100644
index 0000000000..1a3dfce4f2
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailDto.java
@@ -0,0 +1,101 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackdetail;
+
+
+import com.yxt.common.core.dto.Dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackDetailDto.java
+ * Class: com.yxt.pms.api.pmspurchasebackdetail.PmsPurchasebackDetailDto
+ * Description: 采购退货单据明细 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据明细 数据传输对象", description = "采购退货单据明细 数据传输对象")
+public class PmsPurchasebackDetailDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("单据sid")
+ private String billSid; // 单据sid
+ @ApiModelProperty("商品库存sid")
+ private String inventorySid; // 商品库存sid
+ @ApiModelProperty("商品基础信息Sid")
+ private String goodsSpuSid; // 商品基础信息Sid
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName; // 商品名称
+ @ApiModelProperty("商品Skusid")
+ private String goodsSkuSid; // 商品Skusid
+ @ApiModelProperty("商品Sku名称")
+ private String goodsSkuTitle; // 商品Sku名称
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode; // 商品编码(图号)
+ @ApiModelProperty("规格")
+ private String goodsSkuOwnSpec; // 规格
+ @ApiModelProperty("退货前的库存数量")
+ private BigDecimal currentCount; // 退货前的库存数量
+ @ApiModelProperty("计量单位")
+ private String unit; // 计量单位
+ @ApiModelProperty("仓库sid")
+ private String warehouseSid; // 仓库sid
+ @ApiModelProperty("仓库名称")
+ private String warehouseName; // 仓库名称
+ @ApiModelProperty("库区/货位sid")
+ private String areaSid; // 库区/货位sid
+ @ApiModelProperty("库区名称")
+ private String warehouseAreaName; // 库区名称
+ @ApiModelProperty("货架sid")
+ private String rackSid; // 货架sid
+ @ApiModelProperty("货架名称")
+ private String warehouseRackName; // 货架名称
+ @ApiModelProperty("已退数量")
+ private BigDecimal returnedCount; // 已退数量
+ @ApiModelProperty("退货数量")
+ private BigDecimal backCount; // 退货数量
+ @ApiModelProperty("税额")
+ private BigDecimal maxAmount; // 税额
+ @ApiModelProperty("含税价")
+ private BigDecimal maxPrice; // 含税价
+ @ApiModelProperty("退货金额")
+ private BigDecimal backAmount; // 退货金额
+
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailMapper.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailMapper.java
new file mode 100644
index 0000000000..7d248f9411
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailMapper.java
@@ -0,0 +1,67 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackdetail;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackDetailMapper.java
+ * Class: com.yxt.pms.biz.pmspurchasebackdetail.PmsPurchasebackDetailMapper
+ * Description: 采购退货单据明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:47
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface PmsPurchasebackDetailMapper extends BaseMapper {
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from pms_purchaseback_detail")
+ List selectListVo();
+
+ @Delete("delete from pms_purchaseback_detail where billSid = #{dtoSid}")
+ void delByMainSid(String dtoSid);
+
+ @Select("select * from pms_purchaseback_detail where billSid = #{billSid}")
+ List selByMainSid(String billSid);
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailMapper.xml b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailMapper.xml
new file mode 100644
index 0000000000..6c6a1a31b2
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailMapper.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailQuery.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailQuery.java
new file mode 100644
index 0000000000..3eb8a39182
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailQuery.java
@@ -0,0 +1,99 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackdetail;
+
+
+import com.yxt.common.core.query.Query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackDetailQuery.java
+ * Class: com.yxt.pms.api.pmspurchasebackdetail.PmsPurchasebackDetailQuery
+ * Description: 采购退货单据明细 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据明细 查询条件", description = "采购退货单据明细 查询条件")
+public class PmsPurchasebackDetailQuery implements Query {
+
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("单据sid")
+ private String billSid; // 单据sid
+ @ApiModelProperty("商品库存sid")
+ private String inventorySid; // 商品库存sid
+ @ApiModelProperty("商品基础信息Sid")
+ private String goodsSpuSid; // 商品基础信息Sid
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName; // 商品名称
+ @ApiModelProperty("商品Skusid")
+ private String goodsSkuSid; // 商品Skusid
+ @ApiModelProperty("商品Sku名称")
+ private String goodsSkuTitle; // 商品Sku名称
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode; // 商品编码(图号)
+ @ApiModelProperty("规格")
+ private String goodsSkuOwnSpec; // 规格
+ @ApiModelProperty("退货前的库存数量")
+ private BigDecimal currentCount; // 退货前的库存数量
+ @ApiModelProperty("计量单位")
+ private String unit; // 计量单位
+ @ApiModelProperty("仓库sid")
+ private String warehouseSid; // 仓库sid
+ @ApiModelProperty("仓库名称")
+ private String warehouseName; // 仓库名称
+ @ApiModelProperty("库区/货位sid")
+ private String areaSid; // 库区/货位sid
+ @ApiModelProperty("库区名称")
+ private String warehouseAreaName; // 库区名称
+ @ApiModelProperty("货架sid")
+ private String rackSid; // 货架sid
+ @ApiModelProperty("货架名称")
+ private String warehouseRackName; // 货架名称
+ @ApiModelProperty("已退数量")
+ private BigDecimal returnedCount; // 已退数量
+ @ApiModelProperty("退货数量")
+ private BigDecimal backCount; // 退货数量
+ @ApiModelProperty("税额")
+ private BigDecimal maxAmount; // 税额
+ @ApiModelProperty("含税价")
+ private BigDecimal maxPrice; // 含税价
+ @ApiModelProperty("退货金额")
+ private BigDecimal backAmount; // 退货金额
+
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailService.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailService.java
new file mode 100644
index 0000000000..3b69d1d5b7
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailService.java
@@ -0,0 +1,105 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackdetail;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.vo.PagerVo;
+
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackDetailService.java
+ * Class: com.yxt.pms.biz.pmspurchasebackdetail.PmsPurchasebackDetailService
+ * Description: 采购退货单据明细 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:47
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class PmsPurchasebackDetailService extends MybatisBaseService {
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ PmsPurchasebackDetailQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public void saveOrUpdateDto(PmsPurchasebackDetailDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public void insertByDto(PmsPurchasebackDetailDto dto){
+ PmsPurchasebackDetail entity = new PmsPurchasebackDetail();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(PmsPurchasebackDetailDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ PmsPurchasebackDetail entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public PmsPurchasebackDetailDetailsVo fetchDetailsVoBySid(String sid){
+ PmsPurchasebackDetail entity = fetchBySid(sid);
+ PmsPurchasebackDetailDetailsVo vo = new PmsPurchasebackDetailDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public void delByMainSid(String dtoSid) {
+ baseMapper.delByMainSid(dtoSid);
+ }
+
+ public List selByMainSid(String billSid) {
+ return baseMapper.selByMainSid(billSid);
+ }
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailVo.java
new file mode 100644
index 0000000000..87a8cb89f6
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebackdetail/PmsPurchasebackDetailVo.java
@@ -0,0 +1,101 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebackdetail;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchasebackDetailVo.java
+ * Class: com.yxt.pms.api.pmspurchasebackdetail.PmsPurchasebackDetailVo
+ * Description: 采购退货单据明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 16:16:12
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购退货单据明细 视图数据对象", description = "采购退货单据明细 视图数据对象")
+public class PmsPurchasebackDetailVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("单据sid")
+ private String billSid; // 单据sid
+ @ApiModelProperty("商品库存sid")
+ private String inventorySid; // 商品库存sid
+ @ApiModelProperty("商品基础信息Sid")
+ private String goodsSpuSid; // 商品基础信息Sid
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName; // 商品名称
+ @ApiModelProperty("商品Skusid")
+ private String goodsSkuSid; // 商品Skusid
+ @ApiModelProperty("商品Sku名称")
+ private String goodsSkuTitle; // 商品Sku名称
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode; // 商品编码(图号)
+ @ApiModelProperty("规格")
+ private String goodsSkuOwnSpec; // 规格
+ @ApiModelProperty("退货前的库存数量")
+ private BigDecimal currentCount; // 退货前的库存数量
+ @ApiModelProperty("计量单位")
+ private String unit; // 计量单位
+ @ApiModelProperty("仓库sid")
+ private String warehouseSid; // 仓库sid
+ @ApiModelProperty("仓库名称")
+ private String warehouseName; // 仓库名称
+ @ApiModelProperty("库区/货位sid")
+ private String areaSid; // 库区/货位sid
+ @ApiModelProperty("库区名称")
+ private String warehouseAreaName; // 库区名称
+ @ApiModelProperty("货架sid")
+ private String rackSid; // 货架sid
+ @ApiModelProperty("货架名称")
+ private String warehouseRackName; // 货架名称
+ @ApiModelProperty("已退数量")
+ private BigDecimal returnedCount; // 已退数量
+ @ApiModelProperty("退货数量")
+ private BigDecimal backCount; // 退货数量
+ @ApiModelProperty("税额")
+ private BigDecimal maxAmount; // 税额
+ @ApiModelProperty("含税价")
+ private BigDecimal maxPrice; // 含税价
+ @ApiModelProperty("退货金额")
+ private BigDecimal backAmount; // 退货金额
+
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBill.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBill.java
new file mode 100644
index 0000000000..7c4a845f47
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBill.java
@@ -0,0 +1,96 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebill;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBill.java
+ * Class: com.yxt.pms.api.pmspurchasebill.PmsPurchaseBill
+ * Description: 采购单.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:45
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单", description = "采购单")
+@TableName("pms_purchase_bill")
+public class PmsPurchaseBill extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("制单人姓名")
+ private String createByName;
+ @ApiModelProperty("来源单sid(工单sid)")
+ private String sourceBillSid;
+ @ApiModelProperty("来源单编号/外部编号")
+ private String sourceBillNo;
+ @ApiModelProperty("单据编号")
+ private String billNo;
+ @ApiModelProperty("采购类型Key")
+ private String purchaseTypeKey;
+ @ApiModelProperty("采购类型Value(厂家采购、外采、其他)")
+ private String purchaseTypeValue;
+ @ApiModelProperty("供应商sid")
+ private String supplierSid;
+ @ApiModelProperty("供应商名称")
+ private String supplierName;
+ @ApiModelProperty("供应商联系电话")
+ private String supplierPhone;
+ @ApiModelProperty("采购员sid(单选)")
+ private String purchaserSid;
+ @ApiModelProperty("采购员姓名")
+ private String purchaserName;
+ @ApiModelProperty("预计到货日期")
+ @JsonFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss",
+ timezone = "GMT+8"
+ )
+ private Date deliveryDate;
+ @ApiModelProperty("运费")
+ private BigDecimal freight;
+ @ApiModelProperty("优惠金额")
+ private BigDecimal discountAmount;
+ @ApiModelProperty("应付金额(=采购金额+运费-优惠金额)")
+ private BigDecimal payableAmount;
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid;
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid;
+
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDetailsVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDetailsVo.java
new file mode 100644
index 0000000000..94654c19df
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDetailsVo.java
@@ -0,0 +1,109 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebill;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+
+import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDetailsVo;
+import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDto;
+import com.yxt.pms.biz.pms.pmspurchasebillextend.PmsPurchaseBillExtendDetailsVo;
+import com.yxt.pms.biz.pms.pmspurchasebillextend.PmsPurchaseBillExtendDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillVo.java
+ * Class: com.yxt.pms.api.pmspurchasebill.PmsPurchaseBillVo
+ * Description: 采购单 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单 视图数据详情", description = "采购单 视图数据详情")
+public class PmsPurchaseBillDetailsVo implements Vo {
+
+ private String sid;
+
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("制单人sid")
+ private String createBySid;
+ @ApiModelProperty("制单人姓名")
+ private String createByName;
+ @ApiModelProperty("来源单sid(工单sid)")
+ private String sourceBillSid;
+ @ApiModelProperty("来源单编号/外部编号")
+ private String sourceBillNo;
+ @ApiModelProperty("单据编号")
+ private String billNo;
+ @ApiModelProperty("采购类型Key")
+ private String purchaseTypeKey;
+ @ApiModelProperty("采购类型Value(厂家采购、外采、其他)")
+ private String purchaseTypeValue;
+ @ApiModelProperty("供应商sid")
+ private String supplierSid;
+ @ApiModelProperty("供应商名称")
+ private String supplierName;
+ @ApiModelProperty("供应商联系电话")
+ private String supplierPhone;
+ @ApiModelProperty("采购员sid(单选)")
+ private String purchaserSid;
+ @ApiModelProperty("采购员姓名")
+ private String purchaserName;
+ @ApiModelProperty("预计到货日期")
+ @JsonFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss",
+ timezone = "GMT+8"
+ )
+ private Date deliveryDate;
+ @ApiModelProperty("运费")
+ private BigDecimal freight;
+ @ApiModelProperty("优惠金额")
+ private BigDecimal discountAmount;
+ @ApiModelProperty("应付金额(=采购金额+运费-优惠金额)")
+ private BigDecimal payableAmount;
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid;
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid;
+ @ApiModelProperty("采购单商品明细")
+ private List pmsPurchaseBillDetailList;
+ @ApiModelProperty("采购单扩展")
+ private PmsPurchaseBillExtendDetailsVo pmsPurchaseBillExtend;
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDto.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDto.java
new file mode 100644
index 0000000000..d2cf2e575f
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillDto.java
@@ -0,0 +1,107 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebill;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.dto.Dto;
+
+import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDto;
+import com.yxt.pms.biz.pms.pmspurchasebillextend.PmsPurchaseBillExtendDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillDto.java
+ * Class: com.yxt.pms.api.pmspurchasebill.PmsPurchaseBillDto
+ * Description: 采购单 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单 数据传输对象", description = "采购单 数据传输对象")
+public class PmsPurchaseBillDto implements Dto {
+
+ private String sid;
+
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("制单人sid")
+ private String createBySid;
+ @ApiModelProperty("制单人姓名")
+ private String createByName;
+ @ApiModelProperty("来源单sid(工单sid)")
+ private String sourceBillSid;
+ @ApiModelProperty("来源单编号/外部编号")
+ private String sourceBillNo;
+ @ApiModelProperty("单据编号")
+ private String billNo;
+ @ApiModelProperty("采购类型Key")
+ private String purchaseTypeKey;
+ @ApiModelProperty("采购类型Value(厂家采购、外采、其他)")
+ private String purchaseTypeValue;
+ @ApiModelProperty("供应商sid")
+ private String supplierSid;
+ @ApiModelProperty("供应商名称")
+ private String supplierName;
+ @ApiModelProperty("供应商联系电话")
+ private String supplierPhone;
+ @ApiModelProperty("采购员sid(单选)")
+ private String purchaserSid;
+ @ApiModelProperty("采购员姓名")
+ private String purchaserName;
+ @ApiModelProperty("预计到货日期")
+ @JsonFormat(
+ pattern = "yyyy-MM-dd HH:mm:ss",
+ timezone = "GMT+8"
+ )
+ private Date deliveryDate;
+ @ApiModelProperty("运费")
+ private BigDecimal freight;
+ @ApiModelProperty("优惠金额")
+ private BigDecimal discountAmount;
+ @ApiModelProperty("应付金额(=采购金额+运费-优惠金额)")
+ private BigDecimal payableAmount;
+ @ApiModelProperty("使用组织sid")
+ private String useOrgSid;
+ @ApiModelProperty("创建组织sid")
+ private String createOrgSid;
+ @ApiModelProperty("采购单商品明细")
+ private List pmsPurchaseBillDetailList;
+ @ApiModelProperty("采购单扩展")
+ private PmsPurchaseBillExtendDto pmsPurchaseBillExtend;
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillExportVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillExportVo.java
new file mode 100644
index 0000000000..f33216c2f5
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillExportVo.java
@@ -0,0 +1,80 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebill;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.utils.ExportEntityMap;
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillVo.java
+ * Class: com.yxt.pms.api.pmspurchasebill.PmsPurchaseBillVo
+ * Description: 采购单 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+public class PmsPurchaseBillExportVo {
+
+ @ApiModelProperty("单据编号")
+ @ExportEntityMap(CnName = "单据编号", EnName = "billNo")
+ private String billNo;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("创建时间")
+ @ExportEntityMap(CnName = "创建时间", EnName = "createTime")
+ private Date createTime;
+ @ApiModelProperty("制单人姓名")
+ @ExportEntityMap(CnName = "制单人姓名", EnName = "createByName")
+ private String createByName;
+ @ApiModelProperty("供应商名称")
+ @ExportEntityMap(CnName = "供应商名称", EnName = "supplierName")
+ private String supplierName;
+ @ApiModelProperty("供应商联系电话")
+ @ExportEntityMap(CnName = "供应商联系电话", EnName = "supplierPhone")
+ private String supplierPhone;
+ @ApiModelProperty("库管员姓名")
+ @ExportEntityMap(CnName = "库管员姓名", EnName = "storekeeperName")
+ private String storekeeperName;
+ @ApiModelProperty("结算标志")
+ @ExportEntityMap(CnName = "结算标志", EnName = "settleState")
+ private String settleState;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("结算时间")
+ @ExportEntityMap(CnName = "结算时间", EnName = "settleTime")
+ private Date settleTime;
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.java
new file mode 100644
index 0000000000..db1a455be6
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.java
@@ -0,0 +1,67 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebill;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillMapper.java
+ * Class: com.yxt.pms.biz.pmspurchasebill.PmsPurchaseBillMapper
+ * Description: 采购单.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface PmsPurchaseBillMapper extends BaseMapper {
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from pms_purchase_bill")
+ List selectListVo();
+
+ @Update("update pms_purchase_bill set settleState = '0' where sid = #{sid}")
+ void updateSettleState(String sid);
+
+ List exportList(@Param(Constants.WRAPPER) QueryWrapper qw);
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.xml b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.xml
new file mode 100644
index 0000000000..3ec9ee5bf2
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillMapper.xml
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillQuery.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillQuery.java
new file mode 100644
index 0000000000..3552ec1cad
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillQuery.java
@@ -0,0 +1,72 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebill;
+
+
+import com.yxt.common.core.query.Query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillQuery.java
+ * Class: com.yxt.pms.api.pmspurchasebill.PmsPurchaseBillQuery
+ * Description: 采购单 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:45
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单 查询条件", description = "采购单 查询条件")
+public class PmsPurchaseBillQuery implements Query {
+
+ @ApiModelProperty("创建开始日期")
+ private String createStartTime;
+ @ApiModelProperty("创建结束日期")
+ private String createEndTime;
+ @ApiModelProperty("门店sid")
+ private String createOrgSid;
+ @ApiModelProperty("票据类型key")
+ private String billTypeKey;
+ @ApiModelProperty("供应商sid")
+ private String supplierSid;
+ @ApiModelProperty("结算状态(0未结算,1已结算)")
+ private String settleState;
+ @ApiModelProperty("欠款状态(0欠款,1未欠款)")
+ private String arrearsState;
+ @ApiModelProperty("单据状态(0未作废,1已作废)")
+ private String documentState;
+ @ApiModelProperty("其他查询条件")
+ private String otherQuery;
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java
new file mode 100644
index 0000000000..160152bc9d
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java
@@ -0,0 +1,207 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebill;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDetailsVo;
+import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDto;
+import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailService;
+import com.yxt.pms.biz.pms.pmspurchasebillextend.PmsPurchaseBillExtendDetailsVo;
+import com.yxt.pms.biz.pms.pmspurchasebillextend.PmsPurchaseBillExtendDto;
+import com.yxt.pms.biz.pms.pmspurchasebillextend.PmsPurchaseBillExtendService;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.vo.PagerVo;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillService.java
+ * Class: com.yxt.pms.biz.pmspurchasebill.PmsPurchaseBillService
+ * Description: 采购单 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class PmsPurchaseBillService extends MybatisBaseService {
+
+ @Autowired
+ private PmsPurchaseBillDetailService pmsPurchaseBillDetailService;
+ @Autowired
+ private PmsPurchaseBillExtendService pmsPurchaseBillExtendService;
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ PmsPurchaseBillQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(query.getCreateOrgSid())){
+ qw.eq("pb.createOrgSid",query.getCreateOrgSid());
+ }
+ if (StringUtils.isNotBlank(query.getBillTypeKey())){
+ qw.eq("pb.billTypeKey",query.getBillTypeKey());
+ }
+ if (StringUtils.isNotBlank(query.getSupplierSid())){
+ qw.eq("pb.supplierSid",query.getSupplierSid());
+ }
+ if (StringUtils.isNotBlank(query.getSettleState())){
+ qw.eq("pb.settleState",query.getSettleState());
+ }
+ if (StringUtils.isNotBlank(query.getArrearsState())){
+ qw.eq("pb.arrearsState",query.getArrearsState());
+ }
+ if (StringUtils.isNotBlank(query.getDocumentState())){
+ qw.eq("pb.documentState",query.getDocumentState());
+ }
+ if (StringUtils.isNotBlank(query.getOtherQuery())){
+ qw.and(wrapper -> wrapper.like("pb.billNo", query.getOtherQuery()).or().like("pb.supplierPhone", query.getOtherQuery()).or().like("pb.remarks",query.getOtherQuery()));
+ }
+ String createStartTime = query.getCreateStartTime();
+ String createEndTime = query.getCreateEndTime();
+ qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (pb.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
+ apply(StringUtils.isNotEmpty(createEndTime), "date_format (pb.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
+ );
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public String saveOrUpdateDto(PmsPurchaseBillDto dto){
+ String dtoSid = dto.getSid();
+ List pmsPurchaseBillDetailList = dto.getPmsPurchaseBillDetailList();
+ PmsPurchaseBillExtendDto pmsPurchaseBillExtend = dto.getPmsPurchaseBillExtend();
+ if (StringUtils.isBlank(dtoSid)) {
+ String sid = this.insertByDto(dto);
+ for (PmsPurchaseBillDetailDto pmsPurchaseBillDetailDto : pmsPurchaseBillDetailList) {
+ pmsPurchaseBillDetailDto.setBillSid(sid);
+ pmsPurchaseBillDetailService.saveOrUpdateDto(pmsPurchaseBillDetailDto);
+ }
+ pmsPurchaseBillExtend.setPurchaseBillSid(sid);
+ pmsPurchaseBillExtendService.saveOrUpdateDto(pmsPurchaseBillExtend);
+ return sid;
+ }
+ this.updateByDto(dto);
+ pmsPurchaseBillDetailService.delByMainSid(dtoSid);
+ pmsPurchaseBillExtendService.delByMainSid(dtoSid);
+ for (PmsPurchaseBillDetailDto pmsPurchaseBillDetailDto : pmsPurchaseBillDetailList) {
+ pmsPurchaseBillDetailDto.setBillSid(dtoSid);
+ pmsPurchaseBillDetailService.saveOrUpdateDto(pmsPurchaseBillDetailDto);
+ }
+ pmsPurchaseBillExtend.setPurchaseBillSid(dtoSid);
+ pmsPurchaseBillExtendService.saveOrUpdateDto(pmsPurchaseBillExtend);
+ return dtoSid;
+ }
+
+ public String insertByDto(PmsPurchaseBillDto dto){
+ PmsPurchaseBill entity = new PmsPurchaseBill();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ return entity.getSid();
+ }
+
+ public void updateByDto(PmsPurchaseBillDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ PmsPurchaseBill entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public PmsPurchaseBillDetailsVo fetchDetailsVoBySid(String sid){
+ PmsPurchaseBill entity = fetchBySid(sid);
+ PmsPurchaseBillDetailsVo vo = new PmsPurchaseBillDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ List pmsPurchaseBillDetailDetailsVos = pmsPurchaseBillDetailService.selByMainSid(sid);
+ vo.setPmsPurchaseBillDetailList(pmsPurchaseBillDetailDetailsVos);
+ PmsPurchaseBillExtendDetailsVo pmsPurchaseBillExtendDetailsVo = pmsPurchaseBillExtendService.selByMainSid(sid);
+ vo.setPmsPurchaseBillExtend(pmsPurchaseBillExtendDetailsVo);
+ return vo;
+ }
+
+ public void delAll(String[] sids) {
+ delBySids(sids);
+ for (String sid : sids) {
+ pmsPurchaseBillDetailService.delByMainSid(sid);
+ pmsPurchaseBillExtendService.delByMainSid(sid);
+ }
+ }
+
+ public void updateSettleState(String sid) {
+ baseMapper.updateSettleState(sid);
+ }
+
+ public List listExcel(PmsPurchaseBillQuery query) {
+ QueryWrapper qw = new QueryWrapper<>();
+ if (query != null) {
+ if (StringUtils.isNotBlank(query.getCreateOrgSid())){
+ qw.eq("pb.createOrgSid",query.getCreateOrgSid());
+ }
+ if (StringUtils.isNotBlank(query.getBillTypeKey())){
+ qw.eq("pb.billTypeKey",query.getBillTypeKey());
+ }
+ if (StringUtils.isNotBlank(query.getSupplierSid())){
+ qw.eq("pb.supplierSid",query.getSupplierSid());
+ }
+ if (StringUtils.isNotBlank(query.getSettleState())){
+ qw.eq("pb.settleState",query.getSettleState());
+ }
+ if (StringUtils.isNotBlank(query.getArrearsState())){
+ qw.eq("pb.arrearsState",query.getArrearsState());
+ }
+ if (StringUtils.isNotBlank(query.getDocumentState())){
+ qw.eq("pb.documentState",query.getDocumentState());
+ }
+ if (StringUtils.isNotBlank(query.getOtherQuery())){
+ qw.and(wrapper -> wrapper.like("pb.billNo", query.getOtherQuery()).or().like("pb.supplierPhone", query.getOtherQuery()).or().like("pb.remarks",query.getOtherQuery()));
+ }
+ String createStartTime = query.getCreateStartTime();
+ String createEndTime = query.getCreateEndTime();
+ qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (pb.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
+ apply(StringUtils.isNotEmpty(createEndTime), "date_format (pb.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
+ );
+ }
+ List exportVoList = baseMapper.exportList(qw);
+ exportVoList.removeAll(Collections.singleton(null));
+ return exportVoList;
+ }
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillVo.java
new file mode 100644
index 0000000000..dbd1504259
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillVo.java
@@ -0,0 +1,76 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebill;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillVo.java
+ * Class: com.yxt.pms.api.pmspurchasebill.PmsPurchaseBillVo
+ * Description: 采购单 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单 视图数据对象", description = "采购单 视图数据对象")
+public class PmsPurchaseBillVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("单据编号")
+ private String billNo;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("创建时间")
+ private Date createTime;
+ @ApiModelProperty("制单人姓名")
+ private String createByName;
+ @ApiModelProperty("供应商名称")
+ private String supplierName;
+ @ApiModelProperty("供应商联系电话")
+ private String supplierPhone;
+ @ApiModelProperty("库管员姓名")
+ private String storekeeperName;
+ @ApiModelProperty("结算标志")
+ private String settleState;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("结算时间")
+ private Date settleTime;
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseChoiceBillVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseChoiceBillVo.java
new file mode 100644
index 0000000000..eddf679d9a
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseChoiceBillVo.java
@@ -0,0 +1,98 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebill;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillVo.java
+ * Class: com.yxt.pms.api.pmspurchasebill.PmsPurchaseBillVo
+ * Description: 采购单 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单 视图数据对象", description = "采购单 视图数据对象")
+public class PmsPurchaseChoiceBillVo implements Vo {
+
+ private String sid; // sid
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("创建时间")
+ private Date createTime;
+ @ApiModelProperty("单据编号")
+ private String billNo;
+ @ApiModelProperty("供应商名称")
+ private String supplierName;
+ @ApiModelProperty("供应商联系电话")
+ private String supplierPhone;
+ @ApiModelProperty("采购员姓名")
+ private String purchaserName;
+ @ApiModelProperty("库管员姓名")
+ private String storekeeperName;
+ @ApiModelProperty("结算标志")
+ private String settleState;
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("结算时间")
+ private Date settleTime;
+ @ApiModelProperty("票据类型value(不含税、增值税、普通税、已含增值税)")
+ private String billTypeValue;
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("发票号码")
+ private String invoiceCode;
+ @ApiModelProperty("发票信息")
+ private String invoiceInfo;
+
+ @ApiModelProperty("采购数量")
+ private BigDecimal count;
+ @ApiModelProperty("单台进货价")
+ private BigDecimal cost;
+ @ApiModelProperty("总体进货价")
+ private BigDecimal costCount;
+ @ApiModelProperty("税额")
+ private BigDecimal taxAmount;
+ @ApiModelProperty("含税价")
+ private BigDecimal taxPrice; // 含税价
+ @ApiModelProperty("采购金额")
+ private BigDecimal amount; // 采购金额
+ @ApiModelProperty("销售单价")
+ private BigDecimal salesPrice;
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetail.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetail.java
new file mode 100644
index 0000000000..31ab513f7a
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetail.java
@@ -0,0 +1,100 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebilldetail;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillDetail.java
+ * Class: com.yxt.pms.api.pmspurchasebilldetail.PmsPurchaseBillDetail
+ * Description: 采购单据明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单据明细", description = "采购单据明细")
+@TableName("pms_purchase_bill_detail")
+public class PmsPurchaseBillDetail extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("单据sid")
+ private String billSid; // 单据sid
+ @ApiModelProperty("商品基础信息Sid")
+ private String goodSpuSid; // 商品基础信息Sid
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName; // 商品名称
+ @ApiModelProperty("商品Skusid")
+ private String goodsSkuSid; // 商品Skusid
+ @ApiModelProperty("商品Sku名称")
+ private String goodsSkuTitle; // 商品Sku名称
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode; // 商品编码(图号)
+ @ApiModelProperty("规格型号")
+ private String goodsSkuOwnSpec; // 规格型号
+ @ApiModelProperty("采购前库存数量")
+ private BigDecimal currentCount; // 采购前库存数量
+ @ApiModelProperty("仓库sid")
+ private String warehouseSid; // 仓库sid
+ @ApiModelProperty("仓库名称")
+ private String warehouseName; // 仓库名称
+ @ApiModelProperty("库区/货位sid")
+ private String warehouseAreaSid; // 库区/货位sid
+ @ApiModelProperty("库区名称")
+ private String warehouseAreaName; // 库区名称
+ @ApiModelProperty("货架sid")
+ private String warehouseRackSid; // 货架sid
+ @ApiModelProperty("货架名称")
+ private String warehouseRackName; // 货架名称
+ @ApiModelProperty("单位成本(进货价)")
+ private BigDecimal cost; // 单位成本(进货价)
+ @ApiModelProperty("采购数量")
+ private BigDecimal count; // 采购数量
+ @ApiModelProperty("税额")
+ private BigDecimal taxAmount; // 税额
+ @ApiModelProperty("含税价")
+ private BigDecimal taxPrice; // 含税价
+ @ApiModelProperty("采购金额")
+ private BigDecimal amount; // 采购金额
+ @ApiModelProperty("销售单价")
+ private BigDecimal salesPrice; // 销售单价
+ @ApiModelProperty("最低零售价")
+ private BigDecimal minimumSalesPrice; // 最低零售价
+
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailDetailsVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailDetailsVo.java
new file mode 100644
index 0000000000..1a35a5121b
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailDetailsVo.java
@@ -0,0 +1,99 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebilldetail;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillDetailVo.java
+ * Class: com.yxt.pms.api.pmspurchasebilldetail.PmsPurchaseBillDetailVo
+ * Description: 采购单据明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单据明细 视图数据详情", description = "采购单据明细 视图数据详情")
+public class PmsPurchaseBillDetailDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("单据sid")
+ private String billSid; // 单据sid
+ @ApiModelProperty("商品基础信息Sid")
+ private String goodSpuSid; // 商品基础信息Sid
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName; // 商品名称
+ @ApiModelProperty("商品Skusid")
+ private String goodsSkuSid; // 商品Skusid
+ @ApiModelProperty("商品Sku名称")
+ private String goodsSkuTitle; // 商品Sku名称
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode; // 商品编码(图号)
+ @ApiModelProperty("规格型号")
+ private String goodsSkuOwnSpec; // 规格型号
+ @ApiModelProperty("采购前库存数量")
+ private BigDecimal currentCount; // 采购前库存数量
+ @ApiModelProperty("仓库sid")
+ private String warehouseSid; // 仓库sid
+ @ApiModelProperty("仓库名称")
+ private String warehouseName; // 仓库名称
+ @ApiModelProperty("库区/货位sid")
+ private String warehouseAreaSid; // 库区/货位sid
+ @ApiModelProperty("库区名称")
+ private String warehouseAreaName; // 库区名称
+ @ApiModelProperty("货架sid")
+ private String warehouseRackSid; // 货架sid
+ @ApiModelProperty("货架名称")
+ private String warehouseRackName; // 货架名称
+ @ApiModelProperty("单位成本(进货价)")
+ private BigDecimal cost; // 单位成本(进货价)
+ @ApiModelProperty("采购数量")
+ private BigDecimal count; // 采购数量
+ @ApiModelProperty("税额")
+ private BigDecimal taxAmount; // 税额
+ @ApiModelProperty("含税价")
+ private BigDecimal taxPrice; // 含税价
+ @ApiModelProperty("采购金额")
+ private BigDecimal amount; // 采购金额
+ @ApiModelProperty("销售单价")
+ private BigDecimal salesPrice; // 销售单价
+ @ApiModelProperty("最低零售价")
+ private BigDecimal minimumSalesPrice; // 最低零售价
+
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailDto.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailDto.java
new file mode 100644
index 0000000000..529da00155
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailDto.java
@@ -0,0 +1,99 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebilldetail;
+
+
+import com.yxt.common.core.dto.Dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillDetailDto.java
+ * Class: com.yxt.pms.api.pmspurchasebilldetail.PmsPurchaseBillDetailDto
+ * Description: 采购单据明细 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单据明细 数据传输对象", description = "采购单据明细 数据传输对象")
+public class PmsPurchaseBillDetailDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("单据sid")
+ private String billSid; // 单据sid
+ @ApiModelProperty("商品基础信息Sid")
+ private String goodSpuSid; // 商品基础信息Sid
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName; // 商品名称
+ @ApiModelProperty("商品Skusid")
+ private String goodsSkuSid; // 商品Skusid
+ @ApiModelProperty("商品Sku名称")
+ private String goodsSkuTitle; // 商品Sku名称
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode; // 商品编码(图号)
+ @ApiModelProperty("规格型号")
+ private String goodsSkuOwnSpec; // 规格型号
+ @ApiModelProperty("采购前库存数量")
+ private BigDecimal currentCount; // 采购前库存数量
+ @ApiModelProperty("仓库sid")
+ private String warehouseSid; // 仓库sid
+ @ApiModelProperty("仓库名称")
+ private String warehouseName; // 仓库名称
+ @ApiModelProperty("库区/货位sid")
+ private String warehouseAreaSid; // 库区/货位sid
+ @ApiModelProperty("库区名称")
+ private String warehouseAreaName; // 库区名称
+ @ApiModelProperty("货架sid")
+ private String warehouseRackSid; // 货架sid
+ @ApiModelProperty("货架名称")
+ private String warehouseRackName; // 货架名称
+ @ApiModelProperty("单位成本(进货价)")
+ private BigDecimal cost; // 单位成本(进货价)
+ @ApiModelProperty("采购数量")
+ private BigDecimal count; // 采购数量
+ @ApiModelProperty("税额")
+ private BigDecimal taxAmount; // 税额
+ @ApiModelProperty("含税价")
+ private BigDecimal taxPrice; // 含税价
+ @ApiModelProperty("采购金额")
+ private BigDecimal amount; // 采购金额
+ @ApiModelProperty("销售单价")
+ private BigDecimal salesPrice; // 销售单价
+ @ApiModelProperty("最低零售价")
+ private BigDecimal minimumSalesPrice; // 最低零售价
+
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailMapper.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailMapper.java
new file mode 100644
index 0000000000..7e854d8bc5
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailMapper.java
@@ -0,0 +1,75 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebilldetail;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillDetailMapper.java
+ * Class: com.yxt.pms.biz.pmspurchasebilldetail.PmsPurchaseBillDetailMapper
+ * Description: 采购单据明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface PmsPurchaseBillDetailMapper extends BaseMapper {
+
+ //@Update("update pms_purchase_bill_detail set name=#{msg} where id=#{id}")
+ //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from pms_purchase_bill_detail")
+ List selectListVo();
+
+ @Delete("delete from pms_purchase_bill_detail where billSid = #{dtoSid}")
+ void delByMainSid(String dtoSid);
+
+ @Select("select * from pms_purchase_bill_detail where billSid = #{billSid}")
+ List selByMainSid(String billSid);
+
+ IPage purDetailReForm(IPage page, QueryWrapper qw);
+
+ IPage purSumReForm(IPage page, QueryWrapper qw);
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailMapper.xml b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailMapper.xml
new file mode 100644
index 0000000000..49ab9765ab
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailMapper.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailQuery.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailQuery.java
new file mode 100644
index 0000000000..4d4077c76d
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailQuery.java
@@ -0,0 +1,99 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebilldetail;
+
+
+import com.yxt.common.core.query.Query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillDetailQuery.java
+ * Class: com.yxt.pms.api.pmspurchasebilldetail.PmsPurchaseBillDetailQuery
+ * Description: 采购单据明细 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单据明细 查询条件", description = "采购单据明细 查询条件")
+public class PmsPurchaseBillDetailQuery implements Query {
+
+ @ApiModelProperty("制单人姓名")
+ private String createByName; // 制单人姓名
+ @ApiModelProperty("单据sid")
+ private String billSid; // 单据sid
+ @ApiModelProperty("商品基础信息Sid")
+ private String goodSpuSid; // 商品基础信息Sid
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName; // 商品名称
+ @ApiModelProperty("商品Skusid")
+ private String goodsSkuSid; // 商品Skusid
+ @ApiModelProperty("商品Sku名称")
+ private String goodsSkuTitle; // 商品Sku名称
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode; // 商品编码(图号)
+ @ApiModelProperty("规格型号")
+ private String goodsSkuOwnSpec; // 规格型号
+ @ApiModelProperty("采购前库存数量")
+ private BigDecimal currentCount; // 采购前库存数量
+ @ApiModelProperty("仓库sid")
+ private String warehouseSid; // 仓库sid
+ @ApiModelProperty("仓库名称")
+ private String warehouseName; // 仓库名称
+ @ApiModelProperty("库区/货位sid")
+ private String warehouseAreaSid; // 库区/货位sid
+ @ApiModelProperty("库区名称")
+ private String warehouseAreaName; // 库区名称
+ @ApiModelProperty("货架sid")
+ private String warehouseRackSid; // 货架sid
+ @ApiModelProperty("货架名称")
+ private String warehouseRackName; // 货架名称
+ @ApiModelProperty("单位成本(进货价)")
+ private BigDecimal cost; // 单位成本(进货价)
+ @ApiModelProperty("采购数量")
+ private BigDecimal count; // 采购数量
+ @ApiModelProperty("税额")
+ private BigDecimal taxAmount; // 税额
+ @ApiModelProperty("含税价")
+ private BigDecimal taxPrice; // 含税价
+ @ApiModelProperty("采购金额")
+ private BigDecimal amount; // 采购金额
+ @ApiModelProperty("销售单价")
+ private BigDecimal salesPrice; // 销售单价
+ @ApiModelProperty("最低零售价")
+ private BigDecimal minimumSalesPrice; // 最低零售价
+
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailReportQuery.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailReportQuery.java
new file mode 100644
index 0000000000..5d8265072e
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailReportQuery.java
@@ -0,0 +1,62 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebilldetail;
+
+
+import com.yxt.common.core.query.Query;
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillDetailVo.java
+ * Class: com.yxt.pms.api.pmspurchasebilldetail.PmsPurchaseBillDetailVo
+ * Description: 采购单据明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单据明细 视图数据对象", description = "采购单据明细 视图数据对象")
+public class PmsPurchaseBillDetailReportQuery implements Query {
+
+ @ApiModelProperty("仓库名称")
+ private String warehouseName;
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode;
+ @ApiModelProperty("规格")
+ private String goodsSkuOwnSpec;
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName;
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailReportVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailReportVo.java
new file mode 100644
index 0000000000..5a6bf51327
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailReportVo.java
@@ -0,0 +1,77 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebilldetail;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillDetailVo.java
+ * Class: com.yxt.pms.api.pmspurchasebilldetail.PmsPurchaseBillDetailVo
+ * Description: 采购单据明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "采购单据明细 视图数据对象", description = "采购单据明细 视图数据对象")
+public class PmsPurchaseBillDetailReportVo implements Vo {
+
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName;
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode;
+ @ApiModelProperty("单位成本(进货价)")
+ private BigDecimal cost;
+ @ApiModelProperty("总体单位成本(进货价)")
+ private BigDecimal costCount;
+ @ApiModelProperty("税额")
+ private BigDecimal taxAmount;
+ @ApiModelProperty("税额合计")
+ private BigDecimal taxAmountCount;
+ @ApiModelProperty("含税价")
+ private BigDecimal taxPrice;
+ @ApiModelProperty("采购数量")
+ private BigDecimal count;
+ @ApiModelProperty("退货数量")
+ private BigDecimal retreatCount;
+ @ApiModelProperty("采购金额")
+ private BigDecimal amount;
+ @ApiModelProperty("仓库名称")
+ private String warehouseName;
+ @ApiModelProperty("单位")
+ private String unit;
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailService.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailService.java
new file mode 100644
index 0000000000..7c2cbbfadc
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailService.java
@@ -0,0 +1,148 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebilldetail;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.vo.PagerVo;
+
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillDetailService.java
+ * Class: com.yxt.pms.biz.pmspurchasebilldetail.PmsPurchaseBillDetailService
+ * Description: 采购单据明细 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-19 13:51:46
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class PmsPurchaseBillDetailService extends MybatisBaseService {
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ PmsPurchaseBillDetailQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public void saveOrUpdateDto(PmsPurchaseBillDetailDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public void insertByDto(PmsPurchaseBillDetailDto dto){
+ PmsPurchaseBillDetail entity = new PmsPurchaseBillDetail();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(PmsPurchaseBillDetailDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ PmsPurchaseBillDetail entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public PmsPurchaseBillDetailDetailsVo fetchDetailsVoBySid(String sid){
+ PmsPurchaseBillDetail entity = fetchBySid(sid);
+ PmsPurchaseBillDetailDetailsVo vo = new PmsPurchaseBillDetailDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public void delByMainSid(String dtoSid) {
+ baseMapper.delByMainSid(dtoSid);
+ }
+
+ public List selByMainSid(String billSid) {
+ return baseMapper.selByMainSid(billSid);
+ }
+
+ public PagerVo purDetailReForm(PagerQuery pq) {
+ PmsPurchaseBillDetailReportQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(query.getWarehouseName())){
+ qw.like("pdd.warehouseName",query.getWarehouseName());
+ }
+ if (StringUtils.isNotBlank(query.getGoodsSkuCode())){
+ qw.like("pdd.goodsSkuCode",query.getGoodsSkuCode());
+ }
+ if (StringUtils.isNotBlank(query.getGoodsSkuOwnSpec())){
+ qw.like("pdd.goodsSkuOwnSpec",query.getGoodsSkuOwnSpec());
+ }
+ if (StringUtils.isNotBlank(query.getGoodsSpuName())){
+ qw.like("pdd.goodsSpuName",query.getGoodsSpuName());
+ }
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.purDetailReForm(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public PagerVo purSumReForm(PagerQuery pq) {
+ PmsPurchaseBillDetailReportQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ if (StringUtils.isNotBlank(query.getWarehouseName())){
+ qw.like("pdd.warehouseName",query.getWarehouseName());
+ }
+ if (StringUtils.isNotBlank(query.getGoodsSkuCode())){
+ qw.like("pdd.goodsSkuCode",query.getGoodsSkuCode());
+ }
+ if (StringUtils.isNotBlank(query.getGoodsSkuOwnSpec())){
+ qw.like("pdd.goodsSkuOwnSpec",query.getGoodsSkuOwnSpec());
+ }
+ if (StringUtils.isNotBlank(query.getGoodsSpuName())){
+ qw.like("pdd.goodsSpuName",query.getGoodsSpuName());
+ }
+ qw.groupBy("pdd.goodsSkuCode");
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.purSumReForm(page, qw);
+ PagerVo