From e98e114ff8765ca1ffbd6dda167e35d18b72f5d4 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期一, 24 三月 2025 16:34:07 +0800
Subject: [PATCH] 代码优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocAreaMatRela.java | 6
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java | 15 -
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java | 32 ++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrGroupService.java | 4
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocAreaMatRelaServiceImpl.java | 115 +++++++++++++++-
rsf-common/src/main/java/com/vincent/rsf/common/utils/Utils.java | 20 ++
/dev/null | 23 ---
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocAreaMatRelaController.java | 82 ++++++++++-
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocTypeRela.java | 38 +++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WarehouseAreasController.java | 8
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/DictTypeController.java | 14 +
rsf-server/src/main/resources/application.yml | 4
rsf-server/src/main/java/com/vincent/rsf/server/system/controller/DictDataController.java | 15 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/LocAreaMatsParam.java | 6
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocAreaMatRelaService.java | 14 ++
15 files changed, 334 insertions(+), 62 deletions(-)
diff --git a/rsf-common/src/main/java/com/vincent/rsf/common/utils/Utils.java b/rsf-common/src/main/java/com/vincent/rsf/common/utils/Utils.java
index 6123a36..008d82d 100644
--- a/rsf-common/src/main/java/com/vincent/rsf/common/utils/Utils.java
+++ b/rsf-common/src/main/java/com/vincent/rsf/common/utils/Utils.java
@@ -48,6 +48,26 @@
return result;
}
+ public static <T, R> List<T> getAllTree(List<T> data, R parentId, Function<? super T, ? extends R> parentIdMapper, Function<? super T, ? extends R> idMapper, BiConsumer<T, List<T>> consumer) {
+ List<T> result = new ArrayList<>();
+ for (T datum : data) {
+ R dParentId = parentIdMapper.apply(datum);
+ R dId = idMapper.apply(datum);
+ if (dParentId.equals(dId)) {
+ List<T> children = toTreeData(data, dId, parentIdMapper, idMapper, consumer);
+ if (!children.isEmpty()) {
+ consumer.accept(datum, children);
+ }
+ result.add(datum);
+ }
+ if (dParentId.equals(dId)) {
+ continue;
+ }
+ }
+ return result;
+ }
+
+
public static <T> void treeRemove(List<T> list, String condition, Function<? super T, ? extends String> fetcher, Function<T, List<T>> childrenGetter) {
Iterator<T> iterator = list.iterator();
while (iterator.hasNext()) {
diff --git a/rsf-server/src/main/java/asnOrderItemLog.sql b/rsf-server/src/main/java/asnOrderItemLog.sql
deleted file mode 100644
index 367ed6d..0000000
--- a/rsf-server/src/main/java/asnOrderItemLog.sql
+++ /dev/null
@@ -1,43 +0,0 @@
--- save asnOrderItemLog record
--- mysql
-insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.asnOrderItemLog', '0', '/manager/asnOrderItemLog', 'asnOrderItemLog', '0' , '0', '1' , '1');
-
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query Asn order logs', '', '1', 'manager:asnOrderItemLog:list', '0', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create Asn order logs', '', '1', 'manager:asnOrderItemLog:save', '1', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update Asn order logs', '', '1', 'manager:asnOrderItemLog:update', '2', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete Asn order logs', '', '1', 'manager:asnOrderItemLog:remove', '3', '1', '1');
-
--- locale menu name
-asnOrderItemLog: 'AsnOrderItemLog',
-
--- locale field
-asnOrderItemLog: {
- asnId: "asnId",
- asnCode: "asnCode",
- platItemId: "platItemId",
- poDetlId: "poDetlId",
- poCode: "poCode",
- fieldsIndex: "fieldsIndex",
- matnrId: "matnrId",
- matnrCode: "matnrCode",
- maktx: "maktx",
- anfme: "anfme",
- stockUnit: "stockUnit",
- purQty: "purQty",
- purUnit: "purUnit",
- qty: "qty",
- splrCode: "splrCode",
- splrBatch: "splrBatch",
- splrName: "splrName",
- qrcode: "qrcode",
- trackCode: "trackCode",
- barcode: "barcode",
- packName: "packName",
- ntyStatus: "ntyStatus",
-},
-
--- ResourceContent
-import asnOrderItemLog from './asnOrderItemLog';
-
-case 'asnOrderItemLog':
- return asnOrderItemLog;
diff --git a/rsf-server/src/main/java/asnOrderLog.sql b/rsf-server/src/main/java/asnOrderLog.sql
deleted file mode 100644
index 8ba0442..0000000
--- a/rsf-server/src/main/java/asnOrderLog.sql
+++ /dev/null
@@ -1,32 +0,0 @@
--- save asnOrderLog record
--- mysql
-insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.asnOrderLog', '0', '/manager/asnOrderLog', 'asnOrderLog', '0' , '0', '1' , '1');
-
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query Asn order logs', '', '1', 'manager:asnOrderLog:list', '0', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create Asn order logs', '', '1', 'manager:asnOrderLog:save', '1', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update Asn order logs', '', '1', 'manager:asnOrderLog:update', '2', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete Asn order logs', '', '1', 'manager:asnOrderLog:remove', '3', '1', '1');
-
--- locale menu name
-asnOrderLog: 'AsnOrderLog',
-
--- locale field
-asnOrderLog: {
- code: "code",
- poCode: "poCode",
- poId: "poId",
- type: "type",
- wkType: "wkType",
- anfme: "anfme",
- qty: "qty",
- logisNo: "logisNo",
- arrTime: "arrTime",
- rleStatus: "rleStatus",
- ntyStatus: "ntyStatus",
-},
-
--- ResourceContent
-import asnOrderLog from './asnOrderLog';
-
-case 'asnOrderLog':
- return asnOrderLog;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocAreaMatRelaController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocAreaMatRelaController.java
index 9c60d37..cd7a388 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocAreaMatRelaController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocAreaMatRelaController.java
@@ -16,6 +16,7 @@
import com.vincent.rsf.server.system.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -60,10 +61,9 @@
@OperationLog("Create loc areas mats rela")
@PostMapping("/locAreaMatRela/save")
public R save(@RequestBody LocAreaMatRela locAreaMatRela) {
+
locAreaMatRela.setCreateBy(getLoginUserId());
- locAreaMatRela.setCreateTime(new Date());
locAreaMatRela.setUpdateBy(getLoginUserId());
- locAreaMatRela.setUpdateTime(new Date());
if (!locAreaMatRelaService.save(locAreaMatRela)) {
return R.error("Save Fail");
}
@@ -82,10 +82,53 @@
return R.ok("Update Success").add(locAreaMatRela);
}
- @PreAuthorize("hasAuthority('manager:locAreaMatRela:remove')")
+ @ApiOperation("鍒犻櫎鐗╂枡鍒嗙粍")
+ @GetMapping("/locAreaMatRela/group")
+ @PreAuthorize("hasAuthority('manager:locAreaMatRela:update')")
+ public R remByGroup(@RequestBody Map<String, Object> map) {
+ if (Objects.isNull(map)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ if (!StringUtils.isBlank(map.get("groupId").toString())) {
+ throw new CoolException("搴撲綅绫诲瀷涓嶈兘涓虹┖锛侊紒");
+ }
+ if (!StringUtils.isBlank(map.get("areaMatId").toString())) {
+ throw new CoolException("涓诲崟ID涓嶈兘涓虹┖锛侊紒");
+ }
+ if (locAreaMatRelaService.removeByGroupId(map)) {
+ return R.ok();
+ } else {
+ return R.error("鍒犻櫎澶辫触锛侊紒");
+ }
+ }
+
+ @ApiOperation("鍒犻櫎搴撲綅绫诲瀷")
+ @GetMapping("/locAreaMatRela/locType/remove")
+ @PreAuthorize("hasAuthority('manager:locAreaMatRela:update')")
+ public R removByLocType(@RequestBody Map<String, Object> param) {
+ if (Objects.isNull(param)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒锛�");
+ }
+ if (!StringUtils.isBlank(param.get("locTypeId").toString())) {
+ throw new CoolException("搴撲綅绫诲瀷涓嶈兘涓虹┖锛侊紒");
+ }
+ if (!StringUtils.isBlank(param.get("areaMatId").toString())) {
+ throw new CoolException("涓诲崟ID涓嶈兘涓虹┖锛侊紒");
+ }
+ if (locAreaMatRelaService.removeByLocType(param)) {
+ return R.ok();
+ } else {
+ return R.ok("鍒犻櫎澶辫触锛侊紒");
+ }
+ }
+
+ @PreAuthorize("hasAuthority('manager:locAreaMatRela:list')")
@OperationLog("Delete loc areas mats rela")
@PostMapping("/locAreaMatRela/remove/{ids}")
public R remove(@PathVariable Long[] ids) {
+ if (Objects.isNull(ids)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
if (!locAreaMatRelaService.removeByIds(Arrays.asList(ids))) {
return R.error("Delete Fail");
}
@@ -107,6 +150,27 @@
}
@PreAuthorize("hasAuthority('manager:locAreaMatRela:list')")
+ @ApiOperation("鑾峰彇搴撳尯鐗╂枡鍒嗙粍")
+ @GetMapping("/locAreaMatRela/groups/{id}")
+ public R getAreaMatGroup(@PathVariable Long id) {
+ if (Objects.isNull(id)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ return R.ok(locAreaMatRelaService.getAllGroups(id));
+ }
+
+ @PreAuthorize("hasAuthority('manager:locAreaMatRela:list')")
+ @ApiOperation("鑾峰彇搴撳尯搴撲綅绫诲瀷")
+ @GetMapping("/locAreaMatRela/locType/{id}")
+ public R getAreaMatLocType(@PathVariable Long id) {
+ if (Objects.isNull(id)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ return R.ok(locAreaMatRelaService.getAllLocType(id));
+ }
+
+
+ @PreAuthorize("hasAuthority('manager:locAreaMatRela:list')")
@PostMapping("/locAreaMatRela/export")
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
ExcelUtil.build(ExcelUtil.create(locAreaMatRelaService.list(), LocAreaMatRela.class), response);
@@ -122,12 +186,12 @@
if (Objects.isNull(param.getAreaId())) {
throw new CoolException("搴撳尯涓嶈兘涓虹┖锛侊紒");
}
-// if (Objects.isNull(param.getTypeId()) || Objects.isNull(param.getLocId()) || param.getLocId().isEmpty() || param.getTypeId().isEmpty()) {
-// throw new CoolException("搴撲綅绫诲瀷鎴栧簱浣嶄笉鑳戒负绌猴紒锛�");
-// }
-// if (Objects.isNull(param.getGroupId()) || Objects.isNull(param.getMatnrId()) || param.getMatnrId().isEmpty()) {
-// throw new CoolException("鐗╂枡鎴栫墿鏂欏垎绫讳笉鑳戒负绌猴紒锛�");
-// }
+ if (Objects.isNull(param.getWarehouseId())) {
+ throw new CoolException("浠撳簱涓嶈兘涓虹┖锛侊紒");
+ }
+ if (Objects.isNull(param.getAreaMatId())) {
+ throw new CoolException("涓诲崟ID涓嶈兘涓虹┖锛侊紒");
+ }
return locAreaMatRelaService.binMatnrs(param);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java
index fbc7197..2b745ee 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrGroupController.java
@@ -23,6 +23,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.*;
+import java.util.stream.Collectors;
@Api(tags = "鐗╂枡鍒嗙粍")
@RestController
@@ -141,18 +142,12 @@
@PreAuthorize("hasAuthority('manager:matnrGroup:list')")
@PostMapping("/matnrGroup/tree")
public R tree(@RequestBody(required = false) Map<String, Object> map) {
- List<MatnrGroup> matnrs = new ArrayList<>();
if (Objects.isNull(map)) {
- matnrs = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>().orderByAsc(MatnrGroup::getCode));
- } else {
- if (Objects.isNull(map.get("condition"))) {
- return R.ok("condition鍙傛暟涓嶈兘涓虹┖锛侊紒");
- }
- matnrs = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>()
- .like(MatnrGroup::getName, map.get("condition")).orderByAsc(MatnrGroup::getCode));
+ return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
}
- List<MatnrGroup> treeData = Utils.toTreeData(matnrs, 0L, MatnrGroup::getParentId, MatnrGroup::getId, MatnrGroup::setChildren);
- return R.ok().add(treeData);
+ List<MatnrGroup> matnrs = matnrGroupService.getTreeData(map);
+
+ return R.ok().add(matnrs);
}
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 51afd7f..79b7975 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
@@ -98,15 +98,15 @@
throw new CoolException("鏁版嵁閿欒锛氫粨搴撳簱鍖轰笉瀛樺湪锛侊紒");
}
if (!warehouseAreas.getName().equals(areas.getName())) {
- List<WarehouseAreas> areasList = warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getName, areas.getName()));
+ List<WarehouseAreas> areasList = warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getName, warehouseAreas.getName()));
if (!areasList.isEmpty()) {
- throw new CoolException("浠撳簱鍚嶅凡瀛樺湪锛侊紒");
+ throw new CoolException("鍚嶇О宸插瓨鍦紒锛�");
}
}
if (!warehouseAreas.getCode().equals(areas.getCode())) {
- List<WarehouseAreas> areasList = warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getCode, areas.getCode()));
+ List<WarehouseAreas> areasList = warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>().eq(WarehouseAreas::getCode, warehouseAreas.getCode()));
if (!areasList.isEmpty()) {
- throw new CoolException("浠撳簱缂栫爜宸插瓨鍦紒锛�");
+ throw new CoolException("缂栫爜宸插瓨鍦紒锛�");
}
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/LocAreaMatsParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/LocAreaMatsParam.java
index 514452a..fb65e10 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/LocAreaMatsParam.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/LocAreaMatsParam.java
@@ -26,6 +26,12 @@
@ApiModelProperty("搴撳尯ID")
private Long areaId;
+ @ApiModelProperty("浠撳簱ID")
+ private Long warehouseId;
+
+ @ApiModelProperty("涓诲崟ID")
+ private Long areaMatId;
+
@ApiModelProperty("搴撲綅绫诲瀷")
private List<Long> typeId;
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocAreaMatRela.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocAreaMatRela.java
index e086af8..98f25fe 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocAreaMatRela.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocAreaMatRela.java
@@ -45,6 +45,12 @@
private Long areaId;
/**
+ * 涓诲崟ID
+ */
+ @ApiModelProperty("涓诲崟ID")
+ private Long areaMatId;
+
+ /**
* 缂栧彿
*/
@ApiModelProperty(value= "缂栧彿")
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocTypeRela.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocTypeRela.java
index f26a29b..80a51e7 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocTypeRela.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocTypeRela.java
@@ -5,6 +5,8 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.vincent.rsf.server.manager.service.LocService;
+import com.vincent.rsf.server.manager.service.WarehouseService;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -16,6 +18,7 @@
import java.io.Serializable;
import java.util.Date;
+import java.util.Objects;
@Data
@Accessors(chain = true)
@@ -50,4 +53,39 @@
this.typeId = typeId;
}
+// /**
+// * @author Ryan
+// * @description 鑾峰彇搴撲綅
+// * @param
+// * @return
+// * @time 2025/3/24 10:28
+// */
+// public String getLocId$() {
+// if (this.warehouseId == null) { return null; }
+// WarehouseService warehouseService = SpringUtils.getBean(WarehouseService.class);
+// Warehouse warehouse = warehouseService.getById(this.warehouseId);
+// if (Objects.isNull(warehouse)) {
+// return null;
+// }
+// return warehouse.getName();
+// }
+
+ /**
+ * @author Ryan
+ * @description 鑾峰彇搴撳尯鍚嶇О
+ * @param
+ * @return
+ * @time 2025/3/24 10:27
+ */
+ public String getAreaId$() {
+ if (this.locId == null) { return null; }
+ LocService locService = SpringUtils.getBean(LocService.class);
+ Loc byId = locService.getById(this.locId);
+ if (Objects.isNull(byId)) {
+ return null;
+ }
+ return byId.getCode();
+ }
+
+
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocAreaMatRelaService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocAreaMatRelaService.java
index a8d0b3c..d9feb2c 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocAreaMatRelaService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocAreaMatRelaService.java
@@ -4,8 +4,22 @@
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.server.manager.controller.params.LocAreaMatsParam;
import com.vincent.rsf.server.manager.entity.LocAreaMatRela;
+import com.vincent.rsf.server.manager.entity.LocType;
+import com.vincent.rsf.server.manager.entity.LocTypeRela;
+import com.vincent.rsf.server.manager.entity.MatnrGroup;
+
+import java.util.List;
+import java.util.Map;
public interface LocAreaMatRelaService extends IService<LocAreaMatRela> {
R binMatnrs(LocAreaMatsParam param);
+
+ Boolean removeByGroupId(Map<String, Object> params);
+
+ boolean removeByLocType(Map<String, Object> params);
+
+ List<MatnrGroup> getAllGroups(Long id);
+
+ List<LocType> getAllLocType(Long id);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrGroupService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrGroupService.java
index 8344c66..a4cbed1 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrGroupService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrGroupService.java
@@ -3,7 +3,11 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.vincent.rsf.server.manager.entity.MatnrGroup;
+import java.util.List;
+import java.util.Map;
+
public interface MatnrGroupService extends IService<MatnrGroup> {
+ List<MatnrGroup> getTreeData(Map<String, Object> map);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocAreaMatRelaServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocAreaMatRelaServiceImpl.java
index dce36e7..1521faa 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocAreaMatRelaServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocAreaMatRelaServiceImpl.java
@@ -4,20 +4,17 @@
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.manager.controller.params.LocAreaMatsParam;
-import com.vincent.rsf.server.manager.entity.LocTypeRela;
-import com.vincent.rsf.server.manager.entity.Matnr;
+import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.mapper.LocAreaMatRelaMapper;
-import com.vincent.rsf.server.manager.entity.LocAreaMatRela;
-import com.vincent.rsf.server.manager.service.LocAreaMatRelaService;
+import com.vincent.rsf.server.manager.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.vincent.rsf.server.manager.service.LocService;
-import com.vincent.rsf.server.manager.service.LocTypeRelaService;
-import com.vincent.rsf.server.manager.service.MatnrService;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@@ -31,7 +28,13 @@
private LocService locService;
@Autowired
+ private MatnrGroupService matnrGroupService;
+
+ @Autowired
private LocTypeRelaService locTypeRelaService;
+
+ @Autowired
+ private LocTypeService locTypeService;
/**
@@ -73,6 +76,7 @@
for (Matnr matnrId : matnrIds) {
LocAreaMatRela locAreaMatRela = new LocAreaMatRela();
locAreaMatRela
+ .setAreaMatId(param.getAreaMatId())
.setAreaId(param.getAreaId())
.setLocId(locId)
.setLocTypeId(typeId)
@@ -94,6 +98,7 @@
LocAreaMatRela locAreaMatRela = new LocAreaMatRela();
locAreaMatRela
.setAreaId(param.getAreaId())
+ .setAreaMatId(param.getAreaMatId())
.setLocId(locTypeRela.getLocId())
.setLocTypeId(locTypeRela.getTypeId())
.setMatnrId(matnr.getId())
@@ -107,4 +112,100 @@
}
return R.ok("缁戝畾鎴愬姛锛侊紒");
}
+
+ /**
+ * @author Ryan
+ * @description 绉婚櫎鐗╂枡鍒嗙粍涓嬬粦瀹氬叧绯�
+ * @param
+ * @return
+ * @time 2025/3/24 13:33
+ */
+ @Override
+ public Boolean removeByGroupId(Map<String, Object> param) {
+ if (Objects.isNull(param)) {
+ throw new CoolException("鐗╂枡鍒嗙粍ID涓嶈兘涓虹┖锛侊紒");
+ }
+ if (!StringUtils.isBlank(param.get("groupId").toString())) {
+ throw new CoolException("鐗╂枡鍒嗙被涓嶈兘涓虹┖锛侊紒");
+ }
+ if (!StringUtils.isBlank(param.get("areaMatId").toString())) {
+ throw new CoolException("涓诲崟ID涓嶈兘涓虹┖锛侊紒");
+ }
+ if (!this.remove(new LambdaQueryWrapper<LocAreaMatRela>()
+ .eq(LocAreaMatRela::getAreaMatId, Long.parseLong(param.get("areaMatId").toString()))
+ .eq(LocAreaMatRela::getGroupId, Long.parseLong(param.get("groupId").toString())))) {
+ throw new CoolException("鍒犻櫎澶辫触锛侊紒");
+ }
+
+ return true;
+ }
+
+ /**
+ * @author Ryan
+ * @description 绉婚櫎搴撲綅绫诲瀷缁戝畾鍏崇郴
+ * @param
+ * @return
+ * @time 2025/3/24 13:32
+ */
+ @Override
+ public boolean removeByLocType(Map<String, Object> param) {
+ if (Objects.isNull(param)) {
+ throw new CoolException("搴撲綅绫诲瀷ID涓嶈兘涓虹┖锛侊紒");
+ }
+ if (!this.remove(new LambdaQueryWrapper<LocAreaMatRela>()
+ .eq(LocAreaMatRela::getAreaMatId, Long.parseLong(param.get("areaMatId").toString()))
+ .eq(LocAreaMatRela::getLocTypeId, Long.parseLong(param.get("locTypeId").toString())))) {
+ throw new CoolException("鍒犻櫎澶辫触锛侊紒");
+ }
+
+ return true;
+ }
+
+ /**
+ * @author Ryan
+ * @description 鑾峰彇鐗╂枡鍒嗙粍
+ * @param
+ * @return
+ * @time 2025/3/24 13:32
+ */
+ @Override
+ public List<MatnrGroup> getAllGroups(Long id) {
+ if (Objects.isNull(id)) {
+ throw new CoolException("涓诲崟ID涓嶈兘涓虹┖锛侊紒");
+ }
+ List<LocAreaMatRela> locAreaMatRelas = this.list(new LambdaQueryWrapper<LocAreaMatRela>().eq(LocAreaMatRela::getAreaMatId, id));
+ if (locAreaMatRelas.isEmpty()) {
+ throw new CoolException("搴撳尯缁戝畾鐗╂枡涓虹┖锛侊紒");
+ }
+ List<Long> longList = locAreaMatRelas.stream().map(LocAreaMatRela::getGroupId).collect(Collectors.toList());
+ List<MatnrGroup> groups = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>().in(MatnrGroup::getId, longList));
+ if (groups.isEmpty()) {
+ throw new CoolException("鏁版嵁閿欒锛氱墿鏂欏垎缁勪笉瀛樺湪锛侊紒");
+ }
+ return groups;
+ }
+
+ /**
+ * @author Ryan
+ * @description 鑾峰彇缁戝畾搴撲綅鐗╂枡
+ * @param
+ * @return
+ * @time 2025/3/24 13:36
+ */
+ @Override
+ public List<LocType> getAllLocType(Long id) {
+ if (Objects.isNull(id)) {
+ throw new CoolException("涓诲崟ID涓嶈兘涓虹┖锛侊紒");
+ }
+ List<LocAreaMatRela> locAreaMatRelas = this.list(new LambdaQueryWrapper<LocAreaMatRela>().eq(LocAreaMatRela::getAreaMatId, id));
+ if (locAreaMatRelas.isEmpty()) {
+ throw new CoolException("搴撳尯缁戝畾鐗╂枡涓虹┖锛侊紒");
+ }
+ List<Long> longList = locAreaMatRelas.stream().map(LocAreaMatRela::getLocTypeId).collect(Collectors.toList());
+ List<LocType> list = locTypeService.list(new LambdaQueryWrapper<LocType>().in(LocType::getId, longList));
+ if (list.isEmpty()) {
+ throw new CoolException("鏁版嵁閿欒锛氬簱浣嶇被鍨嬩笉瀛樺湪锛侊紒");
+ }
+ return list;
+ }
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java
index 515ae19..65b0fe6 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java
@@ -2,16 +2,48 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.common.utils.Utils;
import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.manager.mapper.MatnrGroupMapper;
import com.vincent.rsf.server.manager.entity.MatnrGroup;
import com.vincent.rsf.server.manager.service.MatnrGroupService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
import java.util.Objects;
+import java.util.stream.Collectors;
@Service("matnrGroupService")
public class MatnrGroupServiceImpl extends ServiceImpl<MatnrGroupMapper, MatnrGroup> implements MatnrGroupService {
+ @Override
+ public List<MatnrGroup> getTreeData(Map<String, Object> map) {
+ List<MatnrGroup> matnrs = new ArrayList<>();
+ if (Objects.isNull(map)) {
+ matnrs = this.list(new LambdaQueryWrapper<MatnrGroup>().orderByAsc(MatnrGroup::getCode));
+ } else {
+ if (Objects.isNull(map.get("condition"))) {
+ throw new CoolException("condition鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ if (!StringUtils.isBlank(map.get("condition").toString())) {
+ List<MatnrGroup> groups = this.list(new LambdaQueryWrapper<MatnrGroup>()
+ .like(MatnrGroup::getName, map.get("condition"))
+ .orderByAsc(MatnrGroup::getCode));
+ List<Long> collect = groups.stream().map(MatnrGroup::getId).collect(Collectors.toList());
+ List<MatnrGroup> list = this.list(new LambdaQueryWrapper<MatnrGroup>().in(MatnrGroup::getId, collect));
+ matnrs.addAll(list);
+ List<MatnrGroup> treeData = Utils.toTreeData(matnrs, 0L, MatnrGroup::getParentId, MatnrGroup::getId, MatnrGroup::setChildren);
+ return treeData;
+ } else {
+ matnrs = this.list(new LambdaQueryWrapper<MatnrGroup>().orderByAsc(MatnrGroup::getCode));
+ }
+ }
+ List<MatnrGroup> treeData = Utils.toTreeData(matnrs, 0L, MatnrGroup::getParentId, MatnrGroup::getId, MatnrGroup::setChildren);
+ return treeData;
+ }
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/DictDataController.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/DictDataController.java
index fdf23e4..f450eb6 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/DictDataController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/DictDataController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.common.utils.ExcelUtil;
import com.vincent.rsf.server.common.annotation.OperationLog;
import com.vincent.rsf.server.common.domain.BaseParam;
@@ -55,10 +56,20 @@
@OperationLog("Create 瀛楀吀鏁版嵁闆�")
@PostMapping("/dictData/save")
public R save(@RequestBody DictData dictData) {
+ if (Objects.isNull(dictData.getLabel())) {
+ throw new CoolException("鍒悕涓嶈兘涓虹┖锛侊紒");
+ }
+ if (Objects.isNull(dictData.getValue())) {
+ throw new CoolException("鍊间笉鑳戒负绌猴紒锛�");
+ }
+ if (Objects.isNull(dictData.getDictTypeCode())) {
+ throw new CoolException("缂栫爜涓嶈兘涓虹┖锛侊紒");
+ }
+ if (Objects.isNull(dictData.getDictTypeId())) {
+ throw new CoolException("涓诲崟ID涓嶈兘涓虹┖锛侊紒");
+ }
dictData.setCreateBy(getLoginUserId());
- dictData.setCreateTime(new Date());
dictData.setUpdateBy(getLoginUserId());
- dictData.setUpdateTime(new Date());
if (!dictDataService.save(dictData)) {
return R.error("Save Fail");
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/DictTypeController.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/DictTypeController.java
index 1e06e7c..a705dd9 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/DictTypeController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/controller/DictTypeController.java
@@ -61,13 +61,15 @@
if (Objects.isNull(dictType.getName())) {
throw new CoolException("瀛楀吀鍚嶇О涓嶈兘涓虹┖锛侊紒");
}
- if (Objects.isNull(dictType.getDescription())) {
- throw new CoolException("瀛楀吀鎻忚堪涓嶈兘涓虹┖锛侊紒");
- }
if (Objects.isNull(dictType.getCode())) {
throw new CoolException("瀛楀吀缂栫爜涓嶈兘涓虹┖锛侊紒");
}
-
+ if (!dictTypeService.list(new LambdaQueryWrapper<DictType>().eq(DictType::getCode, dictType.getCode())).isEmpty()) {
+ throw new CoolException("缂栫爜涓嶈兘閲嶅锛侊紒");
+ }
+ if (!dictTypeService.list(new LambdaQueryWrapper<DictType>().eq(DictType::getName, dictType.getName())).isEmpty()) {
+ throw new CoolException("鍚嶇О涓嶈兘閲嶅锛侊紒");
+ }
if (!dictTypeService.save(dictType)) {
return R.error("Save Fail");
}
@@ -78,8 +80,10 @@
@OperationLog("Update 鏁版嵁瀛楀吀")
@PostMapping("/dictType/update")
public R update(@RequestBody DictType dictType) {
+ if (Objects.isNull(dictType)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
dictType.setUpdateBy(getLoginUserId());
- dictType.setUpdateTime(new Date());
if (!dictTypeService.updateById(dictType)) {
return R.error("Update Fail");
}
diff --git a/rsf-server/src/main/java/locArea.sql b/rsf-server/src/main/java/locArea.sql
deleted file mode 100644
index 8db2b48..0000000
--- a/rsf-server/src/main/java/locArea.sql
+++ /dev/null
@@ -1,25 +0,0 @@
--- save locArea record
--- mysql
-insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.locArea', '0', '/manager/locArea', 'locArea', '0' , '0', '1' , '1');
-
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query loc areas', '185', '1', 'manager:locArea:list', '0', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create loc areas', '185', '1', 'manager:locArea:save', '1', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update loc areas', '185', '1', 'manager:locArea:update', '2', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete loc areas', '185', '1', 'manager:locArea:remove', '3', '1', '1');
-
--- locale menu name
-locArea: 'LocArea',
-
--- locale field
-locArea: {
- name: "name",
- code: "code",
- areaId: "areaId",
- locId: "locId",
-},
-
--- ResourceContent
-import locArea from './locArea';
-
-case 'locArea':
- return locArea;
diff --git a/rsf-server/src/main/java/locAreaMat.sql b/rsf-server/src/main/java/locAreaMat.sql
deleted file mode 100644
index 90977b6..0000000
--- a/rsf-server/src/main/java/locAreaMat.sql
+++ /dev/null
@@ -1,23 +0,0 @@
--- save locAreaMat record
--- mysql
-insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.locAreaMat', '0', '/test/locAreaMat', 'locAreaMat', '0' , '0', '1' , '1');
-
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query loc areas mats', '195', '1', 'test:locAreaMat:list', '0', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create loc areas mats', '195', '1', 'test:locAreaMat:save', '1', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update loc areas mats', '195', '1', 'test:locAreaMat:update', '2', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete loc areas mats', '195', '1', 'test:locAreaMat:remove', '3', '1', '1');
-
--- locale menu name
-locAreaMat: 'LocAreaMat',
-
--- locale field
-locAreaMat: {
- code: "code",
- depict: "depict",
-},
-
--- ResourceContent
-import locAreaMat from './locAreaMat';
-
-case 'locAreaMat':
- return locAreaMat;
diff --git a/rsf-server/src/main/java/locAreaMatRela.sql b/rsf-server/src/main/java/locAreaMatRela.sql
deleted file mode 100644
index 5c5e032..0000000
--- a/rsf-server/src/main/java/locAreaMatRela.sql
+++ /dev/null
@@ -1,27 +0,0 @@
--- save locAreaMatRela record
--- mysql
-insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.locAreaMatRela', '0', '/manager/locAreaMatRela', 'locAreaMatRela', '0' , '0', '1' , '1');
-
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query loc areas mats rela', '', '1', 'manager:locAreaMatRela:list', '0', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create loc areas mats rela', '', '1', 'manager:locAreaMatRela:save', '1', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update loc areas mats rela', '', '1', 'manager:locAreaMatRela:update', '2', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete loc areas mats rela', '', '1', 'manager:locAreaMatRela:remove', '3', '1', '1');
-
--- locale menu name
-locAreaMatRela: 'LocAreaMatRela',
-
--- locale field
-locAreaMatRela: {
- areaId: "areaId",
- code: "code",
- matnrId: "matnrId",
- groupId: "groupId",
- locTypeId: "locTypeId",
- locId: "locId",
-},
-
--- ResourceContent
-import locAreaMatRela from './locAreaMatRela';
-
-case 'locAreaMatRela':
- return locAreaMatRela;
diff --git a/rsf-server/src/main/java/locAreaRela.sql b/rsf-server/src/main/java/locAreaRela.sql
deleted file mode 100644
index d6eb58e..0000000
--- a/rsf-server/src/main/java/locAreaRela.sql
+++ /dev/null
@@ -1,23 +0,0 @@
--- save locAreaRela record
--- mysql
-insert into `sys_menu` ( `name`, `parent_id`, `route`, `component`, `type`, `sort`, `tenant_id`, `status`) values ( 'menu.locAreaRela', '0', '/manager/locAreaRela', 'locAreaRela', '0' , '0', '1' , '1');
-
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Query loc areas rela', '', '1', 'manager:locAreaRela:list', '0', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Create loc areas rela', '', '1', 'manager:locAreaRela:save', '1', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Update loc areas rela', '', '1', 'manager:locAreaRela:update', '2', '1', '1');
-insert into `sys_menu` ( `name`, `parent_id`, `type`, `authority`, `sort`, `tenant_id`, `status`) values ( 'Delete loc areas rela', '', '1', 'manager:locAreaRela:remove', '3', '1', '1');
-
--- locale menu name
-locAreaRela: 'LocAreaRela',
-
--- locale field
-locAreaRela: {
- locAreaId: "locAreaId",
- locId: "locId",
-},
-
--- ResourceContent
-import locAreaRela from './locAreaRela';
-
-case 'locAreaRela':
- return locAreaRela;
diff --git a/rsf-server/src/main/resources/application.yml b/rsf-server/src/main/resources/application.yml
index dbc54f3..b6c0ce1 100644
--- a/rsf-server/src/main/resources/application.yml
+++ b/rsf-server/src/main/resources/application.yml
@@ -31,8 +31,8 @@
:banner: false
db-config:
id-type: auto
- logic-delete-value: 1
- logic-not-delete-value: 0
+# logic-delete-value: 1
+# logic-not-delete-value: 0
super:
pwd: xltys1995
--
Gitblit v1.9.1