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 p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailSumVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailSumVo.java
new file mode 100644
index 0000000000..583583f4b0
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailSumVo.java
@@ -0,0 +1,71 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _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 PmsPurchaseBillDetailSumVo implements Vo {
+
+ @ApiModelProperty("商品名称")
+ private String goodsSpuName;
+ @ApiModelProperty("商品编码(图号)")
+ private String goodsSkuCode;
+ @ApiModelProperty("单位")
+ private String unit;
+ @ApiModelProperty("规格")
+ private String goodsSkuOwnSpec;
+ @ApiModelProperty("采购数量")
+ private BigDecimal count;
+ @ApiModelProperty("采购金额")
+ private BigDecimal amount;
+ @ApiModelProperty("退货数量")
+ private BigDecimal retreatCount;
+ @ApiModelProperty("退货金额")
+ private BigDecimal backAmount;
+ @ApiModelProperty("门店")
+ private String useOrgName;
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailVo.java
new file mode 100644
index 0000000000..74f1b7f425
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebilldetail/PmsPurchaseBillDetailVo.java
@@ -0,0 +1,101 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _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 PmsPurchaseBillDetailVo implements Vo {
+
+ private String sid; // sid
+
+ @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/pmspurchasebillextend/PmsPurchaseBillExtend.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtend.java
new file mode 100644
index 0000000000..896e1c5a54
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtend.java
@@ -0,0 +1,86 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebillextend;
+
+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-pms(采购)
+ * File: PmsPurchaseBillExtend.java
+ * Class: com.yxt.pms.api.pmspurchasebillextend.PmsPurchaseBillExtend
+ * 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_extend")
+public class PmsPurchaseBillExtend extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @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
+
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendDetailsVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendDetailsVo.java
new file mode 100644
index 0000000000..be5a05d964
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendDetailsVo.java
@@ -0,0 +1,89 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebillextend;
+
+
+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-pms(采购)
+ * File: PmsPurchaseBillExtendVo.java
+ * Class: com.yxt.pms.api.pmspurchasebillextend.PmsPurchaseBillExtendVo
+ * 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 PmsPurchaseBillExtendDetailsVo implements Vo {
+
+ 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 arrivalDateStart; // 到货日期
+ private Date arrivalDateEnd; // 到货日期
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("付款期限")
+ private Date paymentTermStart; // 付款期限
+ private Date paymentTermEnd; // 付款期限
+ @ApiModelProperty("仓库sid")
+ private String wareHouseSid; // 仓库sid
+
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendDto.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendDto.java
new file mode 100644
index 0000000000..69ac54d7f3
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendDto.java
@@ -0,0 +1,87 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebillextend;
+
+
+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-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-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendMapper.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendMapper.java
new file mode 100644
index 0000000000..38c1a1b0e6
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendMapper.java
@@ -0,0 +1,67 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebillextend;
+
+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: PmsPurchaseBillExtendMapper.java
+ * Class: com.yxt.pms.biz.pmspurchasebillextend.PmsPurchaseBillExtendMapper
+ * 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 PmsPurchaseBillExtendMapper extends BaseMapper {
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from pms_purchase_bill_extend")
+ List selectListVo();
+
+ @Delete("delete from pms_purchase_bill_extend where purchaseBillSid = #{dtoSid}")
+ void delByMainSid(String dtoSid);
+
+ @Select("select * from pms_purchase_bill_extend where purchaseBillSid = #{billSid}")
+ PmsPurchaseBillExtendDetailsVo selByMainSid(String billSid);
+}
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendMapper.xml b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendMapper.xml
new file mode 100644
index 0000000000..a42d5b2c6e
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendMapper.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/pmspurchasebillextend/PmsPurchaseBillExtendQuery.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendQuery.java
new file mode 100644
index 0000000000..44fc863bf3
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendQuery.java
@@ -0,0 +1,87 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebillextend;
+
+
+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-pms(采购)
+ * File: PmsPurchaseBillExtendQuery.java
+ * Class: com.yxt.pms.api.pmspurchasebillextend.PmsPurchaseBillExtendQuery
+ * 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 PmsPurchaseBillExtendQuery implements Query {
+
+ @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 arrivalDateStart; // 到货日期
+ private Date arrivalDateEnd; // 到货日期
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("付款期限")
+ private Date paymentTermStart; // 付款期限
+ private Date paymentTermEnd; // 付款期限
+ @ApiModelProperty("仓库sid")
+ private String wareHouseSid; // 仓库sid
+
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendService.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendService.java
new file mode 100644
index 0000000000..16685a4c88
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendService.java
@@ -0,0 +1,103 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebillextend;
+
+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;
+
+/**
+ * Project: yxt-pms(采购)
+ * File: PmsPurchaseBillExtendService.java
+ * Class: com.yxt.pms.biz.pmspurchasebillextend.PmsPurchaseBillExtendService
+ * 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 PmsPurchaseBillExtendService extends MybatisBaseService {
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ PmsPurchaseBillExtendQuery 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(PmsPurchaseBillExtendDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public void insertByDto(PmsPurchaseBillExtendDto dto){
+ PmsPurchaseBillExtend entity = new PmsPurchaseBillExtend();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(PmsPurchaseBillExtendDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ PmsPurchaseBillExtend entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public PmsPurchaseBillExtendDetailsVo fetchDetailsVoBySid(String sid){
+ PmsPurchaseBillExtend entity = fetchBySid(sid);
+ PmsPurchaseBillExtendDetailsVo vo = new PmsPurchaseBillExtendDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public void delByMainSid(String dtoSid) {
+ baseMapper.delByMainSid(dtoSid);
+ }
+
+ public PmsPurchaseBillExtendDetailsVo 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/pmspurchasebillextend/PmsPurchaseBillExtendVo.java b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendVo.java
new file mode 100644
index 0000000000..fef51e2088
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebillextend/PmsPurchaseBillExtendVo.java
@@ -0,0 +1,89 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.pms.biz.pms.pmspurchasebillextend;
+
+
+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-pms(采购)
+ * File: PmsPurchaseBillExtendVo.java
+ * Class: com.yxt.pms.api.pmspurchasebillextend.PmsPurchaseBillExtendVo
+ * 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 PmsPurchaseBillExtendVo implements Vo {
+
+ 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 arrivalDateStart; // 到货日期
+ private Date arrivalDateEnd; // 到货日期
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("付款期限")
+ private Date paymentTermStart; // 付款期限
+ private Date paymentTermEnd; // 付款期限
+ @ApiModelProperty("仓库sid")
+ private String wareHouseSid; // 仓库sid
+
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/config/SaTokenConfigure.java b/yxt-pms-biz/src/main/java/com/yxt/pms/config/SaTokenConfigure.java
new file mode 100644
index 0000000000..73c4dd28cb
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/config/SaTokenConfigure.java
@@ -0,0 +1,114 @@
+//package com.yxt.pms.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-pms-biz/src/main/java/com/yxt/pms/config/SaTokenGloableException.java b/yxt-pms-biz/src/main/java/com/yxt/pms/config/SaTokenGloableException.java
new file mode 100644
index 0000000000..7d42afb7e3
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/config/SaTokenGloableException.java
@@ -0,0 +1,67 @@
+package com.yxt.pms.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-pms-biz/src/main/java/com/yxt/pms/config/package-info.java b/yxt-pms-biz/src/main/java/com/yxt/pms/config/package-info.java
new file mode 100644
index 0000000000..b0b186aa60
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/config/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明
+ */
+package com.yxt.pms.config;
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/feign/package-info.java b/yxt-pms-biz/src/main/java/com/yxt/pms/feign/package-info.java
new file mode 100644
index 0000000000..bec0d08c58
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/feign/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 宇信通监管项目-光伏(山海新能源)项目后台逻辑和接口-接口声明
+ */
+package com.yxt.pms.feign;
\ No newline at end of file
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/utils/DoubleUtils.java b/yxt-pms-biz/src/main/java/com/yxt/pms/utils/DoubleUtils.java
new file mode 100644
index 0000000000..1ded41750a
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/utils/DoubleUtils.java
@@ -0,0 +1,93 @@
+package com.yxt.pms.utils;
+
+import java.math.BigDecimal;
+
+/**
+ * @author wangpengfei
+ * @date 2024/1/24 8:53
+ */
+public class DoubleUtils {
+
+ /**
+ * 对double数据进行取精度.
+ * @param value double数据.
+ * @param scale 精度位数(保留的小数位数).
+ * @param roundingMode 精度取值方式.
+ * @return 精度计算后的数据.
+ */
+ public static double round(double value, int scale,
+ int roundingMode) {
+ BigDecimal bd = BigDecimal.valueOf(value);
+ bd = bd.setScale(scale, roundingMode);
+ double d = bd.doubleValue();
+ bd = null;
+ return d;
+ }
+
+
+ /**
+ * double 相加
+ * @param d1
+ * @param d2
+ * @return
+ */
+ public static double sum(double d1,double d2){
+ BigDecimal bd1 = BigDecimal.valueOf(d1);
+ BigDecimal bd2 = BigDecimal.valueOf(d2);
+ return bd1.add(bd2).doubleValue();
+ }
+
+
+ /**
+ * double 相减
+ * @param d1
+ * @param d2
+ * @return
+ */
+ public static double sub(double d1,double d2){
+ BigDecimal bd1 = BigDecimal.valueOf(d1);
+ BigDecimal bd2 = BigDecimal.valueOf(d2);
+ return bd1.subtract(bd2).doubleValue();
+ }
+
+ /**
+ * double 乘法
+ * @param d1
+ * @param d2
+ * @return
+ */
+ public static double mul(double d1, double d2){
+ BigDecimal bd1 = BigDecimal.valueOf(d1);
+ BigDecimal bd2 = BigDecimal.valueOf(d2);
+ return bd1.multiply(bd2).doubleValue();
+ }
+
+
+ /**
+ * double 除法
+ * @param d1
+ * @param d2
+ * @param scale 四舍五入 小数点位数
+ * @return
+ */
+ public static double div(double d1,double d2,int scale){
+ BigDecimal bd1 = BigDecimal.valueOf(d1);
+ BigDecimal bd2 = BigDecimal.valueOf(d2);
+ return bd1.divide
+ (bd2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
+ }
+ /**
+ * 去除多余.0
+ * @param num
+ * @return
+ */
+ public static String removeZeros(String num) {
+ if (num.indexOf(".") > 0) {
+ // 去掉多余的0
+ num = num.replaceAll("0+?$", "");
+ // 如果最后一位是. 则去掉
+ num = num.replaceAll("[.]$", "");
+ }
+ return num;
+ }
+}
diff --git a/yxt-pms-biz/src/main/java/com/yxt/pms/utils/StyleUtils.java b/yxt-pms-biz/src/main/java/com/yxt/pms/utils/StyleUtils.java
new file mode 100644
index 0000000000..1a96191b20
--- /dev/null
+++ b/yxt-pms-biz/src/main/java/com/yxt/pms/utils/StyleUtils.java
@@ -0,0 +1,89 @@
+package com.yxt.pms.utils;
+
+import com.alibaba.excel.write.metadata.style.WriteCellStyle;
+import com.alibaba.excel.write.metadata.style.WriteFont;
+import org.apache.poi.ss.usermodel.BorderStyle;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
+import org.apache.poi.ss.usermodel.VerticalAlignment;
+
+/**
+ * @author wangpengfei
+ * @date 2023/12/16 22:14
+ */
+public class StyleUtils { /**
+ * 标题样式
+ * @return
+ */
+public static WriteCellStyle getHeadStyle(){
+ // 头的策略
+ WriteCellStyle headWriteCellStyle = new WriteCellStyle();
+ // 背景颜色
+// headWriteCellStyle.setFillForegroundColor(IndexedColors.LIGHT_TURQUOISE1.getIndex());
+// headWriteCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND);
+
+ // 字体
+ WriteFont headWriteFont = new WriteFont();
+ headWriteFont.setFontName("宋体");//设置字体名字
+ headWriteFont.setFontHeightInPoints((short)14);//设置字体大小
+ headWriteFont.setBold(true);//字体加粗
+ headWriteCellStyle.setWriteFont(headWriteFont); //在样式用应用设置的字体;
+
+ // 样式
+ headWriteCellStyle.setBorderBottom(BorderStyle.THIN);//设置底边框;
+ headWriteCellStyle.setBottomBorderColor((short) 0);//设置底边框颜色;
+ headWriteCellStyle.setBorderLeft(BorderStyle.THIN); //设置左边框;
+ headWriteCellStyle.setLeftBorderColor((short) 0);//设置左边框颜色;
+ headWriteCellStyle.setBorderRight(BorderStyle.THIN);//设置右边框;
+ headWriteCellStyle.setRightBorderColor((short) 0);//设置右边框颜色;
+ headWriteCellStyle.setBorderTop(BorderStyle.THIN);//设置顶边框;
+ headWriteCellStyle.setTopBorderColor((short) 0); //设置顶边框颜色;
+
+ headWriteCellStyle.setWrapped(true); //设置自动换行;
+
+ headWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);//设置水平对齐的样式为居中对齐;
+ headWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); //设置垂直对齐的样式为居中对齐;
+ headWriteCellStyle.setShrinkToFit(true);//设置文本收缩至合适
+
+ return headWriteCellStyle;
+}
+
+
+ /**
+ * 内容样式
+ * @return
+ */
+ public static WriteCellStyle getContentStyle(){
+ // 内容的策略
+ WriteCellStyle contentWriteCellStyle = new WriteCellStyle();
+
+ // 背景绿色
+ // 这里需要指定 FillPatternType 为FillPatternType.SOLID_FOREGROUND 不然无法显示背景颜色.头默认了 FillPatternType所以可以不指定
+// contentWriteCellStyle.setFillForegroundColor(IndexedColors.PALE_BLUE.getIndex());
+// contentWriteCellStyle.setFillPatternType(FillPatternType.SOLID_FOREGROUND);
+
+ // 设置字体
+ WriteFont contentWriteFont = new WriteFont();
+ contentWriteFont.setFontHeightInPoints((short) 12);//设置字体大小
+ contentWriteFont.setFontName("宋体"); //设置字体名字
+ contentWriteCellStyle.setWriteFont(contentWriteFont);//在样式用应用设置的字体;
+
+ //设置样式;
+ contentWriteCellStyle.setBorderBottom(BorderStyle.THIN);//设置底边框;
+ contentWriteCellStyle.setBottomBorderColor((short) 0);//设置底边框颜色;
+ contentWriteCellStyle.setBorderLeft(BorderStyle.THIN); //设置左边框;
+ contentWriteCellStyle.setLeftBorderColor((short) 0);//设置左边框颜色;
+ contentWriteCellStyle.setBorderRight(BorderStyle.THIN);//设置右边框;
+ contentWriteCellStyle.setRightBorderColor((short) 0);//设置右边框颜色;
+ contentWriteCellStyle.setBorderTop(BorderStyle.THIN);//设置顶边框;
+ contentWriteCellStyle.setTopBorderColor((short) 0); ///设置顶边框颜色;
+
+ contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER);// 水平居中
+ contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER);// 垂直居中
+ contentWriteCellStyle.setWrapped(true); //设置自动换行;
+
+// contentWriteCellStyle.setShrinkToFit(true);//设置文本收缩至合适
+
+ return contentWriteCellStyle;
+ }
+
+}
diff --git a/yxt-pms-biz/src/main/resources/application-devv.yml b/yxt-pms-biz/src/main/resources/application-devv.yml
new file mode 100644
index 0000000000..ec6e247bbd
--- /dev/null
+++ b/yxt-pms-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_pms?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-pms-biz/src/main/resources/application-pro.yml b/yxt-pms-biz/src/main/resources/application-pro.yml
new file mode 100644
index 0000000000..ab15e4284f
--- /dev/null
+++ b/yxt-pms-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_pms?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-pms-biz/src/main/resources/application-test.yml b/yxt-pms-biz/src/main/resources/application-test.yml
new file mode 100644
index 0000000000..2e66a6de3e
--- /dev/null
+++ b/yxt-pms-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_pms?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-pms-biz/src/main/resources/application.yml b/yxt-pms-biz/src/main/resources/application.yml
new file mode 100644
index 0000000000..b9e6f8bb87
--- /dev/null
+++ b/yxt-pms-biz/src/main/resources/application.yml
@@ -0,0 +1,50 @@
+spring:
+ application:
+ name: yxt-pms
+ 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: 7306
+ 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-pms-biz/src/main/resources/logback-spring.xml b/yxt-pms-biz/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000000..431358ce95
--- /dev/null
+++ b/yxt-pms-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.pms}.log
+
+ ${log.pms}.%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-pms-biz/src/test/java/com/yxt/pms/YxtPmsApplicationTest.java b/yxt-pms-biz/src/test/java/com/yxt/pms/YxtPmsApplicationTest.java
new file mode 100644
index 0000000000..24154cd2c2
--- /dev/null
+++ b/yxt-pms-biz/src/test/java/com/yxt/pms/YxtPmsApplicationTest.java
@@ -0,0 +1,24 @@
+package com.yxt.pms;
+
+import cn.hutool.core.util.IdUtil;
+import org.junit.Test;
+
+import java.util.UUID;
+
+public class YxtPmsApplicationTest {
+
+ @Test
+ public void test() {
+ System.out.println(IdUtil.nanoId());
+ System.out.println(IdUtil.getSnowflakeNextId());
+
+ UUID uuid = UUID.randomUUID();
+ String uniqueID = uuid.toString().replaceAll("-", "").substring(0, 16).replaceAll("\\D", "");
+ System.out.println(uniqueID);
+ }
+}
+
+//do3KW8XIUSyu4vg_zTXdm
+// 1727231267909320704
+//uw0AotdmQTlIxKlA2V8_O
+// 1727231437887668224