From a7136e0f942c2bfa9297ea77948735e6a03db4ca Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Wed, 15 May 2024 16:39:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=B7=A5=E5=8D=95=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E6=8E=A8=E9=80=81=E5=BA=94=E6=94=B6=EF=BC=8C=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E5=95=86=E5=93=81=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoanHomevisitPrepService.java | 4 +- .../AsBusrepairBillService.java | 69 +++- .../FinUncollectedReceivablesDetailedDto.java | 101 +++++ ...inUncollectedReceivablesDetailedFeign.java | 64 +++ ...ectedReceivablesDetailedFeignFallback.java | 60 +++ .../base/apiadmin/base/BaseGoodsSpuRest.java | 30 +- .../basegoodssku/BaseGoodsSkuService.java | 4 + .../BaseGoodsSkuExtendService.java | 5 + .../basegoodsspu/BaseGoodsDetailsDto.java | 47 +++ .../base/basegoodsspu/BaseGoodsDetailsVo.java | 46 +++ .../biz/base/basegoodsspu/BaseGoodsSpu.java | 4 +- .../basegoodsspu/BaseGoodsSpuListQuery.java | 24 ++ .../base/basegoodsspu/BaseGoodsSpuListVo.java | 39 ++ .../base/basegoodsspu/BaseGoodsSpuMapper.java | 4 + .../base/basegoodsspu/BaseGoodsSpuMapper.xml | 62 ++- .../basegoodsspu/BaseGoodsSpuService.java | 364 ++++++++++++++++-- 16 files changed, 872 insertions(+), 55 deletions(-) create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/feign/fin/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedDto.java create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/feign/fin/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/feign/fin/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java create mode 100644 yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsDetailsDto.java create mode 100644 yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsDetailsVo.java create mode 100644 yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuListQuery.java create mode 100644 yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuListVo.java diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepService.java index 97fc9f295f..2425f4e0b5 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitprep/LoanHomevisitPrepService.java @@ -1012,7 +1012,7 @@ public class LoanHomevisitPrepService extends MybatisBaseService_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.as.feign.fin.finuncollectedreceivablesdetailed; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-fin(销售相关)
+ * File: FinUncollectedReceivablesDetailedDto.java
+ * Class: com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedDto
+ * Description: 应收未收款项明细表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-12 17:57:01
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@ApiModel(value = "应收未收款项明细表 数据传输对象", description = "应收未收款项明细表 数据传输对象") +@Data +public class FinUncollectedReceivablesDetailedDto implements Dto { + + @ApiModelProperty("应收未收款项sid") + private String sid; // 应收未收款项sid + @ApiModelProperty("创建人接口") + private String createByName; // 创建人接口 + @ApiModelProperty("创建人sid") + private String createBySid; // 创建人sid + @ApiModelProperty("合同sid") + private String contractSid; // 合同sid + @ApiModelProperty("合同编号") + private String contractNo; // 合同编号 + @ApiModelProperty("客户sid") + private String customerSid; // 客户sid + @ApiModelProperty("客户名称") + private String customerName; // 客户名称 + @ApiModelProperty("车架号") + private String VIN; // 车架号 + @ApiModelProperty("分公司sid") + private String useOrgSid; // 分公司sid + @ApiModelProperty("联系电话") + private String customerPhone; // 联系电话 + @ApiModelProperty("应收项目名称") + private String receivablesName; // 应收项目名称 + @ApiModelProperty("当前应收金额") + private String currentReceivableMoney; // 当前应收金额 + @ApiModelProperty("应收金额(不变)") + private String reveivableMoney; + private String busVinSid; + @ApiModelProperty("付款方式") + private String payTypeKey; + private String payType; + @ApiModelProperty("应收款项状态") + private String kxState; + @ApiModelProperty("分公司") + private String useOrgName; + @ApiModelProperty("申请人组织路径") + private String orgSidPath; + + @ApiModelProperty("采购系统sid") + private String purchaseSystemSid; + @ApiModelProperty("采购系统名称") + private String purchaseSystemName; + + @ApiModelProperty("销售专员") + private String staffName; + @ApiModelProperty("销售专员用户sid") + private String staffUserSid; + @ApiModelProperty("销售专员部门") + private String staffDeptName; + @ApiModelProperty("销售专员部门sid") + private String staffDeptSid; +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/feign/fin/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java b/yxt-as/src/main/java/com/yxt/anrui/as/feign/fin/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java new file mode 100644 index 0000000000..9779f52c18 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/feign/fin/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeign.java @@ -0,0 +1,64 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.as.feign.fin.finuncollectedreceivablesdetailed; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * Project: anrui-fin(应收未收款项明细表)
+ * File: FinUncollectedReceivablesDetailedFeign.java
+ * Class: com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign
+ * Description: 应收未收款项明细表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-12 17:57:01
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "应收未收款项明细表") +@FeignClient( + contextId = "anrui-fin-FinUncollectedReceivablesDetailed", + name = "anrui-fin", + path = "finuncollectedreceivablesdetailed", + fallback = FinUncollectedReceivablesDetailedFeignFallback.class) +public interface FinUncollectedReceivablesDetailedFeign { + + + @ApiOperation("新增或修改保存") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody FinUncollectedReceivablesDetailedDto dto); + +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/feign/fin/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java b/yxt-as/src/main/java/com/yxt/anrui/as/feign/fin/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java new file mode 100644 index 0000000000..5752ebbfeb --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/feign/fin/finuncollectedreceivablesdetailed/FinUncollectedReceivablesDetailedFeignFallback.java @@ -0,0 +1,60 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.as.feign.fin.finuncollectedreceivablesdetailed; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * Project: anrui-fin(销售相关)
+ * File: FinUncollectedReceivablesDetailedFeignFallback.java
+ * Class: com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeignFallback
+ * Description: 应收未收款项明细表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-12 17:57:01
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Component +public class FinUncollectedReceivablesDetailedFeignFallback implements FinUncollectedReceivablesDetailedFeign { + + + + @Override + public ResultBean saveOrUpdate(FinUncollectedReceivablesDetailedDto dto){ + return ResultBean.fireFail().setMsg("接口anrui-fin/finuncollectedreceivablesdetailed/saveOrUpdate无法访问"); + } + + + +} diff --git a/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java b/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java index 9cda6da133..f4977b98ee 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java @@ -1,9 +1,6 @@ package com.yxt.base.apiadmin.base; -import com.yxt.base.biz.base.basegoodsspu.BaseGoodsSpuDto; -import com.yxt.base.biz.base.basegoodsspu.BaseGoodsSpuQuery; -import com.yxt.base.biz.base.basegoodsspu.BaseGoodsSpuService; -import com.yxt.base.biz.base.basegoodsspu.BaseGoodsSpuVo; +import com.yxt.base.biz.base.basegoodsspu.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -23,6 +20,31 @@ public class BaseGoodsSpuRest { @Autowired BaseGoodsSpuService baseGoodsSpuService; + + @ApiOperation("商品管理分页列表") + @PostMapping("/goodsListPage") + public ResultBean> goodsListPage(@RequestBody PagerQuery pq) { + return baseGoodsSpuService.goodsListPage(pq); + } + + @ApiOperation("保存修改商品信息") + @PostMapping("/saveOrUpdateGoods") + public ResultBean saveOrUpdateGoods(@RequestBody BaseGoodsDetailsDto dto) { + return baseGoodsSpuService.saveOrUpdateGoods(dto); + } + + @ApiOperation("商品信息详情回显") + @GetMapping("/goodsDetails/{sid}") + public ResultBean goodsDetails(@PathVariable("sid") String sid) { + return baseGoodsSpuService.goodsDetails(sid); + } + + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delGoodsBySids") + public ResultBean delBySids(@RequestBody String[] sids) { + return baseGoodsSpuService.deleteBySids(sids); + } + @ApiOperation("分页列表") @PostMapping("/listPage") public ResultBean> listPage(@RequestBody PagerQuery pq) { diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuService.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuService.java index a924442336..73378c2221 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuService.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodssku/BaseGoodsSkuService.java @@ -48,6 +48,10 @@ public class BaseGoodsSkuService extends MybatisBaseService().eq("goodsSpuSid", spuSid)); + } + public ResultBean> listPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); BaseGoodsSkuQuery query = pq.getParams(); diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java index 0db5492581..8a0fa2e3ce 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsskuextend/BaseGoodsSkuExtendService.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.base.biz.base.basegoodssku.BaseGoodsSku; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -41,6 +42,10 @@ public class BaseGoodsSkuExtendService extends MybatisBaseService().eq("goodsSkuSid", skuSid)); + } + public ResultBean> listPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); BaseGoodsSkuExtendQuery query = pq.getParams(); diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsDetailsDto.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsDetailsDto.java new file mode 100644 index 0000000000..564fad62d7 --- /dev/null +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsDetailsDto.java @@ -0,0 +1,47 @@ +package com.yxt.base.biz.base.basegoodsspu; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/5/15 14:59 + */ +@Data +public class BaseGoodsDetailsDto implements Dto { + + private String sid; + private String userSid; + private String orgPath; + + private String goodsName;//商品名称 + private String goodsCode;//图号 + private String goodsPY;//拼音缩写 + private String barCode;//条形码 + private String goodsUnitSid;//计量单位sid + private String goodsUnitName;//计量单位名称 + private String goodsTypeSid;//商品分类sid + private String goodsTypeName;//商品分类sid + private String indexes;//规格 + private String shelfLife;//保质期 + private String brandSid;//品牌sid + private String brandName;//品牌 + private String manufacturerSid;//厂家sid + private String manufacturerName;//厂家名称 + private String isOriginalFactory;//是否原厂 1 是 2否 + private String sortNo;//排序 + private String skuRemarks;//备注 + private String inventoryAlertUpperLimit;//库存上限 + private String inventoryAlertLowerLimit;//库存下限 + private String isLockingSalesPrice;//是否锁定销售价 1 是 2否 + private String minimumSalesPrice;//销售底价 + private String standardPurchasePrice;//三包价格 + private String agencyPrice;//首保价格 + private List picPath = new ArrayList<>();//商品图片 + +} diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsDetailsVo.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsDetailsVo.java new file mode 100644 index 0000000000..6195b0fa02 --- /dev/null +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsDetailsVo.java @@ -0,0 +1,46 @@ +package com.yxt.base.biz.base.basegoodsspu; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/5/15 14:58 + */ +@Data +public class BaseGoodsDetailsVo implements Vo { + + private String sid; + private String userSid; + private String orgPath; + + private String goodsName;//商品名称 + private String goodsCode;//图号 + private String goodsPY;//拼音缩写 + private String barCode;//条形码 + private String goodsUnitSid;//计量单位sid + private String goodsUnitName;//计量单位名称 + private String goodsTypeSid;//商品分类sid + private String goodsTypeName;//商品分类sid + private String indexes;//规格 + private String shelfLife;//保质期 + private String brandSid;//品牌sid + private String brandName;//品牌 + private String manufacturerSid;//厂家sid + private String manufacturerName;//厂家名称 + private String isOriginalFactory;//是否原厂 1 是 2否 + private String sortNo;//排序 + private String skuRemarks;//备注 + private String inventoryAlertUpperLimit;//库存上限 + private String inventoryAlertLowerLimit;//库存下限 + private String isLockingSalesPrice;//是否锁定销售价 1 是 2否 + private String minimumSalesPrice;//销售底价 + private String standardPurchasePrice;//三包价格 + private String agencyPrice;//首保价格 + private List picPath = new ArrayList<>();//商品图片 + +} diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpu.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpu.java index ccac2973ec..177ad79d2c 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpu.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpu.java @@ -12,7 +12,7 @@ public class BaseGoodsSpu extends BaseEntity { private String goodsCode;//商品代码 private String barCode;//条形码 private String goodsName;//商品名称 - private String subTitle;//商品名称 + private String subTitle;//副标题 private String goodsPY;//拼音缩写 private String goodsShortName;//商品简称 private String goodsTypeSid;//商品分类sid @@ -30,4 +30,6 @@ public class BaseGoodsSpu extends BaseEntity { private String isListed;//是否上架 private String useOrgSid;//使用组织sid private String createOrgSid;//创建组织sid + private String useOrgName;//使用组织 + private String createOrgName;//创建组织 } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuListQuery.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuListQuery.java new file mode 100644 index 0000000000..3c943b0826 --- /dev/null +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuListQuery.java @@ -0,0 +1,24 @@ +package com.yxt.base.biz.base.basegoodsspu; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/5/15 13:51 + */ +@Data +public class BaseGoodsSpuListQuery implements Query { + + private String orgPath; //组织全路径 + private String useOrgName;//部门 + private String createOrgName;//分公司 + private String goodsName;//商品名称 + private String goodsCode;//图号 + private String goodsPY;//拼音缩写 + private String goodsTypeName;//商品类别 + private String brandName;//品牌 + private String manufacturerName;//厂家 + +} diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuListVo.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuListVo.java new file mode 100644 index 0000000000..936904e7b0 --- /dev/null +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuListVo.java @@ -0,0 +1,39 @@ +package com.yxt.base.biz.base.basegoodsspu; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/5/15 13:32 + */ +@Data +public class BaseGoodsSpuListVo implements Vo { + + private String sid; //spuSid + private String goodsName;//商品名称 + private String goodsCode;//图号 + private String goodsPY;//拼音缩写 + private String barCode;//条形码 + private String goodsUnitName;//计量单位 + private String goodsTypeName;//商品类别 + private String indexes;//规格 + private String shelfLife;//保质期 + private String brandName;//品牌 + private String manufacturerName;//厂家 + private String isOriginalFactory;//原厂标志( 1 是 2否) + private String InventoryAlertUpperLimit;//库存上限 + private String InventoryAlertLowerLimit;//库存下限 + private String isLockingSalesPrice;//锁定销售价( 1 是 2否) + private String minimumSalesPrice;//销售底价 + private String standardPurchasePrice;//三包价格 + private String agencyPrice;//首保价格 + private String picUrl; + private List picPath = new ArrayList<>();//商品图片 + + +} diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java index f082933b3e..4c40a0e89c 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java @@ -16,4 +16,8 @@ public interface BaseGoodsSpuMapper extends BaseMapper { IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); BaseGoodsSpuVo initialization(@Param("sid")String sid); + + IPage goodsListPage(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + void delBySpuSid(@Param("sid") String sid); } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml index 2acb6e459c..32235f8135 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml @@ -1,12 +1,23 @@ + + DELETE + p,pd,k,e +FROM + base_goods_spu AS p + LEFT JOIN base_goods_spu_detail AS pd ON p.sid = pd.goodSpuSid + LEFT JOIN base_goods_sku AS k ON p.sid = k.goodsSpuSid + LEFT JOIN base_goods_sku_extend AS e ON k.sid = e.goodsSkuSid +WHERE + p.sid = #{sid} + + - \ No newline at end of file + diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java index 60e324557c..df8ef16a5f 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java @@ -4,13 +4,18 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.base.biz.base.basegoodssku.BaseGoodsSku; import com.yxt.base.biz.base.basegoodssku.BaseGoodsSkuVo; +import com.yxt.base.biz.base.basegoodsskuextend.BaseGoodsSkuExtend; import com.yxt.base.biz.base.basegoodsskuextend.BaseGoodsSkuExtendService; import com.yxt.base.biz.base.basegoodsskuextend.BaseGoodsSkuExtendVo; import com.yxt.base.biz.base.basegoodsskuextend.UrlsVo; import com.yxt.base.biz.base.basegoodsspudetail.BaseGoodsSpuDetailVo; import com.yxt.base.biz.base.basegoodsunit.BaseGoodsUnit; import com.yxt.base.biz.base.basegoodsunit.BaseGoodsUnitService; +import com.yxt.base.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.base.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.base.feign.portal.sysstafforg.SysStaffOrgFeign; import com.yxt.base.utils.PinYinUtils; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; @@ -32,10 +37,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; +import java.util.*; /** * @author wangpengfei @@ -53,14 +55,23 @@ public class BaseGoodsSpuService extends MybatisBaseService> listPage(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); BaseGoodsSpuQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); - if(StringUtils.isNotBlank(query.getName())){ - qw.like("goodsName",query.getName()); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("goodsName", query.getName()); } IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.listPage(page, qw); @@ -76,18 +87,19 @@ public class BaseGoodsSpuService extends MybatisBaseService saveOrUpdate(BaseGoodsSpuDto dto) { ResultBean rb = ResultBean.fireFail(); String sid = ""; - BaseGoodsSpu spun= baseMapper.selectOne(new QueryWrapper().eq("sid",dto.getSid())); - BaseGoodsUnit baseGoodsUnit=baseGoodsUnitService.getOne(new QueryWrapper().eq("sid",dto.getGoodsUnitSid())); - if(null!=baseGoodsUnit){ + BaseGoodsSpu spun = baseMapper.selectOne(new QueryWrapper().eq("sid", dto.getSid())); + BaseGoodsUnit baseGoodsUnit = baseGoodsUnitService.getOne(new QueryWrapper().eq("sid", dto.getGoodsUnitSid())); + if (null != baseGoodsUnit) { dto.setGoodsUnitName(baseGoodsUnit.getUnitName()); } - if (spun!=null) { - if(!spun.getSid().equals(dto.getSid())){ + if (spun != null) { + if (!spun.getSid().equals(dto.getSid())) { return rb.setMsg("商品编码重复"); } sid = dto.getSid(); @@ -95,19 +107,20 @@ public class BaseGoodsSpuService extends MybatisBaseService{ + dto.getBaseGoodsSkus().forEach(s -> { s.setGoodsSpuSid(wmsGoods.getSid()); }); baseGoodsSkuService.saveOrUpdate(dto.getBaseGoodsSkus()); } else { - BaseGoodsSpu spu=baseMapper.selectOne(new QueryWrapper().eq("goodsCode",dto.getGoodsCode())); - if(spu!=null){ + BaseGoodsSpu spu = baseMapper.selectOne(new QueryWrapper().eq("goodsCode", dto.getGoodsCode())); + if (spu != null) { return rb.setMsg("商品编码重复"); } BaseGoodsSpu wmsGoods = new BaseGoodsSpu(); @@ -120,7 +133,7 @@ public class BaseGoodsSpuService extends MybatisBaseService{ + dto.getBaseGoodsSkus().forEach(s -> { s.setGoodsSpuSid(wmsGoods.getSid()); }); baseGoodsSkuService.saveOrUpdate(dto.getBaseGoodsSkus()); @@ -132,16 +145,17 @@ public class BaseGoodsSpuService extends MybatisBaseService initialization(String sid) { ResultBean rb = ResultBean.fireFail(); BaseGoodsSpuVo vo = baseMapper.initialization(sid); - BaseGoodsSpuDetailVo vo1=baseGoodsSpuDetailService.getSpuDetailsBySpuSid(vo.getSid()).getData(); + BaseGoodsSpuDetailVo vo1 = baseGoodsSpuDetailService.getSpuDetailsBySpuSid(vo.getSid()).getData(); vo.setBaseGoodsSpuDetail(vo1); - List vos=baseGoodsSkuService.getSkusBySpuSid(vo.getSid()).getData(); + List vos = baseGoodsSkuService.getSkusBySpuSid(vo.getSid()).getData(); for (BaseGoodsSkuVo baseGoodsSkuVo : vos) { - List ur=new ArrayList<>(); - BaseGoodsSkuExtendVo vo2=baseGoodsSkuExtendService.getExtendBySkuSid(baseGoodsSkuVo.getSid()).getData(); - if(StringUtils.isNotBlank(vo2.getPicUrl())){ + List ur = new ArrayList<>(); + BaseGoodsSkuExtendVo vo2 = baseGoodsSkuExtendService.getExtendBySkuSid(baseGoodsSkuVo.getSid()).getData(); + if (StringUtils.isNotBlank(vo2.getPicUrl())) { for (String url : vo2.getPicUrl().split(",")) { - url=fileUploadComponent.getUrlPrefix()+url; - UrlsVo vo3=new UrlsVo();vo3.setUrl(url); + url = fileUploadComponent.getUrlPrefix() + url; + UrlsVo vo3 = new UrlsVo(); + vo3.setUrl(url); ur.add(vo3); } } @@ -153,7 +167,6 @@ public class BaseGoodsSpuService extends MybatisBaseService> goodsListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsSpuListQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getOrgPath())) { + String createOrgSid = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData(); + qw.eq("p.createOrgSid", createOrgSid); + } + if (StringUtils.isNotBlank(query.getGoodsPY())) { + qw.like("p.goodsPY", query.getGoodsPY()); + } + if (StringUtils.isNotBlank(query.getCreateOrgName())) { + qw.like("p.createOrgName", query.getCreateOrgName()); + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("p.useOrgName", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getGoodsName())) { + qw.like("p.goodsName", query.getGoodsName()); + } + if (StringUtils.isNotBlank(query.getGoodsCode())) { + qw.like("p.goodsCode", query.getGoodsCode()); + } + if (StringUtils.isNotBlank(query.getGoodsTypeName())) { + qw.like("t.goodsTypeName", query.getGoodsTypeName()); + } + if (StringUtils.isNotBlank(query.getBrandName())) { + qw.like("b.brandName", query.getBrandName()); + } + if (StringUtils.isNotBlank(query.getManufacturerName())) { + qw.like("m.manufacturerName", query.getManufacturerName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.goodsListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); + if (!records.isEmpty()) { + String urlPrefix = fileUploadComponent.getUrlPrefix(); + for (BaseGoodsSpuListVo record : records) { + if (StringUtils.isNotBlank(record.getPicUrl())) { + List files = new ArrayList<>(); + String picUrl = record.getPicUrl(); + String[] split = picUrl.split(","); + for (String s : split) { + files.add(urlPrefix + s); + } + record.setPicPath(files); + } + } + } + return rb.success().setData(p); + } + + @Transactional + public ResultBean saveOrUpdateGoods(BaseGoodsDetailsDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; + String orgPath = ""; + if (StringUtils.isNotBlank(dto.getOrgPath())) { + orgPath = dto.getOrgPath(); + } + BaseGoodsSpu spun = baseMapper.selectOne(new QueryWrapper().eq("sid", dto.getSid())); + if (spun != null) { + if (!spun.getSid().equals(dto.getSid())) { + return rb.setMsg("商品编码重复"); + } + sid = dto.getSid(); + BaseGoodsSpu wmsGoods = fetchBySid(dto.getSid()); + BeanUtil.copyProperties(dto, wmsGoods, "id", "sid"); + wmsGoods.setModifyTime(new Date()); + wmsGoods.setGoodsPY(PinYinUtils.sx(wmsGoods.getGoodsName())); + baseMapper.updateById(wmsGoods); + //商品sku + BaseGoodsSku skuUpdate = baseGoodsSkuService.getOneBySpuSid(sid); + if (null != skuUpdate) { + if (StringUtils.isNotBlank(dto.getGoodsName())) { + skuUpdate.setTitle(dto.getGoodsName()); + } + if (StringUtils.isNotBlank(dto.getGoodsCode())) { + skuUpdate.setGoodsSkuCode(dto.getGoodsCode()); + } + if (StringUtils.isNotBlank(dto.getIndexes())) { + skuUpdate.setIndexes(dto.getIndexes()); + } + skuUpdate.setModifyTime(new Date()); + baseGoodsSkuService.updateById(skuUpdate); + BaseGoodsSkuExtend skuExtendUpdate = baseGoodsSkuExtendService.getOneBySKuSid(skuUpdate.getSid()); + if (null != skuExtendUpdate) { + BeanUtil.copyProperties(dto, skuExtendUpdate, "id", "sid"); + if (StringUtils.isNotBlank(dto.getSkuRemarks())) { + skuExtendUpdate.setRemarks(dto.getSkuRemarks()); + } + List picPath = dto.getPicPath(); + if (!picPath.isEmpty()) { + StringBuilder sb = new StringBuilder(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + for (String filePath : picPath) { + String path = filePath.substring(urlPrefix.length()); + sb.append(path).append(","); + } + sb.delete(sb.length() - 1, sb.length()); + skuExtendUpdate.setPicUrl(sb.toString()); + } + baseGoodsSkuExtendService.updateById(skuExtendUpdate); + } else { + BaseGoodsSkuExtend skuExtend = new BaseGoodsSkuExtend(); + BeanUtil.copyProperties(dto, skuExtend, "id", "sid"); + skuExtend.setGoodsSkuSid(skuUpdate.getSid()); + if (StringUtils.isNotBlank(dto.getSkuRemarks())) { + skuExtend.setRemarks(dto.getSkuRemarks()); + } + List picPath = dto.getPicPath(); + if (!picPath.isEmpty()) { + StringBuilder sb = new StringBuilder(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + for (String filePath : picPath) { + String path = filePath.substring(urlPrefix.length()); + sb.append(path).append(","); + } + sb.delete(sb.length() - 1, sb.length()); + skuExtend.setPicUrl(sb.toString()); + } + baseGoodsSkuExtendService.insert(skuExtend); + } + } else { + //商品sku + BaseGoodsSku sku = new BaseGoodsSku(); + sku.setGoodsSpuSid(sid); + if (StringUtils.isNotBlank(dto.getGoodsName())) { + sku.setTitle(dto.getGoodsName()); + } + if (StringUtils.isNotBlank(dto.getGoodsCode())) { + sku.setGoodsSkuCode(dto.getGoodsCode()); + } + if (StringUtils.isNotBlank(dto.getIndexes())) { + sku.setIndexes(dto.getIndexes()); + } + baseGoodsSkuService.insert(sku); + //商品sku_extend + BaseGoodsSkuExtend skuExtend = new BaseGoodsSkuExtend(); + BeanUtil.copyProperties(dto, skuExtend, "id", "sid"); + skuExtend.setGoodsSkuSid(sku.getSid()); + if (StringUtils.isNotBlank(dto.getSkuRemarks())) { + skuExtend.setRemarks(dto.getSkuRemarks()); + } + List picPath = dto.getPicPath(); + if (!picPath.isEmpty()) { + StringBuilder sb = new StringBuilder(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + for (String filePath : picPath) { + String path = filePath.substring(urlPrefix.length()); + sb.append(path).append(","); + } + sb.delete(sb.length() - 1, sb.length()); + skuExtend.setPicUrl(sb.toString()); + } + baseGoodsSkuExtendService.insert(skuExtend); + } + } else { + BaseGoodsSpu spu = baseMapper.selectOne(new QueryWrapper().eq("goodsCode", dto.getGoodsCode())); + if (spu != null) { + return rb.setMsg("商品编码重复"); + } + BaseGoodsSpu wmsGoods = new BaseGoodsSpu(); + sid = wmsGoods.getSid(); + BeanUtil.copyProperties(dto, wmsGoods, "id", "sid"); + wmsGoods.setCreateBySid(dto.getUserSid()); + String deptName = ""; + String deptSid = ""; + String createOrgSid = ""; + if (StringUtils.isNotBlank(orgPath)) { + List split = Arrays.asList(orgPath.split("/")); + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData(); + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + deptName = sysOrganization.getName() + "/" + sysOrganization1.getName(); + deptName = sysOrganization1.getName(); + deptSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + deptName = sysOrganization.getName(); + deptName = sysOrganization.getName(); + deptSid = sysOrganization.getSid(); + } + wmsGoods.setUseOrgName(deptName); + wmsGoods.setUseOrgSid(deptSid); + createOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); + //创建组织使用组织 + ResultBean organizationResultBean = sysOrganizationFeign.fetchBySid(createOrgSid); + if (organizationResultBean.getData() != null) { + wmsGoods.setCreateOrgName(organizationResultBean.getData().getName()); + wmsGoods.setCreateOrgSid(createOrgSid); + } + } + wmsGoods.setGoodsPY(PinYinUtils.sx(wmsGoods.getGoodsName())); + baseMapper.insert(wmsGoods); + //商品sku + BaseGoodsSku sku = new BaseGoodsSku(); + sku.setGoodsSpuSid(sid); + if (StringUtils.isNotBlank(dto.getGoodsName())) { + sku.setTitle(dto.getGoodsName()); + } + if (StringUtils.isNotBlank(dto.getGoodsCode())) { + sku.setGoodsSkuCode(dto.getGoodsCode()); + } + if (StringUtils.isNotBlank(dto.getIndexes())) { + sku.setIndexes(dto.getIndexes()); + } + baseGoodsSkuService.insert(sku); + //商品sku_extend + BaseGoodsSkuExtend skuExtend = new BaseGoodsSkuExtend(); + BeanUtil.copyProperties(dto, skuExtend, "id", "sid"); + skuExtend.setGoodsSkuSid(sku.getSid()); + if (StringUtils.isNotBlank(dto.getSkuRemarks())) { + skuExtend.setRemarks(dto.getSkuRemarks()); + } + List picPath = dto.getPicPath(); + if (!picPath.isEmpty()) { + StringBuilder sb = new StringBuilder(); + String urlPrefix = fileUploadComponent.getUrlPrefix(); + for (String filePath : picPath) { + String path = filePath.substring(urlPrefix.length()); + sb.append(path).append(","); + } + sb.delete(sb.length() - 1, sb.length()); + skuExtend.setPicUrl(sb.toString()); + } + baseGoodsSkuExtendService.insert(skuExtend); + } + return rb.success().setData(sid); + } + + public ResultBean goodsDetails(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseGoodsDetailsVo vo = new BaseGoodsDetailsVo(); + BaseGoodsSpu baseGoodsSpu = fetchBySid(sid); + if (null != baseGoodsSpu) { + BeanUtil.copyProperties(baseGoodsSpu, vo); + if (StringUtils.isNotBlank(baseGoodsSpu.getGoodsTypeSid())) { + BaseGoodsType baseGoodsType = baseGoodsTypeService.fetchBySid(baseGoodsSpu.getGoodsTypeSid()); + if (null != baseGoodsType) { + if (StringUtils.isNotBlank(baseGoodsType.getGoodsTypeName())) { + vo.setGoodsTypeName(baseGoodsType.getGoodsTypeName()); + } + } + } + if (StringUtils.isNotBlank(baseGoodsSpu.getBrandSid())) { + BaseBrandInfo baseBrandInfo = baseBrandInfoService.fetchBySid(baseGoodsSpu.getBrandSid()); + if (null != baseBrandInfo) { + if (StringUtils.isNotBlank(baseBrandInfo.getBrandName())) { + vo.setBrandName(baseBrandInfo.getBrandName()); + } + } + } + if (StringUtils.isNotBlank(baseGoodsSpu.getManufacturerSid())) { + BaseManufacturer manufacturer = baseManufacturerService.fetchBySid(baseGoodsSpu.getManufacturerSid()); + if (null != manufacturer) { + if (StringUtils.isNotBlank(manufacturer.getManufacturerName())) { + vo.setManufacturerName(manufacturer.getManufacturerName()); + } + } + } + } + BaseGoodsSku sku = baseGoodsSkuService.getOneBySpuSid(sid); + if (null != sku) { + if (StringUtils.isNotBlank(sku.getIndexes())) { + vo.setIndexes(sku.getIndexes()); + } + BaseGoodsSkuExtend skuExtend = baseGoodsSkuExtendService.getOneBySKuSid(sku.getSid()); + if (null != skuExtend) { + BeanUtil.copyProperties(skuExtend, vo, "sid"); + if (StringUtils.isNotBlank(skuExtend.getRemarks())) { + vo.setSkuRemarks(skuExtend.getRemarks()); + } + String urlPrefix = fileUploadComponent.getUrlPrefix(); + if (StringUtils.isNotBlank(skuExtend.getPicUrl())) { + List files = new ArrayList<>(); + String picUrl = skuExtend.getPicUrl(); + String[] split = picUrl.split(","); + for (String s : split) { + files.add(urlPrefix + s); + } + vo.setPicPath(files); + } + } + } + return rb.success().setData(vo); + } + + public ResultBean deleteBySids(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + for (String sid : sids) { + baseMapper.delBySpuSid(sid); + } + return rb.success(); + } }