feature:物料逻辑重新梳理

release
gaorl 2 years ago
parent c9064a3997
commit 0cb5832401
  1. 37
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/commodity/service/impl/CommodityServiceImpl.java
  2. 147
      order-management-base-service/src/main/resources/mybatis/mapper/CommodityMapper.xml
  3. 4
      order-management-common/src/main/java/com/dxhy/order/constant/TaxClassCodeEnum.java
  4. 8
      order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/order/service/impl/OrderInfoServiceImpl.java

@ -104,7 +104,6 @@ public class CommodityServiceImpl implements CommodityService {
public R addOrEditCommodity(CommodityCodeEntity codeEntity) {
List<String> shList = NsrsbhUtils.transShListByNsrsbh(codeEntity.getXhfNsrsbh());
boolean flag;
//判断保存或者修改操作
String id = codeEntity.getId();
Map<String,String> map = new HashMap<>();
@ -141,15 +140,14 @@ public class CommodityServiceImpl implements CommodityService {
} else {
codeEntity.setDataSource(TaxClassCodeEnum.DATA_SOURCE_1.getKey());
codeEntity.setMatchingState(TaxClassCodeEnum.MATCHING_STATE_1.getKey());
//未匹配默认为停用
codeEntity.setDataState(TaxClassCodeEnum.DATA_STATE_1.getKey());
if (StringUtils.isNotEmpty(codeEntity.getSsflMc()) && StringUtils.isNotEmpty(codeEntity.getSpbm())) {
//税收分类名称和税收分类编码都存在
codeEntity.setMatchingState(TaxClassCodeEnum.MATCHING_STATE_0.getKey());
//已匹配默认为启用
codeEntity.setDataState(TaxClassCodeEnum.DATA_STATE_0.getKey());
} else {
codeEntity.setMatchingState(TaxClassCodeEnum.MATCHING_STATE_1.getKey());
//未匹配默认为停用
codeEntity.setDataState(TaxClassCodeEnum.DATA_STATE_1.getKey());
}
if(commodityMapper.insertCommodity(codeEntity) <= 0){
@ -251,7 +249,7 @@ public class CommodityServiceImpl implements CommodityService {
if (StringUtils.isNotEmpty(commodityCodeCheckQuery.getSl())) {
commodityCodeCheckQuery.setSl(CommonUtils.formatSl(commodityCodeCheckQuery.getSl()));
}
map1.put("productName", xmmc);
//map1.put("productName", xmmc);
map1.put("zxbm", zxbm);
map1.put("entId",commodityCodeCheckQuery.getDeptId());
@ -320,7 +318,7 @@ public class CommodityServiceImpl implements CommodityService {
for (CommodityCodeEntity commodityCodeEntity : commodityCodeList) {
commodityCodeEntity.setSpbm(StringUtil.fillZero(commodityCodeEntity.getSpbm(), ConfigureConstant.INT_19));
//ent_id + encoding + spmc
int i1 = commodityMapper.queryCountByEntAndEncode(commodityCodeEntity.getZxbm(), commodityCodeEntity.getXmmc(), commodityCodeEntity.getEntId());
int i1 = commodityMapper.queryCountByEntAndEncode(commodityCodeEntity.getZxbm(), "", commodityCodeEntity.getEntId());
if(i1>0){
Map<String, String> map = new HashMap<>(2);
map.put(OrderManagementConstant.CODE, ConfigureConstant.STRING_9999);
@ -339,7 +337,7 @@ public class CommodityServiceImpl implements CommodityService {
commodityCodeEntity.setId(baseService.getGenerateShotKey());
commodityCodeEntity.setCommodityId(commodityCodeEntity.getId());
log.debug("添加接口开始执行");
log.debug("物料导入开始执行");
String name = commodityCodeEntity.getGroupName();
// 获取分组id
if (StringUtils.isNotBlank(commodityCodeEntity.getGroupName())) {
@ -353,39 +351,28 @@ public class CommodityServiceImpl implements CommodityService {
commodityCodeEntity.setXmmc(tempMerchandiseName);
commodityCodeEntity.setDataSource(TaxClassCodeEnum.DATA_SOURCE_2.getKey());
commodityCodeEntity.setMatchingState(TaxClassCodeEnum.MATCHING_STATE_1.getKey());
commodityCodeEntity.setDataState(TaxClassCodeEnum.DATA_STATE_1.getKey());
if (StringUtils.isNotEmpty(commodityCodeEntity.getSsflMc())
&& StringUtils.isNotEmpty(commodityCodeEntity.getSpbm())) {
// 税收分类名称和税收分类编码都存在
commodityCodeEntity.setMatchingState(TaxClassCodeEnum.MATCHING_STATE_0.getKey());
commodityCodeEntity.setDataState(TaxClassCodeEnum.DATA_STATE_0.getKey());
// 已匹配默认为启用
} else {
commodityCodeEntity.setMatchingState(TaxClassCodeEnum.MATCHING_STATE_1.getKey());
commodityCodeEntity.setDataState(TaxClassCodeEnum.DATA_STATE_1.getKey());
// 未匹配默认为停用
}
if (StringUtils.isNotBlank(commodityCodeEntity.getSl()) && commodityCodeEntity.getSl().contains(ConfigureConstant.STRING_PERCENT)) {
commodityCodeEntity.setSl(CommonUtils.formatSl(commodityCodeEntity.getSl()));
}
//成品油为空就设置默认值
if (StringUtils.isEmpty(commodityCodeEntity.getCpy())) {
commodityCodeEntity.setCpy(ConfigureConstant.STRING_N);
}
//机动车为空就设置默认值
if (StringUtils.isEmpty(commodityCodeEntity.getJdc())) {
commodityCodeEntity.setJdc(ConfigureConstant.STRING_N);
}
i = commodityMapper.insertCommodity(commodityCodeEntity);
log.debug("添加成功");
if (i > 0) {
num++;
} else {
if (i <= 0) {
Map<String, String> map = new HashMap<>(2);
map.put(OrderManagementConstant.CODE, ConfigureConstant.STRING_9999);
map.put("msg", "第" + num + "行,添加失败");
resultMap.add(map);
continue;
}
num++;
}
return R.ok().put("list", resultMap).put("msg", "导入成功" + num + "条").put("count", commodityCodeList.size())
@ -426,7 +413,7 @@ public class CommodityServiceImpl implements CommodityService {
entity.setSpbm(taxClassCodeParam.getSsbm());
entity.setXhfNsrsbh(nsrsbh);
entity.setSpjc(taxClassCodeParam.getSsjc());
entity.setDataSource(TaxClassCodeEnum.DATA_SOURCE_0.getKey());
entity.setDataSource(TaxClassCodeEnum.DATA_SOURCE_0.getKey());//接口已放弃不在使用
entity.setMatchingState(TaxClassCodeEnum.MATCHING_STATE_0.getKey());
entity.setDataState(TaxClassCodeEnum.DATA_STATE_0.getKey());
entity.setUserId(userId);

@ -242,64 +242,64 @@
<bind name="dataType" value="${dataType}"/>
update commodity_code
<set>
<if test="commodityCode.commodityId != null">
<if test="commodityCode.commodityId != null and commodityCode.commodityId != ''">
commodity_id = #{commodityCode.commodityId,jdbcType=VARCHAR},
</if>
<if test="commodityCode.sortId != null">
<if test="commodityCode.sortId != null and commodityCode.sortId != ''">
sort_id = #{commodityCode.sortId,jdbcType=BIGINT},
</if>
<if test="commodityCode.xhfNsrsbh != null">
<if test="commodityCode.xhfNsrsbh != null and commodityCode.xhfNsrsbh != ''">
xhf_nsrsbh = #{commodityCode.xhfNsrsbh,jdbcType=VARCHAR},
</if>
<if test="commodityCode.xmmc != null">
<if test="commodityCode.xmmc != null and commodityCode.xmmc != ''">
merchandise_name = #{commodityCode.xmmc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.zxbm != null">
<if test="commodityCode.zxbm != null and commodityCode.zxbm != ''">
encoding = #{commodityCode.zxbm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spsm != null">
<if test="commodityCode.spsm != null and commodityCode.spsm != ''">
tax_items = #{commodityCode.spsm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spjm != null">
<if test="commodityCode.spjm != null and commodityCode.spjm != ''">
brief_code = #{commodityCode.spjm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.sl != null">
<if test="commodityCode.sl != null and commodityCode.sl != ''">
tax_rate = #{commodityCode.sl,jdbcType=VARCHAR},
</if>
<if test="commodityCode.ggxh != null">
<if test="commodityCode.ggxh != null and commodityCode.ggxh != ''">
specification_model = #{commodityCode.ggxh,jdbcType=VARCHAR},
</if>
<if test="commodityCode.xmdw != null">
<if test="commodityCode.xmdw != null and commodityCode.xmdw != ''">
metering_unit = #{commodityCode.xmdw,jdbcType=VARCHAR},
</if>
<if test="commodityCode.xmdj != null">
<if test="commodityCode.xmdj != null and commodityCode.xmdj != ''">
unit_price = #{commodityCode.xmdj,jdbcType=VARCHAR},
</if>
<if test="commodityCode.hsbz != null">
<if test="commodityCode.hsbz != null and commodityCode.hsbz != ''">
tax_logo = #{commodityCode.hsbz,jdbcType=VARCHAR},
</if>
<if test="commodityCode.ycbz != null">
<if test="commodityCode.ycbz != null and commodityCode.ycbz != ''">
hide_the_logo = #{commodityCode.ycbz,jdbcType=VARCHAR},
</if>
<if test="commodityCode.yhzcbs != null">
<if test="commodityCode.yhzcbs != null and commodityCode.yhzcbs != ''">
enjoy_preferential_policies = #{commodityCode.yhzcbs,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spbm != null">
<if test="commodityCode.spbm != null and commodityCode.spbm != ''">
tax_class_code = #{commodityCode.spbm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.ssflMc != null">
<if test="commodityCode.ssflMc != null and commodityCode.ssflMc != ''">
tax_classification_name = #{commodityCode.ssflMc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.lslbs != null">
<if test="commodityCode.lslbs != null and commodityCode.lslbs != ''">
preferential_policies_type = #{commodityCode.lslbs,jdbcType=VARCHAR},
</if>
<if test="commodityCode.zzstsgl != null">
<if test="commodityCode.zzstsgl != null and commodityCode.zzstsgl != ''">
zzstsgl = #{commodityCode.zzstsgl,jdbcType=VARCHAR},
</if>
<if test="commodityCode.userId != null">
<if test="commodityCode.userId != null and commodityCode.userId != ''">
user_id = #{commodityCode.userId,jdbcType=VARCHAR},
</if>
<if test="commodityCode.createTime != null">
<if test="commodityCode.createTime != null and commodityCode.createTime != ''">
create_time = #{commodityCode.createTime,jdbcType=TIMESTAMP},
</if>
<if test="dataType == 0">
@ -308,55 +308,55 @@
<if test="dataType == 1">
modify_time = SYSDATE,
</if>
<if test="commodityCode.modifyUserId != null">
<if test="commodityCode.modifyUserId != null and commodityCode.modifyUserId != ''">
modify_user_id = #{commodityCode.modifyUserId,jdbcType=CHAR},
</if>
<if test="commodityCode.groupId != null">
<if test="commodityCode.groupId != null and commodityCode.groupId != ''">
group_id = #{commodityCode.groupId,jdbcType=VARCHAR},
</if>
<if test="commodityCode.bz != null">
<if test="commodityCode.bz != null and commodityCode.bz != ''">
description = #{commodityCode.bz,jdbcType=VARCHAR},
</if>
<if test="commodityCode.xhfMc != null">
<if test="commodityCode.xhfMc != null and commodityCode.xhfMc != ''">
enterprise_name = #{commodityCode.xhfMc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.dataSource != null">
<if test="commodityCode.dataSource != null and commodityCode.dataSource != ''">
data_source = #{commodityCode.dataSource,jdbcType=VARCHAR},
</if>
<if test="commodityCode.matchingState != null">
<if test="commodityCode.matchingState != null and commodityCode.matchingState != ''">
matching_state = #{commodityCode.matchingState,jdbcType=VARCHAR},
</if>
<if test="commodityCode.dataState != null">
<if test="commodityCode.dataState != null and commodityCode.dataState != ''">
data_state = #{commodityCode.dataState,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spjc != null">
<if test="commodityCode.spjc != null and commodityCode.spjc != ''">
tax_class_abbreviation = #{commodityCode.spjc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.collectIdent != null">
<if test="commodityCode.collectIdent != null and commodityCode.collectIdent != ''">
collect_ident = #{commodityCode.collectIdent,jdbcType=VARCHAR},
</if>
<if test="commodityCode.cpy != null">
<if test="commodityCode.cpy != null and commodityCode.cpy != ''">
cpy = #{commodityCode.cpy,jdbcType=VARCHAR},
</if>
<if test="commodityCode.bmbBbh != null">
<if test="commodityCode.bmbBbh != null and commodityCode.bmbBbh != ''">
bmb_bbh = #{commodityCode.bmbBbh,jdbcType=VARCHAR},
</if>
<if test="commodityCode.jdc != null">
<if test="commodityCode.jdc != null and commodityCode.jdc != ''">
jdc = #{commodityCode.jdc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.wlflbm != null">
<if test="commodityCode.wlflbm != null and commodityCode.wlflbm != ''">
wlflbm = #{commodityCode.wlflbm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.wlflmc != null">
<if test="commodityCode.wlflmc != null and commodityCode.wlflmc != ''">
wlflmc = #{commodityCode.wlflmc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.entId != null">
<if test="commodityCode.entId != null and commodityCode.entId != ''">
ent_id = #{commodityCode.entId,jdbcType=VARCHAR},
</if>
<if test="commodityCode.tswl != null">
<if test="commodityCode.tswl != null and commodityCode.tswl != ''">
tswl = #{commodityCode.tswl,jdbcType=VARCHAR},
</if>
<if test="commodityCode.invoiceName != null">
<if test="commodityCode.invoiceName != null and commodityCode.invoiceName != ''">
invoice_name = #{commodityCode.invoiceName,jdbcType=VARCHAR},
</if>
@ -388,28 +388,28 @@
<bind name="dataType" value="${dataType}"/>
update commodity_code
<set>
<if test="commodityCode.ggxh != null">
<if test="commodityCode.ggxh != null and commodityCode.ggxh != ''">
specification_model = #{commodityCode.ggxh,jdbcType=VARCHAR},
</if>
<if test="commodityCode.xmdw != null">
<if test="commodityCode.xmdw != null and commodityCode.xmdw != ''">
metering_unit = #{commodityCode.xmdw,jdbcType=VARCHAR},
</if>
<if test="commodityCode.ycbz != null">
<if test="commodityCode.ycbz != null and commodityCode.ycbz != ''">
hide_the_logo = #{commodityCode.ycbz,jdbcType=VARCHAR},
</if>
<if test="commodityCode.lslbs != null">
<if test="commodityCode.lslbs != null and commodityCode.lslbs != ''">
preferential_policies_type = #{commodityCode.lslbs,jdbcType=VARCHAR},
</if>
<if test="commodityCode.yhzcbs != null">
<if test="commodityCode.yhzcbs != null and commodityCode.yhzcbs != ''">
enjoy_preferential_policies = #{commodityCode.yhzcbs,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spbm != null">
<if test="commodityCode.spbm != null and commodityCode.spbm != ''">
tax_class_code = #{commodityCode.spbm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spjc != null">
<if test="commodityCode.spjc != null and commodityCode.spjc != ''">
tax_class_abbreviation = #{commodityCode.spjc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.zzstsgl != null">
<if test="commodityCode.zzstsgl != null and commodityCode.zzstsgl != ''">
zzstsgl = #{commodityCode.zzstsgl,jdbcType=VARCHAR},
</if>
<if test="dataType == 0">
@ -418,16 +418,19 @@
<if test="dataType == 1">
modify_time = SYSDATE,
</if>
<if test="commodityCode.modifyUserId != null">
<if test="commodityCode.modifyUserId != null and commodityCode.modifyUserId != ''">
modify_user_id = #{commodityCode.modifyUserId,jdbcType=CHAR},
</if>
<if test="commodityCode.collectIdent != null">
<if test="commodityCode.collectIdent != null and commodityCode.collectIdent != ''">
collect_ident = #{commodityCode.collectIdent,jdbcType=VARCHAR},
</if>
<if test="commodityCode.cpy != null">
<if test="commodityCode.cpy != null and commodityCode.cpy != ''">
cpy = #{commodityCode.cpy,jdbcType=VARCHAR},
</if>
<if test="commodityCode.dataSource != null and commodityCode.dataSource != ''">
data_source = #{commodityCode.dataSource,jdbcType=VARCHAR},
</if>
</set>
<where>
@ -443,60 +446,66 @@
<bind name="dataType" value="${dataType}"/>
update commodity_code
<set>
<if test="commodityCode.zxbm != null">
<if test="commodityCode.zxbm != null and commodityCode.zxbm != ''">
encoding = #{commodityCode.zxbm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.xmdw != null">
<if test="commodityCode.xmdw != null and commodityCode.xmdw != ''">
metering_unit = #{commodityCode.xmdw,jdbcType=VARCHAR},
</if>
<if test="commodityCode.createTime != null">
<if test="commodityCode.createTime != null and commodityCode.createTime != ''">
create_time = #{commodityCode.createTime,jdbcType=TIMESTAMP},
</if>
<if test="commodityCode.bz != null">
<if test="commodityCode.modifyTime != null and commodityCode.modifyTime != ''">
modify_time = #{commodityCode.modifyTime,jdbcType=TIMESTAMP},
</if>
<if test="commodityCode.bz != null and commodityCode.bz != ''">
description = #{commodityCode.bz,jdbcType=VARCHAR},
</if>
<if test="commodityCode.wlflbm != null">
<if test="commodityCode.wlflbm != null and commodityCode.wlflbm != ''">
wlflbm = #{commodityCode.wlflbm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.wlflmc != null">
<if test="commodityCode.wlflmc != null and commodityCode.wlflmc != ''">
wlflmc = #{commodityCode.wlflmc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.ggxh != null">
<if test="commodityCode.ggxh != null and commodityCode.ggxh != ''">
specification_model = #{commodityCode.ggxh,jdbcType=VARCHAR},
</if>
<if test="commodityCode.commodityId != null">
<if test="commodityCode.commodityId != null and commodityCode.commodityId != ''">
commodity_id = #{commodityCode.commodityId,jdbcType=VARCHAR},
</if>
<if test="commodityCode.sortId != null">
<if test="commodityCode.sortId != null and commodityCode.sortId != ''">
sort_id = #{commodityCode.sortId,jdbcType=BIGINT},
</if>
<if test="commodityCode.xmmc != null">
<if test="commodityCode.xmmc != null and commodityCode.xmmc != ''">
merchandise_name = #{commodityCode.xmmc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.zzstsgl != null">
<if test="commodityCode.zzstsgl != null and commodityCode.zzstsgl != ''">
zzstsgl = #{commodityCode.zzstsgl,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spjc != null">
<if test="commodityCode.spjc != null and commodityCode.spjc != ''">
tax_class_abbreviation = #{commodityCode.spjc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spbm != null">
<if test="commodityCode.spbm != null and commodityCode.spbm != ''">
tax_class_code = #{commodityCode.spbm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.ssflMc != null">
<if test="commodityCode.ssflMc != null and commodityCode.ssflMc != ''">
tax_classification_name = #{commodityCode.ssflMc,jdbcType=VARCHAR},
</if>
<if test="commodityCode.yhzcbs != null">
<if test="commodityCode.yhzcbs != null and commodityCode.yhzcbs != ''">
enjoy_preferential_policies = #{commodityCode.yhzcbs,jdbcType=VARCHAR},
</if>
<if test="commodityCode.hsbz != null">
<if test="commodityCode.hsbz != null and commodityCode.hsbz != ''">
tax_logo = #{commodityCode.hsbz,jdbcType=VARCHAR},
</if>
<if test="commodityCode.spjm != null">
<if test="commodityCode.spjm != null and commodityCode.spjm != ''">
brief_code = #{commodityCode.spjm,jdbcType=VARCHAR},
</if>
<if test="commodityCode.sl != null">
<if test="commodityCode.sl != null and commodityCode.sl != ''">
tax_rate = #{commodityCode.sl,jdbcType=VARCHAR},
</if>
<if test="commodityCode.dataSource != null and commodityCode.dataSource != ''">
data_source = #{commodityCode.dataSource,jdbcType=VARCHAR},
</if>
</set>
<where>
id in
@ -1264,12 +1273,12 @@
<if test="encoding != null and encoding != ''">
cc.encoding =#{encoding}
</if>
<if test="merchandiseName != null and merchandiseName != ''">
and cc.merchandise_name =#{merchandiseName}
</if>
<if test="entId != null and entId != ''">
and cc.ent_id =#{entId}
</if>
<if test="merchandiseName != null and merchandiseName != ''">
and cc.merchandise_name =#{merchandiseName}
</if>
</where>
</select>

@ -19,11 +19,11 @@ public enum TaxClassCodeEnum {
/**
* 数据来源
*/
DATA_SOURCE_0("0", "集团共享"),
DATA_SOURCE_0("0", "集团共享"),//放弃使用
DATA_SOURCE_1("1", "手工创建"),
DATA_SOURCE_2("2", "模板导入"),
DATA_SOURCE_3("3", "采集下级"),
DATA_SOURCE_4("4", "自动归集"),
DATA_SOURCE_4("4", "自动归集"),//物料更新没使用
DATA_SOURCE_5("5", "接口同步"),
DATA_SOURCE_6("6", "开票自动归集"),
/**

@ -1824,13 +1824,13 @@ public class OrderInfoServiceImpl implements OrderInfoService {
// 如果公司物料库匹配失败,从集团物料库匹配
if (commodityCodeEntity == null) {
// 如果匹配不到,则去集团物料库匹配
commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(orderItemInfo.getZxbm(), "-1",null);
commodityCodeEntity = commodityCodeMapper.queryCommodityCodeByZxbmAndXhfNsrsbhAndEntId(orderItemInfo.getZxbm(), ConfigureConstant.STRING_1_,null);
}
if(commodityCodeEntity != null){
completeCommodityMessageBySpid(orderItemInfo, commodityCodeEntity);
orderItemInfo.setZnfm(ConfigureConstant.STRING_0);
String znfm = ConfigureConstant.STRING_1_.equals(commodityCodeEntity.getXhfNsrsbh())?ConfigureConstant.STRING_1:ConfigureConstant.STRING_0;
orderItemInfo.setZnfm(znfm);
orderItemInfo.setXmsl(null);
orderItemInfo.setXmdj(null);
}
@ -2011,7 +2011,7 @@ public class OrderInfoServiceImpl implements OrderInfoService {
if (!OrderInfoEnum.FPHXZ_CODE_1.getKey().equals(item.getFphxz())) {
//规格型号
if (StringUtils.isNotBlank(commodity.getGgxh())) {
item.setGgxh(commodity.getGgxh());
item.setGgxh(commodity.getGgxh().trim());
}
//单位
if (StringUtils.isNotBlank(commodity.getXmdw())) {

Loading…
Cancel
Save