integrated_traffic/src/main/java/com/zcloud/controller/system/PostController.java

324 lines
10 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.zcloud.controller.system;
import com.zcloud.controller.base.BaseController;
import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;
import com.zcloud.logs.LogAnno;
import com.zcloud.service.system.ImgFilesService;
import com.zcloud.service.system.PostService;
import com.zcloud.service.system.UsersService;
import com.zcloud.util.*;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import java.util.*;
/**
* 说明:岗位管理
* 作者luoxiaobao
* 时间2020-12-28
* 官网www.zcloudchina.com
*/
@Controller
@RequestMapping("/post")
public class PostController extends BaseController {
@Autowired
private PostService postService;
@Autowired
private ImgFilesService imgFilesService;
@Autowired
private Smb smb;
@Autowired
private UsersService usersService;
/**新增
* @param
* @throws Exception
*/
@RequestMapping(value="/add")
@RequiresPermissions("post:add")
@ResponseBody
@Transactional
@LogAnno(menuType= "双重预防",menuServer= "企业管理",instructionsOperate = "岗位管理",instructionsType = "新增")
public Object add(@RequestParam(value="FFILE",required=false) MultipartFile[] files) throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("POST_ID", this.get32UUID()); //主键
pd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID()); //企业
pd.put("ISDELETE", "0"); //是否删除
pd.put("CREATOR",Jurisdiction.getUsername()); //添加人
pd.put("CREATTIME", DateUtil.date2Str(new Date())); //创建时间
pd.put("OPERATOR", Jurisdiction.getUsername()); //修改人
pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间
postService.save(pd);
if (files != null && files.length > 0) {
for (int i = 0; i < files.length; i++) {
MultipartFile file = files[i];
// 保存文件
String ffile = DateUtil.getDays();
String fileName = ""; //执0行上传
if (null != file && !file.isEmpty()) {
fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
byte[] bytes = file.getBytes();
smb.sshSftp(file, fileName,Const.FILEPATHYHTP + ffile);
}
pd.put("IMGFILES_ID", this.get32UUID());
pd.put("FILEPATH", Const.FILEPATHYHTP + ffile+"/"+fileName);
pd.put("TYPE", 23);
pd.put("FOREIGN_KEY", pd.get("POST_ID"));
imgFilesService.save(pd);
}
}
map.put("result", errInfo);
return map;
}
/**删除
* @param out
* @throws Exception
*/
@RequestMapping(value="/delete")
@RequiresPermissions("post:del")
@ResponseBody
@LogAnno(menuType= "双重预防",menuServer= "企业管理",instructionsOperate = "岗位管理",instructionsType = "删除")
public Object delete() throws Exception{
Map<String,String> map = new HashMap<String,String>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("POST_ID", pd.get("POST_ID"));
List<PageData> list = usersService.listAll(pd);
if(list!=null && list.size()>0) {
// map.put("result", "failed"); //返回结果
map.put("msg", "该岗位下面有角色,请删除所有的角色后再删除");
return map;
}
postService.delete(pd);
map.put("result", errInfo); //返回结果
return map;
}
/**修改
* @param
* @throws Exception
*/
@RequestMapping(value="/edit")
@RequiresPermissions("post:edit")
@ResponseBody
@Transactional
@LogAnno(menuType= "双重预防",menuServer= "企业管理",instructionsOperate = "岗位管理",instructionsType = "修改")
public Object edit(@RequestParam(value="FFILE",required=false) MultipartFile[] files) throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
postService.edit(pd);
if (files != null && files.length > 0) {
for (int i = 0; i < files.length; i++) {
MultipartFile file = files[i];
// 保存文件
String ffile = DateUtil.getDays();
String fileName = ""; //执0行上传
if (null != file && !file.isEmpty()) {
fileName = this.get32UUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
byte[] bytes = file.getBytes();
smb.sshSftp(file, fileName,Const.FILEPATHYHTP + ffile);
}
pd.put("IMGFILES_ID", this.get32UUID());
pd.put("FILEPATH", Const.FILEPATHYHTP + ffile+"/"+fileName);
pd.put("TYPE", 23);
pd.put("FOREIGN_KEY", pd.get("POST_ID"));
imgFilesService.save(pd);
}
}
map.put("result", errInfo);
return map;
}
/**列表
* @param page
* @throws Exception
*/
@RequestMapping(value="/list")
@RequiresPermissions("post:list")
@ResponseBody
@LogAnno(menuType= "双重预防",menuServer= "企业管理",instructionsOperate = "岗位管理",instructionsType = "列表")
public Object list(Page page) throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String KEYWORDS = pd.getString("KEYWORDS"); //关键词检索条件
if(Tools.notEmpty(KEYWORDS))pd.put("KEYWORDS", KEYWORDS.trim());
page.setPd(pd);
List<PageData> varList = postService.list(page); //列出Post列表
if(varList != null && varList.size() > 0) {
for(PageData var : varList) {
PageData pd2 = new PageData();
pd2.put("FOREIGN_KEY", var.getString("POST_ID"));
List<PageData> imgs = imgFilesService.listAll(pd2);
var.put("imgs", imgs);
}
}
map.put("varList", varList);
map.put("page", page);
map.put("result", errInfo);
return map;
}
/**列表
* @param page
* @throws Exception
*/
@RequestMapping(value="/listAll")
@ResponseBody
@LogAnno(menuType= "双重预防",menuServer= "隐患排查",instructionsOperate = "清单管理",instructionsType = "列表")
public Object listAll() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd.put("STATUS", 0);
List<PageData> varList = postService.listAll(pd); //列出Post列表
map.put("postList", varList);
map.put("result", errInfo);
return map;
}
/**去修改页面获取数据
* @param
* @throws Exception
*/
@RequestMapping(value="/goEdit")
@RequiresPermissions("post:edit")
@ResponseBody
@LogAnno(menuType= "双重预防",menuServer= "企业管理",instructionsOperate = "岗位管理",instructionsType = "去修改页面获取数据")
public Object goEdit() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
pd = postService.findById(pd); //根据ID读取
PageData pd2 = new PageData();
pd2.put("FOREIGN_KEY", pd.getString("POST_ID"));
pd2.put("TYPE",pd.get("TYPE"));
List<PageData> imgs = imgFilesService.listAll(pd2);//营业执照图片
map.put("pd", pd);
map.put("imgs", imgs);
map.put("result", errInfo);
return map;
}
/**批量删除
* @param
* @throws Exception
*/
@RequestMapping(value="/deleteAll")
@RequiresPermissions("post:del")
@ResponseBody
public Object deleteAll() throws Exception{
Map<String,Object> map = new HashMap<String,Object>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
String DATA_IDS = pd.getString("DATA_IDS");
if(Tools.notEmpty(DATA_IDS)){
String ArrayDATA_IDS[] = DATA_IDS.split(",");
postService.deleteAll(ArrayDATA_IDS);
errInfo = "success";
}else{
errInfo = "error";
}
map.put("result", errInfo); //返回结果
return map;
}
/**导出到excel
* @param
* @throws Exception
*/
@RequestMapping(value="/excel")
@RequiresPermissions("toExcel")
public ModelAndView exportExcel() throws Exception{
ModelAndView mv = new ModelAndView();
PageData pd = new PageData();
pd = this.getPageData();
Map<String,Object> dataMap = new HashMap<String,Object>();
List<String> titles = new ArrayList<String>();
titles.add("机构"); //1
titles.add("名称"); //2
titles.add("备注"); //3
titles.add("状态"); //4
titles.add("是否删除"); //5
titles.add("添加人"); //6
titles.add("创建时间"); //7
titles.add("修改人"); //8
titles.add("修改时间"); //9
dataMap.put("titles", titles);
List<PageData> varOList = postService.listAll(pd);
List<PageData> varList = new ArrayList<PageData>();
for(int i=0;i<varOList.size();i++){
PageData vpd = new PageData();
vpd.put("var1", varOList.get(i).getString("DEPARTMENT_ID")); //1
vpd.put("var2", varOList.get(i).getString("NAME")); //2
vpd.put("var3", varOList.get(i).getString("DESCR")); //3
vpd.put("var4", varOList.get(i).getString("STATUS")); //4
vpd.put("var5", varOList.get(i).get("ISDELETE").toString()); //5
vpd.put("var6", varOList.get(i).getString("CREATOR")); //6
vpd.put("var7", varOList.get(i).getString("CREATTIME")); //7
vpd.put("var8", varOList.get(i).getString("OPERATOR")); //8
vpd.put("var9", varOList.get(i).getString("OPERATTIME")); //9
varList.add(vpd);
}
dataMap.put("varList", varList);
ObjectExcelView erv = new ObjectExcelView();
mv = new ModelAndView(erv,dataMap);
return mv;
}
/**判断同等级的名字是否重复
* @return
*/
@RequestMapping(value="/hasName")
@ResponseBody
public Object hasName() throws Exception{
Map<String,String> map = new HashMap<String,String>();
String errInfo = "success";
PageData pd = new PageData();
pd = this.getPageData();
PageData parentDepePd = new PageData();
parentDepePd.put("NAME", pd.getString("name"));
parentDepePd.put("DEPARTMENT_ID", pd.getString("DEPARTMENT_ID"));
parentDepePd.put("CORPINFO_ID", Jurisdiction.getCORPINFO_ID());
//就是父id相同的名字
List<PageData> parent = postService.findByNameAndDepartment(parentDepePd);
if(parent.size()>0) {
errInfo = "error";
}
map.put("result", errInfo); //返回结果
return map;
}
}