diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/dao/BuyerMapper.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/dao/BuyerMapper.java index d495eb1a..8ff353d3 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/dao/BuyerMapper.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/dao/BuyerMapper.java @@ -38,7 +38,9 @@ public interface BuyerMapper { * @return */ int insertBuyer(BuyerEntity buyerEntity); - + + int insertBuyerOnDuplicateKey(BuyerEntity buyerEntity); + /** * 根据购方名称查询 * diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntity.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntity.java index cb047b79..096ebd04 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntity.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntity.java @@ -116,4 +116,7 @@ public class BuyerEntity implements Serializable { * 山能 MDM 客户API 里的MULTICODE字段json */ private String mdmMulticodeJson; + + private String UUID; + private Boolean success; } diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/taxclass/dao/GroupTaxClassCodeMapper.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/taxclass/dao/GroupTaxClassCodeMapper.java index f24d9505..300bb1c8 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/taxclass/dao/GroupTaxClassCodeMapper.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/taxclass/dao/GroupTaxClassCodeMapper.java @@ -22,6 +22,8 @@ public interface GroupTaxClassCodeMapper { */ int insert(GroupTaxClassCodeEntity record); + int insertOnDuplicateKey(GroupTaxClassCodeEntity record); + /** * 根据id查询 * diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/taxclass/model/GroupTaxClassCodeEntity.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/taxclass/model/GroupTaxClassCodeEntity.java index 5e043191..37c000db 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/taxclass/model/GroupTaxClassCodeEntity.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/taxclass/model/GroupTaxClassCodeEntity.java @@ -72,5 +72,8 @@ public class GroupTaxClassCodeEntity implements Serializable { * 分组名称 */ private String groupName; + + private String UUID; + private Boolean success; } diff --git a/order-management-base-service/src/main/resources/mybatis/mapper/BuyerMapper.xml b/order-management-base-service/src/main/resources/mybatis/mapper/BuyerMapper.xml index fca728d4..34e734b4 100644 --- a/order-management-base-service/src/main/resources/mybatis/mapper/BuyerMapper.xml +++ b/order-management-base-service/src/main/resources/mybatis/mapper/BuyerMapper.xml @@ -396,6 +396,183 @@ + + + + INSERT INTO buyer_manage_info + + + id, + + + taxpayer_code, + + + purchase_name, + + + address, + + + phone, + + + bank_of_deposit, + + + bank_number, + + + email, + + + sjh, + + + remarks, + + create_time, + modify_time, + + create_user_id, + + + modify_user_id, + + + ghf_qylx, + + + xhf_nsrsbh, + + + xhf_mc, + + + buyer_code, + + + invoice_name, + + + invoice_taxno, + + + mdm_multicode_json, + + + + + + #{id,jdbcType=VARCHAR}, + + #{taxpayerCode,jdbcType=VARCHAR}, + + #{purchaseName,jdbcType=VARCHAR}, + + #{address,jdbcType=VARCHAR}, + + #{phone,jdbcType=VARCHAR}, + + #{bankOfDeposit,jdbcType=VARCHAR}, + + #{bankNumber,jdbcType=VARCHAR}, + + #{email,jdbcType=VARCHAR}, + + #{sjh,jdbcType=VARCHAR}, + + #{remarks,jdbcType=VARCHAR}, + + + SYSDATE, + SYSDATE, + + + now(), + now(), + + + #{createUserId,jdbcType=VARCHAR}, + + #{modifyUserId,jdbcType=VARCHAR}, + + #{ghfQylx,jdbcType=VARCHAR}, + + #{xhfNsrsbh,jdbcType=VARCHAR}, + + #{xhfMc,jdbcType=VARCHAR}, + + #{buyerCode,jdbcType=VARCHAR}, + + #{invoiceName,jdbcType=VARCHAR}, + + #{invoiceTaxno,jdbcType=VARCHAR}, + + #{mdmMulticodeJson,jdbcType=VARCHAR}, + + + on duplicate key update + + id = VALUES(id), + + + taxpayer_code = VALUES(taxpayer_code), + + + purchase_name = VALUES(purchase_name), + + + address = VALUES(address), + + + phone = VALUES(phone), + + + bank_of_deposit = VALUES(bank_of_deposit), + + + bank_number = VALUES(bank_number), + + + email = VALUES(email), + + + sjh = VALUES(sjh), + + + remarks = VALUES(remarks), + + create_time = VALUES(create_time), + modify_time = VALUES(modify_time), + + create_user_id = VALUES(create_user_id), + + + modify_user_id = VALUES(modify_user_id), + + + ghf_qylx = VALUES(ghf_qylx), + + + xhf_nsrsbh = VALUES(xhf_nsrsbh), + + + xhf_mc = VALUES(xhf_mc), + + + buyer_code = VALUES(buyer_code), + + + invoice_name = VALUES(invoice_name), + + + invoice_taxno = VALUES(invoice_taxno), + + + mdm_multicode_json = VALUES(mdm_multicode_json) + + INSERT INTO buyer_manage_info ( id, diff --git a/order-management-base-service/src/main/resources/mybatis/mapper/GroupTaxClassCodeMapper.xml b/order-management-base-service/src/main/resources/mybatis/mapper/GroupTaxClassCodeMapper.xml index 52e60d5b..d440078e 100644 --- a/order-management-base-service/src/main/resources/mybatis/mapper/GroupTaxClassCodeMapper.xml +++ b/order-management-base-service/src/main/resources/mybatis/mapper/GroupTaxClassCodeMapper.xml @@ -71,6 +71,48 @@ #{groupId,jdbcType=VARCHAR}, #{taxClassAbbreviation,jdbcType=VARCHAR}, #{differenceFlag,jdbcType=VARCHAR}, #{description,jdbcType=VARCHAR}) + + + 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) + diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestSDEnregy.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestSDEnregy.java index 0c3206fb..8afb6f12 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestSDEnregy.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/api/InvoiceRestSDEnregy.java @@ -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 ""; + } + /** * 将客商信息同步入库 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 592e0b50..55092ab5 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,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 mdmGmfxxtbReqBOS, String requestBody) { // 存表 - List list = new ArrayList<>(); + List 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 mdmGmfxxtbReqBOS, String requestBody) { - List list = new ArrayList<>(); + List 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());