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.AjaxResult;
|
import com.dg.core.db.gen.entity.AutomessageSmartConsulting;
|
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.file.FtpConstants;
|
import com.dg.core.file.MimeTypeUtils;
|
import com.dg.core.file.SFTPUtil;
|
import com.dg.core.service.IAutomessageSmartConsultingService;
|
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.io.FilenameUtils;
|
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 org.springframework.web.multipart.MultipartFile;
|
|
import java.io.InputStream;
|
import java.time.LocalDateTime;
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.UUID;
|
|
import static com.dg.core.file.FileTypeUploadUtils.assertAllowed;
|
|
@Api(tags = {"导办事项管理接口"})
|
@RestController
|
@RequestMapping("/transaction")
|
public class TransactionEventController extends BaseController
|
{
|
|
@Autowired(required = true)
|
ITransactionEventService iTransactionEventService;
|
|
|
@Autowired(required = true)
|
IOrganizationChartService iOrganizationChartService;
|
|
@Autowired(required = true)
|
IAutomessageSmartConsultingService iAutomessageSmartConsultingService;
|
|
/**
|
* 查询导办事务详情
|
* @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,
|
@RequestParam(value = "departmentId",required = false) String departmentId,
|
@CurrentUser SysUser sysUser)
|
{
|
Assert.notNull(pageNum, "pageNum 不能为空");
|
Assert.notNull(pageSize, "pageSize 不能为空");
|
Page<TransactionEvent> pageParam = new Page<>(pageNum,pageSize);
|
List<TransactionEvent> list;
|
int num;
|
if (departmentId!=null&&departmentId.length()>0){
|
List<String> ids=iOrganizationChartService.getDepartmentId(departmentId);
|
list = iTransactionEventService.selectConfigList(pageParam,pageSize,keyword,
|
classifyGrade,ids);
|
num=iTransactionEventService.countNum(keyword,classifyGrade,ids);
|
|
}else {
|
list = iTransactionEventService.selectConfigList(pageParam,pageSize,keyword,
|
classifyGrade,null);
|
num=iTransactionEventService.countNum(keyword,classifyGrade,null);
|
}
|
return getDataTable(list,num);
|
}
|
|
/**
|
* 导办事物列表
|
* @param
|
* @return
|
*/
|
@ApiOperation("根据部门id获取导办事物列表")
|
@PostMapping("/department/getList")
|
@Authorization
|
public TableDataInfo<TransactionEvent> selectConfigList(@RequestBody List<String> DepartmentId,
|
@CurrentUser SysUser sysUser)
|
{
|
if(DepartmentId==null||DepartmentId.size()<1)
|
{
|
DepartmentId=null;
|
}
|
List<TransactionEvent> list = iTransactionEventService.selectConfigList(null,null,DepartmentId);
|
int num=iTransactionEventService.countNum(null,null,DepartmentId);
|
return getDataTable(list,num);
|
}
|
|
/**
|
* 导办事物列表(不分页)
|
* @param
|
* @return
|
*/
|
@ApiOperation(value = "导办事物列表(不分页)",response = TransactionEvent.class)
|
@GetMapping("/selectList")
|
public TableDataInfo selectList(@RequestParam(value = "keyWord",required = false) String keyWord)
|
{
|
return getDataTable(iTransactionEventService.selectList(keyWord));
|
}
|
|
/**
|
* 新增导办事务
|
* @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 不能为空");
|
int i = iTransactionEventService.deleteConfigById(Id);
|
if (i>0)
|
return ResultData.success("删除成功");
|
else
|
return ResultData.error("删除失败可能该工单有单据");
|
}
|
|
/**
|
* 导办事务搜索
|
* @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<Search> 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(value = "classifyId",required = false) String classifyId,
|
@RequestParam(required = false,name="departmentId") Integer departmentId){
|
Assert.notNull(pageNum, "pageNum 不能为空");
|
Assert.notNull(pageSize, "pageSize 不能为空");
|
Page<TransactionEvent> 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<TransactionEvent> transactionEvents = iTransactionEventService.queryByQueryTime( );
|
return getDataTable(transactionEvents);
|
}
|
|
/**
|
* 根据浏览次数查询导办事务
|
* @return
|
*/
|
@ApiOperation(value = "根据浏览次数查询导办事务",response = TransactionEvent.class)
|
@GetMapping("/queryByBrowseNum")
|
public TableDataInfo queryByBrowseNum() {
|
List<TransactionEvent> 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,@CurrentUser SysUser sysUser){
|
AutomessageSmartConsulting automessageSmartConsulting = new AutomessageSmartConsulting();
|
if (sysUser!=null){
|
automessageSmartConsulting.setCreateUserId(sysUser.getUserId());
|
}
|
automessageSmartConsulting.setType(2);
|
automessageSmartConsulting.setCreateTime(LocalDateTime.now());
|
iAutomessageSmartConsultingService.add(automessageSmartConsulting);
|
return iTransactionEventService.smartConsulting(keyWord);
|
}
|
|
|
/**
|
* 办事指南复制
|
* @return
|
*/
|
@ApiOperation(value = "办事指南复制",response = ResultData.class)
|
@GetMapping("/copy")
|
@Authorization
|
public ResultData copy(@RequestParam("Id") String Id,@CurrentUser SysUser sysUser)
|
{
|
if(StringUtils.isEmpty(Id))
|
{
|
return ResultData.error("Id不能为空");
|
}
|
|
TransactionEvent transactionEvent=iTransactionEventService.selectConfigData(Id,null);
|
if(transactionEvent==null)
|
{
|
return ResultData.error("复制项不存在");
|
}
|
|
transactionEvent.setDepartmentId(sysUser.getDepartmentId());
|
transactionEvent.setMatterName(transactionEvent.getMatterName()+"(副本)");
|
|
transactionEvent.setId(null);
|
return toAjax(iTransactionEventService.insertConfig(transactionEvent));
|
}
|
|
|
/**
|
* 办事指南根据分类id筛选
|
* @return
|
*/
|
@ApiOperation(value = "办事指南根据分类id筛选",response = ResultData.class)
|
@GetMapping("/selectClassifyList")
|
@Authorization
|
public TableDataInfo<TransactionEvent> selectClassifyList(@RequestParam("ids") List<String> ids)
|
{
|
if(ids==null || ids.size()<1)
|
{
|
ids=null;
|
}
|
return getDataTable(iTransactionEventService.selectClassifyList(ids));
|
}
|
|
@ApiOperation("文件导入")
|
@PostMapping("/import")
|
public ResultData uploadFiles(MultipartFile file) throws Exception
|
{
|
boolean a = false;
|
String fileName = file.getOriginalFilename();
|
Integer b = iTransactionEventService.batchImport(fileName, file);
|
if (b == 3) {//
|
return ResultData.success("全部导入成功");//全部导入成功
|
} else if (b == 2) {
|
return ResultData.success("部分导入成功");//部分导入成功
|
} else if (b == 0) {
|
return ResultData.error("部分失败");//导入失败
|
}
|
return ResultData.error("部分失败");//导入失败
|
}
|
|
|
|
|
|
}
|