123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577 |
- package com.lantone.daqe.facade;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.lantone.common.enums.IsDeleteEnum;
- import com.lantone.common.exception.Asserts;
- import com.lantone.common.util.BeanUtil;
- import com.lantone.common.util.ListUtil;
- import com.lantone.common.util.StringUtil;
- import com.lantone.common.util.SysUserUtils;
- import com.lantone.daqe.dto.GetByIdColumnVerifyDTO;
- import com.lantone.daqe.dto.GetColumnInfoDTO;
- import com.lantone.daqe.dto.GetColumnNameDTO;
- import com.lantone.daqe.dto.GetColumnVerifyPageDTO;
- import com.lantone.daqe.dto.GetRegularDTO;
- import com.lantone.daqe.dto.GetTableColumnNameDTO;
- import com.lantone.daqe.dto.GetTableNameDTO;
- import com.lantone.daqe.entity.ColumnInfo;
- import com.lantone.daqe.entity.ColumnVerify;
- import com.lantone.daqe.entity.NonnullInfo;
- import com.lantone.daqe.entity.RegularInfo;
- import com.lantone.daqe.entity.RegularMapping;
- import com.lantone.daqe.entity.StandardvalueInfo;
- import com.lantone.daqe.enums.ColumnVerifyTypeEnum;
- import com.lantone.daqe.facade.base.ColumnInfoFacade;
- import com.lantone.daqe.facade.base.ColumnVerifyFacade;
- import com.lantone.daqe.facade.base.NonnullInfoFacade;
- import com.lantone.daqe.facade.base.RegularInfoFacade;
- import com.lantone.daqe.facade.base.RegularMappingFacade;
- import com.lantone.daqe.facade.base.StandardvalueInfoFacade;
- import com.lantone.daqe.vo.AddColumnVerifyVO;
- import com.lantone.daqe.vo.ColumnInfoVO;
- import com.lantone.daqe.vo.DelColumnVerifyVO;
- import com.lantone.daqe.vo.GetByIdColumnVerifyVO;
- import com.lantone.daqe.vo.GetColumnNameVO;
- import com.lantone.daqe.vo.GetColumnVerifyPageVO;
- import com.lantone.daqe.vo.GetRegularVO;
- import com.lantone.daqe.vo.GetTableNameVO;
- import com.lantone.daqe.vo.UpdateColumnVerifyVO;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.List;
- /**
- * @Description: 字段校验规则维护API-业务处理类
- * @author: zhanghang
- * @time: 2022/3/1 10:14
- */
- @Component
- public class ColumnVerifyManagementFacade {
- @Autowired
- ColumnVerifyFacade columnVerifyFacade;
- @Autowired
- ColumnInfoFacade columnInfoFacade;
- @Autowired
- RegularInfoFacade regularInfoFacade;
- @Autowired
- RegularMappingFacade regularMappingFacade;
- @Autowired
- NonnullInfoFacade nonnullInfoFacade;
- @Autowired
- StandardvalueInfoFacade standardvalueInfoFacade;
- /**
- * 获取字段校验规则分页列表数据
- *
- * @param getColumnVerifyPageVO
- * @return: 字段校验规则分页数据
- */
- public IPage<GetColumnVerifyPageDTO> getColumnVerifyPage(GetColumnVerifyPageVO getColumnVerifyPageVO) {
- Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
- getColumnVerifyPageVO.setHospitalId(currentHospitalId);
- return columnVerifyFacade.getBaseMapper().getColumnVerifyPage(getColumnVerifyPageVO);
- }
- /**
- * 根据ID获取字段校验规则明细数据
- *
- * @param getByIdColumnVerifyVO
- * @return: 字段校验规则明细数据
- */
- public GetByIdColumnVerifyDTO getByIdColumnVerify(GetByIdColumnVerifyVO getByIdColumnVerifyVO) {
- RegularMapping mappingFacadeOne = regularMappingFacade.getOne(new QueryWrapper<RegularMapping>()
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- .eq("column_id", getByIdColumnVerifyVO.getColumnId())
- );
- GetByIdColumnVerifyDTO byIdColumnVerify = columnVerifyFacade.getBaseMapper().getByIdColumnVerify(getByIdColumnVerifyVO);
- if(mappingFacadeOne!=null) {
- RegularInfo one = regularInfoFacade.getOne(new QueryWrapper<RegularInfo>()
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- .eq("id", mappingFacadeOne.getRegularId())
- );
- byIdColumnVerify.setRegularId(mappingFacadeOne.getRegularId());
- byIdColumnVerify.setRegular(one.getName());
- }
- return byIdColumnVerify;
- }
- /**
- * 查询下拉框获取数据库表中列数据表名称信息
- *
- * @param getTableNameVO
- * @return: 数据库表中列数据表名称信息
- */
- public List<GetTableNameDTO> getTableName(GetTableNameVO getTableNameVO) {
- List<ColumnInfo> columnInfoList = columnInfoFacade.getBaseMapper().selectList(new QueryWrapper<ColumnInfo>()
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- .like(StringUtil.isNotBlank(getTableNameVO.getTableCname()), "table_cname", getTableNameVO.getTableCname())
- .like(StringUtil.isNotBlank(getTableNameVO.getTableEname()), "table_ename", getTableNameVO.getTableEname())
- .groupBy("table_cname", "table_ename")
- );
- List<GetTableNameDTO> getColumnDTOList = BeanUtil.listCopyTo(columnInfoList, GetTableNameDTO.class);
- return getColumnDTOList;
- }
- /**
- * 查询下拉框获取数据库表中列数据字段名称信息
- *
- * @param getColumnNameVO
- * @return: 数据库表中列数据字段名称信息
- */
- public List<GetColumnNameDTO> getColumnName(GetColumnNameVO getColumnNameVO) {
- List<ColumnInfo> columnInfoList = columnInfoFacade.getBaseMapper().selectList(new QueryWrapper<ColumnInfo>()
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- .like(StringUtil.isNotBlank(getColumnNameVO.getColumnCname()), "column_cname", getColumnNameVO.getColumnCname())
- .like(StringUtil.isNotBlank(getColumnNameVO.getColumnEname()), "column_ename", getColumnNameVO.getColumnEname())
- .groupBy("column_cname", "column_ename")
- );
- List<GetColumnNameDTO> getColumnDTOList = BeanUtil.listCopyTo(columnInfoList, GetColumnNameDTO.class);
- return getColumnDTOList;
- }
- /**
- * 新增修改下拉框获取数据库表中列数据字段名称信息
- *
- * @param
- * @return: 数据库表中列数据字段名称信息
- */
- public List<GetTableColumnNameDTO> getTableColumnName() {
- List<GetColumnInfoDTO> columnInfoList = columnInfoFacade.getBaseMapper().getNoVerifyColumnName();
- List<String> columnString = new ArrayList<>();
- List<GetTableColumnNameDTO> getTableColumnNameDTOS = new ArrayList<>();
- for (GetColumnInfoDTO columnInfo : columnInfoList) {
- GetTableColumnNameDTO getTableColumnNameDTO = new GetTableColumnNameDTO();
- GetTableNameDTO getTableNameDTO = new GetTableNameDTO();
- List<GetColumnNameDTO> getColumnNameDTOS = new ArrayList<GetColumnNameDTO>();
- getTableNameDTO.setTableCname(columnInfo.getTableCname());
- getTableNameDTO.setTableEname(columnInfo.getTableEname());
- if (columnString.contains(columnInfo.getTableCname())) {
- continue;
- }
- columnString.add(columnInfo.getTableCname());
- for (GetColumnInfoDTO info : columnInfoList) {
- if (info.getTableCname().equals(columnInfo.getTableCname()) && info.getTableEname().equals(columnInfo.getTableEname())) {
- GetColumnNameDTO getColumnNameDTO = new GetColumnNameDTO();
- getColumnNameDTO.setId(info.getId());
- getColumnNameDTO.setColumnCname(info.getColumnCname());
- getColumnNameDTO.setColumnEname(info.getColumnEname());
- getColumnNameDTOS.add(getColumnNameDTO);
- }
- }
- getTableColumnNameDTO.setGetTableNameDTO(getTableNameDTO);
- getTableColumnNameDTO.setGetColumnNameDTOList(getColumnNameDTOS);
- getTableColumnNameDTOS.add(getTableColumnNameDTO);
- }
- return getTableColumnNameDTOS;
- }
- /**
- * 下拉框获取正则式名称
- *
- * @param getRegularVO
- * @return: 正则式名称
- */
- public List<GetRegularDTO> getRegular(GetRegularVO getRegularVO) {
- List<RegularInfo> regularInfoList = regularInfoFacade.getBaseMapper().selectList(new QueryWrapper<RegularInfo>()
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- .like(StringUtil.isNotBlank(getRegularVO.getName()), "name", getRegularVO.getName())
- );
- List<GetRegularDTO> regularDTOList = BeanUtil.listCopyTo(regularInfoList, GetRegularDTO.class);
- return regularDTOList;
- }
- /**
- * 新增字段校验规则
- *
- * @param addColumnVerifyVO
- * @return: 是否成功
- */
- public Boolean addColumnVerify(AddColumnVerifyVO addColumnVerifyVO) {
- Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
- addColumnVerifyVO.setHospitalId(currentHospitalId);
- List<ColumnInfoVO> columnList = addColumnVerifyVO.getColumnList();
- //查出表列信息ID
- for (ColumnInfoVO columnInfoVO : columnList) {
- Long columnId = columnInfoVO.getId();
- if (columnId == null) {
- Asserts.fail("不存在该字段信息!");
- }
- ColumnVerify columnVerify = new ColumnVerify();
- columnVerify.setColumnId(columnId);
- columnVerify.setColumnCname(columnInfoVO.getColumnCname());
- columnVerify.setColumnEname(columnInfoVO.getColumnEname());
- columnVerify.setTableCname(columnInfoVO.getTableCname());
- columnVerify.setTableEname(columnInfoVO.getTableEname());
- if (addColumnVerifyVO.getRegularId() != null) {
- //插入正则维护表
- //先判断是否该字段信息是否已关联正则
- RegularMapping selectOneMapping = regularMappingFacade.getBaseMapper().selectOne(new QueryWrapper<RegularMapping>()
- .eq("column_id", columnId)
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- );
- if (selectOneMapping != null) {
- Asserts.fail("所选字段已关联正则!");
- }
- RegularMapping regularMapping = new RegularMapping();
- regularMapping.setColumnId(columnId);
- regularMapping.setGmtCreate(new Date());
- regularMapping.setRegularId(addColumnVerifyVO.getRegularId());
- try {
- regularMappingFacade.getBaseMapper().insert(regularMapping);
- } catch (Exception e) {
- Asserts.fail("关联正则失败,请重试!");
- }
- Long regularMappingId = regularMapping.getId();
- //插入总表
- columnVerify.setType(ColumnVerifyTypeEnum.REGULAR_TYPE.getKey());
- columnVerify.setVerifyId(regularMappingId);
- columnVerify.setVerifyVal(addColumnVerifyVO.getRegularName());
- columnVerify.setDescription(addColumnVerifyVO.getDescription());
- columnVerify.setGmtCreate(new Date());
- try {
- columnVerifyFacade.getBaseMapper().insert(columnVerify);
- } catch (Exception e) {
- Asserts.fail("保存失败");
- }
- }
- if (addColumnVerifyVO.getIsRequired() != null) {
- //插入表字段的非空校验维护表
- //先判断是否该字段信息是否已存在非空规则
- NonnullInfo selectOneInfo = nonnullInfoFacade.getBaseMapper().selectOne(new QueryWrapper<NonnullInfo>()
- .eq("column_id", columnId)
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- );
- if (selectOneInfo != null) {
- Asserts.fail("所选字段已存在是否非空维护规则");
- }
- NonnullInfo nonnullInfo = new NonnullInfo();
- nonnullInfo.setColumnId(columnId);
- nonnullInfo.setGmtCreate(new Date());
- nonnullInfo.setIsRequired(addColumnVerifyVO.getIsRequired());
- try {
- nonnullInfoFacade.getBaseMapper().insert(nonnullInfo);
- } catch (Exception e) {
- Asserts.fail("关联是否非空失败,请重试!");
- }
- Long nonnullInfoId = nonnullInfo.getId();
- //插入总表
- columnVerify.setType(ColumnVerifyTypeEnum.NONNULL_TYPE.getKey());
- columnVerify.setVerifyId(nonnullInfoId);
- columnVerify.setVerifyVal(addColumnVerifyVO.getIsRequired());
- columnVerify.setDescription(addColumnVerifyVO.getDescription());
- columnVerify.setGmtCreate(new Date());
- try {
- columnVerifyFacade.getBaseMapper().insert(columnVerify);
- } catch (Exception e) {
- Asserts.fail("保存失败");
- }
- }
- if (ListUtil.isNotEmpty(addColumnVerifyVO.getStandardValueList())) {
- //插入关键字信息维护表
- List<String> standardValueList = addColumnVerifyVO.getStandardValueList();
- for (String standardValue : standardValueList) {
- StandardvalueInfo standardvalueInfo = new StandardvalueInfo();
- standardvalueInfo.setColumnId(columnId);
- standardvalueInfo.setGmtCreate(new Date());
- standardvalueInfo.setVal(standardValue);
- try {
- standardvalueInfoFacade.getBaseMapper().insert(standardvalueInfo);
- } catch (Exception e) {
- Asserts.fail("关联关键字失败,请重试!");
- }
- Long standardvalueInfoId = standardvalueInfo.getId();
- //插入总表
- columnVerify.setType(ColumnVerifyTypeEnum.STANDARD_TYPE.getKey());
- columnVerify.setVerifyId(standardvalueInfoId);
- columnVerify.setVerifyVal(standardValue);
- columnVerify.setDescription(addColumnVerifyVO.getDescription());
- columnVerify.setGmtCreate(new Date());
- try {
- columnVerifyFacade.getBaseMapper().insert(columnVerify);
- } catch (Exception e) {
- Asserts.fail("保存失败");
- }
- }
- }
- }
- return true;
- }
- /**
- * 删除字段校验规则
- *
- * @param delColumnVerifyVO
- * @return: 是否成功
- */
- public Boolean delColumnVerify(DelColumnVerifyVO delColumnVerifyVO) {
- Boolean nonnullInfo = true;
- Boolean tandardvalueInfo = true;
- Boolean regular = true;
- List<Long> ids = delColumnVerifyVO.getIds();
- List<ColumnVerify> columnVerifyList = columnVerifyFacade.getBaseMapper().selectList(new QueryWrapper<ColumnVerify>()
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- .in("column_id", ids)
- );
- if (ListUtil.isEmpty(columnVerifyList)) {
- Asserts.fail("删除失败,不存在所需删除数据!");
- }
- //所删正则ID
- List<Long> regularId = new ArrayList<>();
- //非空判断ID
- List<Long> nonnullId = new ArrayList<>();
- //关键值ID
- List<Long> standardValueId = new ArrayList<>();
- for (ColumnVerify columnVerify : columnVerifyList) {
- String type = columnVerify.getType();
- //非空
- if (ColumnVerifyTypeEnum.NONNULL_TYPE.getKey().equals(type)) {
- nonnullId.add(columnVerify.getVerifyId());
- }
- //关键值
- if (ColumnVerifyTypeEnum.STANDARD_TYPE.getKey().equals(type)) {
- standardValueId.add(columnVerify.getVerifyId());
- }
- //正则
- if (ColumnVerifyTypeEnum.REGULAR_TYPE.getKey().equals(type)) {
- regularId.add(columnVerify.getVerifyId());
- }
- }
- //非空
- if (ListUtil.isNotEmpty(nonnullId)) {
- nonnullInfo = nonnullInfoFacade.update(new UpdateWrapper<NonnullInfo>()
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- .in("id", nonnullId)
- .set("is_deleted", IsDeleteEnum.Y.getKey())
- .set("gmt_modified", new Date())
- );
- }
- //关键值
- if (ListUtil.isNotEmpty(standardValueId)) {
- tandardvalueInfo = standardvalueInfoFacade.update(new UpdateWrapper<StandardvalueInfo>()
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- .in("id", standardValueId)
- .set("is_deleted", IsDeleteEnum.Y.getKey())
- .set("gmt_modified", new Date())
- );
- }
- //正则
- if (ListUtil.isNotEmpty(regularId)) {
- regular = regularMappingFacade.update(new UpdateWrapper<RegularMapping>()
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- .in("id", regularId)
- .set("is_deleted", IsDeleteEnum.Y.getKey())
- .set("gmt_modified", new Date())
- );
- }
- if (nonnullInfo && tandardvalueInfo && regular) {
- boolean update = columnVerifyFacade.update(new UpdateWrapper<ColumnVerify>()
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- .in("column_id", ids)
- .set("is_deleted", IsDeleteEnum.Y.getKey())
- .set("gmt_modified", new Date())
- );
- if (update) {
- return true;
- }
- }
- Asserts.fail("删除失败");
- return false;
- }
- /**
- * 修改字段校验规则
- *
- * @param updateColumnVerifyVO
- * @return: 是否成功
- */
- public Boolean updateColumnVerify(UpdateColumnVerifyVO updateColumnVerifyVO) {
- Long currentHospitalId = SysUserUtils.getCurrentHospitalId();
- updateColumnVerifyVO.setHospitalId(currentHospitalId);
- List<ColumnInfoVO> columnList = updateColumnVerifyVO.getColumnList();
- AddColumnVerifyVO addColumnVerifyVO = new AddColumnVerifyVO();
- List<ColumnInfoVO> columnInfoAdd = new ArrayList<>();
- List<ColumnInfoVO> columnInfoUpdate = new ArrayList<>();
- //查出表列信息ID
- List<Long> columnInfoIdAdd = new ArrayList<>();
- List<Long> columnInfoIdUpdate = new ArrayList<>();
- for (ColumnInfoVO columnInfoVO : columnList) {
- Long columnId = columnInfoVO.getId();
- ColumnVerify columnVerify = columnVerifyFacade.getById(columnId);
- if (columnVerify != null) {
- //库中已有维护
- columnInfoIdUpdate.add(columnId);
- columnInfoUpdate.add(columnInfoVO);
- } else {
- //库中暂无维护
- columnInfoIdAdd.add(columnId);
- columnInfoAdd.add(columnInfoVO);
- }
- }
- if (ListUtil.isNotEmpty(columnInfoAdd)) {
- addColumnVerifyVO.setHospitalId(updateColumnVerifyVO.getHospitalId());
- addColumnVerifyVO.setColumnList(columnInfoAdd);
- addColumnVerifyVO.setIsRequired(updateColumnVerifyVO.getIsRequired());
- addColumnVerifyVO.setRegularId(updateColumnVerifyVO.getRegularId());
- addColumnVerifyVO.setRegularName(updateColumnVerifyVO.getRegularName());
- addColumnVerifyVO.setStandardValueList(updateColumnVerifyVO.getStandardValueList());
- addColumnVerifyVO.setDescription(updateColumnVerifyVO.getDescription());
- //库中暂无走新增流程
- addColumnVerify(addColumnVerifyVO);
- }
- //库中已有走修改流程
- if (ListUtil.isNotEmpty(columnInfoIdUpdate)) {
- for (Long columnId : columnInfoIdUpdate) {
- ColumnInfo columnInfo = columnInfoFacade.getById(columnId);
- ColumnVerify columnVerify = new ColumnVerify();
- columnVerify.setColumnId(columnId);
- columnVerify.setColumnCname(columnInfo.getColumnCname());
- columnVerify.setColumnEname(columnInfo.getColumnEname());
- columnVerify.setTableCname(columnInfo.getTableCname());
- columnVerify.setTableEname(columnInfo.getTableEname());
- if (updateColumnVerifyVO.getRegularId() != null) {
- //插入正则维护表
- //先判断是否该字段信息是否已关联正则
- RegularMapping selectOneMapping = regularMappingFacade.getBaseMapper().selectOne(new QueryWrapper<RegularMapping>()
- .eq("column_id", columnId)
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- );
- if (selectOneMapping != null) {
- //已关联正则走修改
- regularMappingFacade.update(new UpdateWrapper<RegularMapping>()
- .eq("column_id", columnId)
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- .set("regular_id", updateColumnVerifyVO.getRegularId())
- .set("gmt_modified", new Date())
- );
- Long mappingId = selectOneMapping.getId();
- //修改总表
- columnVerifyFacade.update(new UpdateWrapper<ColumnVerify>()
- .eq("column_id", columnId)
- .eq("type", ColumnVerifyTypeEnum.REGULAR_TYPE.getKey())
- .eq("verify_id", mappingId)
- .set("verify_val", updateColumnVerifyVO.getRegularName())
- .set("description", updateColumnVerifyVO.getDescription())
- .set("gmt_modified", new Date())
- );
- } else {
- //未关联正则走新增
- RegularMapping regularMapping = new RegularMapping();
- regularMapping.setColumnId(columnId);
- regularMapping.setGmtCreate(new Date());
- regularMapping.setRegularId(updateColumnVerifyVO.getRegularId());
- try {
- regularMappingFacade.getBaseMapper().insert(regularMapping);
- } catch (Exception e) {
- Asserts.fail("关联正则失败,请重试!");
- }
- Long regularMappingId = regularMapping.getId();
- //插入总表
- columnVerify.setType(ColumnVerifyTypeEnum.REGULAR_TYPE.getKey());
- columnVerify.setVerifyId(regularMappingId);
- columnVerify.setVerifyVal(updateColumnVerifyVO.getRegularName());
- columnVerify.setDescription(updateColumnVerifyVO.getDescription());
- columnVerify.setGmtCreate(new Date());
- try {
- columnVerifyFacade.getBaseMapper().insert(columnVerify);
- } catch (Exception e) {
- Asserts.fail("保存失败");
- }
- }
- }
- if (updateColumnVerifyVO.getIsRequired() != null) {
- //插入表字段的非空校验维护表
- //先判断是否该字段信息是否已存在非空规则
- NonnullInfo selectOneInfo = nonnullInfoFacade.getBaseMapper().selectOne(new QueryWrapper<NonnullInfo>()
- .eq("column_id", columnId)
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- );
- if (selectOneInfo != null) {
- //已关联非空校验走修改
- nonnullInfoFacade.update(new UpdateWrapper<NonnullInfo>()
- .eq("column_id", columnId)
- .eq("is_deleted", IsDeleteEnum.N.getKey())
- .set("is_required", updateColumnVerifyVO.getIsRequired())
- .set("gmt_modified", new Date())
- );
- Long mappingId = selectOneInfo.getId();
- //修改总表
- columnVerifyFacade.update(new UpdateWrapper<ColumnVerify>()
- .eq("column_id", columnId)
- .eq("type", ColumnVerifyTypeEnum.NONNULL_TYPE.getKey())
- .eq("verify_id", mappingId)
- .set("verify_val", updateColumnVerifyVO.getIsRequired())
- .set("description", updateColumnVerifyVO.getDescription())
- .set("gmt_modified", new Date())
- );
- } else {
- NonnullInfo nonnullInfo = new NonnullInfo();
- nonnullInfo.setColumnId(columnId);
- nonnullInfo.setGmtCreate(new Date());
- nonnullInfo.setIsRequired(updateColumnVerifyVO.getIsRequired());
- try {
- nonnullInfoFacade.getBaseMapper().insert(nonnullInfo);
- } catch (Exception e) {
- Asserts.fail("关联是否非空失败,请重试!");
- }
- Long nonnullInfoId = nonnullInfo.getId();
- //插入总表
- columnVerify.setType(ColumnVerifyTypeEnum.NONNULL_TYPE.getKey());
- columnVerify.setVerifyId(nonnullInfoId);
- columnVerify.setVerifyVal(updateColumnVerifyVO.getIsRequired());
- columnVerify.setDescription(updateColumnVerifyVO.getDescription());
- columnVerify.setGmtCreate(new Date());
- try {
- columnVerifyFacade.getBaseMapper().insert(columnVerify);
- } catch (Exception e) {
- Asserts.fail("保存失败");
- }
- }
- }
- if (ListUtil.isNotEmpty(updateColumnVerifyVO.getStandardValueList())) {
- //插入关键字信息维护表
- List<String> standardValueList = updateColumnVerifyVO.getStandardValueList();
- //先删除之前的关联然后直接插入
- standardvalueInfoFacade.remove(new QueryWrapper<StandardvalueInfo>()
- .eq("column_id", columnId)
- );
- columnVerifyFacade.remove(new QueryWrapper<ColumnVerify>()
- .eq("column_id", columnId)
- .eq("type", ColumnVerifyTypeEnum.STANDARD_TYPE.getKey())
- );
- for (String standardValue : standardValueList) {
- StandardvalueInfo standardvalueInfo = new StandardvalueInfo();
- standardvalueInfo.setColumnId(columnId);
- standardvalueInfo.setGmtCreate(new Date());
- standardvalueInfo.setVal(standardValue);
- try {
- standardvalueInfoFacade.getBaseMapper().insert(standardvalueInfo);
- } catch (Exception e) {
- Asserts.fail("关联关键字失败,请重试!");
- }
- Long standardvalueInfoId = standardvalueInfo.getId();
- //插入总表
- columnVerify.setType(ColumnVerifyTypeEnum.STANDARD_TYPE.getKey());
- columnVerify.setVerifyId(standardvalueInfoId);
- columnVerify.setVerifyVal(standardValue);
- columnVerify.setDescription(updateColumnVerifyVO.getDescription());
- columnVerify.setGmtCreate(new Date());
- try {
- columnVerifyFacade.getBaseMapper().insert(columnVerify);
- } catch (Exception e) {
- Asserts.fail("保存失败");
- }
- }
- }
- }
- }
- return true;
- }
- }
|