package com.landtool.lanbase.modules.org.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.landtool.lanbase.modules.org.entity.OrgRegion; import com.landtool.lanbase.modules.org.service.OrgRegionService; import com.landtool.lanbase.modules.sys.controller.AbstractController; import com.alibaba.fastjson.JSONObject; import com.landtool.lanbase.common.annotation.LogAction; import com.landtool.lanbase.common.annotation.SysLog; import com.landtool.lanbase.common.utils.PageUtils; import com.landtool.lanbase.common.utils.Query; import com.landtool.lanbase.common.utils.Result; import com.landtool.lanbase.modules.org.entity.OrgUser; /** * @author lanbase * @Description: TODO(行政区划管理表) * @date 2018-01-15 17:48:57 */ @RestController @RequestMapping("/org/region") @Api(value = "", tags = {"行政区划"}) public class OrgRegionController extends AbstractController{ @Autowired private OrgRegionService regionService; /** * 行政区划列表 */ @RequestMapping(value ="/list", method ={RequestMethod.POST, RequestMethod.GET}) // @RequiresPermissions("org:region:list") @RequiresPermissions(value={"org:region:list","org:region:edit"},logical= Logical.OR) @ApiOperation( value = "行政区划列表", notes = "所有行政区划列表" ) @LogAction("用户管理,行政区划管理,行政区划查询,查询") public Result list(@ApiParam(name="params",value="行政区划集合",required=true)@RequestParam Map params){ //查询列表数据 Query query = new Query(params); if(query.get("approvelevel") != null && query.get("approvelevel").toString().trim().length()!=0){ String approvelevels = ""; String[] approvelevelList = query.get("approvelevel").toString().split(","); for(int i=0;i regionList = regionService.queryList(query); int total = regionService.queryTotal(query); PageUtils pageUtil = new PageUtils(regionList, total, query.getLimit(), query.getPage()); return Result.ok().put("page", pageUtil); } /** * 信息 */ @GetMapping("/info/{regionid}") // @RequiresPermissions("org:region:list") @RequiresPermissions(value={"org:region:list","org:region:edit"},logical= Logical.OR) @ApiOperation( value = "行政区划信息", notes = "" ) public Result info(@ApiParam(name="regionid",value="行政区划Id",required=true)@PathVariable("regionid") String regionid){ OrgRegion region = regionService.queryObject(regionid); return Result.ok().put("region", region); } /** * 保存 */ @LogAction("用户管理,行政区划管理,行政区划新增,新增") @SysLog("保存行政区划") @PostMapping("/save") @RequiresPermissions("org:region:edit") @ApiOperation( value = "保存行政区划", notes = "" ) public Result save(@ApiParam(name="行政区划对象",value="传入json格式",required=true)@RequestBody OrgRegion region){ OrgUser user = (OrgUser) SecurityUtils.getSubject().getPrincipal(); OrgRegion orgxzqh = regionService.queryObject(region.getRegionid()); if(orgxzqh != null) return Result.error("数据库中已存在该记录!"); region.setSpellfirst(region.getSpellfirst().toUpperCase());//首字母小写转化大写 region.setRcreateuser(user.getUserid()); region.setRcreatedate(new Date()); region.setRlasteditdate(new Date()); int rorder = regionService.queryMaxRorder(region.getParentid().toString())+1; region.setRorder((long)rorder); regionService.save(region); return Result.ok().put("regionid",region.getRegionid()); } /** * 修改 */ @LogAction("用户管理,行政区划管理,行政区划修改,修改") @SysLog("修改行政区划") @PostMapping("/update") @RequiresPermissions("org:region:edit") @ApiOperation( value = "修改行政区划", notes = "" ) public Result update(@ApiParam(name="行政区划对象",value="传入json格式",required=true)@RequestBody OrgRegion region){ region.setSpellfirst(region.getSpellfirst().toUpperCase());//首字母小写转化大写 region.setRlasteditdate(new Date()); regionService.update(region); return Result.ok(); } /** * 删除 */ @LogAction("用户管理,行政区划管理,行政区划删除,删除") @SysLog("删除行政区划") @PostMapping("/delete") @RequiresPermissions("org:region:edit") @ApiOperation( value = "删除行政区划", notes = "" ) public Result delete(@ApiParam(name="regionidids",value="行政区划Id",required=true)@RequestBody String[] regionidids){ regionService.deleteBatch(regionidids); return Result.ok(); } /** * 显示行政区划信息 */ @SysLog("显示行政区划信息") @PostMapping("/queryRegion") @ApiOperation( value = "显示行政区划信息", notes = "" ) public Map queryRegion(){ Map map = new HashMap(); List regionList = regionService.queryRegion(); map.put("regionList", regionList); return map; } /** * 所有行政区划列表 */ @RequestMapping(value ="/queryUnitTreeList", method ={RequestMethod.GET}) // @RequiresPermissions("org:region:list") @RequiresPermissions(value={"org:region:list","org:region:edit"},logical= Logical.OR) @ApiOperation( value = "行政区划列表", notes = "所有行政区划列表" ) public Result queryUnitTreeList(){ List regionList = regionService.queryUnitTreeList(); //全国为顶级菜单 for(int i = 0;i params){ //查询列表数据 Query query = new Query(params); List regionList = regionService.queryTreeChildList(query); int total = regionService.queryTreeChildTotal(query); PageUtils pageUtil = new PageUtils(regionList, total, query.getLimit(), query.getPage()); return Result.ok().put("page", pageUtil); } /** * 查询节点下一级子节点 */ @RequestMapping(value ="/queryListByParentid", method ={RequestMethod.GET}) // @RequiresPermissions("org:region:list") @RequiresPermissions(value={"org:region:list","org:region:edit"},logical= Logical.OR) public Map queryListByParentid(@RequestParam String parentid){ Map map = new HashMap(); List OrgRegionList = regionService.queryListByParentid(parentid); map.put("OrgRegionList", OrgRegionList); return map; } /** * 修改排序 */ @LogAction("用户管理,行政区划管理,行政区划修改排序,修改") @PostMapping("/updateRorder") @RequiresPermissions("org:region:edit") @ApiOperation( value = "修改字典字段值排序", notes = "" ) public Result updateRorder(@ApiParam(name="复合对象",value="传入json格式",required=true)@RequestBody JSONObject json){ String valueids = json.getString("valueids"); // String sorts = json.getString("sorts"); String[] valueidList = valueids.split(","); // String[] sortList=sorts.split(","); for(int i =0;i