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 map = new HashMap(); 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 map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("POST_ID", pd.get("POST_ID")); List 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 map = new HashMap(); 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 map = new HashMap(); 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 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 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 map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); pd.put("STATUS", 0); List 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 map = new HashMap(); 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 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 map = new HashMap(); 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 dataMap = new HashMap(); List titles = new ArrayList(); 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 varOList = postService.listAll(pd); List varList = new ArrayList(); for(int i=0;i map = new HashMap(); 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 parent = postService.findByNameAndDepartment(parentDepePd); if(parent.size()>0) { errInfo = "error"; } map.put("result", errInfo); //返回结果 return map; } }