diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/buyer/domain/BuyerEntityExcel.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/buyer/domain/BuyerEntityExcel.java new file mode 100644 index 00000000..1b097fd5 --- /dev/null +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/buyer/domain/BuyerEntityExcel.java @@ -0,0 +1,71 @@ +package com.dxhy.order.consumer.modules.buyer.domain; + + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.fastjson.annotation.JSONField; +import lombok.Data; + +@Data +public class BuyerEntityExcel { + + // 主编码的值 + @ExcelProperty("CODE") + private String CODE; + + // 业务伙伴全称的值 + @ExcelProperty("DESC1") + private String DESC1; + + // 法人代表的值 + @ExcelProperty("DESC12") + private String DESC12; + + // 统一社会信用代码(税号)的值 + @ExcelProperty("DESC14") + private String DESC14; + + // 省份的值 + @ExcelProperty("DESC22") + private String DESC22; + + // 城市的值 + @ExcelProperty("DESC23") + private String DESC23; + + // 街道/门牌号的值 + @ExcelProperty("DESC24") + private String DESC24; + + // 公司电话的值 + @ExcelProperty("DESC26") + private String DESC26; + + // 手机号 + @ExcelProperty("DESC27") + private String DESC27; + + // 邮箱 + @ExcelProperty("DESC29") + private String DESC29; + + // 是否客户的值 + @ExcelProperty("DESC38") + private String DESC38; + + // 是否供应商的值 + @ExcelProperty("DESC39") + private String DESC39; + + // 开票名称的值 + @ExcelProperty("DESC48") + private String DESC48; + + // 开票税号的值 + @ExcelProperty("DESC49") + private String DESC49; + + @ExcelIgnore + @JSONField(name = "MULTICODE") + private BuyerEntityYhItemExcel MULTICODE; +} diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/buyer/domain/BuyerEntityYhItemExcel.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/buyer/domain/BuyerEntityYhItemExcel.java new file mode 100644 index 00000000..4fca04ed --- /dev/null +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/modules/buyer/domain/BuyerEntityYhItemExcel.java @@ -0,0 +1,25 @@ +package com.dxhy.order.consumer.modules.buyer.domain; + + +import com.alibaba.excel.annotation.ExcelIgnore; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +@Data +public class BuyerEntityYhItemExcel { + + // 银行名称的值 + @ExcelProperty("DESC3") + private String DESC3; + // 银行账号的值 + @ExcelProperty("DESC4") + private String DESC4; + // 节点编码的值 + @ExcelProperty("LISTCODE") + private String LISTCODE; + // A4 + @ExcelIgnore + private String SPECIALITYCODE; + @ExcelProperty("CODEID") + private String CODEID; +} 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 index 34606ee7..a3ebdb03 100644 --- 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 @@ -3,11 +3,16 @@ package com.dxhy.order.consumer.modules.commodity.controller; import com.alibaba.excel.EasyExcel; import com.alibaba.fastjson.JSONObject; import com.dxhy.order.baseservice.module.base.service.BaseService; +import com.dxhy.order.consumer.modules.buyer.domain.BuyerEntityExcel; +import com.dxhy.order.consumer.modules.buyer.domain.BuyerEntityYhItemExcel; import com.dxhy.order.consumer.modules.commodity.domain.dto.CommodityCodeEntityExcel; 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.domain.dto.SyncGroupCommodityDTO; import com.dxhy.order.consumer.modules.commodity.service.IGroupCommodityCodeService; +import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbMulticodeBO; +import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbMulticodeValuelistBO; +import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmGmfxxtbReqBO; import com.dxhy.order.consumer.openapi.protocol.v6.sdenergy.MdmSyncGroupTaxCodeReqBO; import com.dxhy.order.consumer.openapi.service.ISDEnregyService; import com.dxhy.order.model.PageUtils; @@ -22,6 +27,8 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.IOException; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Description 集团物料库 @@ -69,7 +76,7 @@ public class GroupCommodityCodeController { } @RequestMapping("/uploadGroupCommodityDTO") - public R emailUpload(@RequestParam(value = "file") MultipartFile file) { + public R uploadGroupCommodityDTO(@RequestParam(value = "file") MultipartFile file) { try { List entityExcelList = EasyExcel.read(file.getInputStream()).sheet().head(CommodityCodeEntityExcel.class).headRowNumber(1).doReadSync(); log.info("解析的数据:{}", JSONObject.toJSONString(entityExcelList)); @@ -94,4 +101,56 @@ public class GroupCommodityCodeController { throw new RuntimeException(e); } } + + @RequestMapping("/uploadBuyerInfo") + public R uploadBuyerInfo(@RequestParam(value = "file") MultipartFile file) { + try { + List buyerEntityExcels = EasyExcel.read(file.getInputStream()).sheet(0).head(BuyerEntityExcel.class).headRowNumber(1).doReadSync(); + List buyerEntityYhItemExcels = EasyExcel.read(file.getInputStream()).sheet(1).head(BuyerEntityYhItemExcel.class).headRowNumber(1).doReadSync(); + log.info("解析的数据:{}", JSONObject.toJSONString(buyerEntityExcels)); + if (buyerEntityExcels == null || buyerEntityExcels.isEmpty() || buyerEntityYhItemExcels == null || !buyerEntityYhItemExcels.isEmpty()) { + return R.error("数据解析失败"); + } + Map> listMap = buyerEntityYhItemExcels.stream().collect(Collectors.groupingBy(BuyerEntityYhItemExcel::getCODEID)); + List reqBOList = Lists.newArrayList(); + for (BuyerEntityExcel buyerEntity : buyerEntityExcels) { + MdmGmfxxtbReqBO reqBO = new MdmGmfxxtbReqBO(); + reqBO.setCODE(buyerEntity.getCODE()); + reqBO.setDESC1(buyerEntity.getDESC1()); + reqBO.setDESC12(buyerEntity.getDESC12()); + reqBO.setDESC14(buyerEntity.getDESC14()); + reqBO.setDESC22(buyerEntity.getDESC22()); + reqBO.setDESC23(buyerEntity.getDESC23()); + reqBO.setDESC24(buyerEntity.getDESC24()); + reqBO.setDESC26(buyerEntity.getDESC26()); + reqBO.setDESC38(buyerEntity.getDESC38()); + reqBO.setDESC39(buyerEntity.getDESC39()); + reqBO.setDESC48(buyerEntity.getDESC48()); + reqBO.setDESC49(buyerEntity.getDESC49()); + reqBO.setDESC27(buyerEntity.getDESC27()); + reqBO.setDESC29(buyerEntity.getDESC29()); + List itemExcels = listMap.get(buyerEntity.getCODE()); + if (itemExcels != null) { + MdmGmfxxtbMulticodeBO multicodeBO = new MdmGmfxxtbMulticodeBO(); + List itemExces = Lists.newArrayList(); + for (BuyerEntityYhItemExcel itemExcel : itemExcels) { + MdmGmfxxtbMulticodeValuelistBO valuelistBO = new MdmGmfxxtbMulticodeValuelistBO(); + valuelistBO.setDESC3(itemExcel.getDESC3()); + valuelistBO.setDESC4(itemExcel.getDESC4()); + valuelistBO.setLISTCODE(itemExcel.getLISTCODE()); + valuelistBO.setSPECIALITYCODE(""); + itemExces.add(valuelistBO); + } + multicodeBO.setVALUELIST(itemExces); + reqBO.setMULTICODE(multicodeBO); + } + reqBO.setUUID(baseService.getGenerateShotKey()); + reqBOList.add(reqBO); + } + String str = sdEnregyService.syncBuyerMessageService(reqBOList); + return R.ok().put("data",str); + } catch (IOException e) { + throw new RuntimeException(e); + } + } } diff --git a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/ISDEnregyService.java b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/ISDEnregyService.java index db4bb2a4..d602fcbf 100644 --- a/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/ISDEnregyService.java +++ b/order-management-consumer/src/main/java/com/dxhy/order/consumer/openapi/service/ISDEnregyService.java @@ -65,6 +65,7 @@ public interface ISDEnregyService { * @return */ public R proactiveSyncMdmBuyer(String code); + String syncBuyerMessageService(List mdmGmfxxtbReqBOS); public SDEnergyMdmBaseBO buildResult(SDEnergyMdmBaseBO baseBO, List respList, Function handleFunction); } 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 f466b10c..1f24ceb9 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 @@ -183,23 +183,26 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { list.add(entity); } - SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(requestBody, SDEnergyMdmBaseBO.class); - SDEnergyMdmBaseBO result = buildResult( - baseBO, - list, - i -> { - BuyerEntity t = (BuyerEntity) i; - SDEnergyMdmBaseRespBO resp = new SDEnergyMdmBaseRespBO(); - resp.setCODE(t.getBuyerCode()); - resp.setUUID(t.getUUID()); - resp.setSYNSTATUS(t.getSuccess() ? "0" : "1"); - resp.setSYNRESULT(t.getSuccess() ? "success" : "failed"); - return resp; - } - ); + String respStr = ""; + if(StringUtils.isNotBlank(requestBody)){ + SDEnergyMdmBaseBO baseBO = JSONObject.parseObject(requestBody, SDEnergyMdmBaseBO.class); + SDEnergyMdmBaseBO result = buildResult( + baseBO, + list, + i -> { + BuyerEntity t = (BuyerEntity) i; + SDEnergyMdmBaseRespBO resp = new SDEnergyMdmBaseRespBO(); + resp.setCODE(t.getBuyerCode()); + resp.setUUID(t.getUUID()); + resp.setSYNSTATUS(t.getSuccess() ? "0" : "1"); + resp.setSYNRESULT(t.getSuccess() ? "success" : "failed"); + return resp; + } + ); + respStr = JsonUtils.getInstance().toJsonStringNullToEmpty(result); + } - String resp = JsonUtils.getInstance().toJsonStringNullToEmpty(result); - return AjaxResult.success("success", resp); + return AjaxResult.success("success", respStr); } /** * 集团物料同步接口 @@ -465,6 +468,17 @@ public class SDEnregyServiceImpl extends SDEnregyServiceAbstract { } } + @Override + public String syncBuyerMessageService(List mdmGmfxxtbReqBOS){ + AjaxResult syncResult = this.syncBuyerMessage(mdmGmfxxtbReqBOS,null); + if (syncResult.isSuccess()) { + return ""; + } else { +// return R.error(); + return null; + } + } + /** * 主动同步购方信息 *