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