Merge remote-tracking branch 'origin/master'

This commit is contained in:
liyawei
2022-05-20 18:19:25 +08:00
34 changed files with 1193 additions and 355 deletions
@@ -13,9 +13,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.CommonConstant;
import com.jero.common.constant.WebsocketConst;
import com.jero.common.constant.enums.*;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.constant.enums.IsMustEnum;
import com.jero.common.constant.enums.MessageTypeEnum;
import com.jero.common.constant.enums.ModuleEnum;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.es.JeroElasticsearchTemplate;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryRuleEnum;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.DateUtils;
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
@@ -30,6 +35,7 @@ import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.document.utils.ReadPdfUtil;
import com.jero.modules.document.utils.ReadWordUtil;
import com.jero.modules.document.vo.QueryConditionVO;
import com.jero.modules.domain.service.DomainUserRelService;
import com.jero.modules.feishu.service.IFeishuService;
import com.jero.modules.log.entity.BussLogEO;
@@ -42,7 +48,11 @@ import com.jero.modules.split.entity.SarFileSplitInfoEO;
import com.jero.modules.split.service.ISarFileSplitInfoService;
import com.jero.modules.subscribe.entity.OnlCgformSubscribe;
import com.jero.modules.subscribe.service.IOnlCgformSubscribeService;
import com.jero.modules.system.entity.*;
import com.jero.modules.system.entity.SysAnnouncement;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysCategoryTreeVO;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.modules.system.service.ISysAnnouncementService;
import com.jero.modules.system.service.ISysDepartService;
@@ -56,8 +66,20 @@ import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.VerticalAlignment;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.util.CellRangeAddress;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.shiro.SecurityUtils;
@@ -73,11 +95,26 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.stream.Collectors;
@@ -5009,4 +5046,70 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
return infoPage;
}
//高级搜索条件拼接
private void sqlJoint(List<QueryConditionVO> queryConditionVOList){
if(queryConditionVOList.size() != 0){
int count =0;
StringBuilder sb = new StringBuilder();
for (QueryConditionVO queryConditionVO : queryConditionVOList) {
String type = queryConditionVO.getType();//and或or
String rule = queryConditionVO.getRule();
String field = queryConditionVO.getField();
String val = queryConditionVO.getVal();
//如果查询字段对应的搜索条件值为空,则不作处理
if(StringUtils.isNotBlank(val)){
count ++;//从第二个查询条件开始拼接type(and或or)
sb.append(" " + field + " ");
//查询类型
String ruleTemp = queryType(rule);
sb.append(ruleTemp + " ");
//..(用in-->特殊处理)
if(val.contains(",")){
StringBuilder sbTemp = new StringBuilder();
for (String valTemp : val.split(",")) {
sbTemp.append("'" + valTemp +"' ,");
}
if(StringUtils.isNotBlank(sbTemp)){
String substring = sbTemp.substring(0, sbTemp.length() - 1);
sb.append(substring);
}
}else{
sb.append(val);
}
if(count > 1){
sb.append(type + " ");
}
}
}
}
}
public String queryType(String rule){
String value ="";
if(QueryRuleEnum.GT.getCondition().equals(rule)){
value = QueryRuleEnum.GT.getValue();
}else if(QueryRuleEnum.GE.getCondition().equals(rule)){
value = QueryRuleEnum.GE.getValue();
}else if(QueryRuleEnum.LT.getCondition().equals(rule)){
value = QueryRuleEnum.LT.getValue();
}else if(QueryRuleEnum.LE.getCondition().equals(rule)){
value = QueryRuleEnum.LE.getValue();
}else if(QueryRuleEnum.EQ.getCondition().equals(rule)){
value = QueryRuleEnum.EQ.getValue();
}else if(QueryRuleEnum.NE.getCondition().equals(rule)){
value = QueryRuleEnum.NE.getValue();
}else if(QueryRuleEnum.LIKE.getCondition().equals(rule)){
value = QueryRuleEnum.LIKE.getValue();
}else if(QueryRuleEnum.LEFT_LIKE.getCondition().equals(rule)){
value = QueryRuleEnum.LEFT_LIKE.getValue();
}else if(QueryRuleEnum.RIGHT_LIKE.getCondition().equals(rule)){
value = QueryRuleEnum.RIGHT_LIKE.getValue();
}else if(QueryRuleEnum.IN.getCondition().equals(rule)){
value = QueryRuleEnum.IN.getValue();
}
return value;
}
}
@@ -0,0 +1,22 @@
package com.jero.modules.document.vo;
import lombok.Data;
/**
* @description
* @date 2022/5/20 14:37
* @auth zhn
*/
@Data
public class QueryConditionVO {
//类型(and或or)
private String type;
//查询类型
private String rule;
//字段
private String field;
//字段值
private String val;
}
@@ -2,6 +2,7 @@ package com.jero.modules.project.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jero.common.api.vo.Result;
@@ -66,8 +67,8 @@ public class ConditionAssessmentEOController extends JeroController<ConditionAss
@AutoLog(value = "任务清单-项目状态评估表-列表查询")
@ApiOperation(value="任务清单-项目状态评估表-列表查询", notes="任务清单-项目状态评估表-列表查询")
@GetMapping(value = "/list")
public Result<List<ConditionAssessmentEO>> queryList() {
List<ConditionAssessmentEO> list = conditionAssessmentEOService.queryList();
public Result<List<ConditionAssessmentEO>> queryList(@RequestParam Map<String,Object> params) {
List<ConditionAssessmentEO> list = conditionAssessmentEOService.queryList(params);
return Result.OK(list);
}
@@ -23,7 +23,7 @@ import java.util.Arrays;
import java.util.List;
/**
/**
* @Description: 项目名信息表
* @Author: jero-boot
* @Date: 2022-04-18
@@ -68,8 +68,8 @@ public class ProjectNameInfoEOController extends JeroController<ProjectNameInfoE
@ApiOperation(value="项目名信息表-列表查询", notes="项目名信息表-列表查询")
@GetMapping(value = "/list")
public Result<List<ProjectNameInfoEO>> queryList() {
List<ProjectNameInfoEO> list = projectNameInfoEOService.queryList();
return Result.OK(list);
List<ProjectNameInfoEO> list = projectNameInfoEOService.queryList();
return Result.OK(list);
}
/**
@@ -175,8 +175,8 @@ public class ProjectNameInfoEOController extends JeroController<ProjectNameInfoE
*/
@AutoLog(value = "项目名信息表-space")
@ApiOperation(value="项目名信息表-space", notes="项目名信息表-space")
@RequestMapping(value = "/getSign", method = RequestMethod.POST)
public String getSign() {
return projectNameInfoEOService.getYapiInfo();
@RequestMapping(value = "/getSpaceInfo", method = RequestMethod.POST)
public void getSpaceInfo(@RequestParam(name="cut",required=true) String cut) {
projectNameInfoEOService.getSpaceInfo(cut);
}
}
@@ -0,0 +1,170 @@
package com.jero.modules.project.controller;
import java.util.Arrays;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.project.entity.ProjectYearNameInfoEO;
import com.jero.modules.project.service.IProjectYearNameInfoEOService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.jero.common.aspect.annotation.AutoLog;
/**
* @Description: 项目库-项目名年号表
* @Author: jero-boot
* @Date: 2022-05-20
* @Version: V1.0
*/
@Api(tags="项目库-项目名年号表")
@RestController
@RequestMapping("/project/projectYearNameInfoEO")
@Slf4j
public class ProjectYearNameInfoEOController extends JeroController<ProjectYearNameInfoEO, IProjectYearNameInfoEOService> {
@Autowired
private IProjectYearNameInfoEOService projectYearNameInfoEOService;
/**
* 分页列表查询
*
* @param projectYearNameInfoEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "项目库-项目名年号表-分页列表查询")
@ApiOperation(value="项目库-项目名年号表-分页列表查询", notes="项目库-项目名年号表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(ProjectYearNameInfoEO projectYearNameInfoEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<ProjectYearNameInfoEO> queryWrapper = QueryGenerator.initQueryWrapper(projectYearNameInfoEO, req.getParameterMap());
Page<ProjectYearNameInfoEO> page = new Page<ProjectYearNameInfoEO>(pageNo, pageSize);
IPage<ProjectYearNameInfoEO> pageList = projectYearNameInfoEOService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "项目库-项目名年号表-列表查询")
@ApiOperation(value="项目库-项目名年号表-列表查询", notes="项目库-项目名年号表-列表查询")
@GetMapping(value = "/list")
public Result<List<ProjectYearNameInfoEO>> queryList() {
List<ProjectYearNameInfoEO> list = projectYearNameInfoEOService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param projectYearNameInfoEO
* @return
*/
@AutoLog(value = "项目库-项目名年号表-添加")
@ApiOperation(value="项目库-项目名年号表-添加", notes="项目库-项目名年号表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody ProjectYearNameInfoEO projectYearNameInfoEO) {
projectYearNameInfoEOService.add(projectYearNameInfoEO);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param projectYearNameInfoEO
* @return
*/
@AutoLog(value = "项目库-项目名年号表-编辑")
@ApiOperation(value="项目库-项目名年号表-编辑", notes="项目库-项目名年号表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody ProjectYearNameInfoEO projectYearNameInfoEO) {
projectYearNameInfoEOService.editById(projectYearNameInfoEO);
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) {
projectYearNameInfoEOService.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.projectYearNameInfoEOService.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) {
ProjectYearNameInfoEO projectYearNameInfoEO = projectYearNameInfoEOService.queryById(id);
if(projectYearNameInfoEO==null) {
return Result.error("未找到对应数据");
}
return Result.OK(projectYearNameInfoEO);
}
/**
* 导出excel
*
* @param request
* @param projectYearNameInfoEO
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, ProjectYearNameInfoEO projectYearNameInfoEO) {
return super.exportXls(request, projectYearNameInfoEO, ProjectYearNameInfoEO.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, ProjectYearNameInfoEO.class);
}
}
@@ -37,6 +37,12 @@ public class ProjectLibraryBase implements Serializable {
@TableField(exist = false)
private java.lang.String projectName;
/**年款号id*/
private java.lang.String yearNameId;
/**年款名称*/
@TableField(exist = false)
private java.lang.String yearName;
/**目标市场*/
@Dict(dicCode = "region")
private java.lang.String targetMarket;
@@ -56,11 +62,11 @@ public class ProjectLibraryBase implements Serializable {
private java.lang.String certificationEngineerName;
/**车型平台*/
@Dict(dicCode = "vehicle_platform")
@TableField(exist = false)
private java.lang.String vehiclePlatform;
/**数字平台*/
@Dict(dicCode = "digital_platform")
@TableField(exist = false)
private java.lang.String digitalPlatform;
/**IPD信息*/
@@ -1,7 +1,6 @@
package com.jero.modules.project.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
@@ -30,7 +29,7 @@ public class ProjectNameInfoEO implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
// @TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private java.lang.String id;
@@ -64,8 +63,19 @@ public class ProjectNameInfoEO implements Serializable {
private java.lang.String projectName;
/**年款名称*/
@Excel(name = "年款名称", width = 15)
@ApiModelProperty(value = "年款名称")
@TableField(exist = false)
private java.lang.String yearName;
/**车型平台*/
@ApiModelProperty(value = "车型平台")
private java.lang.String vehiclePlatform;
/**数字平台*/
@ApiModelProperty(value = "车型平台")
private java.lang.String digitalPlatform;
@TableField(exist = false)
private String cut;
}
@@ -289,4 +289,12 @@ public class ProjectTaskInventoryEO implements Serializable {
/**项目状态评估备注**/
@TableField(exist = false)
private String projectStatusAssessRemark;
/**设计符合性 责任人填写反馈意见**/
private String designPersonChargeFeedback;
/**prehomo 责任人填写反馈意见**/
private String prehomoPersonChargeFeedback;
/**验证符合性 责任人填写反馈意见**/
private String verifyPersonChargeFeedback;
}
@@ -0,0 +1,74 @@
package com.jero.modules.project.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
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 com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
/**
* @Description: 项目库-项目名年号表
* @Author: jero-boot
* @Date: 2022-05-20
* @Version: V1.0
*/
@Data
@TableName("project_year_name_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="project_year_name_info对象", description="项目库-项目名年号表")
public class ProjectYearNameInfoEO implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@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 createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@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 updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**项目名id*/
@Excel(name = "项目名id", width = 15)
@ApiModelProperty(value = "项目名id")
private String projectNameId;
/**年款名称*/
@Excel(name = "年款名称", width = 15)
@ApiModelProperty(value = "年款名称")
private String yearName;
}
@@ -1,10 +1,10 @@
package com.jero.modules.project.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.project.entity.ProjectNameInfoEO;
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: 项目名信息表
@@ -13,5 +13,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @Version: V1.0
*/
public interface ProjectNameInfoEOMapper extends BaseMapper<ProjectNameInfoEO> {
@Select("select pni.id,pni.project_name,pnyi.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,13 @@
package com.jero.modules.project.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.modules.project.entity.ProjectYearNameInfoEO;
/**
* @Description: 项目库-项目名年号表
* @Author: jero-boot
* @Date: 2022-05-20
* @Version: V1.0
*/
public interface ProjectYearNameInfoEOMapper extends BaseMapper<ProjectYearNameInfoEO> {
}
@@ -5,6 +5,7 @@
<id column="id" property="id" />
<result column="project_name_id" property="projectNameId" />
<result column="year_name_id" property="yearNameId" />
<result column="target_market" property="targetMarket" />
<result column="project_status" property="projectStatus" />
<result column="studio_engineer" property="studioEngineer" />
@@ -26,6 +27,8 @@
plb.id,
plb.project_name_id,
pni.project_name as project_name,
pyni.id as year_name_id,
pyni.year_name,
plb.target_market,
plb.project_status,
plb.studio_engineer,
@@ -44,6 +47,7 @@
from project_library_base as plb
left join project_name_info as pni on plb.project_name_id=pni.id
left join sys_user as studiouser on plb.studio_engineer=studiouser.id
left join project_year_name_info as pyni on plb.year_name_id=pyni.id
</sql>
<select id="queryPageList" resultType="com.jero.modules.project.entity.ProjectLibraryBase">
@@ -161,14 +165,14 @@
</if>
<!--搜索条件:车型平台-->
<if test="projectLibraryBase.vehiclePlatform != null and projectLibraryBase.vehiclePlatform != '' ">
and plb.vehicle_platform like concat('%',#{projectLibraryBase.vehiclePlatform},'%')
</if>
<!-- <if test="projectLibraryBase.vehiclePlatform != null and projectLibraryBase.vehiclePlatform != '' ">-->
<!-- and plb.vehicle_platform like concat('%',#{projectLibraryBase.vehiclePlatform},'%')-->
<!-- </if>-->
<!--搜索条件:数字平台-->
<if test="projectLibraryBase.digitalPlatform != null and projectLibraryBase.digitalPlatform != '' ">
and plb.digital_platform like concat('%',#{projectLibraryBase.digitalPlatform},'%')
</if>
<!-- <if test="projectLibraryBase.digitalPlatform != null and projectLibraryBase.digitalPlatform != '' ">-->
<!-- and plb.digital_platform like concat('%',#{projectLibraryBase.digitalPlatform},'%')-->
<!-- </if>-->
</where>
order by plb.create_time desc
</select>
@@ -9,5 +9,7 @@
<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>
@@ -0,0 +1,14 @@
<?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.project.mapper.ProjectYearNameInfoEOMapper">
<resultMap id="ProjectYearNameInfoEOResultMap" type="com.jero.modules.project.entity.ProjectYearNameInfoEO">
<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_id" property="projectNameId" />
<result column="year_name" property="yearName" />
</resultMap>
</mapper>
@@ -61,7 +61,7 @@ public interface IConditionAssessmentEOService extends IService<ConditionAssessm
*
* @return
*/
List< ConditionAssessmentEO> queryList();
List< ConditionAssessmentEO> queryList(Map<String,Object> params);
/**
* 任务清单-项目状态评估表-添加或修改
@@ -59,5 +59,7 @@ public interface IProjectNameInfoEOService extends IService<ProjectNameInfoEO> {
*/
List<ProjectNameInfoEO> queryList();
String getYapiInfo();
void getSpaceInfo(String cut);
}
@@ -0,0 +1,61 @@
package com.jero.modules.project.service;
import com.jero.modules.project.entity.ProjectYearNameInfoEO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 项目库-项目名年号表
* @Author: jero-boot
* @Date: 2022-05-20
* @Version: V1.0
*/
public interface IProjectYearNameInfoEOService extends IService<ProjectYearNameInfoEO> {
/**
* 保存
*
* @param projectYearNameInfoEO
* @return
*/
void add(ProjectYearNameInfoEO projectYearNameInfoEO);
/**
* 更新
*
* @param projectYearNameInfoEO
* @return
*/
void editById(ProjectYearNameInfoEO projectYearNameInfoEO);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
ProjectYearNameInfoEO queryById(String id);
/**
* 列表查询
*
* @return
*/
List<ProjectYearNameInfoEO> queryList();
}
@@ -92,8 +92,12 @@ public class ConditionAssessmentEOServiceImpl extends ServiceImpl<ConditionAsses
* @return
*/
@Override
public List<ConditionAssessmentEO> queryList() {
return list();
public List<ConditionAssessmentEO> queryList(Map<String,Object> params) {
String projectLawsInventoryId = (String) params.get("projectLawsInventoryId");
QueryWrapper<ConditionAssessmentEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ConditionAssessmentEO::getProjectLawsInventoryId,projectLawsInventoryId);
List<ConditionAssessmentEO> conditionAssessmentEOS = super.baseMapper.selectList(queryWrapper);
return conditionAssessmentEOS;
}
@Override
@@ -10,9 +10,11 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectNameInfoEO;
import com.jero.modules.project.enums.*;
import com.jero.modules.project.mapper.ProjectLawsInventoryEOMapper;
import com.jero.modules.project.mapper.ProjectLibraryBaseMapper;
import com.jero.modules.project.mapper.ProjectNameInfoEOMapper;
import com.jero.modules.project.mapper.ProjectTaskInventoryEOMapper;
import com.jero.modules.project.service.IConditionAssessmentEOService;
import com.jero.modules.project.service.IProjectLibraryBaseService;
@@ -73,6 +75,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
@Autowired
private SysDictItemServiceImpl sysDictItemServiceImpl;
@Autowired
private ProjectNameInfoEOMapper projectNameInfoEOMapper;
/**
* 保存
*
@@ -88,6 +93,12 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
projectLibraryBase.setCreateBy(sysUser.getUsername());
projectLibraryBase.setUpdateBy(sysUser.getUsername());
String yearNameId = projectLibraryBase.getYearNameId();
String digitalPlatform = projectLibraryBase.getDigitalPlatform();
String vehiclePlatform = projectLibraryBase.getVehiclePlatform();
List<ProjectNameInfoEO> projectNameAndYear = projectNameInfoEOMapper.selectProjectNameAndYear();
// projectNameAndYear.stream().filter("year_id")
save(projectLibraryBase);
//创建任务计划时间轴
@@ -168,6 +179,11 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
IPage<ProjectLibraryBase> result = projectLibraryBaseMapper.queryPageList(page, params);
List<ProjectLibraryBase> records = result.getRecords();
disposeData(records);
for(ProjectLibraryBase projectLibraryBase: records){
if(StringUtils.isNotBlank(projectLibraryBase.getYearName())){
projectLibraryBase.setProjectName(projectLibraryBase.getProjectName() + "-" + projectLibraryBase.getYearName());
}
}
return result;
}
@@ -1,15 +1,23 @@
package com.jero.modules.project.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.project.entity.ProjectNameInfoEO;
import com.jero.modules.project.entity.ProjectYearNameInfoEO;
import com.jero.modules.project.mapper.ProjectNameInfoEOMapper;
import com.jero.modules.project.service.IProjectNameInfoEOService;
import com.jero.modules.space.service.SpaceServiceImpl;
import com.jero.modules.system.util.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
* @Description: 项目名信息表
@@ -19,8 +27,14 @@ import java.util.List;
*/
@Service
public class ProjectNameInfoEOServiceImpl extends ServiceImpl<ProjectNameInfoEOMapper, ProjectNameInfoEO> implements IProjectNameInfoEOService {
@Autowired
private SpaceServiceImpl spaceService;
@Autowired
private ProjectNameInfoEOMapper projectNameInfoEOMapper;
@Autowired
private SpaceServiceImpl spaceService;
@Autowired
private ProjectYearNameInfoEOServiceImpl projectYearNameInfoEOService;
/**
* 保存
*
@@ -28,12 +42,12 @@ private SpaceServiceImpl spaceService;
* @return
*/
@Override
public void add(ProjectNameInfoEO projectNameInfoEO) {
Date now = new Date();
projectNameInfoEO.setCreateTime(now);
projectNameInfoEO.setUpdateTime(now);
save(projectNameInfoEO);
}
public void add(ProjectNameInfoEO projectNameInfoEO) {
Date now = new Date();
projectNameInfoEO.setCreateTime(now);
projectNameInfoEO.setUpdateTime(now);
save(projectNameInfoEO);
}
/**
* 更新
@@ -42,11 +56,11 @@ private SpaceServiceImpl spaceService;
* @return
*/
@Override
public void editById(ProjectNameInfoEO projectNameInfoEO) {
Date now = new Date();
projectNameInfoEO.setUpdateTime(now);
saveOrUpdate(projectNameInfoEO);
}
public void editById(ProjectNameInfoEO projectNameInfoEO) {
Date now = new Date();
projectNameInfoEO.setUpdateTime(now);
saveOrUpdate(projectNameInfoEO);
}
/**
* 通过id删除
@@ -55,9 +69,9 @@ private SpaceServiceImpl spaceService;
* @return
*/
@Override
public void deleteById(String id) {
removeById(id);
}
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
@@ -66,9 +80,9 @@ private SpaceServiceImpl spaceService;
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
@@ -77,191 +91,241 @@ private SpaceServiceImpl spaceService;
* @return
*/
@Override
public ProjectNameInfoEO queryById(String id) {
return getById(id);
}
public ProjectNameInfoEO queryById(String id) {
return getById(id);
}
/**
/**
* 列表查询
*
* @return
*/
@Override
public List<ProjectNameInfoEO> queryList() {
return list();
}
@Override
public String getYapiInfo(){
String sign ="";
public List<ProjectNameInfoEO> queryList() {
List<ProjectNameInfoEO> projectNameAndYear = projectNameInfoEOMapper.selectProjectNameAndYear();
return projectNameAndYear;
}
@Override
public void getSpaceInfo(String cut){
String jsonData ="";
try {
// sign = spaceService.getSign();
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" +
"}";*/
String resultData = "{\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();
}return sign;
}
}
}
@@ -14,6 +14,7 @@ import com.jero.modules.project.util.SendMessageUtils;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -56,32 +57,39 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
public void add(JSONObject jsonObject) {
ProjectTaskInventoryDetailEO taskInventoryDetail = JSONObject.parseObject(JSONObject.toJSONString(jsonObject), ProjectTaskInventoryDetailEO.class);
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOList = new ArrayList<>();
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOAddList = new ArrayList<>();
List<ProjectTaskInventoryDetailEO> projectTaskInventoryDetailEOUpdateList = new ArrayList<>();
//分发工程师数组。
JSONArray distributionEngineerList = jsonObject.getJSONArray("distributionEngineerList");
ProjectTaskInventoryDetailEO projectTaskInventoryDetail = null;
for (Object distributionEngineer : distributionEngineerList) {
projectTaskInventoryDetail = JSONObject.parseObject(JSONObject.toJSONString(distributionEngineer), ProjectTaskInventoryDetailEO.class);
String id = UUID.randomUUID().toString().replace("-", "");
projectTaskInventoryDetail.setId(id);
projectTaskInventoryDetail.setActiProcInstId(taskInventoryDetail.getActiProcInstId());
projectTaskInventoryDetail.setFlowType(taskInventoryDetail.getFlowType());
projectTaskInventoryDetail.setMsgType(taskInventoryDetail.getMsgType());
projectTaskInventoryDetail.setProjectTaskInventoryId(taskInventoryDetail.getProjectTaskInventoryId());
projectTaskInventoryDetail.setStatus(taskInventoryDetail.getStatus());
projectTaskInventoryDetail.setTaskDefinitionKey(taskInventoryDetail.getTaskDefinitionKey());
projectTaskInventoryDetailEOList.add(projectTaskInventoryDetail);
//这个工程师被分发过.
if(StringUtils.isNotEmpty(projectTaskInventoryDetail.getId())){
projectTaskInventoryDetailEOUpdateList.add(projectTaskInventoryDetail);
}else {
String id = UUID.randomUUID().toString().replace("-", "");
projectTaskInventoryDetail.setId(id);
projectTaskInventoryDetailEOAddList.add(projectTaskInventoryDetail);
}
}
if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOList)){
if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOAddList)){
List<String> userIdList = new ArrayList<>();
List<String> createByList = new ArrayList<>();
List<ProjectTaskInventoryFeedbackEO> projectTaskInventoryFeedbackEOList = new ArrayList<>();
String serialNumber = projectTaskInventoryFeedbackEOService.createSerialNumber();
for (ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO : projectTaskInventoryDetailEOList) {
for (ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO : projectTaskInventoryDetailEOAddList) {
QueryWrapper<SysUser> sysUserQueryWrapper = new QueryWrapper<>();
sysUserQueryWrapper.lambda().eq(SysUser::getId,projectTaskInventoryDetailEO.getUserId());
List<SysUser> sysUserList = sysUserService.getBaseMapper().selectList(sysUserQueryWrapper);
@@ -119,9 +127,21 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl<Project
deleteWrapper.lambda().in(ProjectTaskInventoryDetailEO::getUserId,userIdList);
this.baseMapper.delete(deleteWrapper);
super.saveBatch(projectTaskInventoryDetailEOList);
super.saveBatch(projectTaskInventoryDetailEOAddList);
sendMessage(taskInventoryDetail,userIdList);
}
if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOUpdateList)){
for (ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO : projectTaskInventoryDetailEOUpdateList) {
ProjectTaskInventoryFeedbackEO projectTaskInventoryFeedbackEO = new ProjectTaskInventoryFeedbackEO();
projectTaskInventoryFeedbackEO.setDeliveryRequirements(projectTaskInventoryDetailEO.getDeliveryInstructions());
QueryWrapper<ProjectTaskInventoryFeedbackEO> updateWrapper = new QueryWrapper<>();
updateWrapper.lambda().eq(ProjectTaskInventoryFeedbackEO::getProjectTaskInventoryId,projectTaskInventoryDetailEO.getId());
projectTaskInventoryFeedbackEOService.update(projectTaskInventoryFeedbackEO,updateWrapper);
}
super.updateBatchById(projectTaskInventoryDetailEOUpdateList);
}
}
/**
@@ -0,0 +1,90 @@
package com.jero.modules.project.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.modules.project.entity.ProjectYearNameInfoEO;
import com.jero.modules.project.mapper.ProjectYearNameInfoEOMapper;
import com.jero.modules.project.service.IProjectYearNameInfoEOService;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* @Description: 项目库-项目名年号表
* @Author: jero-boot
* @Date: 2022-05-20
* @Version: V1.0
*/
@Service
public class ProjectYearNameInfoEOServiceImpl extends ServiceImpl<ProjectYearNameInfoEOMapper, ProjectYearNameInfoEO> implements IProjectYearNameInfoEOService {
/**
* 保存
*
* @param projectYearNameInfoEO
* @return
*/
@Override
public void add(ProjectYearNameInfoEO projectYearNameInfoEO) {
Date now = new Date();
projectYearNameInfoEO.setCreateTime(now);
projectYearNameInfoEO.setUpdateTime(now);
save(projectYearNameInfoEO);
}
/**
* 更新
*
* @param projectYearNameInfoEO
* @return
*/
@Override
public void editById(ProjectYearNameInfoEO projectYearNameInfoEO) {
Date now = new Date();
projectYearNameInfoEO.setUpdateTime(now);
saveOrUpdate(projectYearNameInfoEO);
}
/**
* 通过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 ProjectYearNameInfoEO queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<ProjectYearNameInfoEO> queryList() {
return list();
}
}
@@ -70,12 +70,20 @@ public class SpaceServiceImpl implements ISpaceService {
public String getSign() throws Exception {
Map<String,Object> paramMap = new HashMap<String, Object>();
paramMap.put("appId", appId);//在Program Space中注册的appId
paramMap.put("bizData", "{\"module\":\"GRP\"}");//业务参数
paramMap.put("timestamp", String.valueOf(System.currentTimeMillis()));//请求时间
paramMap.put("appId", appId);//在Program Space中注册的appId
String sign = sign(paramMap,appSecret);//签名字符串
paramMap.put("sign",sign);//签名字符串
// paramMap.put("appId", appId);//在Program Space中注册的appId
// paramMap.put("bizData", "{\"module\":\"GRP\"}");//业务参数
// paramMap.put("timestamp", "1652965354000");//请求时间
//
//// String sign = sign(paramMap,appSecret);//签名字符串
// paramMap.put("sign","148EF05BAB45F6D1213DA506D1D04E1B");//签名字符串
// String response = HttpUtil.post(domainUrl, paramMap);
String response = HttpRequest.post(domainUrl)
.header("Content-Type", "application/x-www-form-urlencoded")
@@ -14,16 +14,16 @@ server:
mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
management:
endpoints:
web:
exposure:
include: metrics,httptrace
endpoints:
web:
exposure:
include: metrics,httptrace
spring:
servlet:
multipart:
max-file-size: 500MB
max-request-size: 500MB
multipart:
max-file-size: 500MB
max-request-size: 500MB
mail:
host: smtp.163.com
username: test@163.com
@@ -131,19 +131,19 @@ spring:
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource:
master:
# url: jdbc:mysql://121.36.69.172:3307/laws_weilai_zhn?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
# username: root
# password: hzwlsoft.com
# driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://121.36.69.172:3307/laws_weilai_zhn?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
# username: root
# password: hzwlsoft.com
# driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://10.0.3.44:3306/jero-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
# url: jdbc:mysql://10.10.10.44:3306/laws_weilai_test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
# username: root
# password: 123456
# driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://10.0.3.44:3306/jero-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
# url: jdbc:mysql://10.10.10.44:3306/laws_weilai_test?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
# username: root
# password: 123456
# driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://121.36.69.172:3307/laws_weilai?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
# url: jdbc:mysql://121.36.69.172:3307/laws_weilai_zhn?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
# url: jdbc:mysql://121.36.69.172:3307/laws_weilai_zhn?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: hzwlsoft.com
driver-class-name: com.mysql.cj.jdbc.Driver
@@ -252,7 +252,7 @@ jero :
port: 30007
logPath: logs/jero/job/jobhandler/
logRetentionDays: 30
#自定义路由配置 yml nacos database
#自定义路由配置 yml nacos database
route:
config:
data-id: jero-gateway-router
@@ -310,10 +310,10 @@ justauth:
# 云端OCR识别集成配置参数
OCR:
#请求OCR转换接口
# handleFileUrl: https://sws.trans-cosmos.com.cn/WebService.asmx/FileConversion
# handleFileUrl: https://sws.trans-cosmos.com.cn/WebService.asmx/FileConversion
handleFileUrl: http://61.136.1.103:8091/WebService.asmx/FileConversion
# OCR回调接口地址 配置客户本地的IP及端口号
# callBackUrl: http://139.9.235.66:9110//api/ocr/OCRRestful/OcrHandleResult
# callBackUrl: http://139.9.235.66:9110//api/ocr/OCRRestful/OcrHandleResult
callBackUrl: http://139.9.235.66:9022/local-tool/ocr/ocrHandleResult
# OCR认证用户
userId: dayuzhou1234
@@ -391,8 +391,8 @@ Feishu:
appSecret: DSfCrj70xku2VUjqwHBIuuY6HZnz7ppe
# 正式
# appId: cli_a2a1a6014679500d
# appSecret: AeHwisC82S0fhiREJg6bkdxhIZMevnZZ
# appId: cli_a2a1a6014679500d
# appSecret: AeHwisC82S0fhiREJg6bkdxhIZMevnZZ
getTenantAccessTokenUrl: https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal
batchSendMessageUrl: https://open.feishu.cn/open-apis/message/v4/batch_send/
local-tool:
@@ -407,25 +407,25 @@ opensso:
---
## space系统
## space系统
Space:
# dev
# appId: PMP16517425636482D4A
# appSecret: 6a689580-bf3a-47ee-b3c5-a16d2312760d
# domainUrl: https://api-plm-portal-dev.nioint.com/api/v1/plm-portal-middle-integration
# appId: PMP16517425636482D4A
# appSecret: 6a689580-bf3a-47ee-b3c5-a16d2312760d
# domainUrl: https://api-plm-portal-dev.nioint.com/api/v1/plm-portal-middle-integration/integration/api/common/queryModelByModule
# test
appId: PMP16521484118670676
appSecret: 4cf1b271-0c12-443d-964c-e61726b4ae0e
domainUrl: https://api-plm-portal-test.nioint.com/api/v1/plm-portal-middle-integration
domainUrl: https://api-plm-portal-test.nioint.com/api/v1/plm-portal-middle-integration/integration/api/common/queryModelByModule
# stg
# appId: PMP1652840272275F20C
# appSecret: fbf65763-a273-4df5-8a91-ef4db6d6e315
# domainUrl: https://api-plm-portal-stg.nioint.com/api/v1/plm-portal-middle-integration
# appId: PMP1652840272275F20C
# appSecret: fbf65763-a273-4df5-8a91-ef4db6d6e315
# domainUrl: https://api-plm-portal-stg.nioint.com/api/v1/plm-portal-middle-integration/integration/api/common/queryModelByModule
# prod
# appId: PMP1652840319523B159
# appSecret: d3bf6e69-0726-42ee-91bd-0441a8f6ccdf
# domainUrl: https://api-plm-portal.nioint.com/api/v1/plm-portal-middle-integration
# domainUrl: https://api-plm-portal.nioint.com/api/v1/plm-portal-middle-integration/integration/api/common/queryModelByModule
+6
View File
@@ -862,4 +862,10 @@ module.exports = {
fillInProjectDelivery:'Fill in project delivery',
Resubmit:'Resubmit',
Quantity:'Quantity',
pleaseConfirmationResults:'Please select the compliance status according to the engineering confirmation results',
pleaseReviewTask:'Please add the engineering confirmation information for this review task',
pleaseWillBeReturned:'Please reconfirm the project confirmation results and the review results of the responsible person. If they meet the requirements, they will be submitted, otherwise they will be returned',
pleaseSubmitStatus:'Please submit the data confirmed by the project in the confirmation status',
modelName:'Model Name',
modelYear:'Model year',
}
+8 -2
View File
@@ -596,11 +596,11 @@ module.exports = {
certificationType: '认证类型',
certificationLevel: '认证级别',
areaOfResponsibility: '责任领域',
confirmationOfDesignConformity: '设计符合性确认',
confirmationOfDesignConformity: '法规设计符合性确认',
Deliverables: '交付物',
personLiable: '责任人',
PrehomoConfirmation: 'Pre-Homo确认',
verificationAndConformityconfirmation: '验证符合性确认',
verificationAndConformityconfirmation: '法规验证符合性确认',
StandardImplementationDate: '标准实施日期',
regulatoryEngineer: '法规工程师',
certifiedEngineer: '认证工程师',
@@ -867,4 +867,10 @@ module.exports = {
fillInProjectDelivery:'填写工程交付',
Resubmit:'重新提交',
Quantity:'数量',
pleaseConfirmationResults:'请根据工程确认结果选择符合性状态',
pleaseReviewTask:'请您添加对该条审查任务的工程确认信息',
pleaseWillBeReturned:'请对工程确认结果和责任人审查结果进行再次确认若符合要求则进行提交否则进行退回',
pleaseSubmitStatus:'请把工程确认的数据都点为确认状态进行提交',
modelName:'车型名称',
modelYear:'年款',
}
@@ -3,6 +3,8 @@
<div class="box-text">
<div class="header-text">
{{$t('engineeringConfirmation')}}
<a-icon :title="$t('pleaseReviewTask')"
type="question-circle" />
</div>
</div>
<div class="header-content">
@@ -47,13 +49,12 @@
</span>
<span slot="operation" slot-scope="result">
<a class="text"
v-if="$route.query.TaskKey == 'zrrclrw' || $route.query.TaskKey == 'dreDispose'"
:disabled="!result.createUser"
v-if="$route.query.TaskKey == 'zrrclrw' && result.createUser"
@click="edit(result,$t('edit'))">
{{$t('edit')}}
</a>
<a class="text"
v-if="$route.query.TaskKey == 'zrrclrw' && result.status"
v-if="$route.query.TaskKey == 'zrrclrw' && result.status && !result.createUser"
:disabled="!result.status"
@click="confirm(result)">
<span v-if="result.status == 'NotDone'">
@@ -64,13 +65,12 @@
</span>
</a>
<a class="text"
v-if="$route.query.TaskKey == 'zrrclrw'"
v-if="$route.query.TaskKey == 'zrrclrw' && result.status != 'haveDone' && !result.createUser"
@click="answerClick(result,$t('replyFromProjectContactPerson'))">
{{$t('answer')}}
</a>
<a class="text"
v-if="$route.query.TaskKey == 'zrrclrw' || $route.query.TaskKey == 'dreDispose'"
:disabled="!result.createUser"
v-if="$route.query.TaskKey == 'zrrclrw' && result.createUser"
@click="deleted(result)">
{{$t('deleteLib')}}
</a>
@@ -394,11 +394,8 @@
columnsAll: [
{
title: 'ID',
dataIndex: 'index',
key: 'index',
dataIndex: 'serialNumber',
align: 'left',
width: 140,
customRender: (text, record, index) => `${index + 1}`
},
{
title: this.$t('completedBy'),
@@ -435,7 +432,7 @@
{
title: this.$t('operation'),
align: 'left',
width: 300,
width: 160,
scopedSlots: { customRender: 'operation' }
}
],
@@ -617,6 +614,7 @@
}
this.formInline.userId = userId.join(',')
this.formInline.userName = userName.join(',')
this.formInline = {...this.formInline}
}
this.loadingTable = false
} else {
@@ -4,10 +4,13 @@
<div class="header-text">
{{$route.query.TaskKey == 'zrrclrw' || $route.query.TaskKey == 'fqrsh'
? $t('personLiableConfirm'):$t('fillInProjectDelivery')}}
<a-icon :title="$route.query.TaskKey == 'zrrclrw'?$t('pleaseConfirmationResults'):$t('pleaseReviewTask')"
v-if="$route.query.TaskKey == 'zrrclrw'"
type="question-circle"/>
</div>
</div>
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24" v-if="$route.query.TaskKey == 'zrrclrw'">
<a-row :gutter="24" v-if="$route.query.TaskKey == 'zrrclrw' && $route.query.isDisplay">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
@@ -36,7 +39,7 @@
</div>
</a-col>
</a-row>
<a-row :gutter="24" v-if="$route.query.TaskKey == 'zrrclrw'">
<a-row :gutter="24" v-if="$route.query.TaskKey == 'zrrclrw' && $route.query.isDisplay">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
@@ -103,7 +106,8 @@
</div>
</a-col>
</a-row>
<a-row :gutter="24" v-if="$route.query.TaskKey == 'fqrsh'">
<a-row :gutter="24"
v-if="($route.query.TaskKey == 'fqrsh') || ($route.query.TaskKey == 'zrrclrw' && !$route.query.isDisplay)">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text-fq">
@@ -117,7 +121,8 @@
</div>
</a-col>
</a-row>
<a-row :gutter="24" v-if="$route.query.TaskKey == 'fqrsh'">
<a-row :gutter="24"
v-if="($route.query.TaskKey == 'fqrsh') || ($route.query.TaskKey == 'zrrclrw' && !$route.query.isDisplay)">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text-fq">
@@ -125,18 +130,20 @@
</div>
<a-form-model-item class="itemModel">
<span class="text-header">
{{formInline.approvalOpinion}}
{{formInline.PersonChargeFeedback}}
</span>
</a-form-model-item>
</div>
</a-col>
</a-row>
<div class="box-text" v-if="$route.query.TaskKey == 'fqrsh'">
<div class="box-text" v-if="$route.query.TaskKey == 'fqrsh' && this.$route.query.isDisplay">
<div class="header-text">
{{$t('sponsorReview')}}
<a-icon :title="$t('pleaseWillBeReturned')"
type="question-circle"/>
</div>
</div>
<a-row :gutter="24" v-if="$route.query.TaskKey == 'fqrsh'">
<a-row :gutter="24" v-if="$route.query.TaskKey == 'fqrsh' && this.$route.query.isDisplay">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
@@ -221,7 +228,7 @@
this.$route.query.isDisplay = JSON.parse(this.$route.query.isDisplay)
if (this.queryBy && this.$route.query.TaskKey == 'fqrsh') {
this.formInline.reviewResult = this.queryBy.reviewResult || undefined
this.formInline.approvalOpinion = this.queryBy.approvalOpinion
this.formInline.PersonChargeFeedback = this.$route.query.PersonChargeFeedback
this.formInline = { ...this.formInline }
}
if (this.queryPersonInCharge && this.$route.query.TaskKey == 'dreDispose') {
@@ -231,9 +238,11 @@
this.formInline = { ...this.formInline }
}
if (this.queryBy && this.$route.query.TaskKey == 'zrrclrw') {
this.formInline.reviewResult = this.queryBy.reviewResult || undefined
this.formInline.approvalOpinion = this.queryBy.approvalOpinion
this.formInline = { ...this.formInline }
if (!this.$route.query.isDisplay) {
this.formInline.reviewResult = this.queryBy.reviewResult || undefined
this.formInline.approvalOpinion = this.$route.query.PersonChargeFeedback
this.formInline = { ...this.formInline }
}
}
},
methods: {
@@ -45,37 +45,30 @@
{
title: this.$t('operationNode'),
dataIndex: 'name',
align: 'left',
width:'20%',
align: 'left'
},
{
title: this.$t('Operator'),
dataIndex: 'assignee',
align: 'left',
width:'20%',
align: 'left'
},
{
title: this.$t('result'),
dataIndex: 'reviewResult',
align: 'left',
width:'20%',
scopedSlots: { customRender: 'reviewResult' }
},
{
title: this.$t('opinion'),
dataIndex: 'approvalOpinion',
align: 'left',
width:'20%',
align: 'left'
},
{
title: this.$t('operationTime'),
dataIndex: 'operatorTime',
dataIndex: 'createTime',
align: 'left',
width:200,
fixed: 'right',
customRender: function(t, r, index) {
return moment(t).format('YYYY-MM-DD HH:mm:ss')
}
width: 200,
fixed: 'right'
}
],
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download'
@@ -258,18 +258,25 @@
this.loading = true
res.operatorTime = operatorTime
if (this.$route.query.TaskKey == 'dreDispose') {
let dataSource = this.$refs.engineeringConfirmationRef.dataSource
let isTrue
for (let i = 0; i < dataSource.length; i++) {
if (dataSource[i].status == 'status' || !dataSource[i].status) {
this.dreSubmit(res)
} else {
if (this.$route.query.TaskKey == 'zrrclrw') {
let dataSource = this.$refs.engineeringConfirmationRef.dataSource
let isTrue
for (let i = 0; i < dataSource.length; i++) {
if (dataSource[i].status == 'haveDone' || !dataSource[i].status) {
isTrue = true
} else {
isTrue = false
this.$message.warning(this.$t('pleaseSubmitStatus'))
this.loading = false
return
}
}
if (isTrue) {
this.completeTask(res)
}
}
if (isTrue) {
this.dreSubmit(res)
}
} else {
this.completeTask(res)
}
})
},
@@ -306,7 +306,7 @@ export default {
methods:{
// 判断是否有权限 认证工程师 待发起收集
// 添加 批量删除 下发收集 冻结配置 工程接口人列修改
permission() {
permissionmoAndinitiated() {
// 判断是否具有提交权限
// 认证工程师
// 定义开关 0为没有权限 1为有权限
@@ -429,9 +429,9 @@ export default {
},
// 下发收集
distributionAndCollection() {
// 先判断是否有权限
let permission = this.permission()
if(permission) {
// 先判断是否有权限 认证工程师 待发起收集
let permissionmoAndinitiated = this.permissionmoAndinitiated()
if(permissionmoAndinitiated) {
let _array = []
this.selectedRowKeysValue.forEach((item, index) => {
_array.push(item.id)
@@ -472,9 +472,9 @@ export default {
},
// 添加
handleAdd() {
// 先判断是否有权限
let permission = this.permission()
if(permission) {
// 先判断是否有权限 认证工程师 待发起收集
let permissionmoAndinitiated = this.permissionmoAndinitiated()
if(permissionmoAndinitiated) {
this.areaVisible = true
}
},
@@ -617,9 +617,9 @@ export default {
this.$refs.CollectionTabel.getTableListReset()
},
handleDel(){
// 先判断是否有权限
let permission = this.permission()
if(permission) {
// 先判断是否有权限 认证工程师 待发起收集
let permissionmoAndinitiated = this.permissionmoAndinitiated()
if(permissionmoAndinitiated) {
let param={
ids: this.selectedRowKeysArray
}
@@ -211,14 +211,16 @@
'Non-Compliance': 'nonConformityColor',
'To be tracked': 'TrackedColor',
'NA': 'notInvolvedColor',
'No rating': 'submittedColor'
'No rating': 'submittedColor',
'Termination of task': 'nonConformityColor',
},
statusText: {
'Compliance': this.$t('accord'),
'Non-Compliance': this.$t('nonConformity'),
'To be tracked': this.$t('Tracked'),
'NA': this.$t('notInvolved'),
'No rating': this.$t('toBeConfirmed')
'No rating': this.$t('toBeConfirmed'),
'Termination of task': this.$t('taskTermination'),
},
CertificationColor: {
'Test passed': 'accordColor',
@@ -296,7 +298,8 @@
remarks: 'designRemark',
projectName: this.$route.query.projectName,
projectNameId: this.$route.query.projectNameId,
primaryKeyId: val.designTaskDetailId
primaryKeyId: val.designTaskDetailId,
PersonChargeFeedback:val.designPersonChargeFeedback,
}
break
case 2:
@@ -319,7 +322,8 @@
remarks: 'prehomoRemark',
projectName: this.$route.query.projectName,
projectNameId: this.$route.query.projectNameId,
primaryKeyId: val.prehomoTaskDetailId
primaryKeyId: val.prehomoTaskDetailId,
PersonChargeFeedback:val.prehomoPersonChargeFeedback,
}
break
case 3:
@@ -342,7 +346,8 @@
remarks: 'verifyRemark',
projectName: this.$route.query.projectName,
projectNameId: this.$route.query.projectNameId,
primaryKeyId: val.verifyTaskDetailId
primaryKeyId: val.verifyTaskDetailId,
PersonChargeFeedback:val.verifyPersonChargeFeedback,
}
break
}
@@ -47,7 +47,7 @@
</div>
</a-col>
<a-col :span="24" v-if="title == $t('CurrentProjectStatusEvaluation')">
<a-col :span="24" v-if="title == $t('CurrentProjectStatusEvaluation') && this.formInline.roleCode != '0'">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
@@ -84,7 +84,7 @@
</div>
</a-col>
<a-col :span="24" v-if="title == $t('CurrentProjectStatusEvaluation')">
<a-col :span="24" v-if="title == $t('CurrentProjectStatusEvaluation') && this.formInline.roleCode != '0'">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
@@ -98,13 +98,68 @@
</a-form-model-item>
</div>
</a-col>
<div v-for="item in studioList" v-if="title == $t('CurrentProjectStatusEvaluation') && formInline.roleCode == '0'">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('CurrentProjectStatusEvaluation')">{{$t('CurrentProjectStatusEvaluation')}}</span>
</div>
<a-form-model-item class="itemModel" prop="conditionAssessment">
<a-select
:disabled="disabled"
v-model="item.conditionAssessment"
:placeholder="$t('PleaseSelect')+$t('CurrentProjectStatusEvaluation')">
<a-select-option :value="'1'">
<span style="display: inline-block;width: 100%">
{{ $t('red') }}
</span>
</a-select-option>
<a-select-option :value="'2'">
<span style="display: inline-block;width: 100%">
{{ $t('yellow') }}
</span>
</a-select-option>
<a-select-option :value="'3'">
<span style="display: inline-block;width: 100%">
{{ $t('green') }}
</span>
</a-select-option>
<a-select-option :value="'4'">
<span style="display: inline-block;width: 100%">
{{ $t('blue') }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('remarks')">{{$t('remarks')}}</span>
</div>
<a-form-model-item class="itemModel" prop="remark">
<a-textarea
:placeholder="$t('remarks')"
:disabled="disabled"
v-model="item.remark" :rows="4"/>
</a-form-model-item>
</div>
</a-col>
</div>
</a-row>
</a-form-model>
</a-modal>
</template>
<script>
import { postAction, putAction } from '@/api/manage'
import { postAction, putAction, getAction } from '@/api/manage'
export default {
name: 'TaskListModel',
@@ -115,10 +170,12 @@
title: this.$t('CertificationProgress'),
visible: false,
confirmLoading: false,
studioList: [],
disabled: false,
url: {
edit: '/project/projectTaskInventoryEO/edit',
addOrUpdate: '/project/projectTaskInventoryConditionAssessmentEO/addOrUpdate'
addOrUpdate: '/project/projectTaskInventoryConditionAssessmentEO/addOrUpdate',
list: '/project/projectTaskInventoryConditionAssessmentEO/list'
}
}
},
@@ -135,6 +192,9 @@
if (val.roleCode == '2' || val.roleCode == '4' || val.roleCode == '1') {
this.disabled = false
} else {
if (val.roleCode == '0') {
this.getList(val)
}
this.disabled = true
}
} else {
@@ -144,12 +204,20 @@
this.disabled = true
}
}
console.log(val.conditionAssessment)
this.formInline = val
this.$nextTick(() => {
this.$refs.ruleForm.clearValidate()
})
},
getList(val) {
getAction(this.url.list, { projectLawsInventoryId: val.projectLawsInventoryId }).then((res) => {
if (res.success) {
this.studioList = res.result || []
} else {
this.studioList = []
}
})
},
handleInput(value) {
this.$nextTick(() => {
this.formInline = { ...this.formInline }
@@ -15,10 +15,10 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('entryName')">{{$t('entryName')}}</span>
<span class="title-text-text" :title="$t('modelName')">{{$t('modelName')}}</span>
</div>
<a-form-model-item class="itemModel" prop="projectNameId">
<a-select :placeholder="$t('PleaseSelect')+$t('entryName')"
<a-select :placeholder="$t('PleaseSelect')+$t('modelName')"
@change="projectNameChange"
v-model="formInline.projectNameId">
<a-select-option v-for="(item, key) in projectNameList"
@@ -32,6 +32,28 @@
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('modelYear')">{{$t('modelYear')}}</span>
</div>
<a-form-model-item class="itemModel" prop="yearName">
<a-select :placeholder="$t('PleaseSelect')+$t('modelYear')"
v-model="formInline.yearName">
<a-select-option v-for="(item, key) in projectNameList"
:key="key"
:value="item.id">
<span style="display: inline-block;width: 100%" :title=" item.projectName ">
{{ item.projectName}}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
@@ -47,8 +69,6 @@
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
@@ -65,6 +85,8 @@
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
@@ -81,8 +103,6 @@
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
@@ -98,38 +118,36 @@
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('ModelPlatform')">{{$t('ModelPlatform')}}</span>
</div>
<a-form-model-item class="itemModel" prop="vehiclePlatform">
<j-dict-select-tag class="box-input" v-model="formInline.vehiclePlatform"
:disabled="disabled"
@input="handleInput('vehiclePlatform')"
:placeholder="$t('PleaseSelect')+$t('ModelPlatform')"
:type="'select'"
:triggerChange="false" :dictCode="'vehicle_platform'"/>
<a-input class="box-input"
:disabled="disabled"
v-model="formInline.vehiclePlatform"
:placeholder="$t('PleaseEnter')+$t('ModelPlatform')"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('DigitalPlatform')">{{$t('DigitalPlatform')}}</span>
</div>
<a-form-model-item class="itemModel" :prop="'digitalPlatform'">
<j-dict-select-tag class="box-input" v-model="formInline.digitalPlatform"
:disabled="disabled"
@input="handleInput('digitalPlatform')"
:placeholder="$t('PleaseSelect')+$t('DigitalPlatform')"
:type="'select'"
:triggerChange="false" :dictCode="'digital_platform'"/>
<a-input class="box-input"
:disabled="disabled"
v-model="formInline.digitalPlatform"
:placeholder="$t('PleaseEnter')+$t('DigitalPlatform')"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
@@ -145,8 +163,6 @@
<!-- ^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&amp;%\$#_]*)?$
-->
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
@@ -161,6 +177,8 @@
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
@@ -234,6 +252,20 @@
trigger: 'blur'
}
],
vehiclePlatform:[
{
max: 100,
message: this.$t('ModelPlatform') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
trigger: 'blur'
}
],
digitalPlatform:[
{
max: 100,
message: this.$t('DigitalPlatform') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
trigger: 'blur'
}
],
projectNameId: [
{
required: true,
@@ -241,6 +273,13 @@
trigger: 'change'
}
],
yearName: [
{
required: true,
message: this.$t('modelYear') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
targetMarket: [
{
required: true,
@@ -270,6 +309,7 @@
},
mounted() {
this.getNameList()
this.getSpaceInfo()
},
methods: {
...mapGetters(['userInfo']),
@@ -282,10 +322,21 @@
}
})
},
getSpaceInfo() {
postAction('/project/projectNameInfoEO/getSpaceInfo', {}).then((res) => {
if (res.success) {
// this.projectNameList = res.result || []
} else {
this.projectNameList = []
}
})
},
addModel() {
this.visible = true
this.title = this.$t('add')
this.formInline = {}
this.getNameList()
this.getSpaceInfo()
this.formInline.studioEngineerName = this.userInfo().username
this.formInline.studioEngineer = this.userInfo().id
this.$nextTick(() => {
@@ -458,7 +509,7 @@
padding: 10px 16px;
text-align: right;
left: 0;
z-index:100;
z-index: 100;
background: #fff;
border-radius: 0 0 2px 2px;
}