From f8c64c4e54cec545eb613d8450932096f15937ef Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 26 三月 2025 09:20:35 +0800 Subject: [PATCH] #修改 物料新增动态字段不能保存问题修复 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 45 insertions(+), 5 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 23f5eb2..373d76a 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 @@ -2,8 +2,6 @@ import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -89,7 +87,11 @@ String uuid = CommonUtil.randomUUID16(); matnr.setFieldsIndex(uuid); //淇濆瓨鐗╂枡鎵╁睍灞炴�у�� - FieldsUtils.saveFields(template, uuid); + try { + FieldsUtils.saveFields(template, uuid); + } catch (Exception e) { + throw new RuntimeException(e); + } } matnrs.add(matnr); }); @@ -165,6 +167,38 @@ } /** + * 鎵归噺淇敼鐗╂枡 + * @param params + * @return + */ + @Override + public boolean batchUpdate(MatnrToGroupParams params) { + if (Objects.isNull(params.getMatnr())) { + throw new CoolException("鐗╂枡灞炴�т笉鑳戒负绌猴紒锛�"); + } + if (Objects.isNull(params.getIds()) || params.getIds().isEmpty()) { + throw new CoolException("鎵�閫夌墿鏂欎笉鑳戒负绌猴紒锛�"); + } + Matnr matnr = params.getMatnr(); + if (!this.update(new LambdaUpdateWrapper<Matnr>().in(Matnr::getId, params.getIds()) + .set(!Objects.isNull(matnr.getStatus()), Matnr::getStatus, matnr.getStatus()) + .set(!Objects.isNull(matnr.getFlagCheck()), Matnr::getFlagCheck, matnr.getFlagCheck()) + .set(!Objects.isNull(matnr.getFlagLabelMange()), Matnr::getFlagLabelMange, matnr.getFlagLabelMange()) + .set(!Objects.isNull(matnr.getStockLevel()), Matnr::getStockLevel, matnr.getStockLevel()) + .set(!Objects.isNull(matnr.getShipperId()), Matnr::getShipperId, matnr.getShipperId()) + .set(!Objects.isNull(matnr.getMinQty()), Matnr::getMinQty, matnr.getMinQty()) + .set(!Objects.isNull(matnr.getMaxQty()), Matnr::getMaxQty, matnr.getMaxQty()) + .set(!Objects.isNull(matnr.getValid()), Matnr::getValid, matnr.getValid()) + .set(!Objects.isNull(matnr.getValidWarn()), Matnr::getValidWarn, matnr.getValidWarn()) + .set(!Objects.isNull(matnr.getStockUnit()), Matnr::getStockUnit, matnr.getStockUnit()) + )) { + throw new CoolException("鎵归噺鎿嶄綔澶辫触锛侊紒"); + } + + return true; + } + + /** * @desc 鏇存柊鎵╁睍鐗╂枡鎵╁睍瀛楁鍊� * @param matnr * @return @@ -182,8 +216,14 @@ */ String uuid16 = CommonUtil.randomUUID16(); if (!FieldsUtils.getFieldsSta().isEmpty()) { - FieldsUtils.saveFields(matnr, uuid16); - matnr1.setFieldsIndex(uuid16); + Map<String, ?> extendFields = (Map<String, ?>) matnr.get("extendFields"); + try { + FieldsUtils.saveFields(extendFields, uuid16); + matnr1.setFieldsIndex(uuid16); + } catch (Exception ex) { + log.error(ex.toString()); + throw new CoolException("鍔ㄦ�佸瓧娈典繚瀛樺け璐�"); + } } if (!this.saveOrUpdate(matnr1)) { return R.error("Save Fail"); -- Gitblit v1.9.1