package com.artfess.sysConfig.controller;
import com.artfess.activemq.model.JmsSysTypeChangeMessage;
import com.artfess.base.annotation.ApiGroup;
import com.artfess.base.constants.ApiGroupConsts;
import com.artfess.base.context.BaseContext;
import com.artfess.base.controller.BaseController;
import com.artfess.base.jms.JmsProducer;
import com.artfess.base.model.CommonResult;
import com.artfess.base.query.PageList;
import com.artfess.base.query.QueryFilter;
import com.artfess.base.query.QueryOP;
import com.artfess.base.util.BeanUtils;
import com.artfess.base.util.StringUtil;
import com.artfess.base.util.UniqueIdUtil;
import com.artfess.sysConfig.model.ExcelTemp;
import com.artfess.sysConfig.model.ExcelTempFields;
import com.artfess.sysConfig.persistence.manager.ExcelTempFieldsManager;
import com.artfess.sysConfig.persistence.manager.ExcelTempManager;
import com.artfess.sysConfig.vo.ExcelTempVo;
import com.artfess.sysConfig.vo.TableFieldVo;
import com.artfess.uc.api.model.IUser;
import com.artfess.uc.api.service.IUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
*
*
* 描述:导入导出模板管理
* 作者:wh
* 日期:2021-08-04
*
*/
@RestController
@RequestMapping("/config/excel/v1")
@Api(tags="导入导出模板管理")
@ApiGroup(group = {ApiGroupConsts.GROUP_APPLICATION})
public class ExcelTempController extends BaseController{
@Resource
ExcelTempManager excelTempManager;
@Resource
ExcelTempFieldsManager excelTempFieldsManager;
@RequestMapping(value="listJson", method=RequestMethod.POST, produces={"application/json; charset=utf-8" })
@ApiOperation(value = "导入导出模板(分页条件查询)数据", httpMethod = "POST", notes = "导入导出模板(分页条件查询)数据")
public PageList listJson(@ApiParam(name="queryFilter",value="通用查询对象")@RequestBody QueryFilter queryFilter) throws Exception{
return excelTempManager.query(queryFilter);
}
@RequestMapping(value="getJson", method=RequestMethod.GET, produces={"application/json; charset=utf-8" })
@ApiOperation(value = "模板对象详情", httpMethod = "GET", notes = "模板对象详情")
public ExcelTempVo getJson(@ApiParam(name="id",value="主键")@RequestParam String id) throws Exception{
return excelTempManager.getExcelTempById(id);
}
@RequestMapping(value="getJsonByCode", method=RequestMethod.GET, produces={"application/json; charset=utf-8" })
@ApiOperation(value = "根据编码查询模板对象详情", httpMethod = "GET", notes = "根据编码查询模板对象详情")
public ExcelTempVo getJsonByCode(@ApiParam(name="id",value="主键")@RequestParam String code,@ApiParam(name="type",value="模板类型")Integer type) throws Exception{
return excelTempManager.getExcelTempByCode(code,type);
}
@RequestMapping(value="save", method=RequestMethod.POST, produces={"application/json; charset=utf-8" })
@ApiOperation(value = "保存信息", httpMethod = "POST", notes = "保存信息")
public CommonResult save(@ApiParam(name="catalog",value="模板对象")@RequestBody ExcelTempVo vo) throws Exception{
try {
excelTempManager.save(vo);
return new CommonResult("操作成功");
} catch (Exception e) {
return new CommonResult(false,"操作失败");
}
}
@RequestMapping(value="remove", method=RequestMethod.DELETE, produces={"application/json; charset=utf-8" })
@ApiOperation(value = "删除模板", httpMethod = "DELETE", notes = "删除模板")
public CommonResult remove(@ApiParam(name="id",value="主键")@RequestParam String ids) throws Exception{
try {
excelTempManager.removeByIds(ids);
return new CommonResult("删除成功");
} catch (Exception e) {
return new CommonResult(false,"删除失败");
}
}
@RequestMapping(value="getDataBaseField", method=RequestMethod.POST, produces={"application/json; charset=utf-8" })
@ApiOperation(value = "自定义导入模板选择数据表和字段", httpMethod = "POST", notes = "自定义导入模板选择数据表和字段")
public List getDataBaseField(@ApiParam(name="dataBaseId",value="数据源ID")@RequestParam String dataBaseId,@ApiParam(name="tableSchema",value="数据库")@RequestParam String tableSchema, @ApiParam(name="tableName",value="数据表")@RequestParam String tableName) throws Exception{
return excelTempManager.getDataBaseField(dataBaseId,tableSchema,tableName);
}
@RequestMapping(value="removeField", method=RequestMethod.DELETE, produces={"application/json; charset=utf-8" })
@ApiOperation(value = "删除模板字段", httpMethod = "DELETE", notes = "删除模板字段")
public CommonResult removeField(@ApiParam(name="id",value="主键")@RequestParam String id) throws Exception{
try {
excelTempFieldsManager.removeById(id);
return new CommonResult("删除成功");
} catch (Exception e) {
return new CommonResult(false,"删除失败");
}
}
//
@RequestMapping(value="checkTemp", method=RequestMethod.POST, produces={"application/json; charset=utf-8" })
@ApiOperation(value = "验证是否有模版", httpMethod = "POST", notes = "验证是否有模版")
public ExcelTempVo checkTemp(@ApiParam(name="bizCode",value="编码")@RequestParam String bizCode,@ApiParam(name="type",value="导入导出类型")@RequestParam Integer type) throws Exception {
ExcelTempVo vo = excelTempManager.getExcelTempByCode(bizCode, type);
return vo;
}
@PostMapping(value = "/upload")
@ApiOperation("通用上传导入文件测试")
public CommonResult msgUpload(@RequestBody MultipartFile file) {
return new CommonResult("成功");
}
}