参数项收集清单-列表查询高级查询。
This commit is contained in:
+14
-2
@@ -24,8 +24,8 @@ public enum QueryRuleEnum {
|
||||
SQL_RULES("USE_SQL_RULES","ext","自定义SQL片段");
|
||||
|
||||
private String value;
|
||||
|
||||
private String condition;
|
||||
|
||||
private String condition;
|
||||
|
||||
private String msg;
|
||||
|
||||
@@ -70,4 +70,16 @@ public enum QueryRuleEnum {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static QueryRuleEnum getByCondition(String condition){
|
||||
if(oConvertUtils.isEmpty(condition)) {
|
||||
return null;
|
||||
}
|
||||
for(QueryRuleEnum val :values()){
|
||||
if (val.getCondition().equals(condition)){
|
||||
return val;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
+9
-7
@@ -1,5 +1,6 @@
|
||||
package com.jero.modules.cert.collect.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -70,13 +71,14 @@ public class ParamsCollectManifestEOController extends JeroController<ParamsColl
|
||||
*/
|
||||
@AutoLog(value = "参数项收集清单-列表查询")
|
||||
@ApiOperation(value="参数项收集清单-列表查询", notes="参数项收集清单-列表查询")
|
||||
@GetMapping(value = "/list")
|
||||
@PostMapping(value = "/list")
|
||||
// @RequiresPermissions("params:collectManifest:list")
|
||||
public Result<?> queryList(ParamsCollectManifestVO paramsCollectManifestVO,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="100") Integer pageSize,
|
||||
@RequestParam(name = "cut") String cut,
|
||||
HttpServletRequest req) {
|
||||
public Result<?> queryList(@RequestBody JSONObject json) {
|
||||
String cut = json.getString("cut");
|
||||
Integer pageNo = json.getInteger("pageNo");
|
||||
Integer pageSize = json.getInteger("pageSize");
|
||||
ParamsCollectManifestVO paramsCollectManifestVO = JSONObject.parseObject(JSONObject.toJSONString(json),ParamsCollectManifestVO.class);
|
||||
|
||||
// if (StringUtils.isNotEmpty(paramsCollectManifestEO.getNioNumber())) {
|
||||
// paramsCollectManifestEO.setNioNumber(paramsCollectManifestEO.getNioNumber().replace("%","\\%"));
|
||||
// }
|
||||
@@ -88,7 +90,7 @@ public class ParamsCollectManifestEOController extends JeroController<ParamsColl
|
||||
// }
|
||||
|
||||
IPage page = new Page(pageNo, pageSize);
|
||||
IPage list = paramsCollectManifestEOService.queryList(page, paramsCollectManifestVO, cut, req);
|
||||
IPage list = paramsCollectManifestEOService.queryList(page, paramsCollectManifestVO, cut);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -32,7 +32,7 @@ public interface ParamsCollectManifestEOMapper extends BaseMapper<ParamsCollectM
|
||||
|
||||
List<ParamsCollectManifestEO> queryByParamManifestId(@Param("paramsManifestId") String paramsManifestIdString);
|
||||
|
||||
IPage selectpage(@Param("page") IPage page, @Param("ew") Wrapper<ParamsCollectManifestVO> queryWrapper, @Param("paramsManifestEO")ParamsManifestEO paramsManifestEO);
|
||||
IPage selectpage(@Param("page") IPage page, @Param("sqlJoin") String sqlJoin, @Param("paramsManifestEO")ParamsManifestEO paramsManifestEO);
|
||||
|
||||
List<ParamsCollectManifestEO> queryByProjectId(@Param("projectId") String projectId);
|
||||
}
|
||||
|
||||
+1
-1
@@ -134,7 +134,7 @@
|
||||
from params_collect_manifest pcm
|
||||
where pcm.params_manifest_id = #{paramsManifestEO.id}
|
||||
) temp
|
||||
${ew.customSqlSegment}
|
||||
${sqlJoin}
|
||||
</select>
|
||||
<select id="queryByProjectId" resultMap="ParamsCollectManifestEOResultMap">
|
||||
SELECT * from params_collect_manifest pcm LEFT JOIN params_manifest pm ON pm.id = pcm.params_manifest_id WHERE pm.project_id = #{projectId}
|
||||
|
||||
+5
-1
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
|
||||
import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO;
|
||||
import com.jero.modules.document.vo.QueryConditionVO;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -77,7 +78,7 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
|
||||
* @param cut
|
||||
* @return
|
||||
*/
|
||||
IPage queryList(IPage page, ParamsCollectManifestVO paramsCollectManifestVO, String cut, HttpServletRequest req);
|
||||
IPage queryList(IPage page, ParamsCollectManifestVO paramsCollectManifestVO, String cut);
|
||||
|
||||
/**
|
||||
* 列表表头中英文切换
|
||||
@@ -193,4 +194,7 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
|
||||
|
||||
// 认证工程师-批量修改填写人
|
||||
Result<?> certifiedEngineerUpdateDreBatch(ParamsCollectManifestVO paramsCollectManifestVO);
|
||||
|
||||
// 创建高级查询条件
|
||||
void createAdvanceedSearchCondition(List<QueryConditionVO> queryConditionVOList, StringBuilder sqlJoin);
|
||||
}
|
||||
|
||||
+371
-4
@@ -15,6 +15,7 @@ import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.enums.*;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.query.QueryRuleEnum;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.oss.CosBootUtil;
|
||||
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
|
||||
@@ -35,6 +36,7 @@ import com.jero.modules.cert.template.enums.ControlVerifyEnum;
|
||||
import com.jero.modules.cert.template.enums.ParamsIsMustEnum;
|
||||
import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOService;
|
||||
import com.jero.modules.cert.template.service.IParamsInfoPublishEOService;
|
||||
import com.jero.modules.document.vo.QueryConditionVO;
|
||||
import com.jero.modules.feishu.service.IFeishuService;
|
||||
import com.jero.modules.feishu.vo.FeishuMsg2Vo;
|
||||
import com.jero.modules.message.websocket.WebSocket;
|
||||
@@ -331,7 +333,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
/*@Override
|
||||
public IPage queryList(IPage page, ParamsCollectManifestVO paramsCollectManifestVO, String cut, HttpServletRequest req) {
|
||||
ParamsCollectManifestVO queryEO = new ParamsCollectManifestVO();
|
||||
QueryWrapper<ParamsCollectManifestVO> queryWrapper = QueryGenerator.initQueryWrapper(queryEO, req.getParameterMap());
|
||||
@@ -368,10 +370,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
// paramsCollectManifestEO.setDreForAuth(loginUser.getUsername());
|
||||
queryWrapper.eq("dre", loginUser.getUsername())
|
||||
.in("state", '4','6','7','8');
|
||||
}/* else if ("sdt,dre".equals(userTypes)) {
|
||||
}*//* else if ("sdt,dre".equals(userTypes)) {
|
||||
paramsCollectManifestEO.setSdt(loginUser.getUsername());
|
||||
paramsCollectManifestEO.setDreForAuth(loginUser.getUsername());
|
||||
}*/ else if ("guest".equals(userTypes)) {
|
||||
}*//* else if ("guest".equals(userTypes)) {
|
||||
return page;
|
||||
} else if (CollectManifestUserTypeEnum.VIEWER.getValue().equals(userTypes)) {
|
||||
List<String> dutyTerritoryList = projectUserDutyTerritoryService.queryDutyTerritoryByUserId(loginUser.getId());
|
||||
@@ -536,7 +538,229 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
|
||||
pageInfo.setRecords(listMap);
|
||||
return pageInfo;
|
||||
}
|
||||
}*/
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public IPage queryList(IPage page, ParamsCollectManifestVO paramsCollectManifestVO, String cut) {
|
||||
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
|
||||
ParamsManifestEO paramsManifestEO = paramsManifestEOService.queryById(paramsManifestId);
|
||||
|
||||
String userTypes = paramsCollectManifestVO.getUserTypes();
|
||||
if (StringUtils.isBlank(userTypes)) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("用户类型参数不能为空!");
|
||||
} else {
|
||||
throw new JeroBootException("User type can not be null!");
|
||||
}
|
||||
}
|
||||
if (!CollectManifestUserTypeEnum.doesValueExist(userTypes)) {
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("用户类型不存在!");
|
||||
} else {
|
||||
throw new JeroBootException("User type is not exist!");
|
||||
}
|
||||
}
|
||||
|
||||
StringBuilder sqlJoinSb = new StringBuilder();
|
||||
sqlJoinSb.append("where control_type not in ").append("('").append(ControlTypeEnum.Title.getValue()).append("')");
|
||||
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录用户
|
||||
if ("sdt".equals(userTypes)) {
|
||||
sqlJoinSb.append(" and sdt = '").append(loginUser.getUsername()).append("'");
|
||||
sqlJoinSb.append(" and state in ('2','4','5','6','7','8')");
|
||||
} else if ("dre".equals(userTypes)) {
|
||||
sqlJoinSb.append(" and dre = '").append(loginUser.getUsername()).append("'");
|
||||
sqlJoinSb.append(" and state in ('4','6','7','8')");
|
||||
} else if ("guest".equals(userTypes)) {
|
||||
return page;
|
||||
} else if (CollectManifestUserTypeEnum.VIEWER.getValue().equals(userTypes)) {
|
||||
List<String> dutyTerritoryList = projectUserDutyTerritoryService.queryDutyTerritoryByUserId(loginUser.getId());
|
||||
StringBuilder dutyTerritorySb = new StringBuilder();
|
||||
for (int i = 0; i < dutyTerritoryList.size(); i++) {
|
||||
dutyTerritorySb.append("'").append(dutyTerritoryList.get(i)).append("'");
|
||||
// 如果还有下一条
|
||||
if(i+1 < dutyTerritoryList.size()){
|
||||
dutyTerritorySb.append(",");
|
||||
}
|
||||
}
|
||||
|
||||
sqlJoinSb.append(" and (").append("sdt = '").append(loginUser.getUsername()).append("'")
|
||||
.append(" or dre = '").append(loginUser.getUsername()).append("'")
|
||||
.append(" or duty_territory in (").append(dutyTerritorySb.toString()).append(")")
|
||||
.append(")");
|
||||
}
|
||||
// 搜索NIO编号或认证类别编号 精确搜索
|
||||
if (StringUtils.isNotEmpty(paramsCollectManifestVO.getAllNumber())) {
|
||||
paramsCollectManifestVO.setAllNumber(paramsCollectManifestVO.getAllNumber().replaceAll("'","\'"));
|
||||
sqlJoinSb.append(" and (").append("nio_number = '").append(paramsCollectManifestVO.getAllNumber()).append("'");
|
||||
sqlJoinSb.append(" or nio_number in (")
|
||||
.append("select nio_number from cert_category_params_info_publish where params_number = '").append(paramsCollectManifestVO.getAllNumber()).append("'")
|
||||
.append(")");
|
||||
sqlJoinSb.append(")");
|
||||
}
|
||||
if (StringUtils.isNotEmpty(paramsCollectManifestVO.getDutyTerritory())) {
|
||||
List<String> dutyTerritoryList = Arrays.asList(paramsCollectManifestVO.getDutyTerritory().split(","));
|
||||
StringBuilder dutyTerritoryListSb = new StringBuilder();
|
||||
for (int i = 0; i < dutyTerritoryList.size(); i++) {
|
||||
dutyTerritoryListSb.append("'").append(dutyTerritoryList.get(i)).append("'");
|
||||
if(i+1 < dutyTerritoryList.size()){
|
||||
dutyTerritoryListSb.append(",");
|
||||
}
|
||||
}
|
||||
|
||||
sqlJoinSb.append(" and duty_territory in (").append(dutyTerritoryListSb.toString()).append(")");
|
||||
}
|
||||
|
||||
if (StringUtils.isNotEmpty(paramsCollectManifestVO.getParamsName())) {
|
||||
paramsCollectManifestVO.setParamsName(paramsCollectManifestVO.getParamsName().replaceAll("'","\'"));
|
||||
sqlJoinSb.append(" and params_name like '%").append(paramsCollectManifestVO.getParamsName()).append("%'");
|
||||
}
|
||||
|
||||
if (StringUtils.isNotEmpty(paramsCollectManifestVO.getSdt())) {
|
||||
paramsCollectManifestVO.setSdt(paramsCollectManifestVO.getSdt().replaceAll("'","\'"));
|
||||
sqlJoinSb.append(" and sdt like '%").append(paramsCollectManifestVO.getSdt()).append("%'");
|
||||
}
|
||||
|
||||
if (StringUtils.isNotEmpty(paramsCollectManifestVO.getDre())) {
|
||||
paramsCollectManifestVO.setDre(paramsCollectManifestVO.getDre().replaceAll("'","\'"));
|
||||
sqlJoinSb.append(" and dre like '%").append(paramsCollectManifestVO.getDre()).append("%'");
|
||||
}
|
||||
|
||||
// 如果高级查询条件不为空,拼接参数
|
||||
if(StringUtils.isNotEmpty(paramsCollectManifestVO.getQueryConditionVOListStr())){
|
||||
List<QueryConditionVO> queryConditionVOList = JSONObject.parseArray(paramsCollectManifestVO.getQueryConditionVOListStr(), QueryConditionVO.class);
|
||||
this.createAdvanceedSearchCondition(queryConditionVOList,sqlJoinSb);
|
||||
}
|
||||
|
||||
sqlJoinSb.append(" ORDER BY del_flag DESC")
|
||||
.append(", add_flag DESC")
|
||||
.append(", change_flag DESC")
|
||||
.append(", nio_number ASC");
|
||||
|
||||
IPage pageInfo = paramsCollectManifestEOMapper.selectpage(page, sqlJoinSb.toString(),paramsManifestEO); // 查询固定列
|
||||
List<ParamsCollectManifestEO> list = pageInfo.getRecords(); // 查询固定列
|
||||
List<ParamsConfigEO> paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId); // 查询配置列
|
||||
List<String> paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList());
|
||||
List<ParamsConfigDataEO> paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据
|
||||
|
||||
// 普通数据字典
|
||||
List<SysDictItem> dictItemList = new ArrayList<>();
|
||||
List<String> dictCodeList = new ArrayList<>();
|
||||
dictCodeList.add("duty_territory");
|
||||
dictCodeList.add("cert_category");
|
||||
for (String dictCode : dictCodeList) {
|
||||
List<SysDictItem> dictItems = sysDictItemService.selectItemsByDictCode(dictCode);
|
||||
dictItemList.addAll(dictItems);
|
||||
}
|
||||
|
||||
List<Map<String, Object>> listMap = new ArrayList<>();
|
||||
list.forEach(collectManifestEO -> { // 参数收集清单
|
||||
// 处理数据字典字段 中英文切换 认证类型,责任领域
|
||||
List<String> certCategory = Arrays.asList(collectManifestEO.getCertCategory().split(","));
|
||||
List<String> dutyTerritory = Arrays.asList(collectManifestEO.getDutyTerritory().split(",")); // 单选
|
||||
String certCategoryName = "";
|
||||
String dutyTerritoryName = "";
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
certCategoryName = dictItemList.stream()
|
||||
.filter(e -> certCategory.contains(e.getItemValue()))
|
||||
.map(SysDictItem::getItemText)
|
||||
.collect(Collectors.joining(","));
|
||||
|
||||
dutyTerritoryName = dictItemList.stream()
|
||||
.filter(e -> dutyTerritory.contains(e.getItemValue()))
|
||||
.map(SysDictItem::getItemText)
|
||||
.collect(Collectors.joining(","));
|
||||
|
||||
} else if (CutEnum.EN.getValue().equals(cut)) {
|
||||
certCategoryName = dictItemList.stream()
|
||||
.filter(e -> certCategory.contains(e.getItemValue()))
|
||||
.map(SysDictItem::getEnName)
|
||||
.collect(Collectors.joining(","));
|
||||
|
||||
dutyTerritoryName = dictItemList.stream()
|
||||
.filter(e -> dutyTerritory.contains(e.getItemValue()))
|
||||
.map(SysDictItem::getEnName)
|
||||
.collect(Collectors.joining(","));
|
||||
|
||||
}
|
||||
|
||||
collectManifestEO.setCertCategory(certCategoryName);
|
||||
collectManifestEO.setDutyTerritory(dutyTerritoryName);
|
||||
|
||||
// 处理状态字段
|
||||
Map<String, String> collectManifestStateMap = CollectManifestStateEnum.toMap(cut);
|
||||
String stateName = collectManifestStateMap.get(collectManifestEO.getState());
|
||||
collectManifestEO.setState(stateName);
|
||||
|
||||
List<String> configIdList = new ArrayList<>(); // 配置列名
|
||||
|
||||
Map<String, Object> manifestMap = objectToMap(collectManifestEO); // 对象转map
|
||||
String controlType = collectManifestEO.getControlType();
|
||||
String paramsCollectManifestId = collectManifestEO.getId();
|
||||
|
||||
if (StringUtils.isNotEmpty(paramsManifestEO.getReferencesColName())) {
|
||||
Map<String, Object> referencesColMap = new HashMap<>();
|
||||
String referencesCol = collectManifestEO.getReferencesCol();
|
||||
if (StringUtils.isNotBlank(referencesCol)) {
|
||||
List<ParamsConfigDataVO> referencesColVOList = getReferencesColList(controlType, referencesCol, collectManifestEO, userTypes); // 重新组合配置数据
|
||||
referencesColMap.put("controlType", controlType);
|
||||
referencesColMap.put("list", referencesColVOList);
|
||||
manifestMap.put("referencesCol", referencesColMap);
|
||||
} else {
|
||||
List<ParamsConfigDataVO> referencesColVOList = getReferencesColList(controlType, " # # #", collectManifestEO, userTypes); // 重新组合配置数据
|
||||
referencesColMap.put("controlType", controlType);
|
||||
referencesColMap.put("list", referencesColVOList);
|
||||
manifestMap.put("referencesCol", referencesColMap);
|
||||
}
|
||||
}
|
||||
|
||||
if (CollectionUtil.isNotEmpty(paramsConfigEOList)) {
|
||||
paramsConfigEOList.forEach(paramsConfigEO -> { // 参数配置
|
||||
Map<String, Object> configMap = new HashMap<>();
|
||||
String paramsConfigId = paramsConfigEO.getId();
|
||||
ParamsConfigDataEO paramsConfigDataEO = getConfigDataEOByConfigIdAndCollectManifestId(paramsConfigId, paramsCollectManifestId, paramsConfigDataEOList); // 参数配置数据
|
||||
List<ParamsConfigDataVO> paramsConfigDataVOList = getConfigDataVOList(controlType, paramsConfigEO, paramsConfigDataEO, collectManifestEO); // 重新组合配置数据
|
||||
configMap.put("controlType", controlType);
|
||||
configMap.put("list", paramsConfigDataVOList);
|
||||
manifestMap.put(paramsConfigEO.getId(), configMap);
|
||||
|
||||
configIdList.add(paramsConfigEO.getId());
|
||||
});
|
||||
}
|
||||
|
||||
// 处理负责领域
|
||||
Map<String, Object> dutyTerritoryMap = new HashMap<>();
|
||||
dutyTerritoryMap.put("id", collectManifestEO.getId());
|
||||
dutyTerritoryMap.put("state", collectManifestEO.getState());
|
||||
dutyTerritoryMap.put("dataValue", collectManifestEO.getDutyTerritory());
|
||||
manifestMap.put("dutyTerritory", dutyTerritoryMap);
|
||||
|
||||
// 处理工程接口人
|
||||
Map<String, Object> sdtMap = new HashMap<>();
|
||||
sdtMap.put("id", collectManifestEO.getId());
|
||||
sdtMap.put("state", collectManifestEO.getState());
|
||||
sdtMap.put("dutyTerritory", StringUtils.join(dutyTerritory, ","));
|
||||
if (StringUtils.isNotBlank(collectManifestEO.getSdt())) {
|
||||
sdtMap.put("dataValue", collectManifestEO.getSdt());
|
||||
} else {
|
||||
sdtMap.put("dataValue", null);
|
||||
}
|
||||
manifestMap.put("sdt", sdtMap);
|
||||
|
||||
// 配置列名数组
|
||||
manifestMap.put("configIds", configIdList);
|
||||
|
||||
listMap.add(manifestMap);
|
||||
});
|
||||
|
||||
pageInfo.setRecords(listMap);
|
||||
return pageInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 重新组装配置数据 用于返回前端
|
||||
@@ -5958,4 +6182,147 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
return count;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建高级查询条件
|
||||
* @param queryConditionVOList
|
||||
* @param sqlJoinSb
|
||||
*/
|
||||
@Override
|
||||
public void createAdvanceedSearchCondition(List<QueryConditionVO> queryConditionVOList,StringBuilder sqlJoinSb){
|
||||
if(CollectionUtils.isNotEmpty(queryConditionVOList)){
|
||||
sqlJoinSb.append(" and ( ");
|
||||
|
||||
int count = 0;
|
||||
for (QueryConditionVO queryConditionVO : queryConditionVOList) {
|
||||
String type = queryConditionVO.getType();
|
||||
String rule = queryConditionVO.getRule();
|
||||
String ruleLike = "";
|
||||
if(QueryRuleEnum.LEFT_LIKE.getCondition().equals(rule) || QueryRuleEnum.RIGHT_LIKE.getCondition().equals(rule)){
|
||||
ruleLike = QueryRuleEnum.LIKE.getCondition();
|
||||
}
|
||||
String field = queryConditionVO.getField();
|
||||
if(StringUtils.equals(field,"paramsNumber")){
|
||||
field = "nio_number";
|
||||
}
|
||||
String val = queryConditionVO.getVal();
|
||||
|
||||
if(StringUtils.isNotEmpty(val)){
|
||||
count++;
|
||||
//从第二个查询条件开始拼接type(and或or)
|
||||
if (count > 1) {
|
||||
sqlJoinSb.append(" " + type + " ");
|
||||
}
|
||||
|
||||
// 如果该字段是认证类别字段,单独做处理。
|
||||
if(StringUtils.equals(field,"certCategory")) {
|
||||
/*QueryWrapper<CertCategoryParamsInfoPublishEO> categoryParamsQueryWrap = new QueryWrapper<>();
|
||||
|
||||
if(StringUtils.equals(rule, QueryRuleEnum.EQ.getCondition())){
|
||||
categoryParamsQueryWrap.lambda().eq(CertCategoryParamsInfoPublishEO::getCertCategory,val);
|
||||
}else if(StringUtils.equals(rule,QueryRuleEnum.NE.getCondition())){
|
||||
categoryParamsQueryWrap.lambda().ne(CertCategoryParamsInfoPublishEO::getCertCategory,val);
|
||||
}
|
||||
List<CertCategoryParamsInfoPublishEO> categoryParamsList = this.certCategoryParamsInfoPublishEOService.list(categoryParamsQueryWrap);
|
||||
List<String> nioNumberList = categoryParamsList.stream().map(CertCategoryParamsInfoPublishEO::getNioNumber)
|
||||
.collect(Collectors.toList());
|
||||
StringBuilder nioNumberSb = new StringBuilder();
|
||||
for (int i = 0; i < nioNumberList.size(); i++) {
|
||||
nioNumberSb.append("'").append(nioNumberList.get(i)).append("'");
|
||||
if(i+1 < nioNumberList.size()){
|
||||
nioNumberSb.append(",");
|
||||
}
|
||||
}
|
||||
// 特殊处理
|
||||
if(StringUtils.isNotEmpty(nioNumberSb.toString())){
|
||||
sqlJoinSb.append("nio_number in (").append(nioNumberSb.toString()).append(")");
|
||||
}*/
|
||||
if(StringUtils.equals(rule, QueryRuleEnum.EQ.getCondition())){
|
||||
sqlJoinSb.append("nio_number in (")
|
||||
.append("select nio_number from cert_category_params_info_publish where cert_category = ").append("'" + val + "'")
|
||||
.append(")");
|
||||
}else if(StringUtils.equals(rule,QueryRuleEnum.NE.getCondition())){
|
||||
sqlJoinSb.append("nio_number not in (")
|
||||
.append("select nio_number from cert_category_params_info_publish where cert_category = ").append("'" + val + "'")
|
||||
.append(")");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if(StringUtils.equals(field,"nio_number")){
|
||||
sqlJoinSb.append("(");
|
||||
}
|
||||
|
||||
sqlJoinSb.append(" " + field + " ");
|
||||
|
||||
QueryRuleEnum byCondition = QueryRuleEnum.getByCondition(rule);
|
||||
String ruleTemp = byCondition.getValue();
|
||||
if (StringUtils.isNotBlank(ruleLike)) {
|
||||
sqlJoinSb.append(ruleLike + " ");
|
||||
} else {
|
||||
sqlJoinSb.append(ruleTemp + " ");
|
||||
}
|
||||
|
||||
val = val.replaceAll("'","\'");
|
||||
|
||||
//like和in需要特殊处理
|
||||
if (QueryRuleEnum.IN.getCondition().equals(rule)) {
|
||||
if (val.contains(",")) {
|
||||
StringBuilder sbTemp = new StringBuilder();
|
||||
for (String valTemp : val.split(",")) {
|
||||
sbTemp.append("'" + valTemp + "' ,");
|
||||
}
|
||||
if (com.jero.modules.system.util.StringUtils.isNotBlank(sbTemp)) {
|
||||
String substring = sbTemp.substring(0, sbTemp.length() - 1);
|
||||
sqlJoinSb.append("(" + substring + ")");
|
||||
}
|
||||
}
|
||||
sqlJoinSb.append("('" + val + "')");
|
||||
} else if (QueryRuleEnum.LIKE.getCondition().equals(rule)) {
|
||||
sqlJoinSb.append("'%" + val + "%'");
|
||||
} else if (QueryRuleEnum.LEFT_LIKE.getCondition().equals(rule)) {
|
||||
sqlJoinSb.append("'%" + val + "'");
|
||||
} else if (QueryRuleEnum.RIGHT_LIKE.getCondition().equals(rule)) {
|
||||
sqlJoinSb.append("'" + val + "%'");
|
||||
} else {
|
||||
sqlJoinSb.append("'" + val + "'");
|
||||
}
|
||||
|
||||
// 如果该字段是认证类别编号字段,单独做处理。
|
||||
if(StringUtils.equals(field,"nio_number")){
|
||||
QueryWrapper<CertCategoryParamsInfoPublishEO> categoryParamsQueryWrap = new QueryWrapper<>();
|
||||
if(StringUtils.equals(rule, QueryRuleEnum.EQ.getCondition())){
|
||||
categoryParamsQueryWrap.lambda().eq(CertCategoryParamsInfoPublishEO::getParamsNumber,val);
|
||||
}else if(StringUtils.equals(rule,QueryRuleEnum.NE.getCondition())){
|
||||
categoryParamsQueryWrap.lambda().ne(CertCategoryParamsInfoPublishEO::getParamsNumber,val);
|
||||
}else if(StringUtils.equals(rule,QueryRuleEnum.LIKE.getCondition())){
|
||||
categoryParamsQueryWrap.lambda().like(CertCategoryParamsInfoPublishEO::getParamsNumber,val);
|
||||
}else if(StringUtils.equals(rule,QueryRuleEnum.LEFT_LIKE.getCondition())){
|
||||
categoryParamsQueryWrap.lambda().likeLeft(CertCategoryParamsInfoPublishEO::getParamsNumber,val);
|
||||
}else if(StringUtils.equals(rule,QueryRuleEnum.RIGHT_LIKE.getCondition())){
|
||||
categoryParamsQueryWrap.lambda().likeRight(CertCategoryParamsInfoPublishEO::getParamsNumber,val);
|
||||
}
|
||||
|
||||
List<CertCategoryParamsInfoPublishEO> categoryParamsList = this.certCategoryParamsInfoPublishEOService.list(categoryParamsQueryWrap);
|
||||
List<String> nioNumberList = categoryParamsList.stream().map(CertCategoryParamsInfoPublishEO::getNioNumber)
|
||||
.collect(Collectors.toList());
|
||||
StringBuilder nioNumberSb = new StringBuilder();
|
||||
for (int i = 0; i < nioNumberList.size(); i++) {
|
||||
nioNumberSb.append("'").append(nioNumberList.get(i).replaceAll("'","\'")).append("'");
|
||||
if(i+1 < nioNumberList.size()){
|
||||
nioNumberSb.append(",");
|
||||
}
|
||||
}
|
||||
|
||||
if(StringUtils.isNotEmpty(nioNumberSb.toString())){
|
||||
sqlJoinSb.append(" or ").append(field).append(" in (").append(nioNumberSb.toString()).append(")");
|
||||
}
|
||||
|
||||
sqlJoinSb.append(")");
|
||||
}
|
||||
}
|
||||
}
|
||||
sqlJoinSb.append(" ) ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
@@ -95,4 +95,7 @@ public class ParamsCollectManifestVO {
|
||||
// 退回操作人角色
|
||||
private String currentPersonRole;
|
||||
|
||||
// 高级查询参数
|
||||
private String queryConditionVOListStr;
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user