From 55331431565cffc4328bbbe83533e1e11da3ffd6 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 15 八月 2025 13:33:59 +0800
Subject: [PATCH] 基础物料同步接口
---
rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java | 2 ++
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 38 ++++++++++++++++++++++++++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/ReceiveMsgController.java | 14 ++++++++++++--
3 files changed, 52 insertions(+), 2 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/ReceiveMsgController.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/ReceiveMsgController.java
index e38d229..8786bd7 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/ReceiveMsgController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/controller/ReceiveMsgController.java
@@ -5,12 +5,15 @@
import com.vincent.rsf.server.api.controller.params.OrderParams;
import com.vincent.rsf.server.api.service.ReceiveMsgService;
import com.vincent.rsf.server.common.utils.ExcelUtil;
+import com.vincent.rsf.server.manager.entity.Matnr;
import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
import com.vincent.rsf.server.manager.entity.excel.MatnrsTemplate;
+import com.vincent.rsf.server.manager.service.MatnrGroupService;
import com.vincent.rsf.server.manager.service.MatnrService;
import com.vincent.rsf.server.system.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -21,6 +24,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
/**
* @author Ryan
@@ -38,6 +42,7 @@
private ReceiveMsgService receiveMsgService;
@Autowired
private MatnrService matnrService;
+
/**
* @author Ryan
@@ -72,7 +77,7 @@
AsnOrderTemplate template = ExcelUtil.mockData(AsnOrderTemplate.class);
List<AsnOrderTemplate> list = new ArrayList<>();
list.add(template);
- ExcelUtil.build(ExcelUtil.create(list, AsnOrderTemplate.class), response);
+ ExcelUtil.build(ExcelUtil.create(list, AsnOrderTemplate.class), response);
System.out.println(template);
// return R.ok();
}
@@ -80,8 +85,13 @@
@ApiOperation("鍩虹鐗╂枡淇℃伅鍚屾")
@PostMapping("/sync/base/matnrs")
public R syncMatnrs(@RequestBody List<BaseMatParms> matnrs) {
-
+ if (Objects.isNull(matnrs)) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖锛�1");
+ }
+ receiveMsgService.syncMatnrs(matnrs);
return R.ok();
}
+ public R syc
+
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
index 787a028..d1eb12d 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
@@ -1,6 +1,7 @@
package com.vincent.rsf.server.api.service;
+import com.vincent.rsf.server.api.controller.params.BaseMatParms;
import com.vincent.rsf.server.api.controller.params.OrderParams;
import com.vincent.rsf.server.api.entity.dto.PoItemsDto;
@@ -22,4 +23,5 @@
*/
boolean syncPurchasee(List<OrderParams> orders);
+ void syncMatnrs(List<BaseMatParms> matnrs);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index 5440f0c..46eb8f1 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -3,10 +3,15 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.api.controller.params.BaseMatParms;
+import com.vincent.rsf.server.manager.entity.Matnr;
+import com.vincent.rsf.server.manager.entity.MatnrGroup;
import com.vincent.rsf.server.manager.enums.OrderType;
import com.vincent.rsf.server.manager.entity.PurchaseItem;
+import com.vincent.rsf.server.manager.service.MatnrGroupService;
import com.vincent.rsf.server.manager.service.PurchaseItemService;
import com.vincent.rsf.server.manager.service.PurchaseService;
+import com.vincent.rsf.server.manager.service.impl.MatnrServiceImpl;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
import com.vincent.rsf.server.api.controller.params.OrderParams;
import com.vincent.rsf.server.system.entity.Fields;
@@ -42,6 +47,10 @@
private FieldsService fieldsService;
@Autowired
private FieldsItemService fieldsItemService;
+ @Autowired
+ private MatnrGroupService matnrGroupService;
+ @Autowired
+ private MatnrServiceImpl matnrService;
@Override
@Transactional(rollbackFor = Exception.class)
@@ -86,6 +95,35 @@
return true;
}
+ /**
+ * 鐗╂枡淇℃伅鍚屾
+ * @param matnrs
+ */
+ @Override
+ public void syncMatnrs(List<BaseMatParms> matnrs) {
+ List<Matnr> syncMatnrs = new ArrayList<>();
+ if (!matnrs.isEmpty()) {
+ matnrs.forEach(matnr -> {
+ Matnr mat = new Matnr();
+ if (Objects.isNull(matnr.getMatnr())) {
+ throw new RuntimeException("鐗╂枡缂栫爜涓嶈兘涓虹┖锛侊紒");
+ }
+ BeanUtils.copyProperties(matnr, mat);
+ mat.setCode(matnr.getMatnr()).setName(matnr.getMaktx());
+ if (!Objects.isNull(matnr.getGroupName())) {
+ MatnrGroup matnrGroup = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getName, matnr.getGroupName()), false);
+ if (Objects.isNull(matnrGroup)) {
+ mat.setGroupCode(matnrGroup.getCode()).setGroupId(matnrGroup.getId());
+ }
+ }
+ syncMatnrs.add(mat);
+ });
+
+ if (!matnrService.saveOrUpdateBatch(syncMatnrs)) {
+ throw new CoolException("鐗╂枡淇℃伅淇濆瓨鎴愬姛锛侊紒");
+ }
+ }
+ }
}
--
Gitblit v1.9.1