feat: 迁移标准属性自定义 修改相关问题

This commit is contained in:
super_liu
2021-06-15 18:45:21 +08:00
parent e737cc225d
commit 9d704f4d1e
25 changed files with 1017 additions and 189 deletions
@@ -2,16 +2,23 @@ package com.adc.da.slrs.sarStandAttrDetails.controller;
import com.adc.da.common.SarTypeEnum;
import com.adc.da.http.PageInfo;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.slrs.sarStandAttrDetails.page.SarStandAttrDetailsEOPage;
import com.adc.da.slrs.sarStandAttrDetails.service.ISarStandAttrDetailsService;
import com.adc.da.sys.common.SelectionResult;
import com.adc.da.utils.util.InitStandAttrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.adc.da.base.web.BaseController;
import java.util.HashMap;
@@ -27,10 +34,23 @@ import java.util.Map;
* @since 2021-06-01
*/
@RestController
@Api(tags = "福田标准法规--标准法规库--国内标准法规详情")
@Api(tags = "福田标准法规--标准属性自定义")
@RequestMapping("/${restPath}/lawss/sarStandAttrDetails")
public class SarStandAttrDetailsController extends BaseController<SarStandAttrDetails> {
private static final Logger logger = LoggerFactory.getLogger(SarStandAttrDetailsController.class);
@Autowired
private ISarStandAttrDetailsService sarStandAttrDetailsEOService;
@ApiOperation(value = "|SarStandAttrDetailsEO|分页查询")
@GetMapping("/page")
// @RequiresPermissions("lawss:sarStandAttrDetails:page")
public ResponseMessage<PageInfo<SarStandAttrDetails>> page(SarStandAttrDetailsEOPage page) throws Exception {
List<SarStandAttrDetails> rows = sarStandAttrDetailsEOService.queryByPage(page);
return Result.success(getPageInfo(page.getPager(), rows));
}
@ApiOperation(value = "|SarStandAttrDetailsEO|查询")
@GetMapping("/list")
// @RequiresPermissions("lawss:sarStandAttrDetails:list")
@@ -51,4 +71,77 @@ public class SarStandAttrDetailsController extends BaseController<SarStandAttrDe
resultMap.put(SarTypeEnum.BUSS.getValue(),getBussList);
return Result.success(resultMap);
}
@ApiOperation(value = "|SarStandAttrDetailsEO|详情")
@GetMapping("/getStandAttrDetailsById")
// @RequiresPermissions("lawss:sarStandAttrDetails:get")
public ResponseMessage<SarStandAttrDetails> find(@PathVariable String id) throws Exception {
return Result.success(sarStandAttrDetailsEOService.getById(id));
}
@ApiOperation(value = "|SarStandAttrDetailsEO|新增")
@PostMapping("/createStandAttrDetails")
// @RequiresPermissions("lawss:sarStandAttrDetails:save")
public ResponseMessage<SarStandAttrDetails> create(@RequestBody SarStandAttrDetails sarStandAttrDetailsEO) throws Exception {
String resultMsg = sarStandAttrDetailsEOService.createStandAttrDetails(sarStandAttrDetailsEO);
if ("success".equals(resultMsg)) {
// 重新加载数据
// sarStandAttrDetailsEOService.getAttrDetails();
return Result.success("0","新增成功",sarStandAttrDetailsEO);
} else {
return Result.error("0","新增失败,"+resultMsg);
}
}
@ApiOperation(value = "|SarStandAttrDetailsEO|修改")
@PutMapping("/updateStandAttrDetails")
// @RequiresPermissions("lawss:sarStandAttrDetails:update")
public ResponseMessage<SarStandAttrDetails> update(@RequestBody SarStandAttrDetails sarStandAttrDetailsEO) throws Exception {
String resultMsg = sarStandAttrDetailsEOService.updateStandAttrDetails(sarStandAttrDetailsEO);
if ("success".equals(resultMsg)) {
// 重新加载数据
sarStandAttrDetailsEOService.getAttrDetails();
return Result.success("0","修改成功",sarStandAttrDetailsEO);
} else {
return Result.error("0","修改失败,"+resultMsg);
}
}
@ApiOperation(value = "|SarStandAttrDetailsEO|删除")
@DeleteMapping("/deleteAttrDetailsByIds")
// @RequiresPermissions("lawss:sarStandAttrDetails:delete")
public ResponseMessage delete(@PathVariable String id) throws Exception {
sarStandAttrDetailsEOService.removeById(id);
logger.info("delete from SAR_STAND_ATTR_DETAILS where id = {}", id);
return Result.success();
}
@ApiOperation(value = "|SarStandAttrDetailsEO|批量删除")
@PutMapping("/deleteByIds")
// @RequiresPermissions("lawss:sarStandAttrDetails:update")
public ResponseMessage deleteByIds(String ids,String sarType) throws Exception {
String resultMsg = sarStandAttrDetailsEOService.deleteByIds(ids,sarType);
if ("success".equals(resultMsg)) {
// 重新加载数据
sarStandAttrDetailsEOService.getAttrDetails();
return Result.success("0","删除成功",null);
} else {
return Result.error("0","删除失败");
}
}
@ApiOperation(value = "|SarStandAttrDetailsEO|查询标准中所有文件类型")
@GetMapping("/getFileFieldForSel")
// @RequiresPermissions("lawss:sarStandAttrDetails:get")
public ResponseMessage<List<SelectionResult>> getFileFieldForSel(){
return Result.success(sarStandAttrDetailsEOService.selectFileFieldForSel(null));
}
// 标准拆分使用
@ApiOperation(value = "|SarStandAttrDetailsEO|查询标准中所有文件类型")
@GetMapping("/getFileFieldForSel1")
// @RequiresPermissions("lawss:sarStandAttrDetails:get")
public ResponseMessage<List<SelectionResult>> selectFileFieldForSel1(){
return Result.success(sarStandAttrDetailsEOService.selectFileFieldForSel1(null));
}
}
@@ -1,9 +1,14 @@
package com.adc.da.slrs.sarStandAttrDetails.dao;
import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails;
import com.adc.da.slrs.sarStandAttrDetails.page.SarStandAttrDetailsEOPage;
import com.adc.da.sys.common.SelectionResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* <p>
* Mapper 接口
@@ -14,6 +19,20 @@ import org.apache.ibatis.annotations.Param;
*/
public interface SarStandAttrDetailsDao extends BaseMapper<SarStandAttrDetails> {
List<SarStandAttrDetails> queryByPage(SarStandAttrDetailsEOPage page);
List<SarStandAttrDetails> queryByList(SarStandAttrDetailsEOPage page);
Integer queryByCount(SarStandAttrDetailsEOPage page);
int deleteByIds(@Param("idList") List<String> idList);
String selectAllFieldToStr(SarStandAttrDetailsEOPage page);
List<SelectionResult> selectFileFieldForSel(@Param("attrField") String attrField);
List<SelectionResult> selectFileFieldForSel1(@Param("attrField") String attrField);
String selectNameByField(@Param("attrField") String attrField, @Param("sarType") String sarType);
SarStandAttrDetails selectFieldByName(@Param("attrName") String attrName, @Param("sarType") String sarType);
@@ -1,8 +1,12 @@
package com.adc.da.slrs.sarStandAttrDetails.service;
import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails;
import com.adc.da.slrs.sarStandAttrDetails.page.SarStandAttrDetailsEOPage;
import com.adc.da.sys.common.SelectionResult;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 服务类
@@ -13,4 +17,18 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface ISarStandAttrDetailsService extends IService<SarStandAttrDetails> {
List<SarStandAttrDetails> queryByPage(SarStandAttrDetailsEOPage page);
String createStandAttrDetails (SarStandAttrDetails sarStandAttrDetailsEO);
String updateStandAttrDetails (SarStandAttrDetails sarStandAttrDetailsEO);
String deleteByIds (String ids,String sarType);
void getAttrDetails();
List<SelectionResult> selectFileFieldForSel(String attrField);
List<SelectionResult> selectFileFieldForSel1(String attrField);
}
@@ -1,11 +1,28 @@
package com.adc.da.slrs.sarStandAttrDetails.service.impl;
import com.adc.da.common.SarTypeEnum;
import com.adc.da.common.StandAttrTypeEnum;
import com.adc.da.slrs.sarLawsAttrInfo.dao.SarLawsAttrInfoDao;
import com.adc.da.slrs.sarLawsInfo.dao.SarLawsInfoDao;
import com.adc.da.slrs.sarStandAttrDetails.entity.SarStandAttrDetails;
import com.adc.da.slrs.sarStandAttrDetails.dao.SarStandAttrDetailsDao;
import com.adc.da.slrs.sarStandAttrDetails.page.SarStandAttrDetailsEOPage;
import com.adc.da.slrs.sarStandAttrDetails.service.ISarStandAttrDetailsService;
import com.adc.da.slrs.sarStandAttrInfo.dao.SarStandAttrInfoDao;
import com.adc.da.slrs.sarStandardsInfo.dao.SarStandardsInfoDao;
import com.adc.da.sys.common.SelectionResult;
import com.adc.da.util.LoginUserUtil;
import com.adc.da.util.UUIDUtils;
import com.adc.da.utils.util.InitStandAttrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
/**
* <p>
* 服务实现类
@@ -17,4 +34,446 @@ import org.springframework.stereotype.Service;
@Service
public class SarStandAttrDetailsServiceImpl extends ServiceImpl<SarStandAttrDetailsDao, SarStandAttrDetails> implements ISarStandAttrDetailsService {
private static final Logger logger = LoggerFactory.getLogger(ISarStandAttrDetailsService.class);
@Autowired
private SarStandAttrDetailsDao dao;
@Autowired
private SarLawsAttrInfoDao sarLawsAttrInfoDao;
@Autowired
private SarLawsInfoDao sarLawsInfoEODao;
@Autowired
private SarStandardsInfoDao sarStandardsInfoDao;
@Autowired
private SarStandAttrInfoDao sarStandAttrInfoEODao;
// @Autowired
// private SarBussionessStandDao sarBussionessStandEODao;
private final static List<String> standTypeList = new ArrayList<>();
private final static List<String> lawsTypeList = new ArrayList<>();
static {
standTypeList.add(SarTypeEnum.STAND.getValue());
standTypeList.add(SarTypeEnum.INLAND_STAND.getValue());
standTypeList.add(SarTypeEnum.FOREIGN_STAND.getValue());
lawsTypeList.add(SarTypeEnum.LAWS.getValue());
lawsTypeList.add(SarTypeEnum.INLAND_LAWS.getValue());
lawsTypeList.add(SarTypeEnum.FOREIGN_LAWS.getValue());
}
@Override
public List<SarStandAttrDetails> queryByPage(SarStandAttrDetailsEOPage page){
return dao.queryByPage(page);
}
/***
* @Description:
* @Author: yangxuenan
* @Date: 2020/8/17 15:44
* @Param: [sarStandAttrDetailsEO]
* @Return: void
*/
public String createStandAttrDetails (SarStandAttrDetails sarStandAttrDetailsEO) {
//向属性表增加字段
String fieldInfo = "";
String attrType = sarStandAttrDetailsEO.getAttrType();
String sarType = sarStandAttrDetailsEO.getSarType();
String attrField = sarStandAttrDetailsEO.getAttrField();
Long attrLen = sarStandAttrDetailsEO.getAttrLen();
String validMsg = validAttrInfo(sarStandAttrDetailsEO);
if (StringUtils.isNotBlank(validMsg)) {
return validMsg;
}
// 根据不同字段类型拼接sql参数
if (StandAttrTypeEnum.INPUT_STR.getValue().equals(attrType) || StandAttrTypeEnum.SELECT_OPTION.getValue().equals(attrType) || StandAttrTypeEnum.SEL_OPTS.getValue().equals(attrType) || StandAttrTypeEnum.FILE.getValue().equals(attrType)) {
fieldInfo = attrField + " varchar(" + String.valueOf(attrLen) + ")";
} else if (StandAttrTypeEnum.INPUT_NUM.getValue().equals(attrType)) {
fieldInfo = attrField + " int(" + String.valueOf(attrLen) + ")";
} else if (StandAttrTypeEnum.DATE_PICKER.getValue().equals(attrType)) {
fieldInfo = attrField + " datetime";
} else if (StandAttrTypeEnum.DATE_PIC_OPTS.getValue().equals(attrType)) {
fieldInfo = attrField + " varchar(500)";
} else if (StandAttrTypeEnum.TEXTAREA.getValue().equals(attrType) && attrLen < 4000) {
fieldInfo = attrField + " varchar(" + String.valueOf(attrLen) + ")";
} else if (StandAttrTypeEnum.TEXTAREA.getValue().equals(attrType) && attrLen >= 4000) {
fieldInfo = attrField + " text";
}
if (StringUtils.isNotBlank(fieldInfo)) {
if (standTypeList.contains(sarType)) {
sarStandAttrInfoEODao.alterStandAttr(fieldInfo);
} else if (lawsTypeList.contains(sarType)) {
sarLawsAttrInfoDao.alterLawsAttr(fieldInfo);
} else if (SarTypeEnum.BUSS.getValue().equals(sarType)) {
// dao.alterStandAttr(fieldInfo);
}
}
//向属性详细信息表添加数据
sarStandAttrDetailsEO.setId(UUIDUtils.randomUUID20());
sarStandAttrDetailsEO.setIsEdit("0");
sarStandAttrDetailsEO.setCreationUser(LoginUserUtil.getUserId());
sarStandAttrDetailsEO.setValidFlag("0");
sarStandAttrDetailsEO.setCreationTime(new Date());
sarStandAttrDetailsEO.setModifyTime(new Date());
int successCount = dao.insert(sarStandAttrDetailsEO);
if (successCount > 0) {
return "success";
} else {
return "error";
}
}
/***
* @Description: 验证属性信息
* @Author: yangxuenan
* @Date: 2020/8/18 10:39
* @Param: [sarStandAttrDetailsEO]
* @Return: java.lang.String
*/
public String validAttrInfo (SarStandAttrDetails sarStandAttrDetailsEO) {
String attrFfield = sarStandAttrDetailsEO.getAttrField();
String sarType = sarStandAttrDetailsEO.getSarType();
// 判断新增字段在属性表中是否已存在
SarStandAttrDetailsEOPage detailsEOPage = new SarStandAttrDetailsEOPage();
detailsEOPage.setAttrField(attrFfield);
detailsEOPage.setSarType(sarType);
int countFiled = dao.queryByCount(detailsEOPage);
if (countFiled > 0) {
return "属性字段已存在";
}
// 判断新增字段在基础表中是否已存在
Integer count = 0;
if (standTypeList.contains(sarType)) {
count = sarStandardsInfoDao.selectStandColumn(attrFfield);
} else if (lawsTypeList.contains(sarType)) {
count = sarLawsInfoEODao.selectLawsColumn(attrFfield);
} else if (SarTypeEnum.BUSS.getValue().equals(sarType)) {
// count = sarBussionessStandEODao.selectStandColumn(attrFfield);
}
if (count > 0) {
return "属性字段在基础表SAR_STANDARDS_INFO中已存在";
}
// 判断新增字段在属性表中是否已存在
Integer countAtt = 0;
if (standTypeList.contains(sarType)) {
countAtt = sarStandAttrInfoEODao.selectStandAttrColumn(attrFfield);
} else if (lawsTypeList.contains(sarType)) {
countAtt = sarLawsAttrInfoDao.selectLawsAttrColumn(attrFfield);
}
if (countAtt > 0) {
return "属性字段在属性表SAR_STAND_ATTR_INFO中已存在";
}
// 判断属性名称是否已存在
detailsEOPage.setAttrField(null);
detailsEOPage.setAttrName(sarStandAttrDetailsEO.getAttrName());
detailsEOPage.setSarType(sarType);
int countName = dao.queryByCount(detailsEOPage);
if (countName > 0) {
return "属性名称已存在";
}
return "";
}
public void getAttrDetails(){
String queryField = ""; //所有属性表需要查询的字段以逗号分隔
String queryFieldNames = ""; //所有属性表需要查询的字段名以逗号分隔
List<String> queryFieldList = new ArrayList<>(); //所有属性表需要查询的字段
List<String> selectionFieldList = new ArrayList<>(); // 属性表下拉选项类型字段
List<String> fileFieldList = new ArrayList<>(); // 属性表文件类型字段
List<String> clobFieldList = new ArrayList<>(); // 属性表clob类型字段
List<String> timeFieldList = new ArrayList<>(); // 属性表日期类型字段
List<String> multiTimeFieldList = new ArrayList<>(); // 属性表多个日期类型字段
List<String> numFieldList = new ArrayList<>(); // 属性表数字类型字段
List<SarStandAttrDetails> standInlandAttrFieldList = new ArrayList<>(); // 属性表数字类型字段
List<SarStandAttrDetails> standForeignAttrFieldList = new ArrayList<>();
Map<String,String> selectFieldMap = new HashMap<>(); // 下拉属性字段及选项值
// 政策属性字段信息
String queryFieldLaws = ""; //所有属性表需要查询的字段以逗号分隔
String queryFieldNamesLaws = ""; //所有属性表需要查询的字段名以逗号分隔
List<String> queryFieldListLaws = new ArrayList<>(); //所有属性表需要查询的字段
List<String> selectionFieldListLaws = new ArrayList<>(); // 属性表下拉选项类型字段
List<String> fileFieldListLaws = new ArrayList<>(); // 属性表文件类型字段
List<String> clobFieldListLaws = new ArrayList<>(); // 属性表clob类型字段
List<String> timeFieldListLaws = new ArrayList<>(); // 属性表日期类型字段
List<String> multiTimeFieldListLaws = new ArrayList<>(); // 属性表多个日期类型字段
List<String> numFieldListLaws = new ArrayList<>(); // 属性表数字类型字段
List<SarStandAttrDetails> lawsInlandAttrFieldList = new ArrayList<>(); // 属性表数字类型字段
List<SarStandAttrDetails> lawsForeignAttrFieldList = new ArrayList<>();
Map<String,String> selectFieldMapLaws = new HashMap<>(); // 下拉属性字段及选项值
// 企标属性字段信息
String queryFieldBuss = ""; //所有属性表需要查询的字段以逗号分隔
String queryFieldNamesBuss = ""; //所有属性表需要查询的字段名以逗号分隔
List<String> queryFieldListBuss = new ArrayList<>(); //所有属性表需要查询的字段
List<String> selectionFieldListBuss = new ArrayList<>(); // 属性表下拉选项类型字段
List<String> fileFieldListBuss = new ArrayList<>(); // 属性表文件类型字段
List<String> clobFieldListBuss = new ArrayList<>(); // 属性表clob类型字段
List<String> timeFieldListBuss = new ArrayList<>(); // 属性表日期类型字段
List<String> multiTimeFieldListBuss = new ArrayList<>(); // 属性表多个日期类型字段
List<String> numFieldListBuss = new ArrayList<>(); // 属性表数字类型字段
List<SarStandAttrDetails> bussAttrFieldList = new ArrayList<>(); // 属性表数字类型字段
Map<String,String> selectFieldMapBuss = new HashMap<>(); // 下拉属性字段及选项值
logger.info("新增编辑时加载--查询标准属性类!");
// 属性表需要查询的字段
StringBuilder fieldInfoBuilder = new StringBuilder();
StringBuilder fieldInfoBuilderLaws = new StringBuilder();
StringBuilder fieldInfoNameBuilder = new StringBuilder();
StringBuilder fieldInfoNameBuilderLaws = new StringBuilder();
StringBuilder fieldInfoBuilderBuss = new StringBuilder();
StringBuilder fieldInfoNameBuilderBuss = new StringBuilder();
SarStandAttrDetailsEOPage detailsEOPage = new SarStandAttrDetailsEOPage();
List<SarStandAttrDetails> getDetailsList = dao.queryByList(detailsEOPage);
if (getDetailsList != null && !getDetailsList.isEmpty()) {
logger.info("新增编辑时加载--查询标准属性类--查询到" + getDetailsList.size() + "条属性字段数据!");
for (SarStandAttrDetails detailsEO : getDetailsList) {
String sarType = detailsEO.getSarType();
String attrType = detailsEO.getAttrType();
if (standTypeList.contains(sarType)) {
if (!SarTypeEnum.FOREIGN_STAND.getValue().equals(sarType)) {
standInlandAttrFieldList.add(detailsEO);
}
if (!SarTypeEnum.INLAND_STAND.getValue().equals(sarType)) {
standForeignAttrFieldList.add(detailsEO);
}
fieldInfoBuilder.append(detailsEO.getAttrField() + ",");
fieldInfoNameBuilder.append(detailsEO.getAttrName() + ",");
queryFieldList.add(detailsEO.getAttrField());
if (StandAttrTypeEnum.SELECT_OPTION.getValue().equals(attrType) || StandAttrTypeEnum.SEL_OPTS.getValue().equals(attrType)) {
selectionFieldList.add(detailsEO.getAttrField());
selectFieldMap.put(detailsEO.getAttrField(),detailsEO.getSelVal());
} else if (StandAttrTypeEnum.FILE.getValue().equals(attrType)) {
fileFieldList.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.TEXTAREA.getValue().equals(attrType) && detailsEO.getAttrLen() >= 4000) {
clobFieldList.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.DATE_PICKER.getValue().equals(attrType)) {
timeFieldList.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.DATE_PIC_OPTS.getValue().equals(attrType)) {
multiTimeFieldList.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.INPUT_NUM.getValue().equals(attrType)) {
numFieldList.add(detailsEO.getAttrField());
}
} else if (lawsTypeList.contains(sarType)) {
if (!SarTypeEnum.FOREIGN_LAWS.getValue().equals(sarType)) {
lawsInlandAttrFieldList.add(detailsEO);
}
if (!SarTypeEnum.INLAND_LAWS.getValue().equals(sarType)) {
lawsForeignAttrFieldList.add(detailsEO);
}
fieldInfoBuilderLaws.append(detailsEO.getAttrField() + ",");
fieldInfoNameBuilderLaws.append(detailsEO.getAttrName() + ",");
queryFieldListLaws.add(detailsEO.getAttrField());
if (StandAttrTypeEnum.SELECT_OPTION.getValue().equals(attrType) || StandAttrTypeEnum.SEL_OPTS.getValue().equals(attrType)) {
selectionFieldListLaws.add(detailsEO.getAttrField());
selectFieldMapLaws.put(detailsEO.getAttrField(),detailsEO.getSelVal());
} else if (StandAttrTypeEnum.FILE.getValue().equals(attrType)) {
fileFieldListLaws.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.TEXTAREA.getValue().equals(attrType) && detailsEO.getAttrLen() >= 4000) {
clobFieldListLaws.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.DATE_PICKER.getValue().equals(attrType)) {
timeFieldListLaws.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.DATE_PIC_OPTS.getValue().equals(attrType)) {
multiTimeFieldListLaws.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.INPUT_NUM.getValue().equals(attrType)) {
numFieldListLaws.add(detailsEO.getAttrField());
}
} else if (SarTypeEnum.BUSS.getValue().equals(sarType)) {
bussAttrFieldList.add(detailsEO);
fieldInfoBuilderBuss.append(detailsEO.getAttrField() + ",");
fieldInfoNameBuilderBuss.append(detailsEO.getAttrName() + ",");
queryFieldListBuss.add(detailsEO.getAttrField());
if (StandAttrTypeEnum.SELECT_OPTION.getValue().equals(attrType) || StandAttrTypeEnum.SEL_OPTS.getValue().equals(attrType)) {
selectionFieldListBuss.add(detailsEO.getAttrField());
selectFieldMapBuss.put(detailsEO.getAttrField(),detailsEO.getSelVal());
} else if (StandAttrTypeEnum.FILE.getValue().equals(attrType)) {
fileFieldListBuss.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.TEXTAREA.getValue().equals(attrType) && detailsEO.getAttrLen() >= 4000) {
clobFieldListBuss.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.DATE_PICKER.getValue().equals(attrType)) {
timeFieldListBuss.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.DATE_PIC_OPTS.getValue().equals(attrType)) {
multiTimeFieldListBuss.add(detailsEO.getAttrField());
} else if (StandAttrTypeEnum.INPUT_NUM.getValue().equals(attrType)) {
numFieldListBuss.add(detailsEO.getAttrField());
}
}
}
queryField = fieldInfoBuilder.toString();
queryFieldLaws = fieldInfoBuilderLaws.toString();
queryFieldBuss = fieldInfoBuilderBuss.toString();
if (StringUtils.isNotBlank(queryField)) {
queryField = queryField.substring(0,queryField.length()-1);
}
if (StringUtils.isNotBlank(queryFieldLaws)) {
queryFieldLaws = queryFieldLaws.substring(0,queryFieldLaws.length()-1);
}
if (StringUtils.isNotBlank(queryFieldBuss)) {
queryFieldBuss = queryFieldBuss.substring(0,queryFieldBuss.length()-1);
}
logger.info("新增编辑时加载--查询标准属性类--查询到属性字段为:" + queryField);
logger.info("新增编辑时加载--查询政策属性类--查询到属性字段为:" + queryFieldLaws);
logger.info("新增编辑时加载--查询企标属性类--查询到属性字段为:" + queryFieldBuss);
queryFieldNames = fieldInfoNameBuilder.toString();
queryFieldNamesLaws = fieldInfoNameBuilderLaws.toString();
queryFieldNamesBuss = fieldInfoNameBuilderBuss.toString();
if (StringUtils.isNotBlank(queryFieldNames)) {
queryFieldNames = queryFieldNames.substring(0,queryFieldNames.length()-1);
}
if (StringUtils.isNotBlank(queryFieldNamesLaws)) {
queryFieldNamesLaws = queryFieldNamesLaws.substring(0,queryFieldNamesLaws.length()-1);
}
if (StringUtils.isNotBlank(queryFieldNamesBuss)) {
queryFieldNamesBuss = queryFieldNamesBuss.substring(0,queryFieldNamesBuss.length()-1);
}
} else {
logger.error("新增编辑时加载--查询标准属性类--未查询到属性字段数据!");
}
InitStandAttrUtil.queryField = queryField; //所有属性表需要查询的字段以逗号分隔
InitStandAttrUtil. queryFieldNames = queryFieldNames; //所有属性表需要查询的字段名以逗号分隔
InitStandAttrUtil.queryFieldList = queryFieldList; //所有属性表需要查询的字段
InitStandAttrUtil.selectionFieldList = selectionFieldList; // 属性表下拉选项类型字段
InitStandAttrUtil.fileFieldList = fileFieldList; // 属性表文件类型字段
InitStandAttrUtil.clobFieldList = clobFieldList; // 属性表clob类型字段
InitStandAttrUtil.timeFieldList = timeFieldList; // 属性表日期类型字段
InitStandAttrUtil.multiTimeFieldList = multiTimeFieldList; // 属性表日期类型字段
InitStandAttrUtil.numFieldList = numFieldList; // 属性表数字类型字段
InitStandAttrUtil.standInlandAttrFieldList = standInlandAttrFieldList;
InitStandAttrUtil.standForeignAttrFieldList = standForeignAttrFieldList;
InitStandAttrUtil.selectFieldMap = selectFieldMap;
// 政策属性字段信息
InitStandAttrUtil.queryFieldLaws = queryFieldLaws; //所有属性表需要查询的字段以逗号分隔
InitStandAttrUtil.queryFieldNamesLaws = queryFieldNamesLaws; //所有属性表需要查询的字段名以逗号分隔
InitStandAttrUtil.queryFieldListLaws = queryFieldListLaws; //所有属性表需要查询的字段
InitStandAttrUtil.selectionFieldListLaws = selectionFieldListLaws; // 属性表下拉选项类型字段
InitStandAttrUtil.fileFieldListLaws = fileFieldListLaws; // 属性表文件类型字段
InitStandAttrUtil.clobFieldListLaws = clobFieldListLaws; // 属性表clob类型字段
InitStandAttrUtil.timeFieldListLaws = timeFieldListLaws; // 属性表日期类型字段
InitStandAttrUtil.multiTimeFieldListLaws = multiTimeFieldListLaws; // 属性表日期类型字段
InitStandAttrUtil.numFieldListLaws = numFieldListLaws; // 属性表数字类型字段
InitStandAttrUtil.lawsInlandAttrFieldList = lawsInlandAttrFieldList;
InitStandAttrUtil.lawsForeignAttrFieldList = lawsForeignAttrFieldList;
InitStandAttrUtil.selectFieldMapLaws = selectFieldMapLaws;
// 企标属性字段信息
InitStandAttrUtil.queryFieldBuss = queryFieldBuss; //所有属性表需要查询的字段以逗号分隔
InitStandAttrUtil.queryFieldNamesBuss = queryFieldNamesBuss; //所有属性表需要查询的字段名以逗号分隔
InitStandAttrUtil.queryFieldListBuss = queryFieldListBuss; //所有属性表需要查询的字段
InitStandAttrUtil.selectionFieldListBuss = selectionFieldListBuss; // 属性表下拉选项类型字段
InitStandAttrUtil.fileFieldListBuss = fileFieldListBuss; // 属性表文件类型字段
InitStandAttrUtil.clobFieldListBuss = clobFieldListBuss; // 属性表clob类型字段
InitStandAttrUtil.timeFieldListBuss = timeFieldListBuss; // 属性表日期类型字段
InitStandAttrUtil.multiTimeFieldListBuss = multiTimeFieldListBuss; // 属性表日期类型字段
InitStandAttrUtil.numFieldListBuss = numFieldListBuss; // 属性表数字类型字段
InitStandAttrUtil.bussAttrFieldList = bussAttrFieldList;
InitStandAttrUtil.selectFieldMapBuss = selectFieldMapBuss;
}
/***
* @Description: 修改字段属性
* @Author: yangxuenan
* @Date: 2020/8/18 9:19
* @Param: []
* @Return: void
*/
public String updateStandAttrDetails (SarStandAttrDetails sarStandAttrDetailsEO) {
// 查询修改数据原信息
SarStandAttrDetails oldDetails = dao.selectById(sarStandAttrDetailsEO.getId());
//验证属性名称是否已存在
SarStandAttrDetailsEOPage detailsEOPage = new SarStandAttrDetailsEOPage();
detailsEOPage.setNotId(sarStandAttrDetailsEO.getId());
detailsEOPage.setAttrField(null);
detailsEOPage.setSarType(sarStandAttrDetailsEO.getSarType());
detailsEOPage.setAttrName(sarStandAttrDetailsEO.getAttrName());
int countName = dao.queryByCount(detailsEOPage);
if (countName > 0) {
return "属性名称已存在";
}
// 修改属性表字段(当前仅允许修改长度)
Long oldLen = oldDetails.getAttrLen();
Long newLen = sarStandAttrDetailsEO.getAttrLen();
if (oldLen > newLen) {
return "修改字段长度不能小于原长度";
} else if (oldLen < newLen) {
String fieldInfo = "";
String attrType = sarStandAttrDetailsEO.getAttrType();
String sarType = sarStandAttrDetailsEO.getSarType();
String attrField = sarStandAttrDetailsEO.getAttrField();
// if (StandAttrTypeEnum.INPUT_STR.getValue().equals(attrType) || StandAttrTypeEnum.SELECT_OPTION.getValue().equals(attrType) || StandAttrTypeEnum.SEL_OPTS.getValue().equals(attrType) || StandAttrTypeEnum.FILE.getValue().equals(attrType)) {
// fieldInfo = "(" + attrField + " VARCHAR2(" + String.valueOf(newLen) + " char))";
// } else if (StandAttrTypeEnum.INPUT_NUM.getValue().equals(attrType)) {
// fieldInfo = "(" + attrField + " NUMBER(" + String.valueOf(newLen) + "))";
// } else if (StandAttrTypeEnum.DATE_PICKER.getValue().equals(attrType)) {
// fieldInfo = "(" + attrField + " DATE)";
// } else if (StandAttrTypeEnum.TEXTAREA.getValue().equals(attrType)) {
// fieldInfo = "(" + attrField + " CLOB(" + String.valueOf(newLen) + "))";
// }
// if (standTypeList.contains(sarType)) {
// sarStandAttrInfoEOService.updateAttrLen(fieldInfo);
// } else if (lawsTypeList.contains(sarType)) {
// sarLawsAttrInfoEOService.updateAttrLen(fieldInfo);
// } else if (SarTypeEnum.BUSS.getValue().equals(sarType)) {
// sarBussStandAttrInfoEOService.updateAttrLen(fieldInfo);
// }
}
// 修改属性详细信息表
sarStandAttrDetailsEO.setModifyTime(new Date());
int countSuc = dao.updateById(sarStandAttrDetailsEO);
if (countSuc > 0) {
return "success";
} else {
return "error";
}
}
/***
* @Description: 删除字段属性
* @Author: yangxuenan
* @Date: 2020/8/18 9:19
* @Param: [ids]
* @Return: java.lang.String
*/
public String deleteByIds (String ids,String sarType) {
String resultMsg = "";
//查询所有字段名
String[] idArr = ids.split(",");
SarStandAttrDetailsEOPage page = new SarStandAttrDetailsEOPage();
page.setIdList(idArr);
List<SarStandAttrDetails> getList = dao.queryByList(page);
if (getList != null && !getList.isEmpty()) {
String columnNames = "";
for (SarStandAttrDetails detailsEO : getList) {
columnNames += detailsEO.getAttrField() + ",";
}
columnNames = " " + columnNames.substring(0,columnNames.length()-1) + " ";
//删除属性表字段 sarLawsAttrInfoDao.alterLawsAttr(fieldInfo);
if (standTypeList.contains(sarType)) {
sarStandAttrInfoEODao.deleteStandAttr(columnNames);
} else if (lawsTypeList.contains(sarType)) {
sarLawsAttrInfoDao.deleteLawsAttr(columnNames);
} else if (SarTypeEnum.BUSS.getValue().equals(sarType)) {
// sarBussStandAttrInfoEOService.deleteStandAttr(columnNames);
}
}
//删除属性信息详情表数据
List<String> idList = Arrays.asList(idArr);
int countSuc = dao.deleteBatchIds(idList);
if (countSuc > 0) {
return "success";
} else {
return "error";
}
}
public List<SelectionResult> selectFileFieldForSel(String attrField){
return dao.selectFileFieldForSel(attrField);
}
public List<SelectionResult> selectFileFieldForSel1(String attrField){
return dao.selectFileFieldForSel1(attrField);
}
}