From 158ef0f443b9f36f8beb44853ed1f39449c45c1d Mon Sep 17 00:00:00 2001
From: yangyang
Date: 星期五, 21 三月 2025 10:55:37 +0800
Subject: [PATCH] #修改 1. 动态扩展字段优化 2. 物料优化
---
rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java | 37 ++++++-----
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java | 2
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java | 4 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java | 43 +++++++++-----
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasController.java | 20 ++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java | 5 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocTypeController.java | 3 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java | 2
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocType.java | 6 ++
9 files changed, 85 insertions(+), 37 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java
index 7b53065..0f7f8ae 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/utils/FieldsUtils.java
@@ -118,23 +118,26 @@
String index = fieldsIndex.toString();
FieldsItemService fieldsItemService = SpringUtils.getBean(FieldsItemService.class);
for (Fields field : fields) {
- if (!Objects.isNull(params.get(field.getFields()))) {
- FieldsItem indexItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>()
- .eq(FieldsItem::getUuid, index)
- .eq(FieldsItem::getFieldsId, field.getId()));
- //濡傛灉瀛愯〃涓虹┖锛屾墽琛屾彃鍏ユ搷浣滐紝鍚﹀垯灏辨墽琛屼慨鏀规搷浣�
- if (Objects.isNull(indexItem)) {
- FieldsItem item = new FieldsItem();
- item.setUuid(index)
- .setFieldsId(field.getId())
- .setValue(params.get(field.getFields()).toString());
- if (fieldsItemService.save(item)) {
- throw new CoolException("鎵╁睍瀛楁淇敼澶辫触锛侊紒");
- }
- } else {
- indexItem.setValue(params.get(field.getFields()).toString());
- if (fieldsItemService.updateById(indexItem)) {
- throw new CoolException("鎵╁睍瀛楁淇敼澶辫触锛侊紒");
+ Map<String, String> extendFields = (Map<String, String>) params.get("extendFields");
+ if (!Objects.isNull(extendFields)) {
+ if (!Objects.isNull(extendFields.get(field.getFields()))) {
+ FieldsItem indexItem = fieldsItemService.getOne(new LambdaQueryWrapper<FieldsItem>()
+ .eq(FieldsItem::getUuid, index)
+ .eq(FieldsItem::getFieldsId, field.getId()));
+ //濡傛灉瀛愯〃涓虹┖锛屾墽琛屾彃鍏ユ搷浣滐紝鍚﹀垯灏辨墽琛屼慨鏀规搷浣�
+ if (Objects.isNull(indexItem)) {
+ FieldsItem item = new FieldsItem();
+ item.setUuid(index)
+ .setFieldsId(field.getId())
+ .setValue(extendFields.get(field.getFields()).toString());
+ if (!fieldsItemService.save(item)) {
+ throw new CoolException("鎵╁睍瀛楁淇敼澶辫触锛侊紒");
+ }
+ } else {
+ indexItem.setValue(extendFields.get(field.getFields()).toString());
+ if (!fieldsItemService.updateById(indexItem)) {
+ throw new CoolException("鎵╁睍瀛楁淇敼澶辫触锛侊紒");
+ }
}
}
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocTypeController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocTypeController.java
index 5d498ce..f54383d 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocTypeController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocTypeController.java
@@ -59,6 +59,9 @@
if (Objects.isNull(locType.getName())) {
throw new CoolException("搴撲綅绫诲瀷涓嶈兘涓虹┖锛侊紒");
}
+ if (Objects.isNull(locType.getCode())) {
+ throw new CoolException("搴撲綅缂栫爜涓嶄负绌猴紒锛�");
+ }
if (Objects.isNull(locType.getRegex())) {
throw new CoolException("搴撲綅瑙勫垯琛ㄨ揪寮忎笉鑳戒负绌猴紒锛�");
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java
index 098d840..1a763ae 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java
@@ -62,11 +62,10 @@
return R.ok().add(matnrService.listByIds(Arrays.asList(ids)));
}
-
@PreAuthorize("hasAuthority('manager:matnr:list')")
@GetMapping("/matnr/{id}")
public R get(@PathVariable("id") Long id) {
- return R.ok().add(matnrService.getById(id));
+ return R.ok(matnrService.selectMatnrById(id));
}
@PreAuthorize("hasAuthority('manager:matnr:save')")
@@ -105,6 +104,8 @@
return R.error("Update Fail");
}
if (!FieldsUtils.getFieldsSta().isEmpty()) {
+ Matnr matnr1 = matnrService.getById(matnr.getId());
+ params.put("fieldsIndex", matnr1.getFieldsIndex());
FieldsUtils.updateFieldsValue(params);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasController.java
index e23db73..ccb02ff 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasController.java
@@ -28,6 +28,7 @@
@Autowired
private WarehouseAreasService warehouseAreasService;
+ @Autowired
private LocService locService;
@PreAuthorize("hasAuthority('manager:warehouseAreas:list')")
@@ -60,6 +61,25 @@
@OperationLog("Create 搴撳尯淇℃伅琛�")
@PostMapping("/warehouseAreas/save")
public R save(@RequestBody WarehouseAreas warehouseAreas) {
+
+ if (Objects.isNull(warehouseAreas)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ if (Objects.isNull(warehouseAreas.getName())) {
+ throw new CoolException("搴撳尯鍚嶇О涓嶈兘涓虹┖锛侊紒");
+ }
+ if (Objects.isNull(warehouseAreas.getCode())) {
+ throw new CoolException("搴撳尯缂栫爜涓嶈兘涓虹┖锛侊紒");
+ }
+
+ List<WarehouseAreas> list = warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getName, warehouseAreas.getName()));
+ if (!list.isEmpty()) {
+ throw new CoolException("搴撳尯鍚嶇О宸插瓨鍦紒锛�");
+ }
+ if (!warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getCode, warehouseAreas.getCode())).isEmpty()) {
+ throw new CoolException("搴撳尯缂栫爜宸插瓨鍦紒锛�");
+ }
+
warehouseAreas.setCreateBy(getLoginUserId());
warehouseAreas.setUpdateBy(getLoginUserId());
if (!warehouseAreasService.save(warehouseAreas)) {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocType.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocType.java
index 5f755c4..c76d759 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocType.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocType.java
@@ -35,6 +35,12 @@
private Long id;
/**
+ * 缂栫爜
+ */
+ @ApiModelProperty("缂栫爜")
+ private String code;
+
+ /**
* 鏍囪瘑
*/
@ApiModelProperty(value= "鏍囪瘑")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java
index 02bf4be..c697ea4 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Matnr.java
@@ -388,7 +388,7 @@
}
}
- public String getIsLabelMange$(){
+ public String getFlagLabelMange$(){
if (null == this.flagLabelMange){ return null; }
switch (this.flagLabelMange){
case 0:
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java
index 5cb7c0c..7849783 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java
@@ -16,5 +16,7 @@
R saveMatnrs(Map<String, Object> matnr);
- IPage<Map<String, Object>> getMatnrPage(PageParam<Matnr, BaseParam> pageParam);
+ PageParam<Matnr, BaseParam> getMatnrPage(PageParam<Matnr, BaseParam> pageParam);
+
+ Matnr selectMatnrById(Long id);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
index 57391e6..b363b77 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
@@ -54,6 +54,8 @@
boolean update = this.update(new LambdaUpdateWrapper<Loc>()
.in(Loc::getId, locs.getId())
.eq(Loc::getStatus, 1)
+ .set(!Objects.isNull(loc.getAreaId()), Loc::getAreaId, loc.getAreaId())
+ .set(!Objects.isNull(loc.getWarehouseId()), Loc::getWarehouseId, loc.getWarehouseId())
.set(!Objects.isNull(loc.getUseStatus()), Loc::getUseStatus, loc.getUseStatus())
.set(!Objects.isNull(loc.getType()), Loc::getType, loc.getType())
.set(!Objects.isNull(loc.getLength()), Loc::getLength, loc.getLength())
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 1c875d1..95d8391 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
@@ -99,7 +99,7 @@
}
@Override
- public IPage<Map<String, Object>> getMatnrPage(PageParam<Matnr, BaseParam> pageParam) {
+ public PageParam<Matnr, BaseParam> getMatnrPage(PageParam<Matnr, BaseParam> pageParam) {
IPage<Map<String, Object>> reulst = this.baseMapper.selectMatnrs(pageParam, pageParam.buildWrapper(true));
/**鑾峰彇鐗╂枡鍒嗛〉淇℃伅 */
List<Map<String, Object>> mapList = reulst.getRecords();
@@ -110,17 +110,30 @@
}
});
}
- List<Matnr> matnrs = JSONArray.parseArray(JSON.toJSONString(mapList), Matnr.class);
-// PageParam<Matnr, BaseParam> page = this.page(pageParam, pageParam.buildWrapper(true));
-// List<Matnr> records = page.getRecords();
-// for (Matnr record : records) {
-// if (!Objects.isNull(record.getFieldsIndex())) {
-// Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex());
-// record.setExtendFields(fields);
-// }
-// }
-// page.setRecords(records);
- return reulst;
+
+ PageParam<Matnr, BaseParam> page = this.page(pageParam, pageParam.buildWrapper(true));
+ List<Matnr> records = page.getRecords();
+ for (Matnr record : records) {
+ if (!Objects.isNull(record.getFieldsIndex())) {
+ Map<String, String> fields = FieldsUtils.getFields(record.getFieldsIndex());
+ record.setExtendFields(fields);
+ }
+ }
+ page.setRecords(records);
+ return page;
+ }
+
+ @Override
+ public Matnr selectMatnrById(Long id) {
+ Matnr matnr = this.baseMapper.selectById(id);
+ if (Objects.isNull(matnr)) {
+ throw new CoolException("褰撳墠鐗╂枡涓嶅瓨鍦紒锛�");
+ }
+ if (!Objects.isNull(matnr.getFieldsIndex())) {
+ Map<String, String> fields = FieldsUtils.getFields(matnr.getFieldsIndex());
+ matnr.setExtendFields(fields);
+ }
+ return matnr;
}
/**
@@ -134,8 +147,6 @@
Matnr matnr1 = JSONObject.parseObject(JSONObject.toJSONString(matnr), Matnr.class);
if (Objects.isNull(matnr1.getCode())) {
String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_MATNR_CODE, null);
- System.out.println("=========>");
- System.out.println(ruleCode);
matnr1.setCode(ruleCode);
}
/**
@@ -146,9 +157,9 @@
FieldsUtils.saveFields(matnr, uuid16);
matnr1.setFieldsIndex(uuid16);
}
- if (!this.save(matnr1)) {
+ if (!this.saveOrUpdate(matnr1)) {
return R.error("Save Fail");
}
- return R.ok("淇濆瓨鎴愬姛!!");
+ return R.ok(matnr1);
}
}
--
Gitblit v1.9.1