597 lines
21 KiB
Java
597 lines
21 KiB
Java
|
|
package com.rzyc.controller;
|
||
|
|
|
||
|
|
import com.alibaba.fastjson.JSON;
|
||
|
|
import com.alibaba.fastjson.JSONArray;
|
||
|
|
import com.common.utils.*;
|
||
|
|
|
||
|
|
import com.common.utils.model.Code;
|
||
|
|
import com.common.utils.model.Message;
|
||
|
|
import com.common.utils.model.MultiResult;
|
||
|
|
import com.common.utils.model.SingleResult;
|
||
|
|
import com.common.utils.verification.Verification;
|
||
|
|
import com.rzyc.bean.ImportListDetail;
|
||
|
|
import com.rzyc.bean.ent.IndustryClassDto;
|
||
|
|
import com.rzyc.enums.EntListType;
|
||
|
|
import com.rzyc.model.*;
|
||
|
|
import com.rzyc.model.ent.*;
|
||
|
|
import com.rzyc.model.user.SysUser;
|
||
|
|
import com.rzyc.service.TaskService;
|
||
|
|
import io.swagger.annotations.Api;
|
||
|
|
import io.swagger.annotations.ApiImplicitParam;
|
||
|
|
import io.swagger.annotations.ApiImplicitParams;
|
||
|
|
import io.swagger.annotations.ApiOperation;
|
||
|
|
import org.apache.poi.ss.usermodel.*;
|
||
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
||
|
|
import org.springframework.stereotype.Controller;
|
||
|
|
import org.springframework.ui.Model;
|
||
|
|
import org.springframework.web.bind.annotation.*;
|
||
|
|
import org.springframework.web.multipart.MultipartFile;
|
||
|
|
|
||
|
|
import javax.imageio.ImageIO;
|
||
|
|
import javax.servlet.http.HttpServletRequest;
|
||
|
|
import javax.servlet.http.HttpServletResponse;
|
||
|
|
import javax.validation.Valid;
|
||
|
|
import java.awt.image.BufferedImage;
|
||
|
|
import java.io.OutputStream;
|
||
|
|
import java.util.*;
|
||
|
|
|
||
|
|
@Api(tags = "其他")
|
||
|
|
@Controller
|
||
|
|
@CrossOrigin("*")
|
||
|
|
public class OtherController extends BaseController{
|
||
|
|
|
||
|
|
//定时任务
|
||
|
|
@Autowired
|
||
|
|
private TaskService taskService;
|
||
|
|
|
||
|
|
/*动态详情*/
|
||
|
|
@GetMapping(value = "/dynamicDetail")
|
||
|
|
public String newsDetail(String dynamicId,Model model){
|
||
|
|
System.out.println("dynamicId --- > "+dynamicId);
|
||
|
|
Dynamic dynamic = newsCntMapper.newCntDetail(dynamicId);
|
||
|
|
if(null != dynamic){
|
||
|
|
dynamic.setTime(DateUtils.parseDate2String(dynamic.getPublictime(), "yyyy-MM-dd"));
|
||
|
|
}else{
|
||
|
|
dynamic = new Dynamic();
|
||
|
|
}
|
||
|
|
model.addAttribute("dynamic",dynamic);
|
||
|
|
return "dynamic/dynamic_detail";
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 获取安全类型
|
||
|
|
* */
|
||
|
|
@ApiOperation(value = "获取安全类型", notes = "获取安全类型")
|
||
|
|
@ApiImplicitParams({
|
||
|
|
@ApiImplicitParam(name = "isTree", value = "是否树形结构 1.树形结构 2.平行结构", required = true, dataType = "int")
|
||
|
|
})
|
||
|
|
@GetMapping("/safeClass")
|
||
|
|
@ResponseBody
|
||
|
|
public SingleResult<List<BaseSafeClass>> companyDetailAccident(int isTree)throws Exception {
|
||
|
|
SingleResult singleResult = new SingleResult();
|
||
|
|
List<BaseSafeClass> list = super.baseSafeClasses(isTree);
|
||
|
|
if (list!=null){
|
||
|
|
singleResult.setMessage(Message.SUCCESS);
|
||
|
|
singleResult.setCode(Code.SUCCESS.getCode());
|
||
|
|
singleResult.setData(list);
|
||
|
|
}else {
|
||
|
|
singleResult.setMessage(Message.ERROR);
|
||
|
|
singleResult.setCode(Code.ERROR.getCode());
|
||
|
|
}
|
||
|
|
return singleResult;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 获取行业类型
|
||
|
|
* */
|
||
|
|
@ApiOperation(value = "获取行业类型", notes = "获取行业类型")
|
||
|
|
@GetMapping("/industryClass")
|
||
|
|
@ResponseBody
|
||
|
|
public SingleResult<List<BaseInClass>> industryClass(@Valid IndustryClassDto industryClassDto)throws Exception {
|
||
|
|
SingleResult singleResult = new SingleResult();
|
||
|
|
List<BaseInClass> list = super.baseInClasses(industryClassDto.getIsTree(),industryClassDto.getType());
|
||
|
|
if (list!=null){
|
||
|
|
singleResult.setMessage(Message.SUCCESS);
|
||
|
|
singleResult.setCode(Code.SUCCESS.getCode());
|
||
|
|
singleResult.setData(list);
|
||
|
|
}else {
|
||
|
|
singleResult.setMessage(Message.ERROR);
|
||
|
|
singleResult.setCode(Code.ERROR.getCode());
|
||
|
|
}
|
||
|
|
return singleResult;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 工作单元行业
|
||
|
|
* */
|
||
|
|
@ApiOperation(value = "工作单元行业", notes = "工作单元行业")
|
||
|
|
@GetMapping("/workIndustry")
|
||
|
|
@ResponseBody
|
||
|
|
public SingleResult<List<BaseInClass>> workIndustry(@Valid IndustryClassDto industryClassDto)throws Exception {
|
||
|
|
SingleResult singleResult = new SingleResult();
|
||
|
|
|
||
|
|
List<BaseInClass> list = baseInClassMapper.workIndustry();
|
||
|
|
if (list!=null){
|
||
|
|
singleResult.setMessage(Message.SUCCESS);
|
||
|
|
singleResult.setCode(Code.SUCCESS.getCode());
|
||
|
|
singleResult.setData(list);
|
||
|
|
}else {
|
||
|
|
singleResult.setMessage(Message.ERROR);
|
||
|
|
singleResult.setCode(Code.ERROR.getCode());
|
||
|
|
}
|
||
|
|
return singleResult;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 所有行业类型
|
||
|
|
* */
|
||
|
|
@ApiOperation(value = "所有行业类型", notes = "所有行业类型")
|
||
|
|
@GetMapping("/allIndustryClass")
|
||
|
|
@ResponseBody
|
||
|
|
public SingleResult<List<BaseInClass>> allIndustryClass(@Valid IndustryClassDto industryClassDto)throws Exception {
|
||
|
|
SingleResult singleResult = new SingleResult();
|
||
|
|
List<BaseInClass> list = super.baseInClasses(industryClassDto.getIsTree(),industryClassDto.getType());
|
||
|
|
if (list!=null){
|
||
|
|
singleResult.setMessage(Message.SUCCESS);
|
||
|
|
singleResult.setCode(Code.SUCCESS.getCode());
|
||
|
|
singleResult.setData(list);
|
||
|
|
}else {
|
||
|
|
singleResult.setMessage(Message.ERROR);
|
||
|
|
singleResult.setCode(Code.ERROR.getCode());
|
||
|
|
}
|
||
|
|
return singleResult;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 检查帮助
|
||
|
|
* @param model
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
@GetMapping("/govHelp")
|
||
|
|
public String govHelp(Model model){
|
||
|
|
String type = "GOV";
|
||
|
|
AppHelp appHelp = appHelpMapper.findByType(type);
|
||
|
|
if(null == appHelp){
|
||
|
|
appHelp = new AppHelp();
|
||
|
|
}
|
||
|
|
model.addAttribute("appHelp",appHelp);
|
||
|
|
return "help/gov_help";
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 检查帮助
|
||
|
|
* @param model
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
@GetMapping("/entHelp")
|
||
|
|
public String entHelp(Model model){
|
||
|
|
String type = "ENT";
|
||
|
|
AppHelp appHelp = appHelpMapper.findByType(type);
|
||
|
|
if(null == appHelp){
|
||
|
|
appHelp = new AppHelp();
|
||
|
|
}
|
||
|
|
model.addAttribute("appHelp",appHelp);
|
||
|
|
return "help/ent_help";
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 检查帮助
|
||
|
|
* @param model
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
@GetMapping("/appGovHelp")
|
||
|
|
public String appGovHelp(Model model){
|
||
|
|
String type = "GOV";
|
||
|
|
AppHelp appHelp = appHelpMapper.findByType(type);
|
||
|
|
if(null == appHelp){
|
||
|
|
appHelp = new AppHelp();
|
||
|
|
}
|
||
|
|
model.addAttribute("appHelp",appHelp);
|
||
|
|
return "help/app_gov_help";
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 企业端检查帮助
|
||
|
|
* @param model
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
@GetMapping("/appEntHelp")
|
||
|
|
public String appEntHelp(Model model){
|
||
|
|
String type = "ENT";
|
||
|
|
AppHelp appHelp = appHelpMapper.findByType(type);
|
||
|
|
if(null == appHelp){
|
||
|
|
appHelp = new AppHelp();
|
||
|
|
}
|
||
|
|
model.addAttribute("appHelp",appHelp);
|
||
|
|
return "help/app_ent_help";
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 修改
|
||
|
|
* @param appHelp
|
||
|
|
*/
|
||
|
|
@RequestMapping(value = "/changeGovHelp", method = RequestMethod.POST)
|
||
|
|
@ResponseBody
|
||
|
|
public String changeGovHelp(AppHelp appHelp){
|
||
|
|
appHelpMapper.changeAppHelp(appHelp);
|
||
|
|
return "success";
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/*导入企业清单*/
|
||
|
|
@GetMapping("/importList")
|
||
|
|
public String importList(){
|
||
|
|
return "import_list/import_list";
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 上传企业清单
|
||
|
|
* @param file
|
||
|
|
* @return
|
||
|
|
*/
|
||
|
|
@RequestMapping(value = "/uploadEntList", method = RequestMethod.POST)
|
||
|
|
@ResponseBody
|
||
|
|
public Map<String,Object> uploadEntList(@RequestBody MultipartFile file,String entName) {
|
||
|
|
Map<String,Object> resultMap = new HashMap<String,Object>();
|
||
|
|
resultMap.put("code",1);
|
||
|
|
try {
|
||
|
|
List<String> excelRow = new ArrayList<>();
|
||
|
|
if(StringUtils.isNotBlank(entName)){
|
||
|
|
System.out.println("entName -> "+entName);
|
||
|
|
System.out.println("file -> "+file.getOriginalFilename());
|
||
|
|
Map<String,Object> companyData = this.getCompanyData(file);//错误集合收集 get excelRow
|
||
|
|
//清单数据
|
||
|
|
List<ImportListDetail> listDetails = (List<ImportListDetail>)companyData.get("listDetails");
|
||
|
|
//出错数据
|
||
|
|
excelRow = (List<String>)companyData.get("excelRow");
|
||
|
|
if(null == excelRow ){
|
||
|
|
excelRow = new ArrayList<>();
|
||
|
|
}
|
||
|
|
|
||
|
|
this.handleEntList(listDetails,excelRow,entName);
|
||
|
|
}else{
|
||
|
|
excelRow.add("请输入企业名");
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
resultMap.put("excelRow",excelRow);
|
||
|
|
}catch (Exception e){
|
||
|
|
e.printStackTrace();
|
||
|
|
}
|
||
|
|
return resultMap;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 处理企业清单
|
||
|
|
* @param listDetails
|
||
|
|
* @param excelRow
|
||
|
|
* @throws Exception
|
||
|
|
*/
|
||
|
|
private void handleEntList(List<ImportListDetail> listDetails,List<String> excelRow,String entName)throws Exception{
|
||
|
|
if(null != listDetails && listDetails.size() > 0){
|
||
|
|
Integer listSort = 1;
|
||
|
|
|
||
|
|
List<SysEntListWithBLOBs> sysEntLists = new ArrayList<>();
|
||
|
|
List<String> sysUserIds = new ArrayList<>();
|
||
|
|
|
||
|
|
for (ImportListDetail listDetail : listDetails){
|
||
|
|
listDetail.setEntName(entName);
|
||
|
|
listDetail.setListSort(listSort);
|
||
|
|
System.out.println("listDetail -> "+JSONArray.toJSONString(listDetail));
|
||
|
|
String errorMsg = this.addEntList(listDetail,sysEntLists,sysUserIds);
|
||
|
|
if(StringUtils.isNotBlank(errorMsg)){
|
||
|
|
excelRow.add(errorMsg);
|
||
|
|
}
|
||
|
|
listSort++ ;
|
||
|
|
}
|
||
|
|
|
||
|
|
//先删除之前上传的企业清单
|
||
|
|
if(null != sysUserIds && sysUserIds.size() > 0 && null != sysEntLists && sysEntLists.size() > 0){
|
||
|
|
//删除企业清单
|
||
|
|
sysEntListMapper.delByListType(sysEntLists.get(0).getSysenterpriseid(),"","");
|
||
|
|
//上传企业清单
|
||
|
|
sysEntListMapper.insertList(sysEntLists);
|
||
|
|
//修改统计数据
|
||
|
|
super.changeEntListNum(sysEntLists.get(0).getSysenterpriseid(),"excel");
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 导入企业清单
|
||
|
|
* @param listDetail
|
||
|
|
* @return
|
||
|
|
* @throws Exception
|
||
|
|
*/
|
||
|
|
public String addEntList(ImportListDetail listDetail,List<SysEntListWithBLOBs> sysEntLists,List<String> sysUserIds)throws Exception{
|
||
|
|
String errorMsg= "";
|
||
|
|
List<SysEnterprise> enterprises = sysEnterpriseMapper.findByEntName(listDetail.getEntName(),"");
|
||
|
|
if(null != enterprises && enterprises.size() > 0){
|
||
|
|
List<String> entUserIds = new ArrayList<>();
|
||
|
|
//岗位存在多个岗位名相同的记录
|
||
|
|
List<SysEntUser> entUsers = sysEntUserMapper.findByPostName(listDetail.getPostName(),enterprises.get(0).getSysenterpriseid());
|
||
|
|
if(null != entUsers && entUsers.size() > 0){
|
||
|
|
for(SysEntUser entUser : entUsers){
|
||
|
|
entUserIds.add(entUser.getSysentuserid());
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
//添加清单数据
|
||
|
|
if(null != entUserIds && entUserIds.size() > 0){
|
||
|
|
for (String entUserId : entUserIds){
|
||
|
|
|
||
|
|
SysEntListWithBLOBs sysEntList = new SysEntListWithBLOBs();
|
||
|
|
sysEntList.setSysentlistid(RandomNumber.getUUid());
|
||
|
|
sysEntList.setSysenterpriseid(enterprises.get(0).getSysenterpriseid());
|
||
|
|
sysEntList.setSysUserId(entUserId);
|
||
|
|
sysEntList.setListSort(listDetail.getListSort());
|
||
|
|
sysEntList.setListType(listDetail.getListType());
|
||
|
|
sysEntList.setListContent(listDetail.getListContent());
|
||
|
|
sysEntList.setCreatedby("excel");
|
||
|
|
sysEntList.setModifiedby("excel");
|
||
|
|
System.out.println("------------------------");
|
||
|
|
sysEntLists.add(sysEntList);
|
||
|
|
sysEntList.setCreatedon(new Date());
|
||
|
|
sysEntList.setModifiedon(new Date());
|
||
|
|
|
||
|
|
//记录清单id 用来删除历史上传的清单
|
||
|
|
sysUserIds.add(entUserId);
|
||
|
|
}
|
||
|
|
}else{
|
||
|
|
if("公司账号".equals(listDetail.getUserType())){
|
||
|
|
errorMsg = listDetail.getEntName()+"不存在";
|
||
|
|
}else if("岗位账号".equals(listDetail.getUserType())){
|
||
|
|
errorMsg = "岗位:"+listDetail.getPostName()+"不存在";
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}else{
|
||
|
|
errorMsg = listDetail.getEntName()+"不存在";
|
||
|
|
}
|
||
|
|
return errorMsg;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 解析excel 数据
|
||
|
|
* @param multipartFile
|
||
|
|
* @return
|
||
|
|
* @throws Exception
|
||
|
|
*/
|
||
|
|
public Map<String,Object> getCompanyData(MultipartFile multipartFile)throws Exception{
|
||
|
|
Map<String,Object> analysisResult = new HashMap<>();
|
||
|
|
|
||
|
|
//未导入行数
|
||
|
|
List<String> excelRow = new ArrayList<>();
|
||
|
|
//清单信息
|
||
|
|
List<ImportListDetail> listDetails = new ArrayList<>();
|
||
|
|
|
||
|
|
if(null != multipartFile){
|
||
|
|
Workbook wookbook = WorkbookFactory.create(multipartFile.getInputStream());
|
||
|
|
Sheet sheet = wookbook.getSheetAt(0);
|
||
|
|
|
||
|
|
//获得表头
|
||
|
|
Row rowHead = sheet.getRow(0);
|
||
|
|
|
||
|
|
System.out.println("getPhysicalNumberOfCells -> "+rowHead.getPhysicalNumberOfCells());
|
||
|
|
//判断表头是否正确
|
||
|
|
if(rowHead.getPhysicalNumberOfCells() == 4){
|
||
|
|
//获得数据的总行数
|
||
|
|
int totalRowNum = sheet.getLastRowNum();
|
||
|
|
|
||
|
|
if(totalRowNum > 0){
|
||
|
|
|
||
|
|
Boolean isSubject = true;
|
||
|
|
|
||
|
|
//获得所有数据
|
||
|
|
for(int i = 1 ; i <= totalRowNum ; i++){
|
||
|
|
//获得第i行对象
|
||
|
|
Row row = sheet.getRow(i);
|
||
|
|
if(null == row){
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
|
||
|
|
ImportListDetail listDetail = new ImportListDetail();
|
||
|
|
|
||
|
|
|
||
|
|
//企业名
|
||
|
|
Cell cell = row.getCell((short)0);
|
||
|
|
if(null != cell){
|
||
|
|
String entName = cell.getStringCellValue().toString();
|
||
|
|
if(StringUtils.isNotBlank(entName)){
|
||
|
|
listDetail.setEntName(entName);
|
||
|
|
}else{
|
||
|
|
excelRow.add("请单第"+i+"行企业名为空!");
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
}else{
|
||
|
|
excelRow.add("请单第"+i+"行企业名为空!");
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
cell = row.getCell((short)1);
|
||
|
|
if(null != cell){
|
||
|
|
String psotName = cell.getStringCellValue().toString();
|
||
|
|
if(StringUtils.isNotBlank(psotName)){
|
||
|
|
listDetail.setPostName(psotName);
|
||
|
|
}else{
|
||
|
|
excelRow.add("请单第"+i+"行岗位名为空!");
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
}else{
|
||
|
|
excelRow.add("请单第"+i+"行岗位名为空!");
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
//清单类型
|
||
|
|
cell = row.getCell((short)2);
|
||
|
|
if(null != cell){
|
||
|
|
String listType = cell.getStringCellValue().toString();
|
||
|
|
if(StringUtils.isNotBlank(listType)){
|
||
|
|
listDetail.setListType(listType);
|
||
|
|
}else{
|
||
|
|
excelRow.add("请单第"+i+"行清单类型为空!");
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
}else{
|
||
|
|
excelRow.add("请单第"+i+"行清单类型为空!");
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
//清单内容
|
||
|
|
cell = row.getCell((short)3);
|
||
|
|
cell.setCellType(CellType.STRING);
|
||
|
|
if(null != cell){
|
||
|
|
String listContent = cell.getStringCellValue().toString();
|
||
|
|
if(StringUtils.isNotBlank(listContent)){
|
||
|
|
listDetail.setListContent(listContent);
|
||
|
|
}else{
|
||
|
|
excelRow.add("请单第"+i+"行清单内容为空!");
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
}else{
|
||
|
|
excelRow.add("请单第"+i+"行清单内容为空!");
|
||
|
|
continue;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
if(!EntListType.SUBJECT_LIST.getType().equals(listDetail.getListType())){
|
||
|
|
listDetails.add(listDetail);
|
||
|
|
}else{
|
||
|
|
if(isSubject){
|
||
|
|
listDetails.add(listDetail);
|
||
|
|
isSubject = false;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
}else{
|
||
|
|
excelRow.add("表格格式出错!");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
System.out.println("数据解析完成");
|
||
|
|
//数据
|
||
|
|
analysisResult.put("listDetails",listDetails);
|
||
|
|
//报错信息
|
||
|
|
analysisResult.put("excelRow",excelRow);
|
||
|
|
|
||
|
|
return analysisResult;
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 地区树形
|
||
|
|
* @return
|
||
|
|
* @throws Exception
|
||
|
|
*/
|
||
|
|
@ApiOperation(value = "地区树形", notes = "地区树形")
|
||
|
|
@GetMapping(value = "/areaTree")
|
||
|
|
@ResponseBody
|
||
|
|
public MultiResult<SysOrg> areaTree(String userId)throws Exception{
|
||
|
|
System.out.println("userId -> "+userId);
|
||
|
|
MultiResult<SysOrg> result = new MultiResult<>();
|
||
|
|
|
||
|
|
List<SysOrg> sysOrgs = new ArrayList<>();
|
||
|
|
|
||
|
|
if(StringUtils.isNotBlank(userId)){
|
||
|
|
SysUser sysUser = sysUserMapper.findById(userId);
|
||
|
|
if(null != sysUser){
|
||
|
|
if(StringUtils.isBlank(sysUser.getStreetCode()) && StringUtils.isBlank(sysUser.getCommunityCode())){
|
||
|
|
sysOrgs = sysOrgMapper.findAll();
|
||
|
|
}
|
||
|
|
}else{
|
||
|
|
sysOrgs = sysOrgMapper.findAll();
|
||
|
|
}
|
||
|
|
}else{
|
||
|
|
sysOrgs = sysOrgMapper.findAll();
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
if(sysOrgs.size() > 0){
|
||
|
|
|
||
|
|
//处理树形结构
|
||
|
|
JSONArray jsonArray = handleAreaTree(sysOrgs);
|
||
|
|
List<SysOrg> areas = JSONArray.parseArray(JSONArray.toJSONString(jsonArray),SysOrg.class);
|
||
|
|
result.setData(areas);
|
||
|
|
}else{
|
||
|
|
result.setCode(Code.NO_DATA.getCode());
|
||
|
|
result.setMessage(Message.NO_DATA);
|
||
|
|
}
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 地区树形结构
|
||
|
|
* @param sysOrgs
|
||
|
|
* @return
|
||
|
|
* @throws Exception
|
||
|
|
*/
|
||
|
|
private JSONArray handleAreaTree(List<SysOrg> sysOrgs)throws Exception{
|
||
|
|
List<Map<String,Object>> data = new ArrayList<>();
|
||
|
|
for(SysOrg sysOrg : sysOrgs){
|
||
|
|
if(StringUtils.isBlank(sysOrg.getSuperiororgcode())){
|
||
|
|
sysOrg.setSuperiororgcode("");
|
||
|
|
}
|
||
|
|
Map<String,Object> entUserMap = new HashMap<String,Object>();
|
||
|
|
entUserMap.put("orgcode",sysOrg.getOrgcode());
|
||
|
|
entUserMap.put("orgname",sysOrg.getOrgname());
|
||
|
|
entUserMap.put("superiororgcode",sysOrg.getSuperiororgcode());
|
||
|
|
|
||
|
|
data.add(entUserMap);
|
||
|
|
}
|
||
|
|
JSONArray result = TypeConversion.listToTree(JSONArray.parseArray(JSON.toJSONString(data)),"orgcode","superiororgcode","children");
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 定时任务测试
|
||
|
|
* @return
|
||
|
|
* @throws Exception
|
||
|
|
*/
|
||
|
|
@ApiOperation(value = "定时任务测试", notes = "定时任务测试")
|
||
|
|
@GetMapping(value = "/taskTest")
|
||
|
|
@ResponseBody
|
||
|
|
public SingleResult<String> taskTest()throws Exception{
|
||
|
|
SingleResult<String> result = new SingleResult<>();
|
||
|
|
taskService.task();
|
||
|
|
return result;
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 验证码
|
||
|
|
* @param request
|
||
|
|
* @param response
|
||
|
|
* @throws Exception
|
||
|
|
*/
|
||
|
|
@ApiOperation(value = "验证码", notes = "验证码")
|
||
|
|
@GetMapping("/generateCode")
|
||
|
|
@ResponseBody
|
||
|
|
public void generateCode(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||
|
|
try {
|
||
|
|
BufferedImage image = Verification.getVerify(constantsConfigure.getGenerateCodeKey(),request);
|
||
|
|
OutputStream out = response.getOutputStream();
|
||
|
|
ImageIO.write(image, "JPEG", out);
|
||
|
|
out.flush();
|
||
|
|
out.close();
|
||
|
|
} catch (Exception e) {
|
||
|
|
e.printStackTrace();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
}
|