package cn.cslg.pas.controller; import cn.cslg.pas.common.core.base.Constants; import cn.cslg.pas.common.dto.es.EsCustomFieldDTO; import cn.cslg.pas.common.model.cronModel.Records; import cn.cslg.pas.common.utils.Response; import cn.cslg.pas.common.utils.StringUtils; import cn.cslg.pas.common.dto.AddSelfFieldDTO; import cn.cslg.pas.common.vo.EntityVO; import cn.cslg.pas.common.vo.PersonSelfFieldVO; import cn.cslg.pas.common.vo.business.ScenarioVO; import cn.cslg.pas.domain.business.AssoScenarioMatter; import cn.cslg.pas.domain.business.Matter; import cn.cslg.pas.domain.business.SystemDict; import cn.cslg.pas.service.business.AssoScenarioMatterService; import cn.cslg.pas.service.business.CommonService; import cn.cslg.pas.service.business.ScenarioService; import cn.cslg.pas.service.business.SystemDictService; import cn.cslg.pas.service.business.es.EsCustomFieldService; import cn.cslg.pas.service.common.PersonFieldService; import io.swagger.v3.oas.annotations.Operation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @Slf4j @RequestMapping(Constants.API_XiaoSHI + "/common") @RestController public class CommonController { @Autowired private SystemDictService systemDictService; @Autowired private CommonService commonService; @Autowired private ScenarioService scenarioService; @Autowired private AssoScenarioMatterService assoScenarioMatterService; @Autowired private PersonFieldService personFieldService; @Autowired private EsCustomFieldService esCustomFieldService; @PostMapping("getOsSystemDict") @Operation(summary = "根据类型获取所有字典项") public Response getOSSystemDict(@RequestBody List types){ return Response.success(systemDictService.getOsSystemDict(types)); } @PostMapping("getParams") @Operation(summary = "获得实体类栏位信息") public Response getQueryConditions(@RequestBody List tables) { List vos = commonService.getQueryConditions(tables); return Response.success(vos); } @GetMapping("data") @Operation(summary = "通用数据") public Object getCommonData(String keys) { List typeList = StringUtils.changeStringToString(keys, ","); List systemDictList = systemDictService.getSystemDictListByType(typeList); Map map = new HashMap<>(); for (String type : typeList) { map.put(type, systemDictList.stream().filter(item -> item.getType().equals(type)).collect(Collectors.toList())); } return Response.success(map); } @GetMapping("getCustomField") @Operation(summary = "查询个人栏位配置") public Response getCustomField(String tableName) { try { List personSelfFieldVOS= personFieldService.getCustomField(tableName); Records records =new Records(); records.setData(personSelfFieldVOS); return Response.success(records); } catch (Exception e){ return Response.error(e.getMessage()); } } @PostMapping("setCustomField") @Operation(summary = "设置个人栏位配置") public Response setCustomField(@RequestBody AddSelfFieldDTO addSelfFieldDTO) { try { List personSelfFieldVOS= personFieldService.setCustomField(addSelfFieldDTO); Records records =new Records(); records.setData(personSelfFieldVOS); return Response.success(records); } catch (Exception e){ return Response.error(e.getMessage()); } } @GetMapping("/scenario") @Operation(summary = "查询应用场景") public Response queryAllScenario(){ Records records = new Records(); records.setData(scenarioService.queryAll()); return Response.success(records); } @PostMapping("/matter") @Operation(summary = "查询处理事项") public Response queryMatter(@RequestBody List scenarioIds){ Records records = new Records(); records.setData(assoScenarioMatterService.queryMatterIds(scenarioIds)); return Response.success(records); } @GetMapping("/queryCrons") @Operation(summary = "查找核心结论") public Response queryCrons(Integer reportType){ Records records = new Records(); records.setData(systemDictService.getCrons(reportType)); return Response.success(records); } @GetMapping("/getExcelConfig") @Operation(summary = "查找excel导入配置") public Response getExcelConfig(){ Records records = new Records(); records.setData(commonService.getExcelConfig()); return Response.success(records); } @PostMapping("/addCustomField") @Operation(summary = "添加自定义栏位") public Response addCustomField(@RequestBody EsCustomFieldDTO vo) throws Exception { String field = esCustomFieldService.addCustomField(vo); Records records = new Records(); records.setData(field); return Response.success(records); } }