diff --git a/src/main/java/com/zhgd/xmgl/modules/edu/mapper/xml/SafeEducationQuestionMapper.xml b/src/main/java/com/zhgd/xmgl/modules/edu/mapper/xml/SafeEducationQuestionMapper.xml index 3c7340303..8ba5c55e6 100644 --- a/src/main/java/com/zhgd/xmgl/modules/edu/mapper/xml/SafeEducationQuestionMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/edu/mapper/xml/SafeEducationQuestionMapper.xml @@ -67,26 +67,28 @@ diff --git a/src/main/java/com/zhgd/xmgl/modules/taskprogress/controller/TaskProgressAlarmController.java b/src/main/java/com/zhgd/xmgl/modules/taskprogress/controller/TaskProgressAlarmController.java index 8e7089b0e..645c8634e 100644 --- a/src/main/java/com/zhgd/xmgl/modules/taskprogress/controller/TaskProgressAlarmController.java +++ b/src/main/java/com/zhgd/xmgl/modules/taskprogress/controller/TaskProgressAlarmController.java @@ -1,38 +1,35 @@ package com.zhgd.xmgl.modules.taskprogress.controller; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; - -import java.util.HashMap; -import java.util.List; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.zhgd.jeecg.common.api.vo.Result; -import com.zhgd.jeecg.common.system.query.QueryGenerator; -import com.zhgd.jeecg.common.util.oConvertUtils; -import org.apache.commons.collections.MapUtils; -import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgressAlarm; -import com.zhgd.xmgl.modules.taskprogress.service.ITaskProgressAlarmService; - +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.jeecg.common.util.oConvertUtils; +import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgressAlarm; +import com.zhgd.xmgl.modules.taskprogress.service.ITaskProgressAlarmService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; - +import org.apache.commons.collections.MapUtils; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import springfox.documentation.annotations.ApiIgnore; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.util.HashMap; +import java.util.List; + /** * @Title: Controller @@ -46,151 +43,158 @@ import springfox.documentation.annotations.ApiIgnore; @Slf4j @Api(tags = "任务进度甘特图-报警信息相关Api") public class TaskProgressAlarmController { - @Autowired - private ITaskProgressAlarmService taskProgressAlarmService; + @Autowired + private ITaskProgressAlarmService taskProgressAlarmService; - /** - * 分页列表查询 - * - * @param taskProgressAlarm - * @param pageNo - * @param pageSize - * @param req - * @return - */ - @ApiOperation(value = "分页列表查询任务进度甘特图-报警信息信息", notes = "分页列表查询任务进度甘特图-报警信息信息", httpMethod = "GET") - @GetMapping(value = "/page") - public Result> queryPageList(TaskProgressAlarm taskProgressAlarm, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { - Result> result = new Result>(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(taskProgressAlarm, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = taskProgressAlarmService.page(page, queryWrapper); - result.setSuccess(true); - result.setResult(pageList); - return result; - } + /** + * 分页列表查询 + * + * @param taskProgressAlarm + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @ApiOperation(value = "分页列表查询任务进度甘特图-报警信息信息", notes = "分页列表查询任务进度甘特图-报警信息信息", httpMethod = "GET") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "query", required = true, dataType = "String"), + @ApiImplicitParam(name = "taskName", value = "任务名称", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "createDate_begin", value = "报警时间开始", paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "createDate_end", value = "报警时间结束", paramType = "query", dataType = "String"), + }) + @GetMapping(value = "/page") + public Result> queryPageList(TaskProgressAlarm taskProgressAlarm, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Result> result = new Result>(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(taskProgressAlarm, req.getParameterMap()); + queryWrapper.lambda().orderByDesc(TaskProgressAlarm::getCreateDate); + Page page = new Page(pageNo, pageSize); + IPage pageList = taskProgressAlarmService.page(page, queryWrapper); + result.setSuccess(true); + result.setResult(pageList); + return result; + } - /** - * 列表查询 - * - * @param taskProgressAlarm - * @param req - * @return - */ - @ApiOperation(value = "列表查询任务进度甘特图-报警信息信息", notes = "列表查询任务进度甘特图-报警信息信息", httpMethod = "GET") - @GetMapping(value = "/list") - public Result> queryList(TaskProgressAlarm taskProgressAlarm, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(taskProgressAlarm, req.getParameterMap()); - return Result.success(taskProgressAlarmService.list(queryWrapper)); - } + /** + * 列表查询 + * + * @param taskProgressAlarm + * @param req + * @return + */ + @ApiOperation(value = "列表查询任务进度甘特图-报警信息信息", notes = "列表查询任务进度甘特图-报警信息信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(TaskProgressAlarm taskProgressAlarm, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(taskProgressAlarm, req.getParameterMap()); + return Result.success(taskProgressAlarmService.list(queryWrapper)); + } - /** - * 添加 - * - * @param taskProgressAlarm - * @return - */ - @ApiOperation(value = "添加任务进度甘特图-报警信息信息", notes = "添加任务进度甘特图-报警信息信息", httpMethod = "POST") - @PostMapping(value = "/add") - public Result add(@RequestBody TaskProgressAlarm taskProgressAlarm) { - taskProgressAlarmService.save(taskProgressAlarm); - return Result.ok(); - } + /** + * 添加 + * + * @param taskProgressAlarm + * @return + */ + @ApiOperation(value = "添加任务进度甘特图-报警信息信息", notes = "添加任务进度甘特图-报警信息信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody TaskProgressAlarm taskProgressAlarm) { + taskProgressAlarmService.save(taskProgressAlarm); + return Result.ok(); + } - /** - * 编辑 - * - * @param taskProgressAlarm - * @return - */ - @ApiOperation(value = "编辑任务进度甘特图-报警信息信息", notes = "编辑任务进度甘特图-报警信息信息", httpMethod = "POST") - @PostMapping(value = "/edit") - public Result edit(@RequestBody TaskProgressAlarm taskProgressAlarm) { - taskProgressAlarmService.updateById(taskProgressAlarm); - return Result.ok(); - } + /** + * 编辑 + * + * @param taskProgressAlarm + * @return + */ + @ApiOperation(value = "编辑任务进度甘特图-报警信息信息", notes = "编辑任务进度甘特图-报警信息信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody TaskProgressAlarm taskProgressAlarm) { + taskProgressAlarmService.updateById(taskProgressAlarm); + return Result.ok(); + } - /** - * 通过id删除 - * - * @param id - * @return - */ - @ApiOperation(value = "删除任务进度甘特图-报警信息信息", notes = "删除任务进度甘特图-报警信息信息", httpMethod = "POST") - @ApiImplicitParam(name = "id", value = "任务进度甘特图-报警信息ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") - @PostMapping(value = "/delete") - public Result delete(@ApiIgnore @RequestBody HashMap map) { - String id = MapUtils.getString(map, "id"); - Result result = new Result(); - TaskProgressAlarm taskProgressAlarm = taskProgressAlarmService.getById(id); - if (taskProgressAlarm == null) { - result.error500("未找到对应实体"); - } else { - boolean ok = taskProgressAlarmService.removeById(id); - if (ok) { - result.success("删除成功!"); - } - } + /** + * 通过id删除 + * + * @param id + * @return + */ + @ApiOperation(value = "删除任务进度甘特图-报警信息信息", notes = "删除任务进度甘特图-报警信息信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "任务进度甘特图-报警信息ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") + @PostMapping(value = "/delete") + public Result delete(@ApiIgnore @RequestBody HashMap map) { + String id = MapUtils.getString(map, "id"); + Result result = new Result(); + TaskProgressAlarm taskProgressAlarm = taskProgressAlarmService.getById(id); + if (taskProgressAlarm == null) { + result.error500("未找到对应实体"); + } else { + boolean ok = taskProgressAlarmService.removeById(id); + if (ok) { + result.success("删除成功!"); + } + } - return result; - } + return result; + } - /** - * 通过id查询 - * - * @param id - * @return - */ - @ApiOperation(value = "通过id查询任务进度甘特图-报警信息信息", notes = "通过id查询任务进度甘特图-报警信息信息", httpMethod = "GET") - @ApiImplicitParam(name = "id", value = "任务进度甘特图-报警信息ID", paramType = "query", required = true, dataType = "Integer") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name = "id", required = true) String id) { - Result result = new Result(); - TaskProgressAlarm taskProgressAlarm = taskProgressAlarmService.getById(id); - if (taskProgressAlarm == null) { - result.error500("未找到对应实体"); - } else { - result.setResult(taskProgressAlarm); - result.setSuccess(true); - } - return result; - } + /** + * 通过id查询 + * + * @param id + * @return + */ + @ApiOperation(value = "通过id查询任务进度甘特图-报警信息信息", notes = "通过id查询任务进度甘特图-报警信息信息", httpMethod = "GET") + @ApiImplicitParam(name = "id", value = "任务进度甘特图-报警信息ID", paramType = "query", required = true, dataType = "Integer") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + Result result = new Result(); + TaskProgressAlarm taskProgressAlarm = taskProgressAlarmService.getById(id); + if (taskProgressAlarm == null) { + result.error500("未找到对应实体"); + } else { + result.setResult(taskProgressAlarm); + result.setSuccess(true); + } + return result; + } - /** - * 导出excel - * - * @param request - * @param response - */ - @ApiOperation(value = "导出excel任务进度甘特图-报警信息信息", notes = "导出excel任务进度甘特图-报警信息信息", httpMethod = "POST") - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { - // Step.1 组装查询条件 - QueryWrapper queryWrapper = null; - try { - String paramsStr = request.getParameter("paramsStr"); - if (oConvertUtils.isNotEmpty(paramsStr)) { - String deString = URLDecoder.decode(paramsStr, "UTF-8"); - TaskProgressAlarm taskProgressAlarm = JSON.parseObject(deString, TaskProgressAlarm.class); - queryWrapper = QueryGenerator.initQueryWrapper(taskProgressAlarm, request.getParameterMap()); - } - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } + /** + * 导出excel + * + * @param request + * @param response + */ + @ApiOperation(value = "导出excel任务进度甘特图-报警信息信息", notes = "导出excel任务进度甘特图-报警信息信息", httpMethod = "POST") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { + // Step.1 组装查询条件 + QueryWrapper queryWrapper = null; + try { + String paramsStr = request.getParameter("paramsStr"); + if (oConvertUtils.isNotEmpty(paramsStr)) { + String deString = URLDecoder.decode(paramsStr, "UTF-8"); + TaskProgressAlarm taskProgressAlarm = JSON.parseObject(deString, TaskProgressAlarm.class); + queryWrapper = QueryGenerator.initQueryWrapper(taskProgressAlarm, request.getParameterMap()); + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } - //Step.2 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - List pageList = taskProgressAlarmService.list(queryWrapper); - //导出文件名称 - mv.addObject(NormalExcelConstants.FILE_NAME, "任务进度甘特图-报警信息列表"); - mv.addObject(NormalExcelConstants.CLASS, TaskProgressAlarm.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("任务进度甘特图-报警信息列表数据", "导出人:Jeecg", "导出信息")); - mv.addObject(NormalExcelConstants.DATA_LIST, pageList); - return mv; - } + //Step.2 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + List pageList = taskProgressAlarmService.list(queryWrapper); + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "任务进度甘特图-报警信息列表"); + mv.addObject(NormalExcelConstants.CLASS, TaskProgressAlarm.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("任务进度甘特图-报警信息列表数据", "导出人:Jeecg", "导出信息")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/taskprogress/controller/TaskProgressController.java b/src/main/java/com/zhgd/xmgl/modules/taskprogress/controller/TaskProgressController.java index f50f542da..3aef204a2 100644 --- a/src/main/java/com/zhgd/xmgl/modules/taskprogress/controller/TaskProgressController.java +++ b/src/main/java/com/zhgd/xmgl/modules/taskprogress/controller/TaskProgressController.java @@ -1,12 +1,10 @@ package com.zhgd.xmgl.modules.taskprogress.controller; -import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.system.query.QueryGenerator; -import com.zhgd.jeecg.common.util.oConvertUtils; import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgress; import com.zhgd.xmgl.modules.taskprogress.service.ITaskProgressService; import io.swagger.annotations.Api; @@ -14,19 +12,19 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections.MapUtils; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.apache.poi.util.IOUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.ClassPathResource; import org.springframework.web.bind.annotation.*; -import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.multipart.MultipartFile; import springfox.documentation.annotations.ApiIgnore; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; import java.util.HashMap; import java.util.List; @@ -166,36 +164,39 @@ public class TaskProgressController { } /** - * 导出excel - * - * @param request - * @param response + * 下载mpp文件模板 */ - @ApiOperation(value = "导出excel任务进度甘特图信息", notes = "导出excel任务进度甘特图信息", httpMethod = "POST") - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { - // Step.1 组装查询条件 - QueryWrapper queryWrapper = null; + @GetMapping(value = "/downloadTemplate") + @ApiOperation(value = "下载mpp文件模板") + public void downloadTemplate(HttpServletResponse response) { try { - String paramsStr = request.getParameter("paramsStr"); - if (oConvertUtils.isNotEmpty(paramsStr)) { - String deString = URLDecoder.decode(paramsStr, "UTF-8"); - TaskProgress taskProgress = JSON.parseObject(deString, TaskProgress.class); - queryWrapper = QueryGenerator.initQueryWrapper(taskProgress, request.getParameterMap()); - } - } catch (UnsupportedEncodingException e) { + OutputStream out = response.getOutputStream(); + response.setCharacterEncoding("UTF-8"); + response.setContentType("application/vnd.ms-project"); + response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("任务进度甘特图上传模板.mpp.mpp", "UTF-8")); + InputStream fis = new ClassPathResource("template/任务进度甘特图上传模板.mpp.mpp").getInputStream(); + IOUtils.copy(fis, out); + out.flush(); + out.close(); + } catch (IOException e) { e.printStackTrace(); } - - //Step.2 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - List pageList = taskProgressService.list(queryWrapper); - //导出文件名称 - mv.addObject(NormalExcelConstants.FILE_NAME, "任务进度甘特图列表"); - mv.addObject(NormalExcelConstants.CLASS, TaskProgress.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("任务进度甘特图列表数据", "导出人:Jeecg", "导出信息")); - mv.addObject(NormalExcelConstants.DATA_LIST, pageList); - return mv; } + /** + * 导入mpp文件解析对应的数据(增量覆盖) + * + * @param mppFile + * @return 删除结果 + */ + @PostMapping(value = "/importData") + @ApiOperation(value = "导入mpp文件解析对应的数据(增量覆盖)") + @ApiImplicitParams({ + @ApiImplicitParam(name = "mppUrl", value = "mpp甘特图文件路径", dataType = "string", dataTypeClass = String.class, required = true, paramType = "query"), + @ApiImplicitParam(name = "projectSn", value = "项目sn", dataType = "string", dataTypeClass = String.class, required = true, paramType = "query"), + }) + public Result importData(@RequestParam(value = "mppFile") MultipartFile mppFile, String projectSn, Long createUserId) { + taskProgressService.importData(mppFile, projectSn, createUserId); + return Result.ok(); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/taskprogress/controller/TaskProgressMaterialRelController.java b/src/main/java/com/zhgd/xmgl/modules/taskprogress/controller/TaskProgressMaterialRelController.java index 401105f9b..d02682065 100644 --- a/src/main/java/com/zhgd/xmgl/modules/taskprogress/controller/TaskProgressMaterialRelController.java +++ b/src/main/java/com/zhgd/xmgl/modules/taskprogress/controller/TaskProgressMaterialRelController.java @@ -1,39 +1,36 @@ package com.zhgd.xmgl.modules.taskprogress.controller; -import com.zhgd.xmgl.util.PageUtil; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; - -import java.util.HashMap; -import java.util.List; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.zhgd.jeecg.common.api.vo.Result; -import com.zhgd.jeecg.common.system.query.QueryGenerator; -import com.zhgd.jeecg.common.util.oConvertUtils; -import org.apache.commons.collections.MapUtils; -import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgressMaterialRel; -import com.zhgd.xmgl.modules.taskprogress.service.ITaskProgressMaterialRelService; - +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhgd.jeecg.common.api.vo.Result; +import com.zhgd.jeecg.common.system.query.QueryGenerator; +import com.zhgd.jeecg.common.util.oConvertUtils; +import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgress; +import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgressMaterialRel; +import com.zhgd.xmgl.modules.taskprogress.service.ITaskProgressMaterialRelService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; - +import org.apache.commons.collections.MapUtils; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; import springfox.documentation.annotations.ApiIgnore; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.util.HashMap; +import java.util.List; + /** * @Title: Controller @@ -47,151 +44,154 @@ import springfox.documentation.annotations.ApiIgnore; @Slf4j @Api(tags = "任务进度甘特图-材料类型-关联相关Api") public class TaskProgressMaterialRelController { - @Autowired - private ITaskProgressMaterialRelService taskProgressMaterialRelService; + @Autowired + private ITaskProgressMaterialRelService taskProgressMaterialRelService; - /** - * 分页列表查询 - * - * @param taskProgressMaterialRel - * @param pageNo - * @param pageSize - * @param req - * @return - */ - @ApiOperation(value = "分页列表查询任务进度甘特图-材料类型-关联信息", notes = "分页列表查询任务进度甘特图-材料类型-关联信息", httpMethod = "GET") - @GetMapping(value = "/page") - public Result> queryPageList(TaskProgressMaterialRel taskProgressMaterialRel, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { - Result> result = new Result>(); - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(taskProgressMaterialRel, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = taskProgressMaterialRelService.page(page, queryWrapper); - result.setSuccess(true); - result.setResult(pageList); - return result; - } + /** + * 分页列表查询 + * + * @param taskProgressMaterialRel + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @ApiOperation(value = "分页列表查询任务进度甘特图-计划材料工程列表", notes = "分页列表查询任务进度甘特图-计划材料工程列表", httpMethod = "GET") + @GetMapping(value = "/page") + public Result> queryPageList(TaskProgressMaterialRel taskProgressMaterialRel, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Result> result = new Result>(); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(taskProgressMaterialRel, req.getParameterMap()); + Page page = new Page<>(pageNo, pageSize); + IPage pageList = taskProgressMaterialRelService.page(page, queryWrapper); + result.setSuccess(true); + result.setResult(pageList); + return result; + } - /** - * 列表查询 - * - * @param taskProgressMaterialRel - * @param req - * @return - */ - @ApiOperation(value = "列表查询任务进度甘特图-材料类型-关联信息", notes = "列表查询任务进度甘特图-材料类型-关联信息", httpMethod = "GET") - @GetMapping(value = "/list") - public Result> queryList(TaskProgressMaterialRel taskProgressMaterialRel, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(taskProgressMaterialRel, req.getParameterMap()); - return Result.success(taskProgressMaterialRelService.list(queryWrapper)); - } + @ApiOperation(value = "树形列表查询任务进度甘特图-计划材料工程列表", notes = "树形列表查询任务进度甘特图-计划材料工程列表", httpMethod = "GET") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "query", required = true, dataType = "String"), + }) + @GetMapping(value = "/tree/list") + public Result> queryTreeList(@ApiIgnore @RequestBody HashMap paramMap) { + return Result.success(taskProgressMaterialRelService.queryTreeList(paramMap)); + } - /** - * 添加 - * - * @param taskProgressMaterialRel - * @return - */ - @ApiOperation(value = "添加任务进度甘特图-材料类型-关联信息", notes = "添加任务进度甘特图-材料类型-关联信息", httpMethod = "POST") - @PostMapping(value = "/add") - public Result add(@RequestBody TaskProgressMaterialRel taskProgressMaterialRel) { - taskProgressMaterialRelService.save(taskProgressMaterialRel); - return Result.ok(); - } + @ApiOperation(value = "查询任务进度甘特图-最新的材料用量", notes = "查询任务进度甘特图-最新的材料用量", httpMethod = "GET") + @ApiImplicitParams({ + @ApiImplicitParam(name = "taskProgressId", value = "任务进度甘特图id", paramType = "query", required = true, dataType = "String"), + }) + @GetMapping(value = "/detailList") + public Result> queryDetailList(@ApiIgnore @RequestBody HashMap paramMap) { + return Result.success(taskProgressMaterialRelService.queryDetailList(paramMap)); + } - /** - * 编辑 - * - * @param taskProgressMaterialRel - * @return - */ - @ApiOperation(value = "编辑任务进度甘特图-材料类型-关联信息", notes = "编辑任务进度甘特图-材料类型-关联信息", httpMethod = "POST") - @PostMapping(value = "/edit") - public Result edit(@RequestBody TaskProgressMaterialRel taskProgressMaterialRel) { - taskProgressMaterialRelService.updateById(taskProgressMaterialRel); - return Result.ok(); - } + /** + * 添加 + * + * @param taskProgressMaterialRel + * @return + */ + @ApiOperation(value = "添加任务进度甘特图-材料类型-关联信息", notes = "添加任务进度甘特图-材料类型-关联信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody TaskProgressMaterialRel taskProgressMaterialRel) { + taskProgressMaterialRelService.save(taskProgressMaterialRel); + return Result.ok(); + } - /** - * 通过id删除 - * - * @param id - * @return - */ - @ApiOperation(value = "删除任务进度甘特图-材料类型-关联信息", notes = "删除任务进度甘特图-材料类型-关联信息", httpMethod = "POST") - @ApiImplicitParam(name = "id", value = "任务进度甘特图-材料类型-关联ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") - @PostMapping(value = "/delete") - public Result delete(@ApiIgnore @RequestBody HashMap map) { - String id = MapUtils.getString(map, "id"); - Result result = new Result(); - TaskProgressMaterialRel taskProgressMaterialRel = taskProgressMaterialRelService.getById(id); - if (taskProgressMaterialRel == null) { - result.error500("未找到对应实体"); - } else { - boolean ok = taskProgressMaterialRelService.removeById(id); - if (ok) { - result.success("删除成功!"); - } - } + /** + * 编辑 + * + * @param taskProgressMaterialRel + * @return + */ + @ApiOperation(value = "编辑任务进度甘特图-材料类型-关联信息", notes = "编辑任务进度甘特图-材料类型-关联信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result edit(@RequestBody TaskProgressMaterialRel taskProgressMaterialRel) { + taskProgressMaterialRelService.updateById(taskProgressMaterialRel); + return Result.ok(); + } - return result; - } + /** + * 通过id删除 + * + * @param id + * @return + */ + @ApiOperation(value = "删除任务进度甘特图-材料类型-关联信息", notes = "删除任务进度甘特图-材料类型-关联信息", httpMethod = "POST") + @ApiImplicitParam(name = "id", value = "任务进度甘特图-材料类型-关联ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}") + @PostMapping(value = "/delete") + public Result delete(@ApiIgnore @RequestBody HashMap map) { + String id = MapUtils.getString(map, "id"); + Result result = new Result(); + TaskProgressMaterialRel taskProgressMaterialRel = taskProgressMaterialRelService.getById(id); + if (taskProgressMaterialRel == null) { + result.error500("未找到对应实体"); + } else { + boolean ok = taskProgressMaterialRelService.removeById(id); + if (ok) { + result.success("删除成功!"); + } + } - /** - * 通过id查询 - * - * @param id - * @return - */ - @ApiOperation(value = "通过id查询任务进度甘特图-材料类型-关联信息", notes = "通过id查询任务进度甘特图-材料类型-关联信息", httpMethod = "GET") - @ApiImplicitParam(name = "id", value = "任务进度甘特图-材料类型-关联ID", paramType = "query", required = true, dataType = "Integer") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name = "id", required = true) String id) { - Result result = new Result(); - TaskProgressMaterialRel taskProgressMaterialRel = taskProgressMaterialRelService.getById(id); - if (taskProgressMaterialRel == null) { - result.error500("未找到对应实体"); - } else { - result.setResult(taskProgressMaterialRel); - result.setSuccess(true); - } - return result; - } + return result; + } - /** - * 导出excel - * - * @param request - * @param response - */ - @ApiOperation(value = "导出excel任务进度甘特图-材料类型-关联信息", notes = "导出excel任务进度甘特图-材料类型-关联信息", httpMethod = "POST") - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { - // Step.1 组装查询条件 - QueryWrapper queryWrapper = null; - try { - String paramsStr = request.getParameter("paramsStr"); - if (oConvertUtils.isNotEmpty(paramsStr)) { - String deString = URLDecoder.decode(paramsStr, "UTF-8"); - TaskProgressMaterialRel taskProgressMaterialRel = JSON.parseObject(deString, TaskProgressMaterialRel.class); - queryWrapper = QueryGenerator.initQueryWrapper(taskProgressMaterialRel, request.getParameterMap()); - } - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } + /** + * 通过id查询 + * + * @param id + * @return + */ + @ApiOperation(value = "通过id查询任务进度甘特图-材料类型-关联信息", notes = "通过id查询任务进度甘特图-材料类型-关联信息", httpMethod = "GET") + @ApiImplicitParam(name = "id", value = "任务进度甘特图-材料类型-关联ID", paramType = "query", required = true, dataType = "Integer") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id", required = true) String id) { + Result result = new Result(); + TaskProgressMaterialRel taskProgressMaterialRel = taskProgressMaterialRelService.getById(id); + if (taskProgressMaterialRel == null) { + result.error500("未找到对应实体"); + } else { + result.setResult(taskProgressMaterialRel); + result.setSuccess(true); + } + return result; + } - //Step.2 AutoPoi 导出Excel - ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - List pageList = taskProgressMaterialRelService.list(queryWrapper); - //导出文件名称 - mv.addObject(NormalExcelConstants.FILE_NAME, "任务进度甘特图-材料类型-关联列表"); - mv.addObject(NormalExcelConstants.CLASS, TaskProgressMaterialRel.class); - mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("任务进度甘特图-材料类型-关联列表数据", "导出人:Jeecg", "导出信息")); - mv.addObject(NormalExcelConstants.DATA_LIST, pageList); - return mv; - } + /** + * 导出excel + * + * @param request + * @param response + */ + @ApiOperation(value = "导出excel任务进度甘特图-材料类型-关联信息", notes = "导出excel任务进度甘特图-材料类型-关联信息", httpMethod = "POST") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) { + // Step.1 组装查询条件 + QueryWrapper queryWrapper = null; + try { + String paramsStr = request.getParameter("paramsStr"); + if (oConvertUtils.isNotEmpty(paramsStr)) { + String deString = URLDecoder.decode(paramsStr, "UTF-8"); + TaskProgressMaterialRel taskProgressMaterialRel = JSON.parseObject(deString, TaskProgressMaterialRel.class); + queryWrapper = QueryGenerator.initQueryWrapper(taskProgressMaterialRel, request.getParameterMap()); + } + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + + //Step.2 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + List pageList = taskProgressMaterialRelService.list(queryWrapper); + //导出文件名称 + mv.addObject(NormalExcelConstants.FILE_NAME, "任务进度甘特图-材料类型-关联列表"); + mv.addObject(NormalExcelConstants.CLASS, TaskProgressMaterialRel.class); + mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("任务进度甘特图-材料类型-关联列表数据", "导出人:Jeecg", "导出信息")); + mv.addObject(NormalExcelConstants.DATA_LIST, pageList); + return mv; + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/taskprogress/entity/TaskProgress.java b/src/main/java/com/zhgd/xmgl/modules/taskprogress/entity/TaskProgress.java index 3d39ee0da..c2533f460 100644 --- a/src/main/java/com/zhgd/xmgl/modules/taskprogress/entity/TaskProgress.java +++ b/src/main/java/com/zhgd/xmgl/modules/taskprogress/entity/TaskProgress.java @@ -1,9 +1,6 @@ package com.zhgd.xmgl.modules.taskprogress.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -135,12 +132,21 @@ public class TaskProgress implements Serializable { @TableField(value = "remark") @ApiModelProperty(value = "备注") private String remark; + /** + * 负责人名称 + */ + @TableField(value = "duty_user_name", updateStrategy = FieldStrategy.IGNORED) + @ApiModelProperty(value = "负责人名称") + private String dutyUserName; /** * 子节点列表 */ @TableField(exist = false) @ApiModelProperty(value = "子节点列表") private List children; + @TableField(exist = false) + @ApiModelProperty(value = "任务进度甘特图-材料类型数量") + private List relList; /** * 开始预警:1提前2正常3逾期 diff --git a/src/main/java/com/zhgd/xmgl/modules/taskprogress/entity/TaskProgressAlarm.java b/src/main/java/com/zhgd/xmgl/modules/taskprogress/entity/TaskProgressAlarm.java index 2c68802e3..9fb77a781 100644 --- a/src/main/java/com/zhgd/xmgl/modules/taskprogress/entity/TaskProgressAlarm.java +++ b/src/main/java/com/zhgd/xmgl/modules/taskprogress/entity/TaskProgressAlarm.java @@ -1,16 +1,17 @@ package com.zhgd.xmgl.modules.taskprogress.entity; -import java.io.Serializable; - import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecgframework.poi.excel.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; /** * @Description: 任务进度甘特图-报警信息 @@ -22,52 +23,55 @@ import io.swagger.annotations.ApiModelProperty; @TableName("task_progress_alarm") @ApiModel(value = "TaskProgressAlarm实体类", description = "TaskProgressAlarm") public class TaskProgressAlarm implements Serializable { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - /** - * id - */ - @TableId(type = IdType.ASSIGN_ID) - @ApiModelProperty(value = "id") - private java.lang.Long id; - /** - * 所属项目SN - */ - @Excel(name = "所属项目SN", width = 15) - @ApiModelProperty(value = "所属项目SN") - private java.lang.String projectSn; - /** - * 任务进度甘特图id - */ - @Excel(name = "任务进度甘特图id", width = 15) - @ApiModelProperty(value = "任务进度甘特图id") - private java.lang.Long taskProgressId; - /** - * 报警详情 - */ - @Excel(name = "报警详情", width = 15) - @ApiModelProperty(value = "报警详情") - private java.lang.String alarmDetails; - /** - * 报警类型 1:逾期未开始 2:逾期未完成 - */ - @Excel(name = "报警类型 1:逾期未开始 2:逾期未完成", width = 15) - @ApiModelProperty(value = "报警类型 1:逾期未开始 2:逾期未完成") - private java.lang.Integer alarmType; - /** - * 创建时间 - */ - @Excel(name = "创建时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value = "创建时间") - private java.util.Date createDate; - /** - * 更新时间 - */ - @Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @ApiModelProperty(value = "更新时间") - private java.util.Date updateDate; + /** + * id + */ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "id") + private java.lang.Long id; + /** + * 所属项目SN + */ + @Excel(name = "所属项目SN", width = 15) + @ApiModelProperty(value = "所属项目SN") + private java.lang.String projectSn; + /** + * 任务进度甘特图id + */ + @Excel(name = "任务进度甘特图id", width = 15) + @ApiModelProperty(value = "任务进度甘特图id") + private java.lang.Long taskProgressId; + /** + * 报警详情 + */ + @Excel(name = "报警详情", width = 15) + @ApiModelProperty(value = "报警详情") + private java.lang.String alarmDetails; + /** + * 报警类型 1:逾期未开始 2:逾期未完成 + */ + @Excel(name = "报警类型 1:逾期未开始 2:逾期未完成", width = 15) + @ApiModelProperty(value = "报警类型 1:逾期未开始 2:逾期未完成") + private java.lang.Integer alarmType; + /** + * 报警时间 + */ + @Excel(name = "报警时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "报警时间") + private java.util.Date createDate; + /** + * 更新时间 + */ + @Excel(name = "更新时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新时间") + private java.util.Date updateDate; + + @ApiModelProperty(value = "任务名称") + private java.lang.String taskName; } diff --git a/src/main/java/com/zhgd/xmgl/modules/taskprogress/entity/TaskProgressMaterialRel.java b/src/main/java/com/zhgd/xmgl/modules/taskprogress/entity/TaskProgressMaterialRel.java index 595f3c742..98077f617 100644 --- a/src/main/java/com/zhgd/xmgl/modules/taskprogress/entity/TaskProgressMaterialRel.java +++ b/src/main/java/com/zhgd/xmgl/modules/taskprogress/entity/TaskProgressMaterialRel.java @@ -32,10 +32,9 @@ public class TaskProgressMaterialRel implements Serializable { @ApiModelProperty(value = "id") private java.lang.Long id; /** - * taskProgressId + * 任务进度甘特图id */ - @Excel(name = "taskProgressId", width = 15) - @ApiModelProperty(value = "taskProgressId") + @ApiModelProperty(value = "任务进度甘特图id") private java.lang.Long taskProgressId; /** * taskProgressMaterialTypeId @@ -81,4 +80,8 @@ public class TaskProgressMaterialRel implements Serializable { @TableField(exist = false) @ApiModelProperty(value = "名称(如工种、材料、设备名称等)") private java.lang.String name; + + @TableField(exist = false) + @ApiModelProperty(value = "类型:1工种2材料3设备") + private java.lang.Integer type; } diff --git a/src/main/java/com/zhgd/xmgl/modules/taskprogress/mapper/TaskProgressMaterialRelMapper.java b/src/main/java/com/zhgd/xmgl/modules/taskprogress/mapper/TaskProgressMaterialRelMapper.java index 07dd7affc..409f73523 100644 --- a/src/main/java/com/zhgd/xmgl/modules/taskprogress/mapper/TaskProgressMaterialRelMapper.java +++ b/src/main/java/com/zhgd/xmgl/modules/taskprogress/mapper/TaskProgressMaterialRelMapper.java @@ -1,10 +1,12 @@ package com.zhgd.xmgl.modules.taskprogress.mapper; +import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgress; import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgressMaterialType; import org.apache.ibatis.annotations.Mapper; import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgressMaterialRel; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.HashMap; import java.util.List; /** @@ -17,4 +19,8 @@ import java.util.List; public interface TaskProgressMaterialRelMapper extends BaseMapper { List queryDetailListByContentIds(List ids); + + List queryDetailList(HashMap paramMap); + + List queryList(HashMap paramMap); } diff --git a/src/main/java/com/zhgd/xmgl/modules/taskprogress/mapper/xml/TaskProgressMaterialRelMapper.xml b/src/main/java/com/zhgd/xmgl/modules/taskprogress/mapper/xml/TaskProgressMaterialRelMapper.xml index 075fa4b2a..eb7bbc46b 100644 --- a/src/main/java/com/zhgd/xmgl/modules/taskprogress/mapper/xml/TaskProgressMaterialRelMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/taskprogress/mapper/xml/TaskProgressMaterialRelMapper.xml @@ -3,7 +3,7 @@ + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/ITaskProgressMaterialRelService.java b/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/ITaskProgressMaterialRelService.java index 73c090aa8..fdfd4fcec 100644 --- a/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/ITaskProgressMaterialRelService.java +++ b/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/ITaskProgressMaterialRelService.java @@ -1,8 +1,13 @@ package com.zhgd.xmgl.modules.taskprogress.service; +import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgress; import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgressMaterialRel; import com.baomidou.mybatisplus.extension.service.IService; +import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.List; + /** * @Description: 任务进度甘特图-材料类型-关联 * @author: pds @@ -11,4 +16,7 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface ITaskProgressMaterialRelService extends IService { + List queryDetailList(HashMap paramMap); + + List queryTreeList(HashMap paramMap); } diff --git a/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/ITaskProgressService.java b/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/ITaskProgressService.java index ffaf19717..425be0a41 100644 --- a/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/ITaskProgressService.java +++ b/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/ITaskProgressService.java @@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.taskprogress.service; import com.zhgd.xmgl.modules.project.entity.ProgressTask; import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgress; import com.baomidou.mybatisplus.extension.service.IService; +import org.springframework.web.multipart.MultipartFile; import java.util.HashMap; import java.util.List; @@ -20,4 +21,6 @@ public interface ITaskProgressService extends IService { void add(TaskProgress taskProgress); void delete(HashMap map); + + void importData(MultipartFile mppFile, String projectSn, Long createUserId); } diff --git a/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/impl/TaskProgressMaterialRelServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/impl/TaskProgressMaterialRelServiceImpl.java index dcba7afa3..2c33ac5cb 100644 --- a/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/impl/TaskProgressMaterialRelServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/impl/TaskProgressMaterialRelServiceImpl.java @@ -1,11 +1,22 @@ package com.zhgd.xmgl.modules.taskprogress.service.impl; +import cn.hutool.core.collection.CollUtil; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgress; import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgressMaterialRel; +import com.zhgd.xmgl.modules.taskprogress.mapper.TaskProgressMapper; import com.zhgd.xmgl.modules.taskprogress.mapper.TaskProgressMaterialRelMapper; import com.zhgd.xmgl.modules.taskprogress.service.ITaskProgressMaterialRelService; +import org.apache.commons.collections.MapUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Description: 任务进度甘特图-材料类型-关联 @@ -16,4 +27,32 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class TaskProgressMaterialRelServiceImpl extends ServiceImpl implements ITaskProgressMaterialRelService { + @Autowired + TaskProgressMaterialRelMapper taskProgressMaterialRelMapper; + @Autowired + TaskProgressMapper taskProgressMapper; + @Autowired + TaskProgressServiceImpl taskProgressService; + + @Override + public List queryDetailList(HashMap paramMap) { + return taskProgressMaterialRelMapper.queryDetailList(paramMap); + } + + @Override + public List queryTreeList(HashMap paramMap) { + String projectSn = MapUtils.getString(paramMap, "projectSn"); + List progressTaskList = taskProgressMapper.selectList(Wrappers.lambdaQuery(TaskProgress.class).eq(TaskProgress::getProjectSn, projectSn)); + List ids = progressTaskList.stream().map(TaskProgress::getId).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(ids)) { + paramMap.put("list", ids); + List taskProgresses = taskProgressMaterialRelMapper.queryList(paramMap); + Map> taskProgressIdMap = taskProgresses.stream().collect(Collectors.groupingBy(TaskProgressMaterialRel::getTaskProgressId)); + for (TaskProgress taskProgress : progressTaskList) { + taskProgress.setRelList(taskProgressIdMap.get(taskProgress.getId())); + } + } + Map> parentIdTaskListMap = progressTaskList.stream().collect(Collectors.groupingBy(TaskProgress::getParentId)); + return taskProgressService.getChild(parentIdTaskListMap, 0L); + } } diff --git a/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/impl/TaskProgressServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/impl/TaskProgressServiceImpl.java index 2cc497487..b82374795 100644 --- a/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/impl/TaskProgressServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/taskprogress/service/impl/TaskProgressServiceImpl.java @@ -9,9 +9,12 @@ import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.xmgl.modules.taskprogress.entity.TaskProgress; import com.zhgd.xmgl.modules.taskprogress.mapper.TaskProgressMapper; import com.zhgd.xmgl.modules.taskprogress.service.ITaskProgressService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; import java.util.*; import java.util.stream.Collectors; @@ -23,6 +26,8 @@ import java.util.stream.Collectors; * @version: V1.0 */ @Service +@Transactional(rollbackFor = Exception.class) +@Slf4j public class TaskProgressServiceImpl extends ServiceImpl implements ITaskProgressService { @Autowired TaskProgressMapper taskProgressMapper; @@ -35,6 +40,7 @@ public class TaskProgressServiceImpl extends ServiceImpl getParentChildList(HashMap paramMap) { String projectSn = MapUtils.getString(paramMap, "projectSn"); + //to do 人名 // 查询项目下的节点集合,通过父节点分组 List progressTaskList = baseMapper.selectList(Wrappers.lambdaQuery(TaskProgress.class).eq(TaskProgress::getProjectSn, projectSn)); for (TaskProgress taskProgress : progressTaskList) { @@ -107,6 +113,82 @@ public class TaskProgressServiceImpl extends ServiceImpl progressTasks = taskProgressMapper.selectList(Wrappers.lambdaQuery(TaskProgress.class).eq(TaskProgress::getProjectSn, projectSn)); + //log.info("原progressTasks:{}", JSON.toJSONString(progressTasks)); + // + //Collection progressTaskList = analysisMpp(mppFile, projectSn, createUserId); + //log.info("importData的新增数据:{}", progressTaskList); + // + //if (CollUtil.isNotEmpty(progressTaskList)) { + // insertBatch(progressTaskList); + //} + } + + ///** + // * 解析mpp文件 + // * + // * @param mppFile 文件 + // * @param projectSn 项目sn + // * @param createUserId 上传用户 + // * @return + // */ + //private Collection analysisMpp(MultipartFile mppFile, String projectSn, Long createUserId) { + // List projectTaskList = new LinkedList<>(); + // Set userNameSet = new LinkedHashSet<>(); + // // + // Map uniqueIdTaskProgressMap = new LinkedHashMap<>(); + // // 前置任务列表 + // List progressTaskPredecessorList = new LinkedList<>(); + // try { + // // 读取文件 + // MPPReader mppRead = new MPPReader(); + // String fileName = ((HashMap) ((ArrayList) uploadFileService.uploadImage(new MultipartFile[]{mppFile}).get("data")).get(0)).get("filename").toString(); + // ProjectFile pf = mppRead.read(new File(basePath + fileName)); + // // 递归拿到对应的数据, 跳过第0级无用数据 + // List childTasks = pf.getChildTasks(); + // if (CollUtil.isNotEmpty(childTasks)) { + // structureTaskDataList(projectTaskList, userNameSet, childTasks.get(0).getChildTasks(), uniqueIdTaskProgressMap, progressTaskPredecessorList, 0L, projectSn, createUserId); + // // 判断是否具有负责人 + // if (CollUtil.isNotEmpty(userNameSet)) { + // List dutyUserList = systemUserMapper.selectBySnAndNumberOneList(projectSn, userNameSet); + // + // // 用户不为空时,进行负责人id赋值 + // if (CollUtil.isNotEmpty(dutyUserList)) { + // Map userMap = dutyUserList.stream().collect(Collectors.toMap(SystemUser::getRealName, SystemUser::getUserId)); + // for (TaskProgress progressTask : projectTaskList) { + // progressTask.setDutyUserId(userMap.get(progressTask.getDutyUserName())); + // } + // } + // } + // + // Map progressTaskMap = projectTaskList.stream().collect(Collectors.toMap(TaskProgress::getId, Function.identity())); + // // 赋值前置任务 + // if (CollUtil.isNotEmpty(progressTaskPredecessorList)) { + // for (TaskProgressPredecessorDTO progressTaskPredecessor : progressTaskPredecessorList) { + // TaskProgress progressTask = progressTaskMap.get(progressTaskPredecessor.getTaskId()); + // String predecessorIds = progressTask.getPredecessorIds(); + // if (CharSequenceUtil.isBlank(predecessorIds)) { + // progressTask.setPredecessorIds(uniqueIdTaskProgressMap.get(progressTaskPredecessor.getPredecessorId()).getId() + ""); + // } else { + // progressTask.setPredecessorIds(predecessorIds + "," + uniqueIdTaskProgressMap.get(progressTaskPredecessor.getPredecessorId()).getId()); + // } + // } + // } + // return progressTaskMap.values(); + // } + // throw new RuntimeException("mpp文件数据为空!"); + // + // } catch (MPXJException e) { + // throw new OpenAlertException("上传甘特图失败,请上传.mpp文件"); + // } catch (Exception e) { + // log.error("解析文件错误!", e); + // throw new RuntimeException("上传甘特图失败,失败原因为:" + e.getMessage()); + // } + //} + /** * 递归设置子节点列表 @@ -115,7 +197,7 @@ public class TaskProgressServiceImpl extends ServiceImpl getChild(Map> parentIdTaskListMap, Long parentId) { + public List getChild(Map> parentIdTaskListMap, Long parentId) { List parentList = parentIdTaskListMap.getOrDefault(parentId, Collections.emptyList()); if (CollUtil.isNotEmpty(parentList)) { for (TaskProgress progressTask : parentList) { diff --git a/src/main/resources/template/任务进度甘特图上传模板.mpp b/src/main/resources/template/任务进度甘特图上传模板.mpp new file mode 100644 index 000000000..1c9583647 Binary files /dev/null and b/src/main/resources/template/任务进度甘特图上传模板.mpp differ