package com.dg.core.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dg.core.ResultData; import com.dg.core.annotation.Authorization; import com.dg.core.annotation.CurrentUser; import com.dg.core.db.gen.entity.Slideshow; import com.dg.core.db.gen.entity.SysUser; import com.dg.core.db.gen.entity.TransactionEvent; import com.dg.core.db.manual.pojo.QueryResults; import com.dg.core.db.manual.pojo.RecommendResult; import com.dg.core.db.manual.pojo.Search; import com.dg.core.service.IOrganizationChartService; import com.dg.core.service.ITransactionEventService; import com.dg.core.util.TableDataInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.*; import java.util.List; @Api(tags = {"导办事项管理接口"}) @RestController @RequestMapping("/transaction") public class TransactionEventController extends BaseController { @Autowired(required = true) ITransactionEventService iTransactionEventService; @Autowired(required = true) IOrganizationChartService iOrganizationChartService; /** * 查询导办事务详情 * @param Id * @return */ @ApiOperation("查询导办事务详情") @GetMapping("/getData") public ResultData selectConfigData(@RequestParam("Id") String Id,@CurrentUser SysUser sysUser) { Assert.notNull(Id, "Id 不能为空"); return ResultData.success(iTransactionEventService.selectConfigData(Id,sysUser)); } /** * 导办事物列表 * @param * @return */ @ApiOperation("导办事物列表") @GetMapping("/getList") @Authorization public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, @RequestParam(value = "pageSize",required = false) Integer pageSize, @RequestParam(value = "keyword",required = false) String keyword, @RequestParam(value = "classifyGrade",required = false) String classifyGrade, @CurrentUser SysUser sysUser) { Assert.notNull(pageNum, "pageNum 不能为空"); Assert.notNull(pageSize, "pageSize 不能为空"); Page pageParam = new Page<>(pageNum,pageSize); List ids=iOrganizationChartService.getIds(sysUser.getDepartmentId()); List list = iTransactionEventService.selectConfigList(pageParam,pageSize,keyword, classifyGrade,ids); int num=iTransactionEventService.countNum(keyword,classifyGrade,ids); return getDataTable(list,num); } /** * 导办事物列表(不分页) * @param * @return */ @ApiOperation(value = "导办事物列表(不分页)",response = TransactionEvent.class) @GetMapping("/selectList") public TableDataInfo selectList() { return getDataTable(iTransactionEventService.selectList()); } /** * 新增导办事务 * @param entity * @return */ @ApiOperation("新增导办事务") @PostMapping("/add") @Authorization public ResultData insertConfig(@RequestBody TransactionEvent entity) { if(StringUtils.isEmpty(entity.getDepartmentId())) { return ResultData.error("部门id不能为空"); } if(StringUtils.isEmpty(entity.getMatterName())) { return ResultData.error("事件名称不能为空"); } String id=iTransactionEventService.selectDataIfExist(entity.getDepartmentId(),entity.getMatterName()); if(!StringUtils.isEmpty(id)) { return ResultData.error("事件名称已存在"); } return toAjax(iTransactionEventService.insertConfig(entity)); } /** * 修改导办事务 * @param entity * @return */ @ApiOperation("修改导办事务") @PostMapping("/update") @Authorization public ResultData updateConfig(@RequestBody TransactionEvent entity) { if(StringUtils.isEmpty(entity.getDepartmentId())) { return ResultData.error("部门id不能为空"); } if(StringUtils.isEmpty(entity.getMatterName())) { return ResultData.error("事件名称不能为空"); } return toAjax(iTransactionEventService.updateConfig(entity)); } /** * 删除接口 * @param Id * @return */ @ApiOperation("删除导办事务") @DeleteMapping("/delete") @Authorization public ResultData deleteConfigById(@RequestParam(value = "Id",required = false) String Id) { Assert.notNull(Id, "Id 不能为空"); return toAjax(iTransactionEventService.deleteConfigById(Id)); } /** * 导办事务搜索 * @param keyWord * @return */ @ApiOperation(value = "导办事务搜索",response = QueryResults.class) @GetMapping("/queryKeyWordList") public QueryResults queryMatterNameList(@RequestParam(value = "pageNum",required = false) Integer pageNum, @RequestParam(value = "pageSize",required = false) Integer pageSize, @RequestParam(value = "recommendSize",required = false) Integer recommendSize, @RequestParam(value = "keyWord",required = false) String keyWord) { Assert.notNull(pageNum, "pageNum 不能为空"); Assert.notNull(pageSize, "pageSize 不能为空"); Assert.notNull(keyWord, "keyWord 不能为空"); Assert.notNull(keyWord, "recommendSize 不能为空"); Page pageParam = new Page<>(pageNum,pageSize); QueryResults queryResults = iTransactionEventService.queryMatterNameList(pageParam, pageSize,recommendSize, keyWord); return queryResults; } /** * 根据分类id查询导办事务(分页) * @param classifyId * @return */ @ApiOperation(value = "根据分类id查询导办事务(分页)",response = TransactionEvent.class) @GetMapping("/queryByClassifyIdConfigList") public TableDataInfo queryByClassifyIdConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, @RequestParam(value = "pageSize",required = false) Integer pageSize, @RequestParam("classifyId") String classifyId, @RequestParam(required = false,name="departmentId") Integer departmentId){ Assert.notNull(pageNum, "pageNum 不能为空"); Assert.notNull(pageSize, "pageSize 不能为空"); Page pageParam = new Page<>(pageNum,pageSize); return getDataTable(iTransactionEventService.queryByClassifyIdList(pageParam,pageSize,classifyId,departmentId),iTransactionEventService.countNumByClassifyIdList(classifyId,departmentId)); } /** * 根据查询时间查询导办事务 * @return */ @ApiOperation(value = "根据查询时间查询导办事务",response = TransactionEvent.class) @GetMapping("/queryByQueryTime") public TableDataInfo queryByQueryTime() { List transactionEvents = iTransactionEventService.queryByQueryTime( ); return getDataTable(transactionEvents); } /** * 根据浏览次数查询导办事务 * @return */ @ApiOperation(value = "根据浏览次数查询导办事务",response = TransactionEvent.class) @GetMapping("/queryByBrowseNum") public TableDataInfo queryByBrowseNum() { List transactionEvents = iTransactionEventService.queryByBrowseNum( ); return getDataTable(transactionEvents); } /** * 查询导办事务求和 * @return */ @ApiOperation(value = "查询导办事务求和",response = TransactionEvent.class) @GetMapping("/sumTransactionNum") public ResultData sumTransactionNum(){ return ResultData.success(iTransactionEventService.sumTransactionNum()); } /** * 智能咨询 * @return */ @ApiOperation(value = "智能咨询",response = RecommendResult.class) @GetMapping("/smartConsulting") public RecommendResult smartConsulting(@RequestParam("keyWord") String keyWord){ return iTransactionEventService.smartConsulting(keyWord); } /** * 办事指南复制 * @return */ @ApiOperation(value = "办事指南复制",response = ResultData.class) @GetMapping("/copy") public ResultData copy(@RequestParam("Id") String Id) { if(StringUtils.isEmpty(Id)) { return ResultData.error("Id不能为空"); } TransactionEvent transactionEvent=iTransactionEventService.selectConfigData(Id,null); if(transactionEvent==null) { return ResultData.error("复制项不存在"); } transactionEvent.setMatterName(transactionEvent.getMatterName()+"(副本)"); transactionEvent.setId(null); return toAjax(iTransactionEventService.insertConfig(transactionEvent)); } }