From c094c502cfc2c254b1aa391e27e505638da5acc5 Mon Sep 17 00:00:00 2001
From: gongquanlin <1025081659@qq.com>
Date: Thu, 9 Mar 2023 16:41:13 +0800
Subject: [PATCH] =?UTF-8?q?feat:=E9=9B=86=E5=9B=A2=E7=89=A9=E6=96=99?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E3=80=81=E9=9B=86=E5=9B=A2=E7=89=A9=E6=96=99?=
=?UTF-8?q?=E5=BC=95=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../commodity/model/CommodityCodeEntity.java | 10 +
.../mybatis/mapper/CommodityMapper.xml | 49 +-
...apper.xml => GroupCommodityCodeMapper.xml} | 0
.../dao/GroupCommodityCodeMapper.java | 35 +
.../GroupCommodityCodeController.java | 51 +
.../controller/GroupCommodityController.java | 21 -
.../commodity/domain/dto/PageBaseDTO.java | 30 +
.../domain/dto/QueryGroupCommodityDTO.java | 21 +-
.../domain/dto/QuoteGroupCommodityDTO.java | 23 +
.../service/IGroupCommodityCodeService.java | 20 +
.../impl/GroupCommodityCodeServiceImpl.java | 116 ++
.../v6/sdenergy/MdmSyncGroupTaxCodeReqBO.java | 21 +
.../service/impl/SDEnregyServiceImpl.java | 8 +
.../mapper/GroupCommodityCodeMapper.xml | 1395 +++++++++++++++++
14 files changed, 1777 insertions(+), 23 deletions(-)
rename order-management-base-service/src/main/resources/mybatis/mapper/{GroupCommodityMapper.xml => GroupCommodityCodeMapper.xml} (100%)
create mode 100644 order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/GroupCommodityCodeMapper.java
create mode 100644 order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityCodeController.java
delete mode 100644 order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityController.java
create mode 100644 order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/PageBaseDTO.java
create mode 100644 order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/QuoteGroupCommodityDTO.java
create mode 100644 order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/IGroupCommodityCodeService.java
create mode 100644 order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/impl/GroupCommodityCodeServiceImpl.java
create mode 100644 order-management-consumer/src/main/resources/mybatis/mapper/GroupCommodityCodeMapper.xml
diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/CommodityCodeEntity.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/CommodityCodeEntity.java
index e2765b2e..b9bf244b 100644
--- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/CommodityCodeEntity.java
+++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/model/CommodityCodeEntity.java
@@ -189,6 +189,16 @@ public class CommodityCodeEntity implements Serializable {
*/
private String jdc;
+ /**
+ * mdm物料分类编码
+ */
+ private String wlflbm;
+
+ /**
+ * mdm物料分类名称
+ */
+ private String wlflmc;
+
private String UUID;
private Boolean success;
diff --git a/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml b/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml
index 0f203011..8e7cef07 100644
--- a/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml
+++ b/order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml
@@ -38,6 +38,8 @@
+
+
@@ -45,7 +47,7 @@
tax_rate, specification_model, metering_unit, unit_price, tax_logo, hide_the_logo,
enjoy_preferential_policies, tax_class_code, tax_classification_name, preferential_policies_type,zzstsgl,
user_id, create_time, modify_time, modify_user_id, group_id,enterprise_name,data_source,
- matching_state,data_state,tax_class_abbreviation,description,collect_ident,cpy,bmb_bbh,jdc
+ matching_state,data_state,tax_class_abbreviation,description,collect_ident,cpy,bmb_bbh,jdc,wlflbm,wlflmc
@@ -87,6 +89,8 @@
cc.jdc,
cc.bmb_bbh,
gc.group_name
+ cc.wlflbm,
+ cc.wlflmc,
FROM
commodity_code cc LEFT JOIN group_commodity gc
ON gc.id = cc.group_id
@@ -107,6 +111,7 @@
#{item}
+ and cc.xhf_nsrsbh != '-1'
AND cc.id = #{map.id,jdbcType=VARCHAR}
@@ -311,6 +316,12 @@
jdc = #{commodityCode.jdc,jdbcType=VARCHAR},
+
+ wlflbm = #{commodityCode.wlflbm,jdbcType=VARCHAR},
+
+
+ wlflmc = #{commodityCode.wlflmc,jdbcType=VARCHAR},
+
@@ -439,6 +450,12 @@
jdc,
+
+ wlflbm,
+
+
+ wlflmc,
+
@@ -545,6 +562,12 @@
#{jdc,jdbcType=VARCHAR},
+
+ #{wlflbm,jdbcType=VARCHAR},
+
+
+ #{wlflmc,jdbcType=VARCHAR},
+
@@ -651,6 +674,12 @@
jdc,
+
+ wlflbm,
+
+
+ wlflmc,
+
@@ -757,6 +786,12 @@
#{jdc,jdbcType=VARCHAR},
+
+ #{wlflbm,jdbcType=VARCHAR},
+
+
+ #{wlflmc,jdbcType=VARCHAR},
+
ON DUPLICATE KEY UPDATE
@@ -858,6 +893,12 @@
jdc = VALUES(jdc),
+
+ wlflbm = VALUES(wlflbm),
+
+
+ wlflmc = VALUES(wlflmc),
+
@@ -975,6 +1016,7 @@
#{item}
+ and cc.xhf_nsrsbh != '-1'
limit 1000
@@ -989,6 +1031,7 @@
WHERE t.collect_ident is null
AND t.matching_state = '0'
AND t.data_state = '0'
+ and t.xhf_nsrsbh != '-1'
AND (
t.data_source = '1'
OR t.data_source = '2'
@@ -1043,6 +1086,7 @@
#{item}
+ and xhf_nsrsbh != '-1'
@@ -1092,6 +1136,7 @@
#{item}
+ and cc.xhf_nsrsbh != '-1'
@@ -1143,6 +1188,7 @@
AND cc.jdc = 'N'
+ and cc.xhf_nsrsbh != '-1'
@@ -1198,6 +1244,7 @@
AND cc.jdc = 'N'
+ and cc.xhf_nsrsbh != '-1'
diff --git a/order-management-base-service/src/main/resources/mybatis/mapper/GroupCommodityMapper.xml b/order-management-base-service/src/main/resources/mybatis/mapper/GroupCommodityCodeMapper.xml
similarity index 100%
rename from order-management-base-service/src/main/resources/mybatis/mapper/GroupCommodityMapper.xml
rename to order-management-base-service/src/main/resources/mybatis/mapper/GroupCommodityCodeMapper.xml
diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/GroupCommodityCodeMapper.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/GroupCommodityCodeMapper.java
new file mode 100644
index 00000000..d8dc9eb2
--- /dev/null
+++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/dao/GroupCommodityCodeMapper.java
@@ -0,0 +1,35 @@
+package com.dxhy.order.consumer.dao;
+
+import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Description 集团物料库 集团物料库和
+ * @Author 巩权林
+ * @Date 2023/3/9 10:36
+ **/
+public interface GroupCommodityCodeMapper {
+
+ /**
+ * 查询集团物料库
+ *
+ * @param commodityCodeEntity
+ * @return
+ */
+ List queryGroupCommodityCodeList(CommodityCodeEntity commodityCodeEntity);
+
+
+ /**
+ * 根据物料编码和销方税号查询物料信息
+ *
+ * @param zxbm
+ * @param xhfNsrsbh
+ * @return
+ */
+ CommodityCodeEntity queryCommodityCodeByZxbmAndXhfNsrsbh(@Param("zxbm") String zxbm, @Param("xhfNsrsbh") String xhfNsrsbh);
+
+
+ int insertCommodityCode(CommodityCodeEntity entity);
+}
diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityCodeController.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityCodeController.java
new file mode 100644
index 00000000..3d2d4017
--- /dev/null
+++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityCodeController.java
@@ -0,0 +1,51 @@
+package com.dxhy.order.consumer.modules.commodity.controller;
+
+import cn.hutool.json.JSONObject;
+import com.dxhy.order.consumer.modules.commodity.domain.dto.QueryGroupCommodityDTO;
+import com.dxhy.order.consumer.modules.commodity.domain.dto.QuoteGroupCommodityDTO;
+import com.dxhy.order.consumer.modules.commodity.service.IGroupCommodityCodeService;
+import com.dxhy.order.model.PageUtils;
+import com.dxhy.order.model.R;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * @Description 集团物料库
+ * @Author 巩权林
+ * @Date 2023/3/9 08:19
+ **/
+@RequestMapping(value = "/groupCommodity")
+@RestController
+@Slf4j
+public class GroupCommodityCodeController {
+
+ private final static String LOGGER_MSG = "(集团物料库)";
+
+ @Autowired
+ private IGroupCommodityCodeService groupCommodityCodeService;
+
+ @GetMapping("/list")
+ public R list(QueryGroupCommodityDTO queryGroupCommodityDTO) {
+ try {
+ PageUtils pageUtil = groupCommodityCodeService.queryGroupCommodityCodeList(queryGroupCommodityDTO);
+ return R.ok().put("page", pageUtil);
+ } catch (NumberFormatException e) {
+ log.error("{},分页参数类型转换异常:{}", LOGGER_MSG, e.getMessage());
+ return R.error("商品信息列表查询异常");
+ }
+ }
+
+ /**
+ * 物料引用
+ *
+ * @return
+ */
+ @PostMapping("/quote")
+ public R quote(@RequestBody @Validated QuoteGroupCommodityDTO dto) {
+ return groupCommodityCodeService.quoteGroupCommodityCode(dto);
+ }
+}
diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityController.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityController.java
deleted file mode 100644
index 91708379..00000000
--- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/controller/GroupCommodityController.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.dxhy.order.consumer.modules.commodity.controller;
-
-import com.dxhy.order.model.R;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @Description 集团物料库
- * @Author 巩权林
- * @Date 2023/3/9 08:19
- **/
-@RequestMapping(value = "/groupCommodity")
-@RestController
-public class GroupCommodityController {
-
- @PostMapping("/list")
- public R list() {
-
- }
-}
diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/PageBaseDTO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/PageBaseDTO.java
new file mode 100644
index 00000000..a6b10058
--- /dev/null
+++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/PageBaseDTO.java
@@ -0,0 +1,30 @@
+package com.dxhy.order.consumer.modules.commodity.domain.dto;
+
+import lombok.Data;
+
+/**
+ * @Description 带分页的基础dto
+ * @Author 巩权林
+ * @Date 2023/3/9 10:09
+ **/
+public class PageBaseDTO {
+
+ private Integer currPage;
+ private Integer pageSize;
+
+ public Integer getCurrPage() {
+ return currPage == null ? 0 : currPage;
+ }
+
+ public void setCurrPage(Integer currPage) {
+ this.currPage = currPage;
+ }
+
+ public Integer getPageSize() {
+ return pageSize == null ? 0 : pageSize;
+ }
+
+ public void setPageSize(Integer pageSize) {
+ this.pageSize = pageSize;
+ }
+}
diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/QueryGroupCommodityDTO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/QueryGroupCommodityDTO.java
index 7b44ce75..3db07c0f 100644
--- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/QueryGroupCommodityDTO.java
+++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/QueryGroupCommodityDTO.java
@@ -1,6 +1,11 @@
package com.dxhy.order.consumer.modules.commodity.domain.dto;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotBlank;
/**
* @Description 集团物料编码查询
@@ -8,6 +13,20 @@ import lombok.Data;
* @Date 2023/3/9 08:22
**/
@Data
-public class QueryGroupCommodityDTO {
+@NoArgsConstructor
+@AllArgsConstructor
+@Builder
+public class QueryGroupCommodityDTO extends PageBaseDTO {
+
+ // 物料分类编码
+ private String wlflbm;
+
+ // 物料分类名称
+ private String wlflmc;
+
+ // 物料自行编码
+ private String zxbm;
+ // 物料名称
+ private String xmmc;
}
diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/QuoteGroupCommodityDTO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/QuoteGroupCommodityDTO.java
new file mode 100644
index 00000000..2ae712b2
--- /dev/null
+++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/domain/dto/QuoteGroupCommodityDTO.java
@@ -0,0 +1,23 @@
+package com.dxhy.order.consumer.modules.commodity.domain.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Description 引用物料
+ * @Author 巩权林
+ * @Date 2023/3/9 11:01
+ **/
+@Data
+public class QuoteGroupCommodityDTO {
+
+ /**
+ * 自行编码
+ */
+ @NotBlank(message = "物料编码不能为空!")
+ private String zxbm;
+
+ @NotBlank(message = "接收引用物料的销方纳税人识别号不能为空!")
+ private String xhfNsrsbh;
+}
diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/IGroupCommodityCodeService.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/IGroupCommodityCodeService.java
new file mode 100644
index 00000000..881d1f71
--- /dev/null
+++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/IGroupCommodityCodeService.java
@@ -0,0 +1,20 @@
+package com.dxhy.order.consumer.modules.commodity.service;
+
+import com.dxhy.order.consumer.modules.commodity.domain.dto.QueryGroupCommodityDTO;
+import com.dxhy.order.consumer.modules.commodity.domain.dto.QuoteGroupCommodityDTO;
+import com.dxhy.order.model.PageUtils;
+import com.dxhy.order.model.R;
+
+import java.util.List;
+
+/**
+ * @Description 集团物料库
+ * @Author 巩权林
+ * @Date 2023/3/9 10:06
+ **/
+public interface IGroupCommodityCodeService {
+
+ PageUtils queryGroupCommodityCodeList(QueryGroupCommodityDTO queryGroupCommodityDTO);
+
+ R quoteGroupCommodityCode(QuoteGroupCommodityDTO quoteGroupCommodityDTO);
+}
diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/impl/GroupCommodityCodeServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/impl/GroupCommodityCodeServiceImpl.java
new file mode 100644
index 00000000..2ed9fa03
--- /dev/null
+++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/commodity/service/impl/GroupCommodityCodeServiceImpl.java
@@ -0,0 +1,116 @@
+package com.dxhy.order.consumer.modules.commodity.service.impl;
+
+import com.dxhy.order.baseservice.module.base.service.BaseService;
+import com.dxhy.order.baseservice.module.commodity.model.CommodityCodeEntity;
+import com.dxhy.order.constant.ConfigureConstant;
+import com.dxhy.order.consumer.dao.GroupCommodityCodeMapper;
+import com.dxhy.order.consumer.modules.commodity.domain.dto.QueryGroupCommodityDTO;
+import com.dxhy.order.consumer.modules.commodity.domain.dto.QuoteGroupCommodityDTO;
+import com.dxhy.order.consumer.modules.commodity.service.IGroupCommodityCodeService;
+import com.dxhy.order.model.PageUtils;
+import com.dxhy.order.model.R;
+import com.dxhy.order.utils.CommonUtils;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.beanutils.BeanUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.lang.reflect.InvocationTargetException;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Description
+ * @Author 巩权林
+ * @Date 2023/3/9 10:06
+ **/
+@Service
+@Slf4j
+public class GroupCommodityCodeServiceImpl implements IGroupCommodityCodeService {
+
+ private final static String LOGGER_MSG = "(集团物料库)";
+
+ @Autowired
+ private GroupCommodityCodeMapper groupCommodityMapper;
+
+ @Resource
+ private BaseService baseService;
+
+ /**
+ * 查询集团物料库
+ *
+ * @param queryGroupCommodityDTO
+ * @param shList
+ * @return
+ */
+ @Override
+ public PageUtils queryGroupCommodityCodeList(QueryGroupCommodityDTO queryGroupCommodityDTO) {
+ int pageSize = queryGroupCommodityDTO.getPageSize();
+ int currPage = queryGroupCommodityDTO.getCurrPage();
+ PageHelper.startPage(currPage, pageSize);
+ CommodityCodeEntity query = new CommodityCodeEntity();
+ query.setWlflbm(queryGroupCommodityDTO.getWlflbm());
+ query.setWlflmc(queryGroupCommodityDTO.getWlflmc());
+ query.setZxbm(queryGroupCommodityDTO.getZxbm());
+ query.setXmmc(queryGroupCommodityDTO.getXmmc());
+ List result = groupCommodityMapper.queryGroupCommodityCodeList(query);
+ result = result.stream().map(i -> {
+ if (StringUtils.isNotEmpty(i.getSl())) {
+ i.setSl(CommonUtils.formatSl(i.getSl()));
+ }
+ return i;
+ }).collect(Collectors.toList());
+ PageInfo pageInfo = new PageInfo<>(result);
+ return new PageUtils(pageInfo.getList(), (int) pageInfo.getTotal(), pageInfo.getPageSize(), pageInfo.getPageNum());
+ }
+
+ /**
+ * 引用物料
+ *
+ * @param quoteGroupCommodityDTO
+ * @return
+ */
+ @Override
+ public R quoteGroupCommodityCode(QuoteGroupCommodityDTO quoteGroupCommodityDTO) {
+ // 判断销方税号是否合法,因为某些情况下可能会传递list过来
+ if (StringUtils.isBlank(quoteGroupCommodityDTO.getXhfNsrsbh())) {
+ return R.error(ConfigureConstant.STRING_0000, "销方税号不能为空");
+ }
+
+ if (quoteGroupCommodityDTO.getXhfNsrsbh().contains(ConfigureConstant.STRING_CHARSET_1)) {
+ return R.error(ConfigureConstant.STRING_0000, "销方税号非法");
+ }
+
+ CommodityCodeEntity commodityCodeEntity = groupCommodityMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(quoteGroupCommodityDTO.getZxbm(), quoteGroupCommodityDTO.getXhfNsrsbh());
+ // 根据文档4.2.1.2 (6) 若物料编码重复时,引用后不对子公司物料进行更新
+ if (commodityCodeEntity != null) {
+ return R.ok();
+ }
+
+ commodityCodeEntity = groupCommodityMapper.queryCommodityCodeByZxbmAndXhfNsrsbh(quoteGroupCommodityDTO.getZxbm(), "-1");
+ if (commodityCodeEntity == null) {
+ return R.error("引用失败,集团物料不存在");
+ }
+
+ CommodityCodeEntity newCommodityCodeEntity = new CommodityCodeEntity();
+ try {
+ BeanUtils.copyProperties(newCommodityCodeEntity, commodityCodeEntity);
+ } catch (IllegalAccessException e) {
+ log.error("{}引用物料异常", LOGGER_MSG, e);
+ } catch (InvocationTargetException e) {
+ log.error("{}引用物料异常", LOGGER_MSG, e);
+ }
+
+ newCommodityCodeEntity.setId(baseService.getGenerateShotKey());
+ newCommodityCodeEntity.setXhfNsrsbh(quoteGroupCommodityDTO.getXhfNsrsbh());
+ if (groupCommodityMapper.insertCommodityCode(newCommodityCodeEntity) > 0) {
+ return R.ok();
+ } else {
+ return R.error("引用失败");
+ }
+ }
+}
diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/MdmSyncGroupTaxCodeReqBO.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/MdmSyncGroupTaxCodeReqBO.java
index 07552f35..57515382 100644
--- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/MdmSyncGroupTaxCodeReqBO.java
+++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/protocol/v6/sdenergy/MdmSyncGroupTaxCodeReqBO.java
@@ -16,6 +16,12 @@ public class MdmSyncGroupTaxCodeReqBO {
private String DESCSHORT;
private String UUID;
+ // 物料分类编码
+ private String CATEGORYNAME;
+
+ // 物料分类名称
+ private String CATEGORYCODE;
+
public void setCODE(String CODE) {
this.CODE = CODE;
}
@@ -56,4 +62,19 @@ public class MdmSyncGroupTaxCodeReqBO {
return UUID;
}
+ public String getCATEGORYNAME() {
+ return CATEGORYNAME;
+ }
+
+ public void setCATEGORYNAME(String CATEGORYNAME) {
+ this.CATEGORYNAME = CATEGORYNAME;
+ }
+
+ public String getCATEGORYCODE() {
+ return CATEGORYCODE;
+ }
+
+ public void setCATEGORYCODE(String CATEGORYCODE) {
+ this.CATEGORYCODE = CATEGORYCODE;
+ }
}
\ No newline at end of file
diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java
index 4274b994..8cdf99fc 100644
--- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java
+++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java
@@ -1,6 +1,7 @@
package com.dxhy.order.consumer.openapi.service.impl;
import com.alibaba.fastjson.JSONObject;
+import com.dxhy.order.baseservice.module.base.service.BaseService;
import com.dxhy.order.baseservice.module.buyer.dao.BuyerMapper;
import com.dxhy.order.baseservice.module.buyer.model.BuyerEntity;
import com.dxhy.order.baseservice.module.commodity.dao.CommodityMapper;
@@ -19,6 +20,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -43,6 +45,9 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
@Autowired
private UserInfoService userInfoService;
+ @Resource
+ private BaseService baseService;
+
@Override
public AjaxResult syncBuyerMessage(List mdmGmfxxtbReqBOS, String requestBody) {
// 存表
@@ -156,6 +161,9 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
commodityCodeEntity.setCreateTime(new Date());
commodityCodeEntity.setBz(reqBO.getDESCSHORT());
commodityCodeEntity.setUUID(reqBO.getUUID());
+ commodityCodeEntity.setWlflbm(reqBO.getCATEGORYCODE());
+ commodityCodeEntity.setWlflmc(reqBO.getCATEGORYNAME());
+ commodityCodeEntity.setCommodityId(baseService.getGenerateShotKey());
commodityCodeEntity.setXhfNsrsbh("-1");
if (commodityMapper.insertCommodityOnDuplicateKey(commodityCodeEntity) > 0) {
commodityCodeEntity.setSuccess(true);
diff --git a/order-management-consumer/src/main/resources/mybatis/mapper/GroupCommodityCodeMapper.xml b/order-management-consumer/src/main/resources/mybatis/mapper/GroupCommodityCodeMapper.xml
new file mode 100644
index 00000000..fecca133
--- /dev/null
+++ b/order-management-consumer/src/main/resources/mybatis/mapper/GroupCommodityCodeMapper.xml
@@ -0,0 +1,1395 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id
+ , commodity_id, sort_id, xhf_nsrsbh, merchandise_name,encoding, tax_items, brief_code,
+ tax_rate, specification_model, metering_unit, unit_price, tax_logo, hide_the_logo,
+ enjoy_preferential_policies, tax_class_code, tax_classification_name, preferential_policies_type,zzstsgl,
+ user_id, create_time, modify_time, modify_user_id, group_id,enterprise_name,data_source,
+ matching_state,data_state,tax_class_abbreviation,description,collect_ident,cpy,bmb_bbh,jdc,wlflbm,wlflmc
+
+
+
+ SELECT cc.id,
+ cc.commodity_id,
+ cc.sort_id,
+ cc.xhf_nsrsbh,
+ cc.merchandise_name,
+ cc.tax_items,
+ cc.brief_code,
+ cc.tax_rate,
+ cc.specification_model,
+ cc.metering_unit,
+ cc.unit_price,
+ cc.tax_logo,
+ cc.hide_the_logo,
+ cc.enjoy_preferential_policies,
+ cc.tax_class_code,
+ cc.tax_classification_name,
+ cc.preferential_policies_type,
+ cc.zzstsgl,
+ cc.user_id,
+ cc.create_time,
+ cc.modify_time,
+ cc.modify_user_id,
+ cc.encoding,
+ cc.group_id,
+ cc.enterprise_name,
+ cc.data_source,
+ cc.matching_state,
+ cc.data_state,
+ cc.tax_class_abbreviation,
+ cc.description,
+ cc.cpy,
+ cc.jdc,
+ cc.bmb_bbh,
+ gc.group_name,
+ cc.wlflbm,
+ cc.wlflmc
+ FROM commodity_code cc
+ LEFT JOIN group_commodity gc
+ ON gc.id = cc.group_id
+
+
+
+
+
+
+
+
+
+
+
+ insert into commodity_code
+
+
+ id,
+
+
+ commodity_id,
+
+
+ sort_id,
+
+
+ xhf_nsrsbh,
+
+
+ merchandise_name,
+
+
+ encoding,
+
+
+ tax_items,
+
+
+ brief_code,
+
+
+ tax_rate,
+
+
+ specification_model,
+
+
+ metering_unit,
+
+
+ unit_price,
+
+
+ tax_logo,
+
+
+ hide_the_logo,
+
+
+ enjoy_preferential_policies,
+
+
+ tax_class_code,
+
+
+ tax_classification_name,
+
+
+ preferential_policies_type,
+
+
+ zzstsgl,
+
+
+ user_id,
+
+ create_time,
+ modify_time,
+
+ modify_user_id,
+
+
+ group_id,
+
+
+ description,
+
+
+ enterprise_name,
+
+
+ data_source,
+
+
+ matching_state,
+
+
+ data_state,
+
+
+ tax_class_abbreviation,
+
+
+ collect_ident,
+
+
+ cpy,
+
+
+ bmb_bbh,
+
+
+ jdc,
+
+
+ wlflbm,
+
+
+ wlflmc,
+
+
+
+
+ #{id,jdbcType=VARCHAR},
+
+
+ #{commodityId,jdbcType=VARCHAR},
+
+
+ #{sortId,jdbcType=BIGINT},
+
+
+ #{xhfNsrsbh,jdbcType=VARCHAR},
+
+
+ #{xmmc,jdbcType=VARCHAR},
+
+
+ #{zxbm,jdbcType=VARCHAR},
+
+
+ #{spsm,jdbcType=VARCHAR},
+
+
+ #{spjm,jdbcType=VARCHAR},
+
+
+ #{sl,jdbcType=VARCHAR},
+
+
+ #{ggxh,jdbcType=VARCHAR},
+
+
+ #{xmdw,jdbcType=VARCHAR},
+
+
+ #{xmdj,jdbcType=VARCHAR},
+
+
+ #{hsbz,jdbcType=VARCHAR},
+
+
+ #{ycbz,jdbcType=VARCHAR},
+
+
+ #{yhzcbs,jdbcType=VARCHAR},
+
+
+ #{spbm,jdbcType=VARCHAR},
+
+
+ #{ssflMc,jdbcType=VARCHAR},
+
+
+ #{lslbs,jdbcType=VARCHAR},
+
+
+ #{zzstsgl,jdbcType=VARCHAR},
+
+
+ #{userId,jdbcType=VARCHAR},
+
+
+ now(),
+ now(),
+
+
+ SYSDATE,
+ SYSDATE,
+
+
+ #{modifyUserId,jdbcType=CHAR},
+
+
+ #{groupId,jdbcType=VARCHAR},
+
+
+ #{bz,jdbcType=VARCHAR},
+
+
+ #{xhfMc,jdbcType=VARCHAR},
+
+
+ #{dataSource,jdbcType=VARCHAR},
+
+
+ #{matchingState,jdbcType=VARCHAR},
+
+
+ #{dataState,jdbcType=VARCHAR},
+
+
+ #{spjc,jdbcType=VARCHAR},
+
+
+ #{collectIdent,jdbcType=VARCHAR},
+
+
+ #{cpy,jdbcType=VARCHAR},
+
+
+ #{bmbBbh,jdbcType=VARCHAR},
+
+
+ #{jdc,jdbcType=VARCHAR},
+
+
+ #{wlflbm,jdbcType=VARCHAR},
+
+
+ #{wlflmc,jdbcType=VARCHAR},
+
+
+
+
+
+
+
+
+ update commodity_code
+
+
+ commodity_id = #{commodityCode.commodityId,jdbcType=VARCHAR},
+
+
+ sort_id = #{commodityCode.sortId,jdbcType=BIGINT},
+
+
+ xhf_nsrsbh = #{commodityCode.xhfNsrsbh,jdbcType=VARCHAR},
+
+
+ merchandise_name = #{commodityCode.xmmc,jdbcType=VARCHAR},
+
+
+ encoding = #{commodityCode.zxbm,jdbcType=VARCHAR},
+
+
+ tax_items = #{commodityCode.spsm,jdbcType=VARCHAR},
+
+
+ brief_code = #{commodityCode.spjm,jdbcType=VARCHAR},
+
+
+ tax_rate = #{commodityCode.sl,jdbcType=VARCHAR},
+
+
+ specification_model = #{commodityCode.ggxh,jdbcType=VARCHAR},
+
+
+ metering_unit = #{commodityCode.xmdw,jdbcType=VARCHAR},
+
+
+ unit_price = #{commodityCode.xmdj,jdbcType=VARCHAR},
+
+
+ tax_logo = #{commodityCode.hsbz,jdbcType=VARCHAR},
+
+
+ hide_the_logo = #{commodityCode.ycbz,jdbcType=VARCHAR},
+
+
+ enjoy_preferential_policies = #{commodityCode.yhzcbs,jdbcType=VARCHAR},
+
+
+ tax_class_code = #{commodityCode.spbm,jdbcType=VARCHAR},
+
+
+ tax_classification_name = #{commodityCode.ssflMc,jdbcType=VARCHAR},
+
+
+ preferential_policies_type = #{commodityCode.lslbs,jdbcType=VARCHAR},
+
+
+ zzstsgl = #{commodityCode.zzstsgl,jdbcType=VARCHAR},
+
+
+ user_id = #{commodityCode.userId,jdbcType=VARCHAR},
+
+
+ create_time = #{commodityCode.createTime,jdbcType=TIMESTAMP},
+
+
+ modify_time = now(),
+
+
+ modify_time = SYSDATE,
+
+
+ modify_user_id = #{commodityCode.modifyUserId,jdbcType=CHAR},
+
+
+ group_id = #{commodityCode.groupId,jdbcType=VARCHAR},
+
+
+ description = #{commodityCode.bz,jdbcType=VARCHAR},
+
+
+ enterprise_name = #{commodityCode.xhfMc,jdbcType=VARCHAR},
+
+
+ data_source = #{commodityCode.dataSource,jdbcType=VARCHAR},
+
+
+ matching_state = #{commodityCode.matchingState,jdbcType=VARCHAR},
+
+
+ data_state = #{commodityCode.dataState,jdbcType=VARCHAR},
+
+
+ tax_class_abbreviation = #{commodityCode.spjc,jdbcType=VARCHAR},
+
+
+ collect_ident = #{commodityCode.collectIdent,jdbcType=VARCHAR},
+
+
+ cpy = #{commodityCode.cpy,jdbcType=VARCHAR},
+
+
+ bmb_bbh = #{commodityCode.bmbBbh,jdbcType=VARCHAR},
+
+
+ jdc = #{commodityCode.jdc,jdbcType=VARCHAR},
+
+
+ wlflbm = #{commodityCode.wlflbm,jdbcType=VARCHAR},
+
+
+ wlflmc = #{commodityCode.wlflmc,jdbcType=VARCHAR},
+
+
+
+
+ AND id = #{commodityCode.id,jdbcType=VARCHAR}
+
+
+
+ and xhf_nsrsbh = ''
+
+
+ and xhf_nsrsbh =
+
+ #{item}
+
+
+
+ and xhf_nsrsbh in
+
+ #{item}
+
+
+
+
+
+
+
+
+ insert into commodity_code
+
+
+ id,
+
+
+ commodity_id,
+
+
+ sort_id,
+
+
+ xhf_nsrsbh,
+
+
+ merchandise_name,
+
+
+ encoding,
+
+
+ tax_items,
+
+
+ brief_code,
+
+
+ tax_rate,
+
+
+ specification_model,
+
+
+ metering_unit,
+
+
+ unit_price,
+
+
+ tax_logo,
+
+
+ hide_the_logo,
+
+
+ enjoy_preferential_policies,
+
+
+ tax_class_code,
+
+
+ tax_classification_name,
+
+
+ preferential_policies_type,
+
+
+ zzstsgl,
+
+
+ user_id,
+
+ create_time,
+ modify_time,
+
+ modify_user_id,
+
+
+ group_id,
+
+
+ description,
+
+
+ enterprise_name,
+
+
+ data_source,
+
+
+ matching_state,
+
+
+ data_state,
+
+
+ tax_class_abbreviation,
+
+
+ collect_ident,
+
+
+ cpy,
+
+
+ bmb_bbh,
+
+
+ jdc,
+
+
+ wlflbm,
+
+
+ wlflmc,
+
+
+
+
+ #{id,jdbcType=VARCHAR},
+
+
+ #{commodityId,jdbcType=VARCHAR},
+
+
+ #{sortId,jdbcType=BIGINT},
+
+
+ #{xhfNsrsbh,jdbcType=VARCHAR},
+
+
+ #{xmmc,jdbcType=VARCHAR},
+
+
+ #{zxbm,jdbcType=VARCHAR},
+
+
+ #{spsm,jdbcType=VARCHAR},
+
+
+ #{spjm,jdbcType=VARCHAR},
+
+
+ #{sl,jdbcType=VARCHAR},
+
+
+ #{ggxh,jdbcType=VARCHAR},
+
+
+ #{xmdw,jdbcType=VARCHAR},
+
+
+ #{xmdj,jdbcType=VARCHAR},
+
+
+ #{hsbz,jdbcType=VARCHAR},
+
+
+ #{ycbz,jdbcType=VARCHAR},
+
+
+ #{yhzcbs,jdbcType=VARCHAR},
+
+
+ #{spbm,jdbcType=VARCHAR},
+
+
+ #{ssflMc,jdbcType=VARCHAR},
+
+
+ #{lslbs,jdbcType=VARCHAR},
+
+
+ #{zzstsgl,jdbcType=VARCHAR},
+
+
+ #{userId,jdbcType=VARCHAR},
+
+
+ now(),
+ now(),
+
+
+ SYSDATE,
+ SYSDATE,
+
+
+ #{modifyUserId,jdbcType=CHAR},
+
+
+ #{groupId,jdbcType=VARCHAR},
+
+
+ #{bz,jdbcType=VARCHAR},
+
+
+ #{xhfMc,jdbcType=VARCHAR},
+
+
+ #{dataSource,jdbcType=VARCHAR},
+
+
+ #{matchingState,jdbcType=VARCHAR},
+
+
+ #{dataState,jdbcType=VARCHAR},
+
+
+ #{spjc,jdbcType=VARCHAR},
+
+
+ #{collectIdent,jdbcType=VARCHAR},
+
+
+ #{cpy,jdbcType=VARCHAR},
+
+
+ #{bmbBbh,jdbcType=VARCHAR},
+
+
+ #{jdc,jdbcType=VARCHAR},
+
+
+ #{wlflbm,jdbcType=VARCHAR},
+
+
+ #{wlflmc,jdbcType=VARCHAR},
+
+
+
+
+
+
+
+ insert into commodity_code
+
+
+ id,
+
+
+ commodity_id,
+
+
+ sort_id,
+
+
+ xhf_nsrsbh,
+
+
+ merchandise_name,
+
+
+ encoding,
+
+
+ tax_items,
+
+
+ brief_code,
+
+
+ tax_rate,
+
+
+ specification_model,
+
+
+ metering_unit,
+
+
+ unit_price,
+
+
+ tax_logo,
+
+
+ hide_the_logo,
+
+
+ enjoy_preferential_policies,
+
+
+ tax_class_code,
+
+
+ tax_classification_name,
+
+
+ preferential_policies_type,
+
+
+ zzstsgl,
+
+
+ user_id,
+
+ create_time,
+ modify_time,
+
+ modify_user_id,
+
+
+ group_id,
+
+
+ description,
+
+
+ enterprise_name,
+
+
+ data_source,
+
+
+ matching_state,
+
+
+ data_state,
+
+
+ tax_class_abbreviation,
+
+
+ collect_ident,
+
+
+ cpy,
+
+
+ bmb_bbh,
+
+
+ jdc,
+
+
+ wlflbm,
+
+
+ wlflmc,
+
+
+
+
+ #{id,jdbcType=VARCHAR},
+
+
+ #{commodityId,jdbcType=VARCHAR},
+
+
+ #{sortId,jdbcType=BIGINT},
+
+
+ #{xhfNsrsbh,jdbcType=VARCHAR},
+
+
+ #{xmmc,jdbcType=VARCHAR},
+
+
+ #{zxbm,jdbcType=VARCHAR},
+
+
+ #{spsm,jdbcType=VARCHAR},
+
+
+ #{spjm,jdbcType=VARCHAR},
+
+
+ #{sl,jdbcType=VARCHAR},
+
+
+ #{ggxh,jdbcType=VARCHAR},
+
+
+ #{xmdw,jdbcType=VARCHAR},
+
+
+ #{xmdj,jdbcType=VARCHAR},
+
+
+ #{hsbz,jdbcType=VARCHAR},
+
+
+ #{ycbz,jdbcType=VARCHAR},
+
+
+ #{yhzcbs,jdbcType=VARCHAR},
+
+
+ #{spbm,jdbcType=VARCHAR},
+
+
+ #{ssflMc,jdbcType=VARCHAR},
+
+
+ #{lslbs,jdbcType=VARCHAR},
+
+
+ #{zzstsgl,jdbcType=VARCHAR},
+
+
+ #{userId,jdbcType=VARCHAR},
+
+
+ now(),
+ now(),
+
+
+ SYSDATE,
+ SYSDATE,
+
+
+ #{modifyUserId,jdbcType=CHAR},
+
+
+ #{groupId,jdbcType=VARCHAR},
+
+
+ #{bz,jdbcType=VARCHAR},
+
+
+ #{xhfMc,jdbcType=VARCHAR},
+
+
+ #{dataSource,jdbcType=VARCHAR},
+
+
+ #{matchingState,jdbcType=VARCHAR},
+
+
+ #{dataState,jdbcType=VARCHAR},
+
+
+ #{spjc,jdbcType=VARCHAR},
+
+
+ #{collectIdent,jdbcType=VARCHAR},
+
+
+ #{cpy,jdbcType=VARCHAR},
+
+
+ #{bmbBbh,jdbcType=VARCHAR},
+
+
+ #{jdc,jdbcType=VARCHAR},
+
+
+ #{wlflbm,jdbcType=VARCHAR},
+
+
+ #{wlflmc,jdbcType=VARCHAR},
+
+
+ ON DUPLICATE KEY UPDATE
+
+
+ id = VALUES(id),
+
+
+ commodity_id = VALUES(commodity_id),
+
+
+ sort_id = VALUES(sort_id),
+
+
+ xhf_nsrsbh = VALUES(xhf_nsrsbh),
+
+
+ merchandise_name = VALUES(merchandise_name),
+
+
+ encoding = VALUES(encoding),
+
+
+ tax_items = VALUES(tax_items),
+
+
+ brief_code = VALUES(brief_code),
+
+
+ tax_rate = VALUES(tax_rate),
+
+
+ specification_model = VALUES(specification_model),
+
+
+ metering_unit = VALUES(metering_unit),
+
+
+ unit_price = VALUES(unit_price),
+
+
+ tax_logo = VALUES(tax_logo),
+
+
+ hide_the_logo = VALUES(hide_the_logo),
+
+
+ enjoy_preferential_policies = VALUES(enjoy_preferential_policies),
+
+
+ tax_class_code = VALUES(tax_class_code),
+
+
+ tax_classification_name = VALUES(tax_classification_name),
+
+
+ preferential_policies_type = VALUES(preferential_policies_type),
+
+
+ zzstsgl = VALUES(zzstsgl),
+
+
+ user_id = VALUES(user_id),
+
+ create_time = VALUES(create_time),
+ modify_time = VALUES(modify_time),
+
+ modify_user_id = VALUES(modify_user_id),
+
+
+ group_id = VALUES(group_id),
+
+
+ description = VALUES(description),
+
+
+ enterprise_name = VALUES(enterprise_name),
+
+
+ data_source = VALUES(data_source),
+
+
+ matching_state = VALUES(matching_state),
+
+
+ data_state = VALUES(data_state),
+
+
+ tax_class_abbreviation = VALUES(tax_class_abbreviation),
+
+
+ collect_ident = VALUES(collect_ident),
+
+
+ cpy = VALUES(cpy),
+
+
+ bmb_bbh = VALUES(bmb_bbh),
+
+
+ jdc = VALUES(jdc),
+
+
+ wlflbm = VALUES(wlflbm),
+
+
+ wlflmc = VALUES(wlflmc),
+
+
+
+
+
+ UPDATE commodity_code
+ SET
+ group_id = ''
+ WHERE group_id = #{id,jdbcType=VARCHAR}
+
+ and xhf_nsrsbh = ''
+
+
+ and xhf_nsrsbh =
+
+ #{item}
+
+
+
+ and xhf_nsrsbh in
+
+ #{item}
+
+
+
+
+
+ DELETE
+ FROM
+ commodity_code
+ WHERE id = #{id,jdbcType=VARCHAR}
+
+ and xhf_nsrsbh = ''
+
+
+ and xhf_nsrsbh =
+
+ #{item}
+
+
+
+ and xhf_nsrsbh in
+
+ #{item}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+