package cn.cslg.pas.controller; import cn.cslg.pas.common.core.base.Constants; import cn.cslg.pas.common.dto.QueryFieldsDTO; 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.QueryFieldsVO; import cn.cslg.pas.common.vo.PersonSelfFieldVO; 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 cn.cslg.pas.service.quartzService.JobService; import cn.cslg.pas.service.quartzService.QrtzTaskDTO; import cn.cslg.pas.service.quartzService.QuartzVO; 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; @Autowired private JobService jobService; @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, Integer projectId) { try { List personSelfFieldVOS = personFieldService.getCustomField(tableName, projectId); 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("getQueryFields") @Operation(summary = "获得检索栏位") public Response getQueryFields(@RequestBody List queryFieldsDTOs) { List queryFieldsVOS = personFieldService.getQueryFields(queryFieldsDTOs); Records records = new Records(); records.setData(queryFieldsVOS); return Response.success(records); } @GetMapping("addSysCycleJob") @Operation(summary = "获得检索栏位") public Response addSysCycleJob() throws Exception{ QrtzTaskDTO qrtzTaskDTO =new QrtzTaskDTO(); QuartzVO quartzVO =new QuartzVO(); quartzVO.setJobName("sys_cycle_job"); quartzVO.setJobGroupName("sys_cycle_job_group"); quartzVO.setTriggerGroupName("sys_cycle_trigger_group"); quartzVO.setTriggerName("sys_cycle_trigger"); qrtzTaskDTO.setQuartzVO(quartzVO); qrtzTaskDTO.setJobClass("cn.cslg.pas.service.quartzService.SysImportPatentJobService"); qrtzTaskDTO.setCron("0 0 0 * * ? *"); jobService.addJob(qrtzTaskDTO); return Response.success(""); } }