feat:客商和物料入库

gongquanlin 2 years ago committed by WangQi
parent af85f884bf
commit 2700866491
  1. 4
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/dao/BuyerMapper.java
  2. 3
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntity.java
  3. 2
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/taxclass/dao/GroupTaxClassCodeMapper.java
  4. 3
      order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/taxclass/model/GroupTaxClassCodeEntity.java
  5. 177
      order-management-base-service/src/main/resources/mybatis/mapper/BuyerMapper.xml
  6. 42
      order-management-base-service/src/main/resources/mybatis/mapper/GroupTaxClassCodeMapper.xml
  7. 22
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestSDEnregy.java
  8. 31
      order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/impl/SDEnregyServiceImpl.java

@ -38,7 +38,9 @@ public interface BuyerMapper {
* @return
*/
int insertBuyer(BuyerEntity buyerEntity);
int insertBuyerOnDuplicateKey(BuyerEntity buyerEntity);
/**
* 根据购方名称查询
*

@ -116,4 +116,7 @@ public class BuyerEntity implements Serializable {
* 山能 MDM 客户API 里的MULTICODE字段json
*/
private String mdmMulticodeJson;
private String UUID;
private Boolean success;
}

@ -22,6 +22,8 @@ public interface GroupTaxClassCodeMapper {
*/
int insert(GroupTaxClassCodeEntity record);
int insertOnDuplicateKey(GroupTaxClassCodeEntity record);
/**
* 根据id查询
*

@ -72,5 +72,8 @@ public class GroupTaxClassCodeEntity implements Serializable {
* 分组名称
*/
private String groupName;
private String UUID;
private Boolean success;
}

@ -396,6 +396,183 @@
</if>
</trim>
</insert>
<insert id="insertBuyerOnDuplicateKey" parameterType="com.dxhy.order.baseservice.module.buyer.model.BuyerEntity">
<bind name="dataType" value="${dataType}"/>
INSERT INTO buyer_manage_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="taxpayerCode != null">
taxpayer_code,
</if>
<if test="purchaseName != null">
purchase_name,
</if>
<if test="address != null">
address,
</if>
<if test="phone != null">
phone,
</if>
<if test="bankOfDeposit != null">
bank_of_deposit,
</if>
<if test="bankNumber != null">
bank_number,
</if>
<if test="email != null">
email,
</if>
<if test="sjh != null">
sjh,
</if>
<if test="remarks != null">
remarks,
</if>
create_time,
modify_time,
<if test="createUserId != null">
create_user_id,
</if>
<if test="modifyUserId != null">
modify_user_id,
</if>
<if test="ghfQylx != null">
ghf_qylx,
</if>
<if test="xhfNsrsbh != null">
xhf_nsrsbh,
</if>
<if test="xhfMc != null">
xhf_mc,
</if>
<if test="buyerCode != null">
buyer_code,
</if>
<if test="invoiceName != null">
invoice_name,
</if>
<if test="invoiceTaxno != null">
invoice_taxno,
</if>
<if test="mdmMulticodeJson != null">
mdm_multicode_json,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null"> #{id,jdbcType=VARCHAR},
</if>
<if test="taxpayerCode != null"> #{taxpayerCode,jdbcType=VARCHAR},
</if>
<if test="purchaseName != null"> #{purchaseName,jdbcType=VARCHAR},
</if>
<if test="address != null"> #{address,jdbcType=VARCHAR},
</if>
<if test="phone != null"> #{phone,jdbcType=VARCHAR},
</if>
<if test="bankOfDeposit != null"> #{bankOfDeposit,jdbcType=VARCHAR},
</if>
<if test="bankNumber != null"> #{bankNumber,jdbcType=VARCHAR},
</if>
<if test="email != null"> #{email,jdbcType=VARCHAR},
</if>
<if test="sjh != null"> #{sjh,jdbcType=VARCHAR},
</if>
<if test="remarks != null"> #{remarks,jdbcType=VARCHAR},
</if>
<if test="dataType == 1">
SYSDATE,
SYSDATE,
</if>
<if test="dataType == 0">
now(),
now(),
</if>
<if test="createUserId != null"> #{createUserId,jdbcType=VARCHAR},
</if>
<if test="modifyUserId != null"> #{modifyUserId,jdbcType=VARCHAR},
</if>
<if test="ghfQylx != null"> #{ghfQylx,jdbcType=VARCHAR},
</if>
<if test="xhfNsrsbh != null"> #{xhfNsrsbh,jdbcType=VARCHAR},
</if>
<if test="xhfMc != null"> #{xhfMc,jdbcType=VARCHAR},
</if>
<if test="buyerCode != null"> #{buyerCode,jdbcType=VARCHAR},
</if>
<if test="invoiceName != null"> #{invoiceName,jdbcType=VARCHAR},
</if>
<if test="invoiceTaxno != null"> #{invoiceTaxno,jdbcType=VARCHAR},
</if>
<if test="mdmMulticodeJson != null"> #{mdmMulticodeJson,jdbcType=VARCHAR},
</if>
</trim>
on duplicate key update
<if test="id != null">
id = VALUES(id),
</if>
<if test="taxpayerCode != null">
taxpayer_code = VALUES(taxpayer_code),
</if>
<if test="purchaseName != null">
purchase_name = VALUES(purchase_name),
</if>
<if test="address != null">
address = VALUES(address),
</if>
<if test="phone != null">
phone = VALUES(phone),
</if>
<if test="bankOfDeposit != null">
bank_of_deposit = VALUES(bank_of_deposit),
</if>
<if test="bankNumber != null">
bank_number = VALUES(bank_number),
</if>
<if test="email != null">
email = VALUES(email),
</if>
<if test="sjh != null">
sjh = VALUES(sjh),
</if>
<if test="remarks != null">
remarks = VALUES(remarks),
</if>
create_time = VALUES(create_time),
modify_time = VALUES(modify_time),
<if test="createUserId != null">
create_user_id = VALUES(create_user_id),
</if>
<if test="modifyUserId != null">
modify_user_id = VALUES(modify_user_id),
</if>
<if test="ghfQylx != null">
ghf_qylx = VALUES(ghf_qylx),
</if>
<if test="xhfNsrsbh != null">
xhf_nsrsbh = VALUES(xhf_nsrsbh),
</if>
<if test="xhfMc != null">
xhf_mc = VALUES(xhf_mc),
</if>
<if test="buyerCode != null">
buyer_code = VALUES(buyer_code),
</if>
<if test="invoiceName != null">
invoice_name = VALUES(invoice_name),
</if>
<if test="invoiceTaxno != null">
invoice_taxno = VALUES(invoice_taxno),
</if>
<if test="mdmMulticodeJson != null">
mdm_multicode_json = VALUES(mdm_multicode_json)
</if>
</insert>
<insert id="insertBuyerByList">
INSERT INTO buyer_manage_info (
id,

@ -71,6 +71,48 @@
#{groupId,jdbcType=VARCHAR}, #{taxClassAbbreviation,jdbcType=VARCHAR},
#{differenceFlag,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR})
</insert>
<insert id="insertOnDuplicateKey" parameterType="com.dxhy.order.baseservice.module.taxclass.model.GroupTaxClassCodeEntity">
insert into group_tax_class_code (id, sort_id, xhf_nsrsbh,
merchandise_name, encoding, tax_items,
brief_code, specification_model, metering_unit,
unit_price, tax_class_code, tax_classification_name,
create_time, dept_id, data_source,
matching_state, data_state, share_state,
group_id, tax_class_abbreviation, difference_flag, description)
values (#{id,jdbcType=VARCHAR}, #{sortId,jdbcType=BIGINT}, #{xhfNsrsbh,jdbcType=VARCHAR},
#{merchandiseName,jdbcType=VARCHAR}, #{encoding,jdbcType=VARCHAR}, #{taxItems,jdbcType=VARCHAR},
#{briefCode,jdbcType=VARCHAR}, #{specificationModel,jdbcType=VARCHAR}, #{meteringUnit,jdbcType=VARCHAR},
#{unitPrice,jdbcType=VARCHAR}, #{taxClassCode,jdbcType=VARCHAR},
#{taxClassificationName,jdbcType=VARCHAR},
#{createTime,jdbcType=TIMESTAMP}, #{deptId,jdbcType=VARCHAR}, #{dataSource,jdbcType=VARCHAR},
#{matchingState,jdbcType=VARCHAR}, #{dataState,jdbcType=VARCHAR}, #{shareState,jdbcType=VARCHAR},
#{groupId,jdbcType=VARCHAR}, #{taxClassAbbreviation,jdbcType=VARCHAR},
#{differenceFlag,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR})
on duplicate key update
id = values(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),
specification_model = values(specification_model),
metering_unit = values(metering_unit),
unit_price = values(unit_price),
tax_class_code = values(tax_class_code),
tax_classification_name = values(tax_classification_name),
create_time = values(create_time),
dept_id = values(dept_id),
data_source = values(data_source),
matching_state = values(matching_state),
data_state = values(data_state),
share_state = values(share_state),
group_id = values(group_id),
tax_class_abbreviation = values(tax_class_abbreviation),
difference_flag = values(difference_flag),
description = values(description)
</insert>
<!-- <insert id="insertSelective" parameterType="com.dxhy.order.model.entity.GroupTaxClassCodeEntity" >-->
<!-- insert into group_tax_class_code-->
<!-- <trim prefix="(" suffix=")" suffixOverrides=",">-->

@ -118,6 +118,28 @@ public class InvoiceRestSDEnregy {
return (String) syncMdmGroupTax.get("data");
}
/**
* 主动拉取 MDM 集团物料
*
* @return
*/
@PostMapping("/fetch_group_tax")
public String fetchMdmGroupTax() {
// TODO
return "";
}
/**
* 主动拉取客商信息
*
* @return
*/
@PostMapping("/fetch_buyer_message")
public String fetchBuyerMessage() {
// TODO
return "";
}
/**
* 将客商信息同步入库

@ -1,7 +1,11 @@
package com.dxhy.order.consumer.openapi.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.dxhy.order.baseservice.module.buyer.dao.BuyerMapper;
import com.dxhy.order.baseservice.module.buyer.model.BuyerEntity;
import com.dxhy.order.baseservice.module.buyer.protocol.GmfxxtbRspBO;
import com.dxhy.order.baseservice.module.taxclass.dao.GroupTaxClassCodeMapper;
import com.dxhy.order.baseservice.module.taxclass.model.GroupTaxClassCodeEntity;
import com.dxhy.order.constant.OrderInfoContentEnum;
import com.dxhy.order.consumer.openapi.protocol.AjaxResult;
import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.*;
@ -13,6 +17,7 @@ import com.dxhy.order.model.MdmGroupTaxClassCode;
import com.dxhy.order.utils.DistributedKeyMaker;
import com.dxhy.order.utils.JsonUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -38,14 +43,20 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
@Autowired
private MdmBuyerManageInfoMapper mdmBuyerManageInfoMapper;
@Autowired
private BuyerMapper buyerMapper;
@Autowired
private GroupTaxClassCodeMapper groupTaxClassCodeMapper;
@Override
public AjaxResult syncBuyerMessage(List<MdmGmfxxtbReqBO> mdmGmfxxtbReqBOS, String requestBody) {
// 存表
List<MdmBuyerManageInfo> list = new ArrayList<>();
List<BuyerEntity> list = new ArrayList<>();
for (int i = 0; i < mdmGmfxxtbReqBOS.size(); i++) {
MdmGmfxxtbReqBO tempMdmGmfxxtbReqBO = mdmGmfxxtbReqBOS.get(i);
MdmBuyerManageInfo entity = new MdmBuyerManageInfo();
BuyerEntity entity = new BuyerEntity();
entity.setId(DistributedKeyMaker.generateShotKey());
entity.setTaxpayerCode(tempMdmGmfxxtbReqBO.getDESC14());
entity.setPurchaseName(tempMdmGmfxxtbReqBO.getDESC1());
@ -83,7 +94,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
entity.setGhfQylx("01");
}
}
entity.setXhfNsrsbh(null);
entity.setXhfNsrsbh("-1"); // 如果为-1,代表总表
entity.setXhfMc(null);
entity.setBuyerCode(tempMdmGmfxxtbReqBO.getCODE());
entity.setInvoiceName(tempMdmGmfxxtbReqBO.getDESC48());
@ -91,7 +102,8 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
entity.setMdmMulticodeJson(JsonUtils.getInstance().toJsonStringNullToEmpty(tempMdmGmfxxtbReqBO.getMULTICODE()));
entity.setUUID(tempMdmGmfxxtbReqBO.getUUID());
if (mdmBuyerManageInfoMapper.insertSelectiveOnDuplicateKey(entity) > 0) {
// if (mdmBuyerManageInfoMapper.insertSelectiveOnDuplicateKey(entity) > 0) {
if (buyerMapper.insertBuyerOnDuplicateKey(entity) > 0) {
entity.setSuccess(true);
} else {
entity.setSuccess(false);
@ -104,7 +116,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
baseBO,
list,
i -> {
MdmBuyerManageInfo t = (MdmBuyerManageInfo) i;
BuyerEntity t = (BuyerEntity) i;
SDEnergyMdmBaseRespBO resp = new SDEnergyMdmBaseRespBO();
resp.setCODE(t.getBuyerCode());
resp.setUUID(t.getUUID());
@ -127,10 +139,10 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
@Override
@Transactional
public AjaxResult syncMdmGroupTax(List<MdmSyncGroupTaxCodeReqBO> mdmGmfxxtbReqBOS, String requestBody) {
List<MdmGroupTaxClassCode> list = new ArrayList<>();
List<GroupTaxClassCodeEntity> list = new ArrayList<>();
for (int i = 0; i < mdmGmfxxtbReqBOS.size(); i++) {
MdmSyncGroupTaxCodeReqBO reqBO = mdmGmfxxtbReqBOS.get(i);
MdmGroupTaxClassCode entity = new MdmGroupTaxClassCode();
GroupTaxClassCodeEntity entity = new GroupTaxClassCodeEntity();
entity.setId(DistributedKeyMaker.generateShotKey());
entity.setSortId((long) i);
entity.setMerchandiseName(reqBO.getDESC1());
@ -139,7 +151,8 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
entity.setCreateTime(new Date());
entity.setDescription(reqBO.getDESCSHORT());
entity.setUUID(reqBO.getUUID());
if (mdmGroupTaxClassCodeMapper.insertOneOnDuplicateKey(entity) <= 0) {
// if (mdmGroupTaxClassCodeMapper.insertOneOnDuplicateKey(entity) <= 0) {
if (groupTaxClassCodeMapper.insertOnDuplicateKey(entity) <= 0) {
entity.setSuccess(false);
} else {
entity.setSuccess(true);
@ -152,7 +165,7 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract {
baseBO,
list,
i -> {
MdmGroupTaxClassCode t = (MdmGroupTaxClassCode) i;
GroupTaxClassCodeEntity t = (GroupTaxClassCodeEntity) i;
SDEnergyMdmBaseRespBO resp = new SDEnergyMdmBaseRespBO();
resp.setCODE(t.getEncoding());
resp.setUUID(t.getUUID());

Loading…
Cancel
Save