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 | 40 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 39 insertions(+), 1 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 73248a4..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) @@ -54,7 +63,7 @@ BeanUtils.copyProperties(ors, purchase); String wkVal = SerialRuleUtils.generateRuleCode(SerialRuleCode.PURCHASE_CODE, purchase); purchase.setCode(wkVal) - .setType(OrderType.ORDER_PURCHASE_IN.type); + .setType(OrderType.ORDER_IN.type); if (!purchaseService.save(purchase)) { throw new CoolException("閲囪喘鍗曟嵁淇濆瓨澶辫触"); } @@ -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