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/impl/ReceiveMsgServiceImpl.java | 38 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 deletions(-) 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