kongzy
2024-07-01 47a751cb301d05276ae5d75145d57b2d090fe4e1
src/main/java/com/nanometer/smartlab/controller/EncodeReplaceDictController.java
@@ -1,8 +1,11 @@
package com.nanometer.smartlab.controller;
import com.nanometer.smartlab.entity.BaseMeta;
import com.nanometer.smartlab.entity.EncodeReplaceDict;
import com.nanometer.smartlab.entity.SysUser;
import com.nanometer.smartlab.entity.enumtype.ReplaceDictType;
import com.nanometer.smartlab.entity.enumtype.ValidFlag;
import com.nanometer.smartlab.service.BaseMetaService;
import com.nanometer.smartlab.service.EncodeReplaceDictService;
import com.nanometer.smartlab.util.FacesUtils;
import org.apache.log4j.Logger;
@@ -23,6 +26,8 @@
    @Resource
    private EncodeReplaceDictService encodeReplaceDictService;
    @Resource
    private BaseMetaService baseMetaService;
    private LazyDataModel<EncodeReplaceDict> dataModel;
@@ -54,7 +59,7 @@
                        if (isSearch) {
                            isSearch = false;
                        }
                        selectOne = null;
                    } catch (Exception e) {
                        logger.error("error occured.", e);
                    }
@@ -63,15 +68,15 @@
                @Override
                public EncodeReplaceDict getRowData(String rowKey) {
                    Iterator<EncodeReplaceDict> iterator = this.iterator();
                    EncodeReplaceDict su = null;
                    while (iterator.hasNext()) {
                        su = iterator.next();
                        if ( su.getId().equals(Long.parseLong(rowKey))) {
                            return su;
                        }
                    }
                    return null;
//                    Iterator<EncodeReplaceDict> iterator = this.iterator();
//                    EncodeReplaceDict su = null;
//                    while (iterator.hasNext()) {
//                        su = iterator.next();
//                        if ( su.getId().equals(Long.parseLong(rowKey))) {
//                            return su;
//                        }
//                    }
                    return encodeReplaceDictService.getOne(Long.parseLong(rowKey));
                }
            };
        }
@@ -99,6 +104,10 @@
            FacesUtils.warn("请选择数据");
        } else {
            encodeReplaceDictService.deleteOne(selectOne.getId());
            ReplaceDictType type = selectOne.getType();
            String groupId = "encode_replace_" + type.getKey();
            BaseMeta baseMeta = baseMetaService.getBaseMeta(groupId, selectOne.getNumber(),null);
            baseMetaService.deleteBaseMeta(Collections.singletonList(baseMeta.getId()));
            FacesUtils.info("删除成功");
        }
    }
@@ -113,10 +122,28 @@
                encodeReplaceDictService.checkAddOne(encodeReplaceDict);
                encodeReplaceDictService.addOne(encodeReplaceDict, getUser());
                BaseMeta baseMeta = new BaseMeta();
                baseMeta.setMetaKey(encodeReplaceDict.getNumber());
                baseMeta.setMetaValue(encodeReplaceDict.getInfo());
                ReplaceDictType type = encodeReplaceDict.getType();
                String groupCode = "encode_replace_" + type.getKey();
                baseMeta.setGroupCode(groupCode);
                baseMetaService.insertBaseMeta(baseMeta);
            } else {
                //更新
                //校验实体
                encodeReplaceDictService.checkUpdateOne(encodeReplaceDict);
                //更新前拿出baseMeta
                EncodeReplaceDict originData = encodeReplaceDictService.getOne(encodeReplaceDict.getId());
                ReplaceDictType type = originData.getType();
                String groupCode = "encode_replace_" + type.getKey();
                BaseMeta baseMeta = baseMetaService.getBaseMeta(groupCode, originData.getNumber(),null);
                baseMeta.setMetaKey(encodeReplaceDict.getNumber());
                baseMeta.setMetaValue(encodeReplaceDict.getInfo());
                baseMeta.setGroupCode("encode_replace_" + encodeReplaceDict.getType().getKey());
                baseMeta.setValidFlag(ValidFlag.VALID);
                baseMetaService.updateBaseMeta(baseMeta);
                encodeReplaceDictService.updateOne(encodeReplaceDict);
            }