From 1d4635f49d7c96abeb3454784f05b48612fa4165 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 31 十月 2025 10:17:18 +0800
Subject: [PATCH] ERP单据查询功能优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java | 100 ++++++++++++++++++++++++++++++++------------------
1 files changed, 64 insertions(+), 36 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..34c5ea3 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,64 +95,68 @@
.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
public PageParam<Matnr, BaseParam> getMatnrPage(PageParam<Matnr, BaseParam> pageParam, Map<String, Object> params) {
List<Long> longs = new ArrayList<>();
if (params.containsKey("groupId")) {
- Object groupId = params.get("groupId");
- MatnrGroup group = matnrGroupService.getById(groupId.toString());
- if (null != group){
- pageParam.getWhere().getMap().remove("groupId");
- if(!group.getCode().equals("01")){
- List<MatnrGroup> matnrGroups = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>()
- .eq(MatnrGroup::getParentId, Long.parseLong(groupId.toString()))
- .select(MatnrGroup::getId));
- if (!matnrGroups.isEmpty()) {
- longs = matnrGroups.stream().map(MatnrGroup::getId).collect(Collectors.toList());
+ if (!Objects.isNull(params.get("groupId"))) {
+ Object groupId = params.get("groupId");
+ MatnrGroup group = matnrGroupService.getById(groupId.toString());
+ if (null != group){
+ pageParam.getWhere().getMap().remove("groupId");
+ if(!group.getCode().equals("01")){
+ List<MatnrGroup> matnrGroups = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>()
+ .eq(MatnrGroup::getParentId, Long.parseLong(groupId.toString()))
+ .select(MatnrGroup::getId));
+ if (!matnrGroups.isEmpty()) {
+ longs = matnrGroups.stream().map(MatnrGroup::getId).collect(Collectors.toList());
+ }
+ longs.add(group.getId());
}
- longs.add(group.getId());
}
}
+
}
QueryWrapper<Matnr> queryWrapper = pageParam.buildWrapper(true);
queryWrapper.in(!longs.isEmpty(),"group_id", longs);
--
Gitblit v1.9.1