From 52d78628a70d6aa129f874050b7846d259819554 Mon Sep 17 00:00:00 2001 From: skyouc <958836976@qq.com> Date: 星期三, 15 十月 2025 08:54:19 +0800 Subject: [PATCH] 物料同步接口优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java | 75 +++++++++++++++++++++++++------------ 1 files changed, 50 insertions(+), 25 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java index fa494fc..524ce11 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java @@ -6,7 +6,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.common.domain.BaseParam; @@ -17,12 +16,14 @@ import com.vincent.rsf.server.manager.controller.params.MatnrToGroupParams; import com.vincent.rsf.server.manager.entity.MatnrGroup; import com.vincent.rsf.server.manager.entity.excel.MatnrsTemplate; +import com.vincent.rsf.server.manager.enums.MatnrLocLevel; import com.vincent.rsf.server.manager.mapper.MatnrMapper; import com.vincent.rsf.server.manager.entity.Matnr; import com.vincent.rsf.server.manager.service.MatnrGroupService; import com.vincent.rsf.server.manager.service.MatnrService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.vincent.rsf.server.system.constant.SerialRuleCode; +import com.vincent.rsf.server.system.service.FieldsService; import com.vincent.rsf.server.system.utils.SerialRuleUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -41,6 +42,9 @@ @Autowired private MatnrGroupService matnrGroupService; + @Autowired + private FieldsService fieldsService; + /** * @return * @throws @@ -56,13 +60,33 @@ if (result.getList().isEmpty()) { throw new CoolException("鐗╂枡瀵煎叆澶辫触锛侊紒"); } - List<Matnr> matnrs = new ArrayList<>(); + List<MatnrsTemplate> list = result.getList(); + /** + * 鑾峰彇瀵煎叆鐗╂枡妯℃澘 + */ + List<Matnr> matnrs = getMatnrTempletes(list); + + if (!this.saveBatch(matnrs)) { + throw new CoolException("瀵煎叆澶辫触锛侊紒"); + } + return R.ok("瀵煎叆鎴愬姛锛侊紒"); + } + + /** + * 鑾峰彇鐗╂枡妯℃澘淇℃伅 + * @param list + * @return + */ + @Override + public List<Matnr> getMatnrTempletes(List<MatnrsTemplate> list) { + List<Matnr> matnrs = new ArrayList<>(); list.forEach(template -> { Matnr matnr = new Matnr(); matnr.setBarcode(template.getBarcode()) .setCode(template.getCode()) .setName(template.getName()) + .setId(null) .setDescrible(template.getDescrible()) .setColor(template.getColor()) .setFlagCheck(!Objects.isNull(template.getFlagCheck()) ? Short.parseShort(template.getFlagCheck()) : 0) @@ -71,43 +95,44 @@ .setValid(!Objects.isNull(template.getValid()) ? Integer.parseInt( template.getValid()) : 0) .setUnit(template.getUnit()) .setStockUnit(template.getPurUnit()) - .setShipperId(template.getShipperId()) .setSize(template.getSize()) .setSpec(template.getSpec()) .setStagn(!Objects.isNull(template.getStagn()) ? Integer.parseInt(template.getStagn()) : 0) .setModel(template.getModel()) .setGroupCode(template.getGroupCode()) .setPurUnit(template.getPurUnit()) - .setStockLevel(!Objects.isNull(template.getStockLevel()) ? Short.parseShort(template.getStockLevel()) : 0) + .setStockLevel(!Objects.isNull(template.getStockLevel()) ? MatnrLocLevel.getTypeVal(template.getStockLevel()) : null) .setSafeQty(!Objects.isNull(template.getSafeQty()) ? Double.parseDouble(template.getSafeQty()) : 0) .setMinQty(!Objects.isNull(template.getMinQty()) ? Double.parseDouble(template.getMinQty()) : 0); - if (Objects.isNull(template.getGroupCode()) && Objects.isNull(template.getGroupName())) { + if (!Objects.isNull(template.getGroupCode()) || !Objects.isNull(template.getGroupName())) { MatnrGroup matnrGroups = matnrGroupService.getOne(new LambdaQueryWrapper<MatnrGroup>() .eq(!Objects.isNull(template.getGroupCode()), MatnrGroup::getCode, template.getGroupCode()) - .eq(!Objects.isNull(template.getGroupName()),MatnrGroup::getName, template.getGroupName())); - matnr.setGroupId(matnrGroups.getId()); - } - //鑾峰彇鍔ㄦ�佸瓧娈碉紝骞朵繚瀛樻槑缁嗗唴瀹� - if (!FieldsUtils.getFieldsSta().isEmpty()) { - //淇濆瓨鐗╂枡鎵╁睍灞炴�у�� - try { - Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(template), Map.class); - String uuid = CommonUtil.randomUUID16(); - boolean b = FieldsUtils.saveFields(map, uuid); - if (b) { - matnr.setFieldsIndex(uuid); - } - } catch (Exception e) { - throw new RuntimeException(e); + .eq(!Objects.isNull(template.getGroupName()), MatnrGroup::getName, template.getGroupName())); + if (!Objects.isNull(matnrGroups)) { + matnr.setGroupId(matnrGroups.getId()).setGroupCode(matnrGroups.getCode()); } } +// List<Fields> fields = fieldsService.list(new LambdaQueryWrapper<Fields>() +// .eq(Fields::getUnique, CommonStatus.COMMONSTATUS_NO.val) +// .eq(Fields::getFlagEnable, CommonStatus.COMMONSTATUS_YES.val)); +// +// //鑾峰彇鍔ㄦ�佸瓧娈碉紝骞朵繚瀛樻槑缁嗗唴瀹� +// if (!fields.isEmpty()) { +// //淇濆瓨鐗╂枡鎵╁睍灞炴�у�� +// try { +// Map<String, Object> map = JSONObject.parseObject(JSONObject.toJSONString(template), Map.class); +// String uuid = CommonUtil.randomUUID16(); +// boolean b = FieldsUtils.saveFields(map, uuid); +// if (b) { +// matnr.setFieldsIndex(uuid); +// } +// } catch (Exception e) { +// throw new RuntimeException(e); +// } +// } matnrs.add(matnr); }); - - if (!this.saveBatch(matnrs)) { - throw new CoolException("瀵煎叆澶辫触锛侊紒"); - } - return R.ok("瀵煎叆鎴愬姛锛侊紒"); + return matnrs; } @Override -- Gitblit v1.9.1