package org.jeecg.modules.eam.controller; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import javax.servlet.http.HttpServletRequest; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.apache.poi.hssf.record.DVALRecord; import org.jeecg.common.api.vo.CommonGenericTree; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.eam.entity.Area; import org.jeecg.modules.eam.entity.FaultCause; import org.jeecg.modules.eam.entity.Team; import org.jeecg.modules.eam.service.IAreaService; import org.jeecg.modules.eam.service.ITeamService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.ParameterResolutionDelegate; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @Api(tags = "车间 前端控制器") @RestController @RequestMapping("/base/area") public class AreaController extends JeecgController { @Autowired private IAreaService areaService; @Autowired private ITeamService teamService; @AutoLog(value = "车间-分页查询") @ApiOperation(value = "车间-分页查询", notes = "车间-分页查询") @GetMapping(value = "/list") public Result list(Area area, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(area, req.getParameterMap()); Page page = new Page(pageNo, pageSize); IPage pageList = areaService.page(page, queryWrapper); for (Area record : pageList.getRecords()) { String teamNames =""; String teamIds = record.getTeamId(); if(StringUtils.isNotBlank(teamIds)){ List ids = Arrays.asList(teamIds.split(",")); for (int i = 0; i < ids.size(); i++) { Team team = teamService.getById(ids.get(i)); String name = team.getName(); teamNames +=name; if(i != ids.size()-1){ teamNames += ","; } } } record.setTeamNames(teamNames); } return Result.ok(pageList); } @AutoLog(value = "车间-新增") @ApiOperation(value = "车间-新增", notes = "车间-新增") @PostMapping("/add") public Result add(@RequestBody Area area) { String parentId = area.getParentId(); if("-1".equals(parentId)){ area.setType("1"); }else{ Area nextArea = areaService.getById(parentId); String type = nextArea.getType(); if("1".equals(type)){ area.setType("2"); }else{ area.setType("3"); } } area.setStatus(CommonConstant.STATUS_1); areaService.save(area); return Result.ok("新增成功"); } @AutoLog(value = "车间-编辑") @ApiOperation(value = "车间-编辑", notes = "车间-编辑") @PutMapping("/edit") public Result edit(@RequestBody Area area) { areaService.updateById(area); return Result.ok("编辑成功"); } @AutoLog(value = "车间-通过id删除") @ApiOperation(value = "车间-通过id删除", notes = "车间-通过id删除") @DeleteMapping("/delete") public Result delete(@RequestParam("id") String id) { areaService.removeById(id); return Result.ok("删除成功"); } @AutoLog(value = "车间-批量删除") @ApiOperation(value = "车间-批量删除", notes = "车间-批量删除") @DeleteMapping("/deleteBatch") public Result deleteBatch(@RequestParam("ids") String ids) { areaService.removeByIds(Arrays.asList(ids.split(","))); return Result.ok("批量删除成功!"); } @AutoLog(value = "车间-启用&禁用") @ApiOperation(value = "车间-启用&禁用", notes = "车间-启用&禁用") @PutMapping("/active") public Result active(@RequestParam("id") String id) { Area area = areaService.getById(id); if (CommonConstant.STATUS_1.equals(area.getStatus())) { area.setStatus(CommonConstant.STATUS_0); } else { area.setStatus(CommonConstant.STATUS_1); } areaService.updateById(area); return Result.ok("更新成功!"); } @GetMapping(value = "/getAlllist") public Result getAlllist(Area area, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { // QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(area, req.getParameterMap()); QueryWrapper queryWrapper = Wrappers.query(); Page page = new Page(pageNo, pageSize); String num = area.getNum(); String name = area.getName(); String parentId = area.getParentId(); if(StringUtils.isNotBlank(parentId)){ queryWrapper.eq("parent_id", parentId); }else{ queryWrapper.eq("parent_id", "-1"); } if(StringUtils.isNotBlank(num)){ queryWrapper.like("num", num); } if(StringUtils.isNotBlank(name)){ queryWrapper.like("name", name); } IPage pageList = areaService.page(page, queryWrapper); List records = pageList.getRecords(); for (Area record : records) { String id = record.getId(); List areas = areaService.lambdaQuery().eq(Area::getParentId, id).eq(Area::getDelFlag, "0").list(); record.setNextAreas(areas); } return Result.OK(pageList); } /** * @MethodName: loadTree * @Description: 故障原因 树 */ @GetMapping("/loadTree") public Result loadTree(HttpServletRequest httpServletRequest) { List list = areaService.loadTree(); return Result.ok(list); } }