平台件-法规清单

This commit is contained in:
zhn
2023-09-13 11:28:03 +08:00
parent 183901b724
commit 4548626778
15 changed files with 13895 additions and 12 deletions
@@ -0,0 +1,576 @@
package com.jero.modules.projectPlatform.controller;
import com.alibaba.fastjson.JSONObject;
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.itextpdf.text.DocumentException;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.PageUtil;
import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.dummy.entity.DummyInventoryBaseEO;
import com.jero.modules.dummy.service.IDummyInventoryBaseEOService;
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
import com.jero.modules.project.service.IProjectLawsInventoryEOService;
import com.jero.modules.project.vo.ProjectTaskUrgVo;
import com.jero.modules.projectPlatform.service.IPlatformProjectLawsInventoryEOService;
import com.jero.modules.system.entity.SysRole;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
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.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* @Description: 项目库-法规清单表
* @Author: jero-boot
* @Date: 2022-04-14
* @Version: V1.0
*/
@Api(tags="平台件项目库-法规清单表")
@RestController
@RequestMapping("/project/platformProjectLawsInventoryEO")
@Slf4j
public class PlatformProjectLawsInventoryEOController extends JeroController<ProjectLawsInventoryEO, IProjectLawsInventoryEOService> {
@Autowired
private IPlatformProjectLawsInventoryEOService projectLawsInventoryEOService;
@Autowired
private IBussDocumentLibraryEOService bussDocumentLibraryEOService;
@Autowired
private IDummyInventoryBaseEOService dummyInventoryBaseEOService;
/**
* 分页列表查询
*
* @param projectLawsInventoryEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "项目库-法规清单表-分页列表查询")
@ApiOperation(value="项目库-法规清单表-分页列表查询", notes="项目库-法规清单表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(ProjectLawsInventoryEO projectLawsInventoryEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
IPage<ProjectLawsInventoryEO> pageList = this.projectLawsInventoryEOService.queryPage(projectLawsInventoryEO,pageNo,pageSize,req);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "项目库-法规清单表-列表查询")
@ApiOperation(value="项目库-法规清单表-列表查询", notes="项目库-法规清单表-列表查询")
@GetMapping(value = "/list")
@RequiresPermissions("projectLawsInventory:list")
public Result<List<ProjectLawsInventoryEO>> queryList(ProjectLawsInventoryEO projectLawsInventoryEO,HttpServletRequest req) {
List<ProjectLawsInventoryEO> list = projectLawsInventoryEOService.queryList(projectLawsInventoryEO,req);
return Result.OK(projectLawsInventoryEO.getCut(),list);
}
/**
* 添加
*
* @param projectLawsInventoryEO
* @return
*/
@AutoLog(value = "项目库-法规清单表-添加")
@ApiOperation(value="项目库-法规清单表-添加", notes="项目库-法规清单表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody ProjectLawsInventoryEO projectLawsInventoryEO) {
projectLawsInventoryEOService.add(projectLawsInventoryEO);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param projectLawsInventoryEO
* @return
*/
@AutoLog(value = "项目库-法规清单表-编辑")
@ApiOperation(value="项目库-法规清单表-编辑", notes="项目库-法规清单表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody ProjectLawsInventoryEO projectLawsInventoryEO) {
projectLawsInventoryEOService.editById(projectLawsInventoryEO);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "项目库-法规清单表-通过id删除")
@ApiOperation(value="项目库-法规清单表-通过id删除", notes="项目库-法规清单表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id,
@RequestParam(name="projectLibraryId",required=true) String projectLibraryId,
@RequestParam(name="cut",required=true) String cut) {
projectLawsInventoryEOService.deleteById(id,projectLibraryId,cut);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "项目库-法规清单表-批量删除")
@ApiOperation(value="项目库-法规清单表-批量删除", notes="项目库-法规清单表-批量删除")
@PostMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestBody JSONObject json) {
String ids = json.getString("ids");
String projectLibraryId = json.getString("projectLibraryId");
String cut = json.getString("cut");
this.projectLawsInventoryEOService.deleteByIds(Arrays.asList(ids.split(",")),projectLibraryId,cut);
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "项目库-法规清单表-通过id查询")
@ApiOperation(value="项目库-法规清单表-通过id查询", notes="项目库-法规清单表-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
ProjectLawsInventoryEO projectLawsInventoryEO = projectLawsInventoryEOService.queryById(id);
if(projectLawsInventoryEO==null) {
return Result.error("未找到对应数据");
}
return Result.OK(projectLawsInventoryEO);
}
/**
* 导出excel
*
* @param request
* @param projectLawsInventoryEO
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ProjectLawsInventoryEO projectLawsInventoryEO) {
return super.exportXls(request, projectLawsInventoryEO, ProjectLawsInventoryEO.class, "项目库-法规清单表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ProjectLawsInventoryEO.class);
}
/**
* 批量更新法规清单状态
* @param json
* @return
*/
@AutoLog(value = "项目库-法规清单表-批量更新状态")
@ApiOperation(value="项目库-法规清单表-批量更新状态", notes="项目库-法规清单表-批量更新状态")
@PostMapping(value = "/updateStatusBatch")
public Result<?> updateStatusBatch(@RequestBody JSONObject json) {
return this.projectLawsInventoryEOService.updateStatusBatch(json);
}
/**
* 匹配相关人员
* @param params
* @return
*/
@AutoLog(value = "项目库-法规清单表-匹配相关人员")
@ApiOperation(value="项目库-法规清单表-匹配相关人员", notes="项目库-法规清单表-匹配相关人员")
@PostMapping(value = "/matchRelevantPeople")
public Result<?> matchRelevantPeople(@RequestBody Map<String,Object> params){
return this.projectLawsInventoryEOService.matchRelevantPeople(params);
}
/**
* 流程调用接口
* @param jsonObject
* @return
*/
@AutoLog(value = "项目库-法规清单表-流程调用")
@ApiOperation(value="项目库-法规清单表-流程调用", notes="项目库-法规清单表-流程调用")
@PostMapping(value = "/processCall")
public Result<?> processCall(@RequestBody JSONObject jsonObject){
return this.projectLawsInventoryEOService.processCall(jsonObject);
}
/**
* 通过id查询
* @param params
* @return
*/
@AutoLog(value = "项目库-法规清单表-通过id与操作类型查询")
@ApiOperation(value="项目库-法规清单表-通过id与操作类型查询", notes="项目库-法规清单表-通过id与操作类型查询")
@GetMapping(value = "/queryProjectLawsInventoryInfoById")
public Result<?> queryProjectLawsInventoryInfoById(@RequestParam Map<String,Object> params) {
List<ProjectLawsInventoryEO> result = projectLawsInventoryEOService.queryProjectLawsInventoryInfoById(params);
return Result.OK((String) params.get("cut"),result);
}
@AutoLog(value = "法规清单添加调用文档库数据--分页")
@ApiOperation(value="法规清单添加调用文档库数据--分页", notes="法规清单添加调用文档库数据--分页")
@PostMapping(value = "/queryPageInfoBussDocument")
public Result<?> queryPageInfo(@RequestBody BussDocumentLibraryEO bussDocumentLibraryEO,
HttpServletRequest req) {
QueryWrapper<BussDocumentLibraryEO> queryWrapper = QueryGenerator.initQueryWrapper(bussDocumentLibraryEO, req.getParameterMap());
Page<BussDocumentLibraryEO> page = new Page<BussDocumentLibraryEO>(bussDocumentLibraryEO.getPageNo(), bussDocumentLibraryEO.getPageSize());
IPage<BussDocumentLibraryEO> pageList = bussDocumentLibraryEOService.queryPageInfoDummy(page, queryWrapper,bussDocumentLibraryEO);
return Result.OK(pageList);
}
/**
* 复制
*
* @param ids
* @return
*/
@AutoLog(value = "复制")
@ApiOperation(value="复制", notes="复制")
@GetMapping(value = "/copyInfoByIds")
public Result<?> copyInfoByIds(@RequestParam(name="ids",required=true) String ids,
@RequestParam(name="cut",required=true) String cut,
@RequestParam(name="operateType",required=true) String operateType) {
try {
projectLawsInventoryEOService.copyInfoByIds(ids,operateType);
} catch (Exception e) {
if(CutEnum.CN.getValue().equals(cut)){
return Result.error("复制失败");
}else{
return Result.error("Copy the failure");
}
}
if(CutEnum.CN.getValue().equals(cut)){
return Result.OK("复制成功");
}else{
return Result.OK("Copy success");
}
}
/**
* 批量设置
*
* @param projectLawsInventoryEO
* @return
*/
@AutoLog(value = "批量设置")
@ApiOperation(value="批量设置", notes="批量设置")
@PostMapping(value = "/setBatch")
public Result<?> setBatch(@RequestBody ProjectLawsInventoryEO projectLawsInventoryEO) {
String cut = projectLawsInventoryEO.getCut();
try {
projectLawsInventoryEOService.setBatch(projectLawsInventoryEO);
} catch (Exception e) {
e.printStackTrace();
log.error("批量设置失败:" + e.getMessage());
if(CutEnum.CN.getValue().equals(cut)){
return Result.error("批量设置失败!");
}else{
return Result.error("Batch set success");
}
}
if(CutEnum.CN.getValue().equals(cut)){
return Result.OK("批量设置成功");
}else{
return Result.OK("Batch set success");
}
}
/**
* 调取虚拟清单数据
*
* @param dummyInventoryBaseEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "调取虚拟清单数据")
@ApiOperation(value="调取虚拟清单数据", notes="调取虚拟清单数据")
@PostMapping(value = "/getPageInfoDummy")
public Result<?> getPageInfoDummy(@RequestBody DummyInventoryBaseEO dummyInventoryBaseEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
// dummyInventoryBaseEO.setName("*发*");
QueryWrapper<DummyInventoryBaseEO> queryWrapper = QueryGenerator.initQueryWrapper(dummyInventoryBaseEO, req.getParameterMap());
queryWrapper.orderByDesc("create_time");
Page<DummyInventoryBaseEO> page = new Page<DummyInventoryBaseEO>(pageNo, pageSize);
IPage<DummyInventoryBaseEO> pageList = dummyInventoryBaseEOService.getPageInfoDummy(page,queryWrapper);
return Result.OK(dummyInventoryBaseEO.getCut(),pageList);
}
@ApiOperation(value = "模板下载")
@GetMapping(value = "/exportTemplate")
public void exportTemplate(ProjectLawsInventoryEO projectLawsInventoryEO, HttpServletResponse response, HttpServletRequest request) throws Exception {
projectLawsInventoryEOService.exportTemplate(projectLawsInventoryEO,response,request);
}
/**
* 导出数据
* @param request
* @param projectLawsInventoryEO
*/
@RequestMapping(value = "/exportData")
@RequiresPermissions("projectLawsInventory:exportData")
public void exportData(HttpServletResponse response,
HttpServletRequest request,
ProjectLawsInventoryEO projectLawsInventoryEO) {
projectLawsInventoryEOService.exportData(response,request, projectLawsInventoryEO);
}
/**
* 导入数据
*
* @param file
* @param projectLawsInventoryEO
* @return
*/
@RequestMapping(value = "/importData", method = RequestMethod.POST)
public Result<?> importData(@RequestParam(value = "file", required = false) MultipartFile file,
ProjectLawsInventoryEO projectLawsInventoryEO) {
projectLawsInventoryEOService.importData(file,projectLawsInventoryEO);
return Result.OK("导入成功");
}
@AutoLog(value = "变更")
@ApiOperation(value="变更", notes="变更")
@PostMapping(value = "/change")
public Result<?> change(@RequestBody JSONObject params) {
return this.projectLawsInventoryEOService.change(params);
}
@AutoLog(value = "下载pdf报告")
@ApiOperation(value="下载pdf报告", notes="下载pdf报告")
@GetMapping(value = "/downloadReport")
public void downloadReport(@RequestParam Map<String,Object> params, HttpServletRequest req, HttpServletResponse resp) throws DocumentException {
this.projectLawsInventoryEOService.downloadReport(params,req,resp);
}
/**
* 列表查询条件 标识传 1-->用于查询文档库字段属
* 法规清单添加调取文档库时高级搜索条件
* @param flag
* @return
*/
@AutoLog(value = "法规清单添加调取文档库时高级搜索条件")
@ApiOperation(value="法规清单添加调取文档库时高级搜索条件", notes="法规清单添加调取文档库时高级搜索条件")
@GetMapping(value = "/queryConditionInventory")
public Result<List<Map<String,Object>>> queryConditionInventory(@RequestParam(name="flag",required=true) String flag,
@RequestParam(name="cut",required=true) String cut) {
List<Map<String,Object>> list = bussDocumentLibraryEOService.queryConditionInventory(flag,cut);
return Result.OK(list);
}
@ApiOperation(value="法规清单中添加调用文档库数据--分页", notes="法规清单中添加调用文档库数据--分页")
@PostMapping(value = "/queryPageDummy")
@ResponseBody
public net.sf.json.JSONObject queryPageDummy(@RequestBody Map<String,Object> parameter) {
IPage infoPage = bussDocumentLibraryEOService.getPageDummy(parameter);
Result<IPage> ok = Result.OK(infoPage);
net.sf.json.JSONObject jsonResult = net.sf.json.JSONObject.fromObject(ok);
return jsonResult;
}
/**
*
* @param params
* cut:中英文标识
* id:法规清单id
* @param req
* @param resp
* @throws DocumentException
*/
@AutoLog(value = "下载docx报告")
@ApiOperation(value="下载docx报告", notes="下载docx报告")
@GetMapping(value = "/downloadDocxReport")
public void downloadDocxReport(@RequestParam Map<String,Object> params, HttpServletRequest req, HttpServletResponse resp) throws DocumentException {
this.projectLawsInventoryEOService.downloadDocxReport(params,req,resp);
}
@AutoLog(value = "催办")
@ApiOperation(value="催办", notes="催办")
@PostMapping(value = "/expediting")
public Result<?> expediting(@RequestBody JSONObject json) {
return this.projectLawsInventoryEOService.expediting(json);
}
/**
* 当前登录用户角色
* @return
*/
@ApiOperation(value = "当前登录用户角色")
@RequestMapping(value = "/getRoleByUserId", method = RequestMethod.GET)
public Result<List<SysRole>> getRoleByUserId(String projectLibraryId,String cut) {
Result<List<SysRole>> result = new Result<>();
List<SysRole> list = projectLawsInventoryEOService.getRoleByUserId(projectLibraryId,cut);
if(list==null||list.size()<=0) {
result.error500("未找到角色信息");
}else {
result.setResult(list);
result.setSuccess(true);
}
return result;
}
@AutoLog(value = "任务清单催办")
@ApiOperation(value="任务清单催办", notes="任务清单催办")
@PostMapping(value = "/taskUrg")
public Result<?> taskUrg(@RequestBody ProjectTaskUrgVo projectTaskUrgVo) {
return this.projectLawsInventoryEOService.taskUrg(projectTaskUrgVo);
}
@AutoLog(value = "项目库-法规清单表-根据项目库id更新符合性流程发起人、责任人接口")
@ApiOperation(value="项目库-法规清单表-根据项目库id更新符合性流程发起人、责任人接口", notes="项目库-法规清单表-根据项目库id更新符合性流程发起人、责任人接口")
@GetMapping(value = "/updateFlowInfoByProjectLibraryIds")
public Result<?> updateFlowInfoByProjectLibraryIds(@RequestParam("projectLibraryIds") String projectLibraryIds){
return this.projectLawsInventoryEOService.updateFlowInfoByProjectLibraryIds(projectLibraryIds);
}
@AutoLog(value = "项目库-法规清单表-studio发布")
@ApiOperation(value="项目库-法规清单表-studio发布", notes="项目库-法规清单表-studio发布")
@PostMapping(value = "/studioPublish")
public Result<?> studioPublish(@RequestBody JSONObject json) {
return this.projectLawsInventoryEOService.studioPublish(json);
}
@AutoLog(value = "项目库-法规清单表-studio撤回")
@ApiOperation(value="项目库-法规清单表-studio撤回", notes="项目库-法规清单表-studio撤回")
@PostMapping(value = "/studioWithdrew")
public Result<?> studioWithdrew(@RequestBody JSONObject json) {
return this.projectLawsInventoryEOService.studioWithdrew(json);
}
@AutoLog(value = "项目库-法规清单表-法规工程师退回")
@ApiOperation(value="项目库-法规清单表-法规工程师退回", notes="项目库-法规清单表-法规工程师退回")
@PostMapping(value = "/regulationOwnerReturned")
public Result<?> regulationOwnerReturned(@RequestBody JSONObject json) {
return this.projectLawsInventoryEOService.regulationOwnerReturned(json);
}
@AutoLog(value = "流程重置-迁移法规清单流程历史数据专用")
@ApiOperation(value="流程重置-迁移法规清单流程历史数据专用", notes="流程重置-迁移法规清单流程历史数据专用")
@PostMapping(value = "/resetFlowTemp")
public Result<?> resetFlowTemp(@RequestBody JSONObject params) {
return this.projectLawsInventoryEOService.resetFlowTemp(params);
}
/**
* 批量更新法规清单状态
* @param json
* @return
*/
@AutoLog(value = "项目库-法规清单表-批量更新流程状态")
@ApiOperation(value="项目库-法规清单表-批量更新流程状态", notes="项目库-法规清单表-批量更新流程状态")
@PostMapping(value = "/updateFlowStatusBatch")
public Result<?> updateFlowStatusBatch(@RequestBody JSONObject json) {
return this.projectLawsInventoryEOService.updateFlowStatusBatch(json);
}
@AutoLog(value = "项目库-法规清单表-引用交付物")
@ApiOperation(value="项目库-法规清单表-引用交付物", notes="项目库-法规清单表-引用交付物")
@PostMapping(value = "/citeDeliverable")
public Result<?> citeDeliverable(@RequestBody JSONObject json) {
return this.projectLawsInventoryEOService.citeDeliverable(json);
}
@AutoLog(value = "项目库-法规清单表-强制转办")
@ApiOperation(value="项目库-法规清单表-强制转办", notes="项目库-法规清单表-强制转办")
@PostMapping(value = "/compulsoryTransfer")
public Result<?> compulsoryTransfer(@RequestBody JSONObject json) {
return this.projectLawsInventoryEOService.compulsoryTransfer(json);
}
/**
* 通过projectId查询责任人
*
* @return
*/
@AutoLog(value = "项目库-法规清单表-通过projectId查询责任人")
@ApiOperation(value="项目库-法规清单表-通过projectId查询责任人", notes="项目库-法规清单表-通过projectId查询责任人")
@GetMapping(value = "/queryDutyPersonByProjectId")
public Result<?> queryDutyPersonByProjectId(@RequestParam Map<String,Object> params){
Map<String, List<Map<String, Object>>> res = this.projectLawsInventoryEOService.queryDutyPersonByProjectId(params);
return Result.OK(res);
}
/**
* 分页查询不符合项列表
* @return
*/
@AutoLog(value = "项目库-法规清单表-查询不符合项列表")
@ApiOperation(value="项目库-法规清单表-查询不符合项列表", notes="项目库-法规清单表-查询不符合项列表")
@GetMapping(value = "/queryNotComplianList")
public Result<?> queryNotComplianList(@RequestParam Map<String,Object> params) {
List<Map<String,Object>> result = this.projectLawsInventoryEOService.queryNotComplianList(params);
Page pages = PageUtil.getPages(Integer.parseInt((String) params.get("pageNo")), Integer.parseInt((String) params.get("pageSize")), result);
return Result.OK(pages);
}
/**
* 导出不符合项列表
* @param request
* @param params
*/
@AutoLog(value = "项目库-法规清单表-导出不符合项列表")
@ApiOperation(value="项目库-法规清单表-导出不符合项列表", notes="项目库-法规清单表-导出不符合项列表")
@RequestMapping(value = "/exportNotComplianList")
public void exportNotComplianList(HttpServletResponse response,
HttpServletRequest request,
@RequestBody Map<String,Object> params) {
this.projectLawsInventoryEOService.exportNotComplianList(response,request, params);
}
@AutoLog(value = "项目库-法规清单表-定版校验")
@ApiOperation(value="项目库-法规清单表-定版校验", notes="项目库-法规清单表-定版校验")
@GetMapping(value = "/finalizationVerify")
public Result<?> finalizationVerify(@RequestParam Map<String,Object> params){
return this.projectLawsInventoryEOService.finalizationVerify(params);
}
}
@@ -8,8 +8,7 @@ import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.vo.DictModel;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.service.IProjectLibraryBaseService;
import com.jero.modules.projectPlatform.service.IProjectPlatformService;
import com.jero.modules.projectPlatform.service.IPlatformIProjectLibraryBaseService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -43,11 +42,11 @@ import java.util.Map;
*/
@Api(tags="平台件项目库")
@RestController
@RequestMapping("/project/platform")
@RequestMapping("/project/platformProjectLibraryBase")
@Slf4j
public class ProjectPlatformController extends JeroController<ProjectLibraryBase, IProjectPlatformService> {
public class PlatformProjectLibraryBaseController extends JeroController<ProjectLibraryBase, IPlatformIProjectLibraryBaseService> {
@Autowired
private IProjectPlatformService projectPlatformService;
private IPlatformIProjectLibraryBaseService projectPlatformService;
/**
* 分页列表查询
@@ -0,0 +1,203 @@
package com.jero.modules.projectPlatform.controller;
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.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectNameInfoEO;
import com.jero.modules.project.service.IProjectNameInfoEOService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
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.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
/**
* @Description: 项目名信息表
* @Author: jero-boot
* @Date: 2022-04-18
* @Version: V1.0
*/
@Api(tags="平台件-项目名信息表")
@RestController
@RequestMapping("/project/platformProjectNameInfoEO")
@Slf4j
public class platformProjectNameInfoEOController extends JeroController<ProjectNameInfoEO, IProjectNameInfoEOService> {
@Autowired
private IProjectNameInfoEOService projectNameInfoEOService;
/**
* 分页列表查询
*
* @param projectNameInfoEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "项目名信息表-分页列表查询")
@ApiOperation(value="项目名信息表-分页列表查询", notes="项目名信息表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(ProjectNameInfoEO projectNameInfoEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ProjectNameInfoEO> queryWrapper = QueryGenerator.initQueryWrapper(projectNameInfoEO, req.getParameterMap());
Page<ProjectNameInfoEO> page = new Page<ProjectNameInfoEO>(pageNo, pageSize);
IPage<ProjectNameInfoEO> pageList = projectNameInfoEOService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "项目名信息表-列表查询")
@ApiOperation(value="项目名信息表-列表查询", notes="项目名信息表-列表查询")
@GetMapping(value = "/list")
public Result<List<ProjectNameInfoEO>> queryList() {
List<ProjectNameInfoEO> list = projectNameInfoEOService.queryList();
return Result.OK(list);
}
/**
* 返回项目全拼
*
* @return
*/
@AutoLog(value = "返回项目全拼")
@ApiOperation(value="返回项目全拼", notes="返回项目全拼")
@GetMapping(value = "/queryProjectNameList")
public Result<List<ProjectLibraryBase>> queryProjectNameList(String cut) {
List<ProjectLibraryBase> list = projectNameInfoEOService.queryProjectNameList(cut);
return Result.OK(list);
}
/**
* 添加
*
* @param projectNameInfoEO
* @return
*/
@AutoLog(value = "项目名信息表-添加")
@ApiOperation(value="项目名信息表-添加", notes="项目名信息表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody ProjectNameInfoEO projectNameInfoEO) {
projectNameInfoEOService.add(projectNameInfoEO);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param projectNameInfoEO
* @return
*/
@AutoLog(value = "项目名信息表-编辑")
@ApiOperation(value="项目名信息表-编辑", notes="项目名信息表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody ProjectNameInfoEO projectNameInfoEO) {
projectNameInfoEOService.editById(projectNameInfoEO);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "项目名信息表-通过id删除")
@ApiOperation(value="项目名信息表-通过id删除", notes="项目名信息表-通过id删除")
@DeleteMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id",required=true) String id) {
projectNameInfoEOService.deleteById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "项目名信息表-批量删除")
@ApiOperation(value="项目名信息表-批量删除", notes="项目名信息表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.projectNameInfoEOService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
@AutoLog(value = "项目名信息表-通过id查询")
@ApiOperation(value="项目名信息表-通过id查询", notes="项目名信息表-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
ProjectNameInfoEO projectNameInfoEO = projectNameInfoEOService.queryById(id);
if(projectNameInfoEO==null) {
return Result.error("未找到对应数据");
}
return Result.OK(projectNameInfoEO);
}
/**
* 导出excel
*
* @param request
* @param projectNameInfoEO
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ProjectNameInfoEO projectNameInfoEO) {
return super.exportXls(request, projectNameInfoEO, ProjectNameInfoEO.class, "项目名信息表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, ProjectNameInfoEO.class);
}
/**
* 接收space系统数据
*
* @return
*/
// @AutoLog(value = "项目名信息表-space")
// @ApiOperation(value="项目名信息表-space", notes="项目名信息表-space")
// @RequestMapping(value = "/getSpaceInfo", method = RequestMethod.POST)
// public void getSpaceInfo(@RequestParam(name="cut",required=true) String cut) {
// projectNameInfoEOService.getSpaceInfo(cut);
// }
}
@@ -0,0 +1,49 @@
package com.jero.modules.projectPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* @Description: 项目库-法规清单表
* @Author: jero-boot
* @Date: 2022-04-14
* @Version: V1.0
*/
public interface PlatformProjectLawsInventoryEOMapper extends BaseMapper<ProjectLawsInventoryEO> {
/**
* 获取清单确认统计
* @param projectLibraryId 项目库id
* @return
*/
List<Map<String, Object>> getlistingToConfirmStatistics(@Param("projectLibraryId") String projectLibraryId);
/**
* 获取清单确认统计
* @param projectLibraryId 项目库id
* @return
*/
List<Map<String, Object>> getTaskToConfirmStatistics(@Param("projectLibraryId")String projectLibraryId);
/**
* 统计该项目中,某一个 清单确认状态的数据 根据领域分组
* @param projectLibraryId 项目库id
* @param inventoryAffirmStatus 清单确认状态
* @return
*/
List<Map<String, Object>> getListingToConfirmStatisticsGroupByTerritory(@Param("projectLibraryId") String projectLibraryId,@Param("inventoryAffirmStatus") String inventoryAffirmStatus);
/**
* 统计该项目中,某一个 任务确认状态的数据 根据领域分组
* @param projectLibraryId
* @param taskAffirmStatus
* @return
*/
List<Map<String, Object>> getTaskToConfirmStatisticsGroupByTerritory(@Param("projectLibraryId") String projectLibraryId, @Param("taskAffirmStatus") String taskAffirmStatus);
List<Map<String,Object>> queryNotComplianList(@Param("params") Map<String, Object> params);
}
@@ -13,7 +13,7 @@ import java.util.Map;
* @Date: 2022-04-11
* @Version: V1.0
*/
public interface ProjectPlatformMapper extends BaseMapper<ProjectLibraryBase> {
public interface PlatformProjectLibraryBaseMapper extends BaseMapper<ProjectLibraryBase> {
/**分页列表*/
List<ProjectLibraryBase> queryPageList(@Param("params") Map<String, Object> params);
List<ProjectLibraryBase> queryMaimList();
@@ -0,0 +1,20 @@
package com.jero.modules.projectPlatform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.project.entity.ProjectNameInfoEO;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @Description: 项目名信息表
* @Author: jero-boot
* @Date: 2022-04-18
* @Version: V1.0
*/
public interface PlatpromProjectNameInfoEOMapper extends BaseMapper<ProjectNameInfoEO> {
@Select("select pni.id,pni.project_name,pyni.id as year_id,pyni.year_name,pni.vehicle_platform,pni.digital_platform\n" +
"from project_name_info as pni\n" +
"left join project_year_name_info as pyni on pni.id=pyni.project_name_id;")
List<ProjectNameInfoEO> selectProjectNameAndYear();
}
@@ -0,0 +1,195 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.projectPlatform.mapper.PlatformProjectLawsInventoryEOMapper">
<resultMap id="ProjectLawsInventoryEOResultMap" type="com.jero.modules.project.entity.ProjectLawsInventoryEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="project_library_id" property="projectLibraryId" />
<result column="serial_number" property="serialNumber" />
<result column="title" property="title" />
<result column="subtitle" property="subtitle" />
<result column="corresponding_standard" property="correspondingStandard" />
<result column="implement_type" property="implementType" />
<result column="xin1_che1_xing2_shi2_shi1_ri4_qi1" property="xin1Che1Xing2Shi2Shi1Ri4Qi1" />
<result column="implement_time" property="implementTime" />
<result column="attestation_type" property="attestationType" />
<result column="attestation_rank" property="attestationRank" />
<result column="wvta_id" property="wvtaId" />
<result column="duty_territory" property="dutyTerritory" />
<result column="regulation_owner_id" property="regulationOwnerId" />
<result column="homologation_engineer_id" property="homologationEngineerId" />
<result column="engineering_interface_person" property="engineeringInterfacePerson" />
<result column="remark" property="remark" />
<result column="design_deliverable_type" property="designDeliverableType" />
<result column="design_deliverable_template" property="designDeliverableTemplate" />
<result column="design_initiator" property="designInitiator" />
<result column="design_duty" property="designDuty" />
<result column="design_due_date" property="designDueDate" />
<result column="prehomo_deliverable_type" property="prehomoDeliverableType" />
<result column="prehomo_deliverable_template" property="prehomoDeliverableTemplate" />
<result column="prehomo_initiator" property="prehomoInitiator" />
<result column="prehomo_duty" property="prehomoDuty" />
<result column="prehomo_due_date" property="prehomoDueDate" />
<result column="verify_deliverable_type" property="verifyDeliverableType" />
<result column="verify_deliverable_template" property="verifyDeliverableTemplate" />
<result column="verify_initiator" property="verifyInitiator" />
<result column="verify_duty" property="verifyDuty" />
<result column="verify_due_date" property="verifyDueDate" />
<result column="region" property="region" />
<result column="applicable_supplement" property="applicableSupplement" />
<result column="verify_remark" property="verifyRemark" />
<result column="prehomo_remark" property="prehomoRemark" />
<result column="design_remark" property="designRemark" />
<result column="file_id" property="fileId" />
</resultMap>
<select id="getlistingToConfirmStatistics" resultType="hashmap">
select
count(inventory_affirm_status) as "inventoryAffirmStatusCount",
inventory_affirm_status as "inventoryAffirmStatus",
id as "id"
from
project_laws_inventory
where
project_library_id in
<foreach collection="projectLibraryId.split(',')" index="index" separator="," open="(" close=")" item="item">
#{item}
</foreach>
group by inventory_affirm_status
</select>
<select id="getTaskToConfirmStatistics" resultType="hashmap">
select
count(task_affirm_status) as "taskAffirmStatusCount",
task_affirm_status as "taskAffirmStatus",
id as "id"
from
project_laws_inventory
where
project_library_id in
<foreach collection="projectLibraryId.split(',')" index="index" separator="," open="(" close=")" item="item">
#{item}
</foreach>
group by task_affirm_status
</select>
<select id="getListingToConfirmStatisticsGroupByTerritory" resultType="hashmap">
select
count(inventory_affirm_status) as "amount",
inventory_affirm_status as "inventoryAffirmStatus",
id as "id",
duty_territory as "dutyTerritory"
from
project_laws_inventory
where
project_library_id = #{projectLibraryId}
and inventory_affirm_status = #{inventoryAffirmStatus}
group by duty_territory;
</select>
<select id="getTaskToConfirmStatisticsGroupByTerritory" resultType="hashmap">
select
count(task_affirm_status) as "amount",
task_affirm_status as "taskAffirmStatus",
id as "id",
duty_territory as "dutyTerritory"
from
project_laws_inventory
where
project_library_id = #{projectLibraryId}
and task_affirm_status = #{taskAffirmStatus}
group by duty_territory;
</select>
<select id="queryNotComplianList" resultType="hashmap">
select
id as "id",
serial_number as "serialNumber",
title as "title",
flow_type as "flowType",
duty_territory as "dutyTerritory",
flow_status as "flowStatus",
regulation_owner_id as "regulationOwnerId",
duty_id as "dutyId",
stand_id as "standId"
from (
SELECT
id,
serial_number,
title,
"2" as flow_type,
duty_territory,
design_flow_status as flow_status,
regulation_owner_id,
design_duty_id as duty_id,
project_library_id,
stand_id
FROM
project_laws_inventory
WHERE
project_library_id = #{params.projectLibraryId}
and design_flow_status IN
<foreach collection="params.complianceFlowStatusList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
UNION
SELECT
id,
serial_number,
title,
"4" as flow_type,
duty_territory,
verify_flow_status as flow_status,
regulation_owner_id,
verify_duty_id as duty_id,
project_library_id,
stand_id
FROM
project_laws_inventory
WHERE
project_library_id = #{params.projectLibraryId}
and verify_flow_status IN
<foreach collection="params.complianceFlowStatusList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
) temp
<!--<include refid="BaseQuerySql"/>-->
<!--<if test="params.orderByField != null and params.orderByField != ''">
order by temp.${params.orderByField}
<if test="params.orderBy == 1">
asc
</if>
<if test="params.orderBy == 2">
desc
</if>
</if>-->
<if test="params.orderByField == null or params.orderByField == ''">
order by temp.serial_number desc
</if>
</select>
<sql id="BaseQuerySql">
<where>
<if test="params.serialNumber != null and params.serialNumber !=''">
and temp.serial_number like CONCAT(CONCAT('%',#{params.serialNumber}),'%')
</if>
<if test="params.title != null and params.title !=''">
and temp.title like CONCAT(CONCAT('%',#{params.title}),'%')
</if>
<if test="params.dutyTerritory != null and params.dutyTerritory !=''">
and temp.duty_territory like CONCAT(CONCAT('%',#{params.dutyTerritory}),'%')
<!--and (
temp.duty_territory = #{params.dutyTerritory} or
<foreach collection="params.dutyTerritory.split(',')" index="" item="item" open="(" close=")" separator="or">
temp.duty_territory like CONCAT(CONCAT('%',#{item}),'%')
</foreach>
)-->
</if>
</where>
</sql>
</mapper>
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.projectPlatform.mapper.ProjectPlatformMapper">
<mapper namespace="com.jero.modules.projectPlatform.mapper.PlatformProjectLibraryBaseMapper">
<resultMap id="ProjectLibraryBaseResultMap" type="com.jero.modules.project.entity.ProjectLibraryBase">
<id column="id" property="id" />
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.jero.modules.projectPlatform.mapper.PlatpromProjectNameInfoEOMapper">
<resultMap id="ProjectNameInfoEOResultMap" type="com.jero.modules.project.entity.ProjectNameInfoEO">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="sys_org_code" property="sysOrgCode" />
<result column="project_name" property="projectName" />
<result column="vehicle_platform" property="vehiclePlatform" />
<result column="digital_platform" property="digitalPlatform" />
</resultMap>
</mapper>
@@ -20,7 +20,7 @@ import java.util.Map;
* @Date: 2022-04-11
* @Version: V1.0
*/
public interface IProjectPlatformService extends IService<ProjectLibraryBase> {
public interface IPlatformIProjectLibraryBaseService extends IService<ProjectLibraryBase> {
/**
* 保存
@@ -0,0 +1,325 @@
package com.jero.modules.projectPlatform.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.itextpdf.text.DocumentException;
import com.jero.common.api.vo.Result;
import com.jero.common.constant.enums.MessageTypeEnum;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.feishu.vo.FeishuMsgVo;
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
import com.jero.modules.project.vo.ProjectTaskUrgVo;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysRole;
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
import com.jero.modules.todoCenter.entity.ProcessInfoEO;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @Description: 项目库-法规清单表
* @Author: jero-boot
* @Date: 2022-04-14
* @Version: V1.0
*/
public interface IPlatformProjectLawsInventoryEOService extends IService<ProjectLawsInventoryEO> {
/**
* 保存
*
* @param projectLawsInventoryEO
* @return
*/
void add(ProjectLawsInventoryEO projectLawsInventoryEO);
/**
* 更新
*
* @param projectLawsInventoryEO
* @return
*/
void editById(ProjectLawsInventoryEO projectLawsInventoryEO);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id,String projectLibraryId,String cut);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids,String projectLibraryId,String cut);
/**
* 通过id查询
*
* @param id
* @return
*/
ProjectLawsInventoryEO queryById(String id);
/**
* 列表查询
*
* @return
*/
List<ProjectLawsInventoryEO> queryList(ProjectLawsInventoryEO projectLawsInventoryEO, HttpServletRequest req);
/**
* 批量更新状态
* @param json
* @return
*/
Result<?> updateStatusBatch(JSONObject json);
void sendMessage(String msgTitle, String msgContent, List<String> userIdList, String projectLibraryId, Map<String,Object> params, FeishuMsgVo feishuMsgVo, MessageTypeEnum messageType,String initiator);
/**
* 匹配相关人员
* @param params
* @return
*/
Result<?> matchRelevantPeople(Map<String, Object> params);
/**
* 流程调用
* @param jsonObject
* @return
*/
Result<?> processCall(JSONObject jsonObject);
List<ProjectLawsInventoryEO> queryProjectLawsInventoryInfoById(Map<String, Object> params);
void copyInfoByIds(String ids,String operateType);
/**
* 批量设置
* @param projectLawsInventoryEO
*/
void setBatch(ProjectLawsInventoryEO projectLawsInventoryEO);
/**
* 模板下载
* @param projectLawsInventoryEO
* @param response
* @param request
*/
void exportTemplate(ProjectLawsInventoryEO projectLawsInventoryEO, HttpServletResponse response, HttpServletRequest request);
void exportData(HttpServletResponse response,
HttpServletRequest request,
ProjectLawsInventoryEO projectLawsInventoryEO);
void importData(MultipartFile file,
ProjectLawsInventoryEO projectLawsInventoryEO);
void dataDispose(List<ProjectLawsInventoryEO> list, LoginUser currentUser, int isProjectRole, String cut);
Result<?> change(JSONObject parmas);
/**
* 下载pdf报告
* @param params
* @param req
* @param resp
* @throws DocumentException
*/
void downloadReport(Map<String, Object> params,HttpServletRequest req, HttpServletResponse resp)throws DocumentException;
/**
* 下载docx报告
* @param params
* @param req
* @param resp
*/
void downloadDocxReport(Map<String, Object> params, HttpServletRequest req, HttpServletResponse resp);
/**
* 催办
* @param json
* @return
*/
Result<?> expediting(JSONObject json);
List<SysRole> getRoleByUserId(String projectLibraryId,String cut);
void addProcessInfo(ProcessInfoEO processInfoEO, String projectLibraryId, Date endTime);
void addProcessInfoDetail(String processInfoId, List<ProcessInfoDetailEO> processInfoDetailEOList, Date endTime);
Result<?> taskUrg(ProjectTaskUrgVo projectTaskUrgVo);
Result<?> updateFlowInfoByProjectLibraryIds(String projectLibraryIds);
void updateFlowInfo(ProjectLawsInventoryEO projectLawsInventoryEO);
/**
* studio发布,启动清单确认流程
* @param json
* @return
*/
Result<?> studioPublish(JSONObject json);
/**
* studio撤回
* @param json
* @return
*/
Result<?> studioWithdrew(JSONObject json);
/**
* 法规工程师退回
* @param json
* @return
*/
Result<?> regulationOwnerReturned(JSONObject json);
/**
* 根据id获取交付物类型展示名称
* @param projectLawsInventoryId
* @param cut
* @param flowType
* @return
*/
String getDeliverableTypeNameById(String projectLawsInventoryId, String cut, String flowType,List<ProjectLawsInventoryEO> projectLawsInventoryEOList,List<SysCategory> categoryList);
/**
* 根据id获取责任领域展示名称
* @param projectLawsInventoryId
* @param cut
* @param projectLawsInventoryEOList
* @param sysDictItems
* @param dicCode
* @return
*/
String getDutyTerritoryNameById(String projectLawsInventoryId, String cut, List<ProjectLawsInventoryEO> projectLawsInventoryEOList, List<SysDictItem> sysDictItems,String dicCode);
void sendMessageByTemplateId(String templeteId,Map<String,Object> params);
Map<String, Object> getProjectLawsInventoryLinkHrefFeishu(String projectLibraryId, String PRN_CN, String PRN_EN,String roleOpen);
/**
* 获取待办中心跳转链接
* @param projectLibraryId
* @param todoCenterParams
* @return
*/
Map<String, Object> getToDoCenterLinkHrefFeishu(String projectLibraryId, Map<String,Object> todoCenterParams);
/**
* 法规清单根据清单确认截至日期顺序排序
* @param projectLawsInventoryEOS
*/
void lawsInventoryEOListSortByInventoryAffirmDueDate(List<ProjectLawsInventoryEO> projectLawsInventoryEOS);
/**
* 法规清单根据设计符合性截至日期顺序排序
* @param projectLawsInventoryEOS
*/
void lawsInventoryEOListSortByDesignDueDate(List<ProjectLawsInventoryEO> projectLawsInventoryEOS);
/**
* 法规清单根据验证符合性截至日期顺序排序
* @param projectLawsInventoryEOS
*/
void lawsInventoryEOListSortByVerifyDueDate(List<ProjectLawsInventoryEO> projectLawsInventoryEOS);
/**
* 创建查询权限,2023-04-06 修改UAT问题第22条
* @param isProjectRole
* @param currentUser
*/
void createQueryPermission(int isProjectRole, LoginUser currentUser, QueryWrapper<ProjectLawsInventoryEO> projectLawsInventoryEOQueryWrapper);
Result<?> resetFlowTemp(JSONObject parmas);
/**
* 批量更新流程状态
* @param json
* @return
*/
Result<?> updateFlowStatusBatch(JSONObject json);
Result<?> citeDeliverable(JSONObject json);
Result<?> compulsoryTransfer(JSONObject json);
Map<String, List<Map<String, Object>>> queryDutyPersonByProjectId(Map<String, Object> params);
/**
* 获取任务确认统计信息
* @param projectLawsInventoryEOList
* @return
*/
List<Map<String, Object>> getTaskToConfirmStatistics(List<ProjectLawsInventoryEO> projectLawsInventoryEOList);
/**
* 获取设计符合性统计信息
* @param projectLawsInventoryEOList
* @return
*/
List<Map<String, Object>> getDesignComplianceStatistice(List<ProjectLawsInventoryEO> projectLawsInventoryEOList);
/**
* 获取验证符合性统计信息
* @param projectLawsInventoryEOList
* @return
*/
List<Map<String, Object>> getVerifyComplianceStatistice(List<ProjectLawsInventoryEO> projectLawsInventoryEOList);
List<Map<String,Object>> queryNotComplianList(Map<String, Object> params);
void exportNotComplianList(HttpServletResponse response, HttpServletRequest request, Map<String, Object> params);
/**
* 按照法规任务确认状态分组
* @param pliEos
* @return
*/
Map<String, Object> groupByFGRwqrStatus(List<ProjectLawsInventoryEO> pliEos);
/**
* 按照设计符合性状态分组
* @param pliEos
* @return
*/
Map<String, Object> groupByDesignStatus(List<ProjectLawsInventoryEO> pliEos);
/**
* 按照验证符合性状态分组
* @param pliEos
* @return
*/
Map<String, Object> groupByVerifyStatus(List<ProjectLawsInventoryEO> pliEos);
IPage<ProjectLawsInventoryEO> queryPage(ProjectLawsInventoryEO projectLawsInventoryEO, Integer pageNo, Integer pageSize, HttpServletRequest req);
Result<?> finalizationVerify(Map<String, Object> params);
/**
* 获取用户的责任领域数组
* @param params
* @return
*/
List<SysDictItem> getUserDutyTerritoryList(Map<String, Object> params);
/***
* 替换用户
* @param params
*/
void replacementUser(JSONObject json);
int checkUserRole(String projectLibraryId, String currentUserId, String lawsInventoryId);
}
@@ -0,0 +1,73 @@
package com.jero.modules.projectPlatform.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectNameInfoEO;
import java.util.List;
/**
* @Description: 项目名信息表
* @Author: jero-boot
* @Date: 2022-04-18
* @Version: V1.0
*/
public interface IPlatformProjectNameInfoEOService extends IService<ProjectNameInfoEO> {
/**
* 保存
*
* @param projectNameInfoEO
* @return
*/
void add(ProjectNameInfoEO projectNameInfoEO);
/**
* 更新
*
* @param projectNameInfoEO
* @return
*/
void editById(ProjectNameInfoEO projectNameInfoEO);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
ProjectNameInfoEO queryById(String id);
/**
* 列表查询
*
* @return
*/
List<ProjectNameInfoEO> queryList();
/**
* 返回项目全拼
* @return
*/
List<ProjectLibraryBase> queryProjectNameList(String cut);
//void getSpaceInfo(String cut);
}
@@ -55,7 +55,6 @@ import com.jero.modules.project.mapper.ProjectTaskInventoryEOMapper;
import com.jero.modules.project.mapper.ProjectUserPermissionMapper;
import com.jero.modules.project.service.IConditionAssessmentEOService;
import com.jero.modules.project.service.IProjectCertificationInventoryEOService;
import com.jero.modules.project.service.IProjectLibraryBaseService;
import com.jero.modules.project.service.IProjectLibraryRoleRelEOService;
import com.jero.modules.project.service.IProjectLibraryStatisticsService;
import com.jero.modules.project.service.IProjectUserPermissionService;
@@ -65,8 +64,8 @@ import com.jero.modules.project.service.impl.ProjectNameInfoEOServiceImpl;
import com.jero.modules.project.service.impl.ProjectRelatedPersonnelServiceImpl;
import com.jero.modules.project.service.impl.ProjectTaskPlanningServiceImpl;
import com.jero.modules.project.vo.TimeNodeVO;
import com.jero.modules.projectPlatform.mapper.ProjectPlatformMapper;
import com.jero.modules.projectPlatform.service.IProjectPlatformService;
import com.jero.modules.projectPlatform.mapper.PlatformProjectLibraryBaseMapper;
import com.jero.modules.projectPlatform.service.IPlatformIProjectLibraryBaseService;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.enums.DicCodeEnum;
@@ -129,7 +128,7 @@ import java.util.stream.Collectors;
* @Version: V1.0
*/
@Service
public class ProjectPlatformServiceImpl extends ServiceImpl<ProjectPlatformMapper, ProjectLibraryBase> implements IProjectPlatformService {
public class PlatformProjectLibraryBaseServiceImpl extends ServiceImpl<PlatformProjectLibraryBaseMapper, ProjectLibraryBase> implements IPlatformIProjectLibraryBaseService {
@Autowired
private ProjectLibraryBaseMapper projectLibraryBaseMapper;
@@ -0,0 +1,382 @@
package com.jero.modules.projectPlatform.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.vo.DictModel;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectNameInfoEO;
import com.jero.modules.project.entity.ProjectYearNameInfoEO;
import com.jero.modules.project.mapper.ProblemManagementEOMapper;
import com.jero.modules.project.mapper.ProjectNameInfoEOMapper;
import com.jero.modules.project.service.impl.ProblemManagementEOServiceImpl;
import com.jero.modules.project.service.impl.ProjectYearNameInfoEOServiceImpl;
import com.jero.modules.projectPlatform.mapper.PlatpromProjectNameInfoEOMapper;
import com.jero.modules.projectPlatform.service.IPlatformProjectNameInfoEOService;
import com.jero.modules.space.service.SpaceServiceImpl;
import com.jero.modules.system.enums.DicCodeEnum;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.util.StringUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* @Description: 项目名信息表
* @Author: jero-boot
* @Date: 2022-04-18
* @Version: V1.0
*/
@Service
public class PlatformProjectNameInfoEOServiceImpl extends ServiceImpl<PlatpromProjectNameInfoEOMapper, ProjectNameInfoEO> implements IPlatformProjectNameInfoEOService {
@Autowired
private ProjectNameInfoEOMapper projectNameInfoEOMapper;
@Autowired
private SpaceServiceImpl spaceService;
@Autowired
private ProjectYearNameInfoEOServiceImpl projectYearNameInfoEOService;
@Autowired
private ProblemManagementEOMapper problemManagementEOMapper;
@Autowired
private ISysDictService sysDictService;
@Autowired
private ProblemManagementEOServiceImpl problemManagementEOService;
/**
* 保存
*
* @param projectNameInfoEO
* @return
*/
@Override
public void add(ProjectNameInfoEO projectNameInfoEO) {
Date now = new Date();
projectNameInfoEO.setCreateTime(now);
projectNameInfoEO.setUpdateTime(now);
save(projectNameInfoEO);
}
/**
* 更新
*
* @param projectNameInfoEO
* @return
*/
@Override
public void editById(ProjectNameInfoEO projectNameInfoEO) {
Date now = new Date();
projectNameInfoEO.setUpdateTime(now);
saveOrUpdate(projectNameInfoEO);
}
/**
* 通过id删除
*
* @param id
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*
* @param ids
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*
* @param id
* @return
*/
@Override
public ProjectNameInfoEO queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<ProjectNameInfoEO> queryList() {
QueryWrapper<ProjectNameInfoEO> nameInfoEOQueryWrapper = new QueryWrapper<>();
List<ProjectNameInfoEO> projectNameInfoEOList = list(nameInfoEOQueryWrapper);
// List<String> projectNameInfoIdList = projectNameInfoEOList.stream().map(e -> e.getId()).collect(Collectors.toList());
for (ProjectNameInfoEO projectNameInfoEO : projectNameInfoEOList){
QueryWrapper<ProjectYearNameInfoEO> yearNameInfoEOQueryWrapper = new QueryWrapper<>();
yearNameInfoEOQueryWrapper.eq("project_name_id",projectNameInfoEO.getId());
List<ProjectYearNameInfoEO> yearNameInfoDataList = projectYearNameInfoEOService.list(yearNameInfoEOQueryWrapper);
if(CollectionUtils.isNotEmpty(yearNameInfoDataList)) {
projectNameInfoEO.setYearNameDataList(yearNameInfoDataList);
}
}
// List<ProjectNameInfoEO> projectNameAndYear = projectNameInfoEOMapper.selectProjectNameAndYear();
return projectNameInfoEOList;
}
/**
* 列表查询
*
* @return
*/
@Override
public List<ProjectLibraryBase> queryProjectNameList(String cut) {
List<ProjectLibraryBase> projectLibraryBaseList = problemManagementEOMapper.queryByIds(null);
//目标市场数据字典
List<DictModel> targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) {
//目标市场
String targetMarket = problemManagementEOService.getMarket(cut, targetMarketList, projectLibraryBase);
//主项目的版本号
String projectVersion = "";
if(StringUtils.isBlank(projectLibraryBase.getParentId())){
projectVersion = "00";
}else{
projectVersion = projectLibraryBase.getProjectVersion();
}
if(StringUtils.isNotBlank(projectLibraryBase.getYearName())){
projectLibraryBase.setProjectName(projectLibraryBase.getProjectName()
+ "-" + projectLibraryBase.getYearName()
+ "-" + targetMarket
+"-"+projectVersion);
}
}
return projectLibraryBaseList;
}
/* @Override
public void getSpaceInfo(String cut){
String jsonData ="";
try {
jsonData = spaceService.getSign();
if(StringUtils.isNotBlank(jsonData)) {
//静态测试数据
*//* jsonData = "{\n" +
" \"resultData\": [\n" +
" {\n" +
" \"modelCode\": \"ES8_00\",\n" +
" \"modelName\": \"ES8\",\n" +
" \"hardwarePltCode\": \"mhp_npa\",\n" +
" \"hardwarePltName\": \"NPA\",\n" +
" \"softwarePltCode\": \"msp_nt1\",\n" +
" \"softwarePltName\": \"NT1\",\n" +
" \"modelYearInfoList\": [\n" +
" {\n" +
" \"yearCode\": \"mp_g1.1\",\n" +
" \"yearName\": \"G1.1\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.2\",\n" +
" \"yearName\": \"G1.2\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.3\",\n" +
" \"yearName\": \"G1.3\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.f\",\n" +
" \"yearName\": \"G1.F\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.f.e\",\n" +
" \"yearName\": \"G1.F.E\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_my2018\",\n" +
" \"yearName\": \"MY2018\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.5\",\n" +
" \"yearName\": \"G1.5\"\n" +
" }\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"modelCode\": \"FURY_00\",\n" +
" \"modelName\": \"FURY\",\n" +
" \"hardwarePltCode\": \"mhp_npa\",\n" +
" \"hardwarePltName\": \"NPA\",\n" +
" \"softwarePltCode\": \"msp_nt1\",\n" +
" \"softwarePltName\": \"NT1\",\n" +
" \"modelYearInfoList\": [\n" +
" {\n" +
" \"yearCode\": \"mp_g1.1\",\n" +
" \"yearName\": \"G1.1\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.2\",\n" +
" \"yearName\": \"G1.2\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.3\",\n" +
" \"yearName\": \"G1.3\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.f\",\n" +
" \"yearName\": \"G1.F\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.6\",\n" +
" \"yearName\": \"G1.6\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.5\",\n" +
" \"yearName\": \"G1.5\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.1.e\",\n" +
" \"yearName\": \"G1.1.E\"\n" +
" }\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"modelCode\": \"FORCE_00\",\n" +
" \"modelName\": \"FORCE\",\n" +
" \"hardwarePltCode\": \"mhp_npb\",\n" +
" \"hardwarePltName\": \"NPB\",\n" +
" \"softwarePltCode\": \"msp_nt2\",\n" +
" \"softwarePltName\": \"NT2\",\n" +
" \"modelYearInfoList\": [\n" +
" {\n" +
" \"yearCode\": \"mp_g1.1\",\n" +
" \"yearName\": \"G1.1\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.1.e\",\n" +
" \"yearName\": \"G1.1.E\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.2\",\n" +
" \"yearName\": \"G1.2\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.3\",\n" +
" \"yearName\": \"G1.3\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.f\",\n" +
" \"yearName\": \"G1.F\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.6\",\n" +
" \"yearName\": \"G1.6\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.5\",\n" +
" \"yearName\": \"G1.5\"\n" +
" }\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"modelCode\": \"Gemini_00\",\n" +
" \"modelName\": \"Gemini\",\n" +
" \"hardwarePltCode\": \"mhp_npa\",\n" +
" \"hardwarePltName\": \"NPA\",\n" +
" \"softwarePltCode\": \"msp_nt2\",\n" +
" \"softwarePltName\": \"NT2\",\n" +
" \"modelYearInfoList\": [\n" +
" {\n" +
" \"yearCode\": \"mp_g1.1\",\n" +
" \"yearName\": \"G1.1\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.1.e\",\n" +
" \"yearName\": \"G1.1.E\"\n" +
" }\n" +
" ]\n" +
" },\n" +
" {\n" +
" \"modelCode\": \"Pegasus_00\",\n" +
" \"modelName\": \"Pegasus\",\n" +
" \"hardwarePltCode\": \"mhp_npc\",\n" +
" \"hardwarePltName\": \"NPC\",\n" +
" \"softwarePltCode\": \"msp_nt2\",\n" +
" \"softwarePltName\": \"NT2\",\n" +
" \"modelYearInfoList\": [\n" +
" {\n" +
" \"yearCode\": \"mp_g1.1\",\n" +
" \"yearName\": \"G1.1\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_g1.1.e\",\n" +
" \"yearName\": \"G1.1.E\"\n" +
" },\n" +
" {\n" +
" \"yearCode\": \"mp_G1.1.RH\",\n" +
" \"yearName\": \"G1.1.RH\"\n" +
" }\n" +
" ]\n" +
" }\n" +
" ],\n" +
" \"resultCode\": \"WL-0000\",\n" +
" \"resultDesc\": \"Success\"\n" +
"}";*//*
JSONObject result = (JSONObject) JSON.parse(jsonData);
JSONArray resultData = result.getJSONArray("resultData");
String modelName = "";//项目名称
String hardwarePltName = "";//车型平台
String softwarePltName = "";//数字平台
//获取resultData中所需的数据
for (int i = 0; i < resultData.size(); i++) {
JSONObject jsonObject = resultData.getJSONObject(i);
modelName = jsonObject.getString("modelName");//项目名称
hardwarePltName = jsonObject.getString("hardwarePltName");//车型平台
softwarePltName = jsonObject.getString("softwarePltName");//数字平台
String nameInfoId = UUID.randomUUID().toString().replace("-", "");
ProjectNameInfoEO projectNameInfoEO = new ProjectNameInfoEO();
projectNameInfoEO.setId(nameInfoId);
projectNameInfoEO.setProjectName(modelName);
projectNameInfoEO.setVehiclePlatform(hardwarePltName);
projectNameInfoEO.setDigitalPlatform(softwarePltName);
//保存
save(projectNameInfoEO);
//设置年款名
JSONArray modelYearInfoJson = jsonObject.getJSONArray("modelYearInfoList");
for (int j = 0; j < modelYearInfoJson.size(); j++) {
JSONObject modelYearInfo = modelYearInfoJson.getJSONObject(j);
String yearName = modelYearInfo.getString("yearName");
ProjectYearNameInfoEO projectYearNameInfoEO = new ProjectYearNameInfoEO();
projectYearNameInfoEO.setProjectNameId(nameInfoId);
projectYearNameInfoEO.setYearName(yearName);
//保存
projectYearNameInfoEOService.save(projectYearNameInfoEO);
}
if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("从Space获取项目名称相关数据,成功保存");
}else{
throw new JeroBootException("Get the data related to the project name from Space and save it successfully.");
}
}
}else{
if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("从Space获取项目名称相关数据为空");
}else{
throw new JeroBootException("Data related to obtaining project name from Space is empty.");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}*/
}