Merge remote-tracking branch 'origin/master'

This commit is contained in:
wangzhijiang
2022-05-17 19:28:40 +08:00
25 changed files with 1186 additions and 241 deletions
@@ -195,6 +195,37 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
return Result.OK(historyVersionList);
}
/**
* 查询所有项目的所有参数清单
* 分页
* @param
* @return
*/
@AutoLog(value = "参数清单-查询所有项目的所有参数清单")
@ApiOperation(value="参数清单-查询所有项目的所有参数清单", notes="参数清单-查询所有项目的所有参数清单")
@GetMapping(value = "/getAllManifest")
public Result<?> getAllManifest(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="projectName",required=false) String projectName) {
IPage page = new Page(pageNo, pageSize);
IPage paramsManifestVOPage = paramsManifestEOService.getAllManifest(page, projectName);
return Result.OK(paramsManifestVOPage);
}
/**
* 复制清单
* 分页
* @param
* @return
*/
@AutoLog(value = "参数清单-复制清单")
@ApiOperation(value="参数清单-复制清单", notes="参数清单-复制清单")
@PostMapping(value = "/copy")
public Result<?> copy(ParamsManifestEO paramsManifestEO,
@RequestParam(name="sourceManifestId",required=true) String sourceManifestId) {
ParamsManifestEO manifestEO = paramsManifestEOService.copy(paramsManifestEO, sourceManifestId);
return Result.OK(manifestEO);
}
@@ -14,7 +14,6 @@ import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.List;
/**
@@ -71,8 +70,8 @@ public class ParamsManifestEO implements Serializable {
private String state;
/**收集完成时间*/
@Excel(name = "收集完成时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@Excel(name = "收集完成时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "收集完成时间")
private java.util.Date finishTime;
@@ -13,4 +13,9 @@ import org.apache.ibatis.annotations.Param;
*/
public interface ParamsManifestEOMapper extends BaseMapper<ParamsManifestEO> {
IPage pageInfo(@Param("page") IPage page, @Param("paramsManifestEO") ParamsManifestEO paramsManifestEO);
IPage pageInfoAll(@Param("projectName") String projectName,
@Param("state") String state,
IPage page);
}
@@ -17,6 +17,13 @@
<result column="params_template_publish_version" property="paramsTemplatePublishVersion" />
<result column="params_template_name" property="paramsTemplateName" />
</resultMap>
<resultMap id="ParamsManifestEOResultMapForCopy" type="com.jero.modules.cert.collect.vo.ParamsManifestVO">
<id column="id" property="id" />
<result column="title" property="title" />
<result column="project_id" property="projectId" />
<result column="project_name" property="projectName" />
<result column="state" property="state" />
</resultMap>
<sql id="BaseColumnList">
pm.id as id,
@@ -55,4 +62,22 @@
) tmp_tb
<include refid="BaseQuerySql"/>
</select>
<select id="pageInfoAll" resultMap="ParamsManifestEOResultMapForCopy">
select tmp_tb.* from(
select
pm.id as id,
pm.title as title,
pm.project_id as project_id,
pm.state as state,
pni.project_name as project_name
from params_manifest pm
left join project_library_base as plb on plb.id = pm.project_id
left join project_name_info as pni on plb.project_name_id = pni.id
) tmp_tb
where 1=1 and state = #{state}
<if test="projectName !=null and projectName !=''">
AND project_name LIKE CONCAT(CONCAT('%',#{projectName}),'%')
</if>
</select>
</mapper>
@@ -74,4 +74,8 @@ public interface IParamsManifestEOService extends IService<ParamsManifestEO> {
boolean changeExtension(String id);
List<ParamsManifestHistoryVO> getHistoryVersionList(String title);
IPage getAllManifest(IPage page, String projectName);
ParamsManifestEO copy(ParamsManifestEO paramsManifestEO, String sourceManifestId);
}
@@ -594,34 +594,51 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
}
paramsConfigDataEO.setParamsCollectManifestId(paramsCollectManifestId);
paramsConfigDataEO.setParamsConfigId(paramsConfigEOId);
for (Map<String, Object> paramsConfigDataVO : paramsConfigDataVOList) {
String type = (String) paramsConfigDataVO.get("type");
String dataValue = (String) paramsConfigDataVO.get("dataValue");
if (CollectionUtil.isNotEmpty(paramsConfigDataVOList)) {
for (Map<String, Object> paramsConfigDataVO : paramsConfigDataVOList) {
String type = (String) paramsConfigDataVO.get("type");
String dataValue = (String) paramsConfigDataVO.get("dataValue");
if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) {
paramsConfigDataEO.setTextData(dataValue);
if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) {
paramsConfigDataEO.setTextData(dataValue);
} else if (type.equals(ConfigDataTypeEnum.PULL.getValue())
} else if (type.equals(ConfigDataTypeEnum.PULL.getValue())
|| type.equals(ConfigDataTypeEnum.PULL_MORE.getValue())) {
paramsConfigDataEO.setPullData(dataValue);
paramsConfigDataEO.setPullData(dataValue);
} else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) {
if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) {
// 处理文件connectId
String[] fileIdList = dataValue.split(",");
String connectId = UUID.randomUUID().toString().replace("-", "");
List<OSSFile> updateFileList = new ArrayList<>();
for (int i = 0; i < fileIdList.length; i++) {
OSSFile ossFile = new OSSFile();
ossFile.setId(fileIdList[i]);
ossFile.setConnectId(connectId);
updateFileList.add(ossFile);
} else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) {
if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) { // 新加多个文件
// 处理文件connectId
String[] fileIdList = dataValue.split(",");
String connectId = UUID.randomUUID().toString().replace("-", "");
List<OSSFile> updateFileList = new ArrayList<>();
for (int i = 0; i < fileIdList.length; i++) {
OSSFile ossFile = new OSSFile();
ossFile.setId(fileIdList[i]);
ossFile.setConnectId(connectId);
updateFileList.add(ossFile);
}
ossFileService.updateBatchById(updateFileList);
dataValue = connectId;
} else if (StringUtils.isNotEmpty(dataValue) && !dataValue.contains(",")) {
List<OSSFile> ossFiles = ossFileService.getFileInfosByConnectId(dataValue);
if(CollectionUtil.isEmpty(ossFiles)){ // 新加了一个文件
String connectId = UUID.randomUUID().toString().replace("-", "");
//修改文件表关联信息connect_id
List<OSSFile> oSSFileList = new ArrayList<>();
for (String fileId : dataValue.split(",")) {
OSSFile ossFile = new OSSFile();
ossFile.setId(fileId);
ossFile.setConnectId(connectId);
oSSFileList.add(ossFile);
}
ossFileService.updateFileInfo(oSSFileList);
dataValue = connectId;
}
}
ossFileService.updateBatchById(updateFileList);
dataValue = connectId;
}
paramsConfigDataEO.setFileConnectId(dataValue);
paramsConfigDataEO.setFileConnectId(dataValue);
}
}
}
newConfigDataEOList.add(paramsConfigDataEO);
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO;
import com.jero.modules.cert.collect.entity.ParamsConfigDataEO;
import com.jero.modules.cert.collect.entity.ParamsConfigEO;
import com.jero.modules.cert.collect.entity.ParamsManifestEO;
import com.jero.modules.cert.collect.enums.CollectManifestChangeFlagEnum;
@@ -15,10 +16,7 @@ import com.jero.modules.cert.collect.enums.ManifestStateEnum;
import com.jero.modules.cert.collect.mapper.ParamsCollectManifestEOMapper;
import com.jero.modules.cert.collect.mapper.ParamsConfigEOMapper;
import com.jero.modules.cert.collect.mapper.ParamsManifestEOMapper;
import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService;
import com.jero.modules.cert.collect.service.IParamsConfigDataEOService;
import com.jero.modules.cert.collect.service.IParamsManifestEOService;
import com.jero.modules.cert.collect.service.IParamsManifestHistoryEOService;
import com.jero.modules.cert.collect.service.*;
import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO;
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
@@ -75,6 +73,9 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
@Autowired
private IParamsManifestHistoryEOService paramsManifestHistoryEOService;
@Autowired
private IParamsConfigEOService paramsConfigEOService;
/**
@@ -133,9 +134,12 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
*/
@Override
public boolean editById(ParamsManifestEO paramsManifestEO) {
ParamsManifestEO updateEO = new ParamsManifestEO();
updateEO.setId(paramsManifestEO.getId());
updateEO.setTitle(paramsManifestEO.getTitle());
Date now = new Date();
paramsManifestEO.setUpdateTime(now);
return updateById(paramsManifestEO);
updateEO.setUpdateTime(now);
return updateById(updateEO);
}
/**
@@ -343,4 +347,135 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
return paramsManifestHistoryEOService.getHistoryVersionList(title);
}
@Override
public IPage getAllManifest(IPage page, String projectName) {
IPage rows = paramsManifestEOMapper.pageInfoAll(projectName, ManifestStateEnum.FINISHED.getValue(), page);
return rows;
}
@Override
public ParamsManifestEO copy(ParamsManifestEO paramsManifestEO, String sourceManifestId) {
String paramsTemplateId = paramsManifestEO.getParamsTemplateId();
int paramsTemplatePublishVersion = paramsManifestEO.getParamsTemplatePublishVersion();
// 查询所有模板参数项
List<ParamsInfoPublishEO> paramsInfoPublishEOList = paramsInfoPublishEOService.getListByPublishVersion(paramsTemplateId, paramsTemplatePublishVersion);
// 查询所有清单参数项
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
paramsCollectManifestEO.setParamsManifestId(sourceManifestId);
List<ParamsCollectManifestEO> paramsCollectManifestEOList = paramsCollectManifestEOMapper.listInfo(paramsCollectManifestEO);
// 查询清单配置
List<ParamsConfigEO> paramsConfigEOList = paramsConfigEOService.queryList(sourceManifestId);
// 定义
Map<String, String> configIdMap = new HashMap<>(); // 旧-新配置id对应关系
List<ParamsCollectManifestEO> addCollectManifestEOList = new ArrayList<>(); // 需要添加的参数项
List<ParamsConfigEO> addConfigEOList = new ArrayList<>(); // 需要添加的配置
List<ParamsConfigDataEO> addConfigDataEOList = new ArrayList<>(); // 需要添加的配置数据
String addManifestId = UUID.randomUUID().toString().replace("-",""); // 参数清单id
// 配置: 复制清单的
for (ParamsConfigEO configEO : paramsConfigEOList) {
ParamsConfigEO addConfigEO = new ParamsConfigEO();
BeanUtils.copyProperties(configEO, addConfigEO);
String addConfigId = UUID.randomUUID().toString().replace("-", "");
addConfigEO.setId(addConfigId);
addConfigEO.setParamsManifestId(addManifestId);
addConfigEO.setCreateBy(null);
addConfigEO.setCreateTime(null);
addConfigEO.setUpdateBy(null);
addConfigEO.setUpdateTime(null);
addConfigEO.setSysOrgCode(null);
addConfigEOList.add(addConfigEO);
configIdMap.put(configEO.getId(), addConfigId);
}
// 将清单参数项 和 模板参数项 对比
for (ParamsInfoPublishEO publishEO : paramsInfoPublishEOList) {
String nioNumber = publishEO.getNioNumber();
String controlType = publishEO.getControlType();
String controlValues = publishEO.getControlValues();
String controlVerify = publishEO.getControlVerify();
List<ParamsCollectManifestEO> manifestEOList = paramsCollectManifestEOList.stream()
.filter(e->nioNumber.equals(e.getNioNumber())
&& controlType.equals(e.getControlType())
&& ((controlValues != null && controlValues.equals(e.getControlValues())) || (controlValues == null && null == e.getControlValues()))
&& ((controlVerify != null && controlVerify.equals(e.getControlVerify())) || (controlVerify == null && null == e.getControlVerify())))
.collect(Collectors.toList());
String addCollectManifestId = UUID.randomUUID().toString().replace("-",""); // 参数项id
if (CollectionUtil.isNotEmpty(manifestEOList)) {
ParamsCollectManifestEO manifestEO = manifestEOList.get(0);
// 配置数据: nio编号,控件类型,控件备选值,控件校验 均一致时 将清单参数项项复制到模板参数项,否则不复制
for (ParamsConfigEO configEO : paramsConfigEOList) {
ParamsConfigDataEO configDataEO = paramsConfigDataEOService.queryByConfigIdAndCollectManifestId(configEO.getId(), manifestEO.getId());
ParamsConfigDataEO addConfigDataEO = new ParamsConfigDataEO();
BeanUtils.copyProperties(configDataEO, addConfigDataEO);
addConfigDataEO.setId(null);
addConfigDataEO.setCreateBy(null);
addConfigDataEO.setCreateTime(null);
addConfigDataEO.setUpdateBy(null);
addConfigDataEO.setUpdateTime(null);
addConfigDataEO.setSysOrgCode(null);
addConfigDataEO.setParamsConfigId(configIdMap.get(configEO.getId()));
addConfigDataEO.setParamsCollectManifestId(addCollectManifestId);
addConfigDataEOList.add(addConfigDataEO);
}
}
// 固定列数据: 保留模板参数项的
ParamsCollectManifestEO addCollectManifestEO = new ParamsCollectManifestEO();
BeanUtils.copyProperties(publishEO, addCollectManifestEO);
addCollectManifestEO.setId(addCollectManifestId);
addCollectManifestEO.setParamsManifestId(addManifestId);
addCollectManifestEO.setState(CollectManifestStateEnum.WAIT_COLLECT.getValue());
// 根据负责领域处理工程接口人(零个,一个,多个): 领域中仅有一个人时,添加该字段
ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(paramsManifestEO.getProjectId(), addCollectManifestEO.getDutyTerritory());
if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) {
String sdtId = projectRelatedPersonnel.getEngineeringInterfacePerson();
if (StringUtils.isNotBlank(sdtId) && !sdtId.contains(",")) { // 领域中仅有一个人时,添加该字段
SysUser sysUser = sysUserService.getById(sdtId);
if (ObjectUtil.isNotEmpty(sysUser)) {
addCollectManifestEO.setSdt(sysUser.getUsername());
}
}
}
addCollectManifestEO.setCreateBy(null);
addCollectManifestEO.setCreateTime(null);
addCollectManifestEO.setUpdateBy(null);
addCollectManifestEO.setUpdateTime(null);
addCollectManifestEO.setSysOrgCode(null);
addCollectManifestEOList.add(addCollectManifestEO);
}
// 添加参数项
paramsCollectManifestEOService.saveBatch(addCollectManifestEOList);
// 添加配置
paramsConfigEOService.saveBatch(addConfigEOList);
// 添加配置数据
paramsConfigDataEOService.saveBatch(addConfigDataEOList);
// 添加参数清单
paramsManifestEO.setId(addManifestId);
paramsManifestEO.setState(ManifestStateEnum.COLLECTING.getValue());
paramsManifestEO.setVersion(1); // 默认版本为 1
save(paramsManifestEO);
return paramsManifestEO;
}
}
@@ -2,6 +2,7 @@ package com.jero.modules.cert.collect.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.modules.cert.template.entity.ParamsInfoPublishEO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
@@ -16,26 +17,56 @@ import java.util.Map;
*/
@Data
public class ParamsCollectManifestVO {
@ApiModelProperty(value = "参数模板id")
private String paramsTemplateId; // 参数模板id
@ApiModelProperty(value = "参数模板发布版本")
private String paramsTemplatePublishVersion; // 参数模板发布版本
@ApiModelProperty(value = "nio编号")
private String nioNumber; // nio编号
@ApiModelProperty(value = "参数名称")
private String paramsName; // 参数名称
@ApiModelProperty(value = "责任领域")
private String dutyTerritory; // 责任领域
@ApiModelProperty(value = "参数清单id")
private String paramsManifestId; // 参数清单id
@ApiModelProperty(value = "项目id")
private String projectId; // 项目id
@ApiModelProperty(value = "添加专用")
private List<ParamsInfoPublishEO> paramsInfoPublishEOList; // 添加专用
@ApiModelProperty(value = "提交专用")
private List<Map<String, Object>> configDataList; // 提交专用
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "截止时间")
private Date deadline; // 截止时间
@ApiModelProperty(value = "收集参数项ids")
private String ids; // 收集参数项ids
@ApiModelProperty(value = "工程接口人")
private String sdt; // 工程接口人
@ApiModelProperty(value = "填写人")
private String dre; // 填写人
@ApiModelProperty(value = "参数配置ids")
private String paramsConfigIds; // 参数配置ids
@ApiModelProperty(value = "配置列查询标识")
private String configFlag; // 1-全部配置 2-非冻结配置
@ApiModelProperty(value = "引用参数专用-从")
private String sourceConfigId; // 引用参数专用
@ApiModelProperty(value = "引用参数专用-到")
private String targetConfigIds; // 引用参数专用
}
@@ -0,0 +1,18 @@
package com.jero.modules.cert.collect.vo;
import lombok.Data;
/**
* @Author: liyawei
* @Description:
* @Date: Created in 9:27 2022/5/17
*/
@Data
public class ParamsManifestVO {
private String id;
private String title;
private String projectName;
private String projectId;
private String state;
}
@@ -110,7 +110,7 @@ public class ParamsInfoEOController extends JeroController<ParamsInfoEO, IParams
@AutoLog(value = "参数项基本信息表-校验nio编号")
@ApiOperation(value="参数项基本信息表-校验nio编号", notes="参数项基本信息表-校验nio编号")
@GetMapping(value = "/verifyNioNumber")
@RequiresPermissions("params:paramsInfo:add")
// @RequiresPermissions("params:paramsInfo:add")
public boolean verifyNioNumber(@RequestParam(name = "nioNumber") String nioNumber) {
LambdaQueryWrapper<ParamsInfoEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ParamsInfoEO::getNioNumber, nioNumber);
@@ -130,7 +130,7 @@ public class ParamsInfoEOController extends JeroController<ParamsInfoEO, IParams
@AutoLog(value = "参数项基本信息表-添加")
@ApiOperation(value="参数项基本信息表-添加", notes="参数项基本信息表-添加")
@PostMapping(value = "/add")
@RequiresPermissions("params:paramsInfo:add")
// @RequiresPermissions("params:paramsInfo:add")
public Result<?> add(@Validated @RequestBody ParamsInfoEO paramsInfoEO) {
boolean isSuccess = paramsInfoEOService.add(paramsInfoEO);
if (isSuccess) {
@@ -222,7 +222,7 @@ public class ParamsInfoEOController extends JeroController<ParamsInfoEO, IParams
@AutoLog(value = "参数项基本信息表-发布版本")
@ApiOperation(value="参数项基本信息表-发布版本", notes="参数项基本信息表-发布版本")
@GetMapping(value = "/publish")
@RequiresPermissions("params:paramsInfo:publish")
// @RequiresPermissions("params:paramsInfo:publish")
public Result<?> publish(@RequestParam(name="paramsTemplateId") String paramsTemplateId) {
int publishVersion = paramsInfoPublishEOService.publishTemplate(paramsTemplateId);
return Result.OK("发布版本:" + publishVersion + "成功!");
@@ -56,6 +56,11 @@ public class ParamsTemplateEOController extends JeroController<ParamsTemplateEO,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="cut") String cut,
HttpServletRequest req) {
if (StringUtils.isNotEmpty(paramsTemplateEO.getParamsTemplateName())) {
paramsTemplateEO.setParamsTemplateName(paramsTemplateEO.getParamsTemplateName().replace("%","\\%"));
}
LambdaQueryWrapper<ParamsTemplateEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(StringUtils.isNotEmpty(paramsTemplateEO.getParamsTemplateName()), ParamsTemplateEO::getParamsTemplateName, paramsTemplateEO.getParamsTemplateName())
.eq(StringUtils.isNotEmpty(paramsTemplateEO.getRegion()), ParamsTemplateEO::getRegion, paramsTemplateEO.getRegion())
@@ -74,34 +74,44 @@ public class DummyInventoryInfoEO implements Serializable {
@ApiModelProperty(value = "标题")
private java.lang.String title;
/**子标题*/
@Excel(name = "子标题", width = 15)
@ApiModelProperty(value = "子标题")
private java.lang.String subtitle;
/**适用地区*/
@ApiModelProperty(value = "适用地区")
@Dict(dicCode ="region")
@Excel(name = "适用地区", width = 15, dicCode = "region")
private java.lang.String region;
/**适用范围*/
@Excel(name = "适用范围", width = 15, dicCode = "apply_scope")
@ApiModelProperty(value = "适用范围")
@Dict(dicCode ="apply_scope")
private java.lang.String shi4Yong4Fan4Wei2;
/**适用地区*/
@ApiModelProperty(value = "适用地区")
@Dict(dicCode ="region")
@Excel(name = "适用地区", width = 15, dicCode = "region")
private java.lang.String region;
/**状态*/
@Excel(name = "状态", width = 15,dicCode ="state")
@ApiModelProperty(value = "状态")
@Dict(dicCode ="state")
private java.lang.String state;
/**技术领域*/
@Excel(name = "技术领域", width = 15)
@ApiModelProperty(value = "技术领域")
private java.lang.String technologyTerritory;
/**对应标准*/
@Excel(name = "对应标准", width = 15)
@ApiModelProperty(value = "对应标准")
private java.lang.String correspondingStandard;
@TableField(exist = false)
private java.lang.String correspondingStandardName;
@TableField(exist = false)
private java.lang.String technologyTerritoryName;
/**实施类别*/
@Excel(name = "实施类别", width = 15,dicCode ="implement_type")
@ApiModelProperty(value = "实施类别")
@Dict(dicCode ="implement_type")
private java.lang.String implementType;
/**新车型实施日期*/
@Excel(name = "新车型实施日期", width = 15,format = "yyyy-MM-dd")
/**新车型实施日期*/
@Excel(name = "新车型实施日期", width = 15,format = "yyyy-MM-dd")
@ApiModelProperty(value = "新车型实施日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@@ -109,8 +119,8 @@ public class DummyInventoryInfoEO implements Serializable {
@TableField(exist = false)
private String xin1Che1Xing2Shi2Shi1Ri4Qi1String;
/**在产车实施日期*/
@Excel(name = "在产车实施日期", width = 15,format = "yyyy-MM-dd")
/**在产车实施日期*/
@Excel(name = "在产车实施日期", width = 15,format = "yyyy-MM-dd")
@ApiModelProperty(value = "在产车实施日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@@ -118,37 +128,21 @@ public class DummyInventoryInfoEO implements Serializable {
@TableField(exist = false)
private String implementTimeString;
/**对应标准*/
@Excel(name = "对应标准", width = 15)
@ApiModelProperty(value = "对应标准")
private java.lang.String correspondingStandard;
@TableField(exist = false)
private java.lang.String correspondingStandardName;
/**WVTA ID*/
@Excel(name = "WVTA ID", width = 15)
/**WVTA ID*/
@Excel(name = "WVTA ID", width = 15)
@ApiModelProperty(value = "WVTA ID")
private java.lang.String wvtaId;
/**子标题*/
@Excel(name = "子标题", width = 15)
@ApiModelProperty(value = "子标题")
private java.lang.String subtitle;
/**实施类别*/
@Excel(name = "实施类别", width = 15,dicCode ="implement_type")
@ApiModelProperty(value = "实施类别")
@Dict(dicCode ="implement_type")
private java.lang.String implementType;
/**认证类型*/
@Excel(name = "认证类型", width = 15,dicCode ="attestation_type")
/**认证类型*/
@Excel(name = "认证类型", width = 15,dicCode ="attestation_type")
@ApiModelProperty(value = "认证类型")
@Dict(dicCode ="attestation_type")
private java.lang.String attestationType;
/**认证级别*/
@Excel(name = "认证级别", width = 15,dicCode ="attestation_rank")
/**认证级别*/
@Excel(name = "认证级别", width = 15,dicCode ="attestation_rank")
@ApiModelProperty(value = "认证级别")
@Dict(dicCode ="attestation_rank")
private java.lang.String attestationRank;
@@ -158,6 +152,14 @@ public class DummyInventoryInfoEO implements Serializable {
@Excel(name = "适用增补件", width = 15)
private java.lang.String applicableSupplement;
/**技术领域*/
@Excel(name = "技术领域", width = 15)
@ApiModelProperty(value = "技术领域")
private java.lang.String technologyTerritory;
@TableField(exist = false)
private java.lang.String technologyTerritoryName;
/**责任领域*/
@Excel(name = "责任领域", width = 15,dicCode ="duty_territory")
@ApiModelProperty(value = "责任领域")
@@ -0,0 +1,268 @@
package com.jero.modules.dummy.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
/**
* @Description: 虚拟清单详情表
* @Author: jero-boot
* @Date: 2022-04-11
* @Version: V1.0
*/
@Data
@TableName("dummy_inventory_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="dummy_inventory_info对象", description="虚拟清单详情表")
public class DummyInventoryInfoEOEn implements Serializable {
private static final long serialVersionUID = 1L;
/**主键*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "主键")
private String id;
/**法规清单基础表id*/
@ApiModelProperty(value = "法规清单基础表id")
private String dummyInventoryBaseId;
/**创建人*/
@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;
/**编号*/
@Excel(name = "Number", width = 15)
@ApiModelProperty(value = "编号")
private String serialNumber;
/**标题*/
@Excel(name = "title", width = 15)
@ApiModelProperty(value = "标题")
private String title;
/**子标题*/
@Excel(name = "Sub-Title", width = 15)
@ApiModelProperty(value = "子标题")
private String subtitle;
/**适用地区*/
@ApiModelProperty(value = "适用地区")
@Dict(dicCode ="region")
@Excel(name = "Area", width = 15, dicCode = "region")
private String region;
/**适用范围*/
@Excel(name = "Scope of application", width = 15, dicCode = "apply_scope")
@ApiModelProperty(value = "适用范围")
@Dict(dicCode ="apply_scope")
private String shi4Yong4Fan4Wei2;
/**状态*/
@Excel(name = "state", width = 15,dicCode ="state")
@ApiModelProperty(value = "状态")
@Dict(dicCode ="state")
private String state;
/**对应标准*/
@Excel(name = "Compare", width = 15)
@ApiModelProperty(value = "对应标准")
private String correspondingStandard;
@TableField(exist = false)
private String correspondingStandardName;
/**实施类别*/
@Excel(name = "Usage", width = 15,dicCode ="implement_type")
@ApiModelProperty(value = "实施类别")
@Dict(dicCode ="implement_type")
private String implementType;
/**新车型实施日期*/
@Excel(name = "New Type Execute Date", width = 15,format = "yyyy-MM-dd")
@ApiModelProperty(value = "新车型实施日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private java.util.Date xin1Che1Xing2Shi2Shi1Ri4Qi1;
@TableField(exist = false)
private String xin1Che1Xing2Shi2Shi1Ri4Qi1String;
/**在产车实施日期*/
@Excel(name = "New Vehicle Execute Date", width = 15,format = "yyyy-MM-dd")
@ApiModelProperty(value = "在产车实施日期")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private java.util.Date implementTime;
@TableField(exist = false)
private String implementTimeString;
/**WVTA ID*/
@Excel(name = "WVTA ID", width = 15)
@ApiModelProperty(value = "WVTA ID")
private String wvtaId;
/**认证类型*/
@Excel(name = "Certification Type", width = 15,dicCode ="attestation_type")
@ApiModelProperty(value = "认证类型")
@Dict(dicCode ="attestation_type")
private String attestationType;
/**认证级别*/
@Excel(name = "Certification Level", width = 15,dicCode ="attestation_rank")
@ApiModelProperty(value = "认证级别")
@Dict(dicCode ="attestation_rank")
private String attestationRank;
/**适用增补件*/
@ApiModelProperty(value = "适用增补件")
@Excel(name = "Applicable Supplement", width = 15)
private String applicableSupplement;
/**技术领域*/
@Excel(name = "Technical Field", width = 15)
@ApiModelProperty(value = "技术领域")
private String technologyTerritory;
@TableField(exist = false)
private String technologyTerritoryName;
/**责任领域*/
@Excel(name = "Responsible Field", width = 15,dicCode ="duty_territory")
@ApiModelProperty(value = "责任领域")
@Dict(dicCode ="duty_territory")
private String dutyTerritory;
/**备注*/
@Excel(name = "Comments", width = 15)
@ApiModelProperty(value = "备注")
private String remark;
/**设计符合性确认-交付物类型*/
@Excel(name = "design-Deliverables", width = 15,dicCode ="deliverable_template")
@ApiModelProperty(value = "设计符合性确认-交付物类型")
@Dict(dicCode ="deliverable_template")
private String designDeliverableType;
/**设计符合性确认-交付物模板*/
@ApiModelProperty(value = "设计符合性确认-交付物模板")
private String designDeliverableTemplate;
@TableField(exist = false)
@Excel(name = "design-Deliverable Template", width = 15)
private String designDeliverableTemplateName;
/**设计符合性确认-发起人*/
@Excel(name = "design-Initiator", width = 15,dicCode ="fa1_qi3_ren2")
@ApiModelProperty(value = "设计符合性确认-发起人")
@Dict(dicCode ="fa1_qi3_ren2")
private String designInitiator;
/**设计符合性确认-责任人*/
@Excel(name = "design-Assignee", width = 15,dicCode ="ze2_ren4_ren2")
@ApiModelProperty(value = "设计符合性确认-责任人")
@Dict(dicCode ="ze2_ren4_ren2")
private String designDuty;
/**prehomo确认-交付物类型*/
@Excel(name = "Prehomo-Deliverables", width = 15,dicCode ="deliverable_template")
@ApiModelProperty(value = "prehomo确认-交付物类型")
@Dict(dicCode ="deliverable_template")
private String prehomoDeliverableType;
/**prehomo确认-交付物模板*/
@ApiModelProperty(value = "prehomo确认-交付物模板")
private String prehomoDeliverableTemplate;
@TableField(exist = false)
@Excel(name = "Prehomo-Deliverable Template", width = 15)
private String prehomoDeliverableTemplateName;
/**prehomo确认-发起人*/
@Excel(name = "Prehomo-Initiator", width = 15,dicCode ="fa1_qi3_ren2")
@ApiModelProperty(value = "prehomo确认-发起人")
@Dict(dicCode ="fa1_qi3_ren2")
private String prehomoInitiator;
/**prehomo确认-责任人*/
@Excel(name = "Prehomo-Assignee", width = 15,dicCode ="ze2_ren4_ren2")
@ApiModelProperty(value = "prehomo确认-责任人")
@Dict(dicCode ="ze2_ren4_ren2")
private String prehomoDuty;
/**验证符合性确认-交付物类型*/
@Excel(name = "verify-Deliverables", width = 15,dicCode ="deliverable_template")
@ApiModelProperty(value = "验证符合性确认-交付物类型")
@Dict(dicCode ="deliverable_template")
private String verifyDeliverableType;
/**验证符合性确认-交付物模板*/
@ApiModelProperty(value = "验证符合性确认-交付物模板")
private String verifyDeliverableTemplate;
@TableField(exist = false)
@Excel(name = "verify-Deliverable Template", width = 15)
private String verifyDeliverableTemplateName;
/**验证符合性确认-发起人*/
@Excel(name = "verify-Initiator", width = 15,dicCode ="fa1_qi3_ren2")
@ApiModelProperty(value = "验证符合性确认-发起人")
@Dict(dicCode ="fa1_qi3_ren2")
private String verifyInitiator;
/**验证符合性确认-责任人*/
@Excel(name = "verify-Assignee", width = 15,dicCode ="ze2_ren4_ren2")
@ApiModelProperty(value = "验证符合性确认-责任人")
@Dict(dicCode ="ze2_ren4_ren2")
private String verifyDuty;
@TableField(exist = false)
private String cut;
@TableField(exist = false)
private String ids;
@TableField(exist = false)
private Integer pageNo;
@TableField(exist = false)
private Integer pageSize;
}
@@ -16,6 +16,7 @@ import com.jero.common.util.DateUtils;
import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.dummy.entity.DummyInventoryInfoEO;
import com.jero.modules.dummy.entity.DummyInventoryInfoEOEn;
import com.jero.modules.dummy.entity.DummyLogEO;
import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum;
import com.jero.modules.dummy.mapper.DummyInventoryInfoEOMapper;
@@ -746,7 +747,13 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
title = "*编号,子标题,实施类别,WVTA ID,认证类型,*认证级别,适用增补件,*责任领域,备注," +
"设计交付物类型,设计交付物模板,设计发起人,设计责任人,pre交付物类型,pre交付物模板,pre发起人,pre责任人,验证交付物类型,验证交付物模板,验证发起人,验证责任人";
}else{
title = "*serial number,subtitle,implementation category," +
"WVTA ID,certification type," +
"*certification level," +"applicable supplement,"+
"*area of responsibility,remarks," +
"design type of deliverables,design deliverable template,design initiator,design person liable," +
"pre type of deliverables,pre deliverable template,pre initiator,pre person liable," +
"verify type of deliverables,verify deliverable template,verify initiator,verify person liable";
}
int pos = file.getOriginalFilename().lastIndexOf(".");
@@ -869,15 +876,27 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
if(j > 8){
String flag = "";
if(8 < j && j < 13){
flag ="设计";
if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){
flag ="设计";
}else{
flag ="design ";
}
key = flag + headerCell.getStringCellValue();
}
if(12 < j && j < 17){
flag ="pre";
if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){
flag ="pre";
}else{
flag ="pre ";
}
key = flag + headerCell.getStringCellValue();
}
if(16 < j && j < 21){
flag ="验证";
if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){
flag ="验证";
}else{
flag ="verify ";
}
key = flag + headerCell.getStringCellValue();
}
@@ -1437,6 +1456,37 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
case "验证交付物模板": return "verifyDeliverableTemplate";
case "验证发起人": return "verifyInitiator";
case "验证责任人": return "verifyDuty";
case "*serial number": return "serialNumber";
case "title": return "title";
case "subtitle": return "subtitle";
// case "适用范围": return "shi4Yong4Fan4Wei2";
// case "状态": return "state";
// case "对应标准": return "correspondingStandard";
case "implementation category": return "implementType";
// case "新车实施日期": return "xin1Che1Xing2Shi2Shi1Ri4Qi1";
// case "在产车实施日期": return "implementTime";
// case "WVTA ID": return "wvtaId";
case "certification type": return "attestationType";
case "*certification level": return "attestationRank";
case "responsibility": return "applicableSupplement";
// case "技术领域": return "technologyTerritory";
case "*area of responsibility": return "dutyTerritory";
// case "适用地区": return "region";
case "remarks": return "remark";
case "design type of deliverables": return "designDeliverableType";
case "design deliverable template": return "designDeliverableTemplate";
case "design initiator": return "designInitiator";
case "design person liable": return "designDuty";
case "pre type of deliverables": return "prehomoDeliverableType";
case "pre deliverable template": return "prehomoDeliverableTemplate";
case "pre initiator": return "prehomoInitiator";
case "pre person liable": return "prehomoDuty";
case "verify type of deliverables": return "verifyDeliverableType";
case "verify deliverable template": return "verifyDeliverableTemplate";
case "verify initiator": return "verifyInitiator";
case "verify person liable": return "verifyDuty";
default: return null;
}
}
@@ -1505,7 +1555,7 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
//文件
List<OSSFile> fileInfos = getOssFiles(dataList);
//数据转换(文件名称,技术领域,对应标准)
dataTransition(dataList, fileInfos);
dataTransition(dataList, fileInfos,dummyInventoryInfoEO);
OutputStream os = null;
try {
@@ -1523,7 +1573,19 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
OutputStream excelOS = new FileOutputStream(path + File.separator + "虚拟清单.xlsx");
ExportParams exportParams = new ExportParams();
exportParams.setType(ExcelType.XSSF);
workbook = ExcelExportUtil.exportExcel(exportParams, DummyInventoryInfoEO.class, dataList);
if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){
workbook = ExcelExportUtil.exportExcel(exportParams, DummyInventoryInfoEO.class, dataList);
}else{
List<DummyInventoryInfoEOEn> dataListEn = new ArrayList<>();
for (DummyInventoryInfoEO inventoryInfoEO : dataList) {
DummyInventoryInfoEOEn dummyInventoryInfoEOEn = new DummyInventoryInfoEOEn();
BeanUtils.copyProperties(inventoryInfoEO,dummyInventoryInfoEOEn);
dataListEn.add(dummyInventoryInfoEOEn);
}
//下拉选中英文转换
transition(dataListEn);
workbook = ExcelExportUtil.exportExcel(exportParams, DummyInventoryInfoEOEn.class, dataListEn);
}
workbook.write(excelOS);
excelOS.flush();
@@ -1551,12 +1613,120 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
}
}
private void transition(List<DummyInventoryInfoEOEn> dataListEn){
//下拉选数据字典
List<SysCategory> sysCategoryList = sysCategoryService.list();
//技术领域数据字典
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll();
for (DummyInventoryInfoEOEn dummyInventoryInfoEOEn : dataListEn) {
//适用地区
String region = dummyInventoryInfoEOEn.getRegion();
String pullRegion = pull(sysDictItems, region,"region");
if(StringUtils.isNotBlank(pullRegion)){
dummyInventoryInfoEOEn.setRegion(pullRegion);
}
//适用范围shi4Yong4Fan4Wei2
String shi4Yong4Fan4Wei2 = dummyInventoryInfoEOEn.getShi4Yong4Fan4Wei2();
String pullshi4Yong4Fan4Wei2 = pull(sysDictItems, shi4Yong4Fan4Wei2,"apply_scope");
if(StringUtils.isNotBlank(pullshi4Yong4Fan4Wei2)){
dummyInventoryInfoEOEn.setShi4Yong4Fan4Wei2(pullshi4Yong4Fan4Wei2);
}
//状态state
String state = dummyInventoryInfoEOEn.getState();
String pullState = pull(sysDictItems, state,"state");
if(StringUtils.isNotBlank(pullState)){
dummyInventoryInfoEOEn.setState(pullState);
}
///认证类型attestationType
String attestationType = dummyInventoryInfoEOEn.getAttestationType();
String pullAttestationType = pull(sysDictItems, attestationType,"attestation_type");
if(StringUtils.isNotBlank(pullAttestationType)){
dummyInventoryInfoEOEn.setAttestationType(pullAttestationType);
}
//责任领域dutyTerritory
String dutyTerritory = dummyInventoryInfoEOEn.getDutyTerritory();
String pullDutyTerritory = pull(sysDictItems, dutyTerritory,"duty_territory");
if(StringUtils.isNotBlank(pullDutyTerritory)){
dummyInventoryInfoEOEn.setDutyTerritory(pullDutyTerritory);
}
//认证级别attestationRank
String attestationRank = dummyInventoryInfoEOEn.getAttestationRank();
String pullAttestationRank = pull(sysDictItems, attestationRank,"attestation_rank");
if(StringUtils.isNotBlank(pullAttestationRank)){
dummyInventoryInfoEOEn.setAttestationRank(pullAttestationRank);
}
//实施类别implementType
String implementType = dummyInventoryInfoEOEn.getImplementType();
String pullImplementType = pull(sysDictItems, implementType,"implement_type");
if(StringUtils.isNotBlank(pullImplementType)){
dummyInventoryInfoEOEn.setImplementType(pullImplementType);
}
//设计交付物类型designDeliverableType
String designDeliverableType = dummyInventoryInfoEOEn.getDesignDeliverableType();
String pullDesignDeliverableType = pull(sysDictItems, designDeliverableType,"deliverable_template");
if(StringUtils.isNotBlank(pullDesignDeliverableType)){
dummyInventoryInfoEOEn.setDesignDeliverableType(pullDesignDeliverableType);
}
//pre交付物类型prehomoDeliverableType
String prehomoDeliverableType = dummyInventoryInfoEOEn.getPrehomoDeliverableType();
String pullPrehomoDeliverableType = pull(sysDictItems, prehomoDeliverableType,"deliverable_template");
if(StringUtils.isNotBlank(pullPrehomoDeliverableType)){
dummyInventoryInfoEOEn.setPrehomoDeliverableType(pullPrehomoDeliverableType);
}
//验证交付物类型verifyDeliverableType
String verifyDeliverableType = dummyInventoryInfoEOEn.getVerifyDeliverableType();
String pullVerifyDeliverableType = pull(sysDictItems, verifyDeliverableType,"deliverable_template");
if(StringUtils.isNotBlank(pullVerifyDeliverableType)){
dummyInventoryInfoEOEn.setVerifyDeliverableType(pullVerifyDeliverableType);
}
//技术领域
// String technologyTerritory = dummyInventoryInfoEOEn.getTechnologyTerritory();
// if(StringUtils.isNotBlank(technologyTerritory)){
// StringBuilder sb = new StringBuilder();
// for (String s : technologyTerritory.split(",")) {
// List<SysCategory> collect = sysCategoryList.stream()
// .filter(e -> s.equals(e.getId())).collect(Collectors.toList());
// if(collect.size() != 0){
// sb.append(collect.get(0).getEnName()+",");
// }
// }
// if(StringUtils.isNotBlank(sb)){
// String substring = sb.substring(0, sb.length() - 1);
// dummyInventoryInfoEOEn.setTechnologyTerritory(substring);
// }
// }
}
}
private String pull(List<SysDictItem> sysDictItems, String field,String dictCode) {
if(StringUtils.isBlank(field)){
return null;
}
StringBuilder sb = new StringBuilder();
for (String s : field.split(",")) {
List<SysDictItem> collect = sysDictItems.stream().filter(e -> dictCode.equals(e.getDictCode()) && s.equals(e.getItemValue())).collect(Collectors.toList());
if(collect.size() != 0){
sb.append(collect.get(0).getEnName() + ",");
}
}
if(StringUtils.isNotBlank(sb)){
String substring = sb.substring(0, sb.length() - 1);
return substring;
}
return null;
}
/**
* 数据转换(文件名称,技术领域,对应标准)
* @param dataList
* @param fileInfos
*/
private void dataTransition(List<DummyInventoryInfoEO> dataList, List<OSSFile> fileInfos) {
private void dataTransition(List<DummyInventoryInfoEO> dataList, List<OSSFile> fileInfos,DummyInventoryInfoEO dummyInventoryInfoEO) {
//技术领域
List<SysCategory> sysCategoryList = sysCategoryService.list();
//文档库数据
@@ -1601,7 +1771,11 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
List<SysCategory> collect = sysCategoryList.stream()
.filter(e -> s.equals(e.getId())).collect(Collectors.toList());
if(collect.size() != 0){
sb.append(collect.get(0).getName()+",");
if(CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())){
sb.append(collect.get(0).getName()+",");
}else{
sb.append(collect.get(0).getEnName()+",");
}
}
}
if(StringUtils.isNotBlank(sb)){
@@ -57,8 +57,8 @@ public class ProjectLibraryBaseController extends JeroController<ProjectLibraryB
@AutoLog(value = "项目库基础表-列表查询")
@ApiOperation(value="项目库基础表-列表查询", notes="项目库基础表-列表查询")
@GetMapping(value = "/list")
public Result<List<ProjectLibraryBase>> queryList() {
List<ProjectLibraryBase> list = projectLibraryBaseService.queryList();
public Result<List<ProjectLibraryBase>> queryList(ProjectLibraryBase projectLibraryBase) {
List<ProjectLibraryBase> list = projectLibraryBaseService.getList(projectLibraryBase);
return Result.OK(list);
}
@@ -3,6 +3,7 @@ package com.jero.modules.project.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.modules.project.entity.ProjectLibraryBase;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@@ -17,6 +18,8 @@ public interface ProjectLibraryBaseMapper extends BaseMapper<ProjectLibraryBase>
/**分页列表*/
IPage<ProjectLibraryBase> queryPageList(IPage page, Map<String, Object> params);
List<ProjectLibraryBase> getList(@Param("projectLibraryBase") ProjectLibraryBase projectLibraryBase);
/**根据id查询*/
List<ProjectLibraryBase> queryById(String id);
@@ -109,6 +109,69 @@
</where>
order by plb.create_time desc
</select>
<select id="getList" resultType="com.jero.modules.project.entity.ProjectLibraryBase">
<include refid="select_item"/>
<where>
<if test="projectLibraryBase.projectName != null and projectLibraryBase.projectName != ''">
<!--搜索条件:项目名称,包含%,单独搜索-->
<choose>
<when test='projectLibraryBase.projectName != null and projectLibraryBase.projectName != "" and projectLibraryBase.projectName.contains("%")'>
and pni.project_name like '%1%%' escape '1'
</when>
<otherwise>
and pni.project_name like concat('%',#{projectLibraryBase.projectName},'%')
</otherwise>
</choose>
</if>
<!--搜索条件:目标市场-->
<if test="projectLibraryBase.targetMarket != null and projectLibraryBase.targetMarket != '' ">
and plb.target_market like concat('%',#{projectLibraryBase.targetMarket},'%')
</if>
<!--搜索条件:项目状态-->
<if test="projectLibraryBase.projectStatus != null and projectLibraryBase.projectStatus != '' ">
and plb.project_status like concat('%',#{projectLibraryBase.projectStatus},'%')
</if>
<if test="projectLibraryBase.studioEngineer != null and projectLibraryBase.studioEngineer != ''">
<!--搜索条件:studio工程师,包含%,单独搜索-->
<choose>
<when test='projectLibraryBase.studioEngineer != null and projectLibraryBase.studioEngineer != "" and projectLibraryBase.studioEngineer.contains("%")'>
and plb.studio_engineer like '%1%%' escape '1'
</when>
<otherwise>
and plb.studio_engineer like concat('%',#{projectLibraryBase.studioEngineer},'%')
</otherwise>
</choose>
</if>
<if test="projectLibraryBase.certificationEngineer != null and projectLibraryBase.certificationEngineer != ''">
<!--搜索条件:认证工程师,包含%,单独搜索-->
<choose>
<when test='projectLibraryBase.certificationEngineer != null and projectLibraryBase.certificationEngineer != "" and projectLibraryBase.certificationEngineer.contains("%")'>
and plb.certification_engineer like '%1%%' escape '1'
</when>
<otherwise>
and plb.certification_engineer like concat('%',#{projectLibraryBase.certificationEngineer},'%')
</otherwise>
</choose>
</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>
</where>
order by plb.create_time desc
</select>
<select id="queryById" resultType="com.jero.modules.project.entity.ProjectLibraryBase">
<include refid="select_item"/>
@@ -119,4 +182,4 @@
</where>
order by plb.create_time desc
</select>
</mapper>
</mapper>
@@ -61,7 +61,7 @@ public interface IProjectLibraryBaseService extends IService<ProjectLibraryBase>
*
* @return
*/
List<ProjectLibraryBase> queryList();
List<ProjectLibraryBase> getList(ProjectLibraryBase projectLibraryBase);
/**
* 分页列表查询
@@ -138,8 +138,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
* @return
*/
@Override
public List<ProjectLibraryBase> queryList() {
return list();
public List<ProjectLibraryBase> getList(ProjectLibraryBase projectLibraryBase) {
List<ProjectLibraryBase> list = projectLibraryBaseMapper.getList(projectLibraryBase);
return list;
}
/**
@@ -63,10 +63,10 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
@Override
public List<List<TimeNodeVO>> timelineList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req) {
QueryWrapper<ProjectLibraryBase> queryWrapper = QueryGenerator.initQueryWrapper(projectLibraryBase, req.getParameterMap());
// QueryWrapper<ProjectLibraryBase> queryWrapper = QueryGenerator.initQueryWrapper(projectLibraryBase, req.getParameterMap());
//项目库信息
List<ProjectLibraryBase> projectLibraryBaseList = projectLibraryBaseService.list(queryWrapper);
List<ProjectLibraryBase> projectLibraryBaseList = projectLibraryBaseService.getList(projectLibraryBase);
List<List<TimeNodeVO>> result = new ArrayList<>();
if(projectLibraryBaseList.size() != 0){
//项目库id
@@ -85,12 +85,16 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
*/
@Override
public List<Map<String,Object>> scheduleInfoList(ProjectLibraryBase projectLibraryBase, HttpServletRequest req) {
if(StringUtils.isNotBlank(projectLibraryBase.getProjectName())){
projectLibraryBase.setProjectName(projectLibraryBase.getProjectName().replace("*",""));
}
//目标市场数据字典
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsByDictCode("region");
QueryWrapper<ProjectLibraryBase> queryWrapper = QueryGenerator.initQueryWrapper(projectLibraryBase, req.getParameterMap());
queryWrapper.orderByDesc("create_time");
//项目库信息
List<ProjectLibraryBase> projectLibraryBaseList = projectLibraryBaseService.list(queryWrapper);
// QueryWrapper<ProjectLibraryBase> queryWrapper = QueryGenerator.initQueryWrapper(projectLibraryBase, req.getParameterMap());
// queryWrapper.orderByDesc("create_time");
// //项目库信息
// List<ProjectLibraryBase> projectLibraryBaseList = projectLibraryBaseService.list(queryWrapper);
List<ProjectLibraryBase> projectLibraryBaseList = projectLibraryBaseService.getList(projectLibraryBase);
List<Map<String,Object>> result = new ArrayList<>();
if(projectLibraryBaseList.size() != 0){
@@ -373,7 +377,7 @@ public class ProjectStatusBoardServiceImpl implements IProjectStatusBoardService
}else{
calendarAfter.setTime(new Date());
}
calendarAfter.add(Calendar.YEAR, +6);
calendarAfter.add(Calendar.MONTH, +5);
Date dateAfter = calendarAfter.getTime();
Calendar min = Calendar.getInstance();
@@ -2265,9 +2265,13 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
}
countError++;
}
//判断库中是否存在,如果存在则存id,如果不存在则存输入的值
value = value.replace("",",");
List<Map<String, Object>> listBySerialNumber = documentLibraryEOService.getListBySerialNumber(value);
if (value.endsWith(",")){
value = value.substring(0, value.length() - 1);
}
//判断库中是否存在,如果存在则存id,如果不存在则存输入的值
/*List<Map<String, Object>> listBySerialNumber = documentLibraryEOService.getListBySerialNumber(value);
String serialNumberStr = "";
StringBuilder sb = new StringBuilder();
List<String> list = new ArrayList<>();
@@ -2288,7 +2292,8 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
substring = substring.substring(0, substring.length() - 1);
}
value = substring;
}
}*/
} else if (FieldTypeEnum.PERSON.getValue().equals(fieldShowType)) {
//人员选择
//判断是否必填
@@ -6,7 +6,7 @@
<div v-for='(item,index) in detailDate.list' :key='index'>
<div v-if='item.type==="text"' class='add-width'>
<a-input class="box-input inputWid"
:disabled="disabled"
:disabled="item.isLock == '1' ? true: false"
v-model="item.dataValue"
:placeholder="$t('PleaseEnter')+$t('NiONumber')"/>
</div>
@@ -16,7 +16,7 @@
<div v-if='detailDate.controlType === "2"'>
<div v-for='(item,index) in detailDate.list' :key='index'>
<div v-if='item.type === "pull"' class='add-width'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" class='selectWid'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" class='selectWid' :disabled="item.isLock == '1' ? true: false">
<a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label }}
@@ -30,7 +30,7 @@
<div v-if='detailDate.controlType === "3"'>
<div v-for='(item,index) in detailDate.list' :key='index' style='flex: 1'>
<div v-if='item.type==="pull_more"' class='add-width'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" mode="multiple" class='selectWid'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" mode="multiple" class='selectWid' :disabled="item.isLock == '1' ? true: false">
<a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label }}
@@ -45,7 +45,7 @@
<div v-for='(item,index) in detailDate.list' :key='index' style='flex: 1'>
<div v-if='item.type==="file"' class='add-width'>
<a-button type="primary" class="button-text inputWid"
@click="clickButtonToUpload('fileTemplateConnectId')">
@click="clickButtonToUpload('fileTemplateConnectId')" :disabled="item.isLock == '1' ? true: false">
{{ (item.dataValue === 'null' || item.dataValue === '' ||
item.dataValue == null) ? $t('clickUpload') : $t('viewUploadedFiles')}}
</a-button>
@@ -56,7 +56,7 @@
<div v-if='detailDate.controlType === "5"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' class='add_flex_item'>
<div v-if='item.type==="pull"' class='add-width'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" class='selectWid'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" class='selectWid' :disabled="item.isLock == '1' ? true: false">
<a-select-option v-for="(itemin, key) in item.controlValue" :key="key" :value="itemin.value">
<span style="display: inline-block;width: 100%" :title=" itemin.label ">
{{ itemin.label }}
@@ -66,7 +66,7 @@
</div>
<div v-if='item.type==="text"' class='add-width'>
<a-input class="box-input inputWid"
:disabled="disabled"
:disabled="item.isLock == '1' ? true: false"
v-model="item.dataValue"
:placeholder="$t('PleaseEnter')+$t('NiONumber')"/>
</div>
@@ -77,12 +77,12 @@
<div v-for='(item,index) in detailDate.list' :key='index' class='add_flex_item'>
<div v-if='item.type==="text"' class='add-width'>
<a-input class="box-input inputWid"
:disabled="disabled"
:disabled="item.isLock == '1' ? true: false"
v-model="item.dataValue"
:placeholder="$t('PleaseEnter')+$t('NiONumber')"/>
</div>
<div v-if='item.type==="pull_more"' class='add-width'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" mode="multiple" class='selectWid'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" mode="multiple" class='selectWid' :disabled="item.isLock == '1' ? true: false">
<a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label }}
@@ -97,13 +97,13 @@
<div v-for='(item,index) in detailDate.list' :key='index' class='add_flex_item'>
<div v-if='item.type==="text"' class='add-width'>
<a-input class="box-input inputWid"
:disabled="disabled"
:disabled="item.isLock == '1' ? true: false"
v-model="item.dataValue"
:placeholder="$t('PleaseEnter')+$t('NiONumber')"/>
</div>
<div v-if='item.type==="file"' class='add-width'>
<a-button type="primary" class="button-text inputWid"
@click="clickButtonToUpload('fileTemplateConnectId')">
@click="clickButtonToUpload('fileTemplateConnectId')" :disabled="item.isLock == '1' ? true: false">
{{ (item.dataValue === 'null' || item.dataValue === '' ||
item.dataValue == null) ? $t('clickUpload') : $t('viewUploadedFiles')}}
</a-button>
@@ -114,7 +114,7 @@
<div v-if='detailDate.controlType === "8"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' class='add_flex_item'>
<div v-if='item.type==="pull"' class='add-width'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" class='selectWid'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" class='selectWid' :disabled="item.isLock == '1' ? true: false">
<a-select-option v-for="(itemin, key) in item.controlValue" :key="key" :value="itemin.value">
<span style="display: inline-block;width: 100%" :title=" itemin.label ">
{{ itemin.label }}
@@ -124,6 +124,7 @@
</div>
<div v-if='item.type==="file"' class='add-width'>
<a-button type="primary" class="button-text inputWid"
:disabled="item.isLock == '1' ? true: false"
@click="clickButtonToUpload('fileTemplateConnectId')">
{{ (item.dataValue === 'null' || item.dataValue === '' ||
item.dataValue == null) ? $t('clickUpload') : $t('viewUploadedFiles')}}
@@ -135,7 +136,7 @@
<div v-if='detailDate.controlType === "9"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' class='add_flex_item'>
<div v-if='item.type==="pull_more"' class='add-width'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" mode="multiple" class='selectWid'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" mode="multiple" class='selectWid' :disabled="item.isLock == '1' ? true: false">
<a-select-option v-for="(item, key) in item.controlValue" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label }}
@@ -145,6 +146,7 @@
</div>
<div v-if='item.type==="file"' class='add-width'>
<a-button type="primary" class="button-text inputWid"
:disabled="item.isLock == '1' ? true: false"
@click="clickButtonToUpload('fileTemplateConnectId')">
{{ (item.dataValue === 'null' || item.dataValue === '' ||
item.dataValue == null) ? $t('clickUpload') : $t('viewUploadedFiles')}}
@@ -156,7 +158,7 @@
<div v-if='detailDate.controlType === "10"' class='add_flex'>
<div v-for='(item,index) in detailDate.list' :key='index' class='add_flex_item'>
<div v-if='item.type==="pull"'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" class='selectWid'>
<a-select :placeholder="$t('PleaseSelect')+$t('controlType')" v-model="item.dataValue" class='selectWid' :disabled="item.isLock == '1' ? true: false">
<a-select-option v-for="(itemin, key) in item.controlValue" :key="key" :value="itemin.value">
<span style="display: inline-block;width: 100%" :title=" itemin.label ">
{{ itemin.label }}
@@ -166,13 +168,13 @@
</div>
<div v-if='item.type==="text"'>
<a-input class="box-input inputWid"
:disabled="disabled"
:disabled="item.isLock == '1' ? true: false"
v-model="item.dataValue"
:placeholder="$t('PleaseEnter')+$t('NiONumber')"/>
</div>
<div v-if='item.type==="file"'>
<a-button type="primary" class="button-text inputWid"
@click="clickButtonToUpload('fileTemplateConnectId')">
@click="clickButtonToUpload('fileTemplateConnectId')" :disabled="item.isLock == '1' ? true: false">
{{ (item.dataValue === 'null' || item.dataValue === '' ||
item.dataValue == null) ? $t('clickUpload') : $t('viewUploadedFiles')}}
</a-button>
@@ -198,7 +200,7 @@ export default {
},
data() {
return {
disabled: false,
isLock: '0',
formInline: {},
visible: false
}
+1 -1
View File
@@ -137,7 +137,7 @@
if(this.myfileList.length > 0){
this.$emit('uploadSuccess', this.fileList)
this.$message.destroy()
this.$message.success(`${info.file.name}`+this.$t('fileUploadFailed'));
this.$message.success(`${info.file.name}`+this.$t('uploadSuccessful'));
}
} else if (status === 'uploading') {
this.myfileList = info.fileList;
@@ -79,7 +79,7 @@
{{$t('SynchronousReportLibrary')}}
</div>
<!-- 强制撤回-->
<div @click="handleModule" class="operator-text-title">
<div @click="compulsoryWithdrawal" class="operator-text-title">
<a-icon type="bulb"/>
{{$t('CompulsoryWithdrawal')}}
</div>
@@ -94,7 +94,7 @@
{{$t('addTo')}}
</div>
<!-- 分配填写人-->
<div @click="handleCody" class="operator-text">
<div @click="assignedBy" class="operator-text">
<a-icon type="copy"/>
{{$t('Assignedby')}}
</div>
@@ -104,7 +104,7 @@
{{$t('submit')}}
</div>
<!-- 退回-->
<div @click="handleAdd" class="operator-text">
<div @click="returnData" class="operator-text">
<a-icon type="plus"/>
{{$t('sendBack')}}
</div>
@@ -140,8 +140,51 @@
<a-row :gutter='24'>
<a-col :span='12'>
<a-form-model-item ref='region' :label="$t('FreezeConfiguration')" prop='region'>
<a-select :placeholder="$t('PleaseSelect')+$t('FreezeConfiguration')" v-model="Dateline.querySdt">
<a-select-option v-for="(item, key) in querySdtList" :key="key" :value="item.value">
<a-select :placeholder="$t('PleaseSelect')+$t('FreezeConfiguration')" v-model="Dateline.paramsConfig">
<a-select-option v-for="(item, key) in FreezeList" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
</a-row>
</a-form-model>
<div class="imports-footer">
<div class="imports-footer-wrap">
<a-button class="imports-btn imports-sub" type="primary" @click="handleSubmitFreeze" v-has="'split:sarFileSplitItems:importSplitResult'">{{$t('preservation')}}</a-button>
<a-button class="imports-btn" type="primary" @click="cancleImportsFreeze">{{$t('cancel')}}</a-button>
</div>
</div>
</a-modal>
<!-- 分配填写人--->
<a-modal v-model="areaVisibleAssignedby" :title="$t('Assignedby')" width='750px' :footer="null">
<a-form-model
class='tag-module'
ref='ruleForm'
:model='Dateline'
:rules='rules'
:label-col='labelCol'
:wrapper-col='wrapperCol'
>
<a-row :gutter='24'>
<a-col :span='10'>
<a-form-model-item ref='region' :label="$t('FreezeConfiguration')" prop='region'>
<a-select :placeholder="$t('PleaseSelect')+$t('FreezeConfiguration')" v-model="Dateline.paramsConfig">
<a-select-option v-for="(item, key) in FreezeList" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</a-col>
<a-col :span='10'>
<a-form-model-item ref='region' :label="$t('FreezeConfiguration')" prop='region'>
<a-select :placeholder="$t('PleaseSelect')+$t('FreezeConfiguration')" v-model="Dateline.paramsConfig">
<a-select-option v-for="(item, key) in FreezeList" :key="key" :value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label }}
</span>
@@ -256,6 +299,7 @@ export default {
dre: 0, // 填写人
Dateline: {},
areaVisibleFreeze: false, // 冻结配置
areaVisibleAssignedby: false, // 分配填写人弹框
wrapperCol: {
xs: { span: 24 },
sm: { span: 14 }
@@ -264,7 +308,8 @@ export default {
xs: { span: 24 },
sm: { span: 7 }
},
rules: {}
rules: {},
FreezeList: [], // 冻结字段
}
},
props: {
@@ -332,7 +377,37 @@ export default {
},
// 冻结配置提交
handleSubmitFreeze() {
this.areaVisibleFreeze = false
let _this = this
let param = {paramsManifestId: this.paramsManifest.id, paramsConfigIds: this.Dateline.paramsConfig}
axios({
url: '/jero-boot/params/collectManifest/lockConfigColumn',
method: 'post',
data: param,
transformRequest: [function (data) {
let ret = ''
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
}
return ret
}],
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Access-Token':_this.token
}
})
.then( (res) =>{
console.log(res)
if (res.data.success) {
_this.$message.success(res.data.result)
this.areaVisibleFreeze = false
this.$refs.CollectionTabel.getTableList()
}else{
_this.$message.warning(res.data.result)
}
})
.catch( (error) =>{
console.log(error);
});
},
// 冻结配置取消
cancleImportsFreeze() {
@@ -340,8 +415,7 @@ export default {
},
getFreeze() {
let _this = this
console.log(this.paramsManifest,'this.paramsManifest,')
let param = {paramsManifestId: this.$route.query.id, configFlag: 2}
let param = {paramsManifestId: this.paramsManifest.id, configFlag: 2}
axios({
url: '/jero-boot/params/collectManifest/getConfigLableList',
method: 'post',
@@ -361,10 +435,7 @@ export default {
.then( (res) =>{
console.log(res)
if (res.data.success) {
_this.$message.success(res.data.result)
_this.areaVisible = false
_this.getTableList()
_this.selectedRowKeysValue=[]
this.FreezeList = res.data.result
}else{
_this.$message.warning(res.data.result)
}
@@ -452,6 +523,87 @@ export default {
})
}
},
// 退回
returnData() {
let _array = []
this.selectedRowKeysValue.forEach((item, index) => {
_array.push(item.id)
})
let _this = this
let param = {ids: _array.join(',')}
axios({
url: '/jero-boot/params/collectManifest/back',
method: 'post',
data: param,
transformRequest: [function (data) {
let ret = ''
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
}
return ret
}],
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Access-Token':_this.token
}
})
.then( (res) =>{
console.log(res)
if (res.data.success) {
_this.$message.success(res.data.result)
_this.getTableList()
_this.selectedRowKeysValue=[]
}else{
_this.$message.warning(_this.$t('operationFailed'))
}
})
.catch( (error) =>{
console.log(error);
});
},
// 强制撤回
compulsoryWithdrawal() {
let _array = []
this.selectedRowKeysValue.forEach((item, index) => {
_array.push(item.id)
})
let _this = this
let param = {ids: _array.join(',')}
axios({
url: '/jero-boot/params/collectManifest/withdraw',
method: 'post',
data: param,
transformRequest: [function (data) {
let ret = ''
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
}
return ret
}],
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'X-Access-Token':_this.token
}
})
.then( (res) =>{
console.log(res)
if (res.data.success) {
_this.$message.success(res.data.result)
_this.getTableList()
_this.selectedRowKeysValue=[]
}else{
_this.$message.warning(_this.$t('operationFailed'))
}
})
.catch( (error) =>{
console.log(error);
});
},
// 分配填写人
assignedBy() {
this.areaVisibleAssignedby = true
console.log('分配填写人')
},
handleModule() {
},
@@ -33,79 +33,7 @@
<div class="box-top">
<span class="box-top-text">{{$t('regulatoryCertificationTaskPlan')}}</span>
<div class="box-top-content">
<div class="box-top-content-time">
<div class="box-top-content-time-text">
2022-10
</div>
<div class="box-top-content-time-text">
2022-10
</div>
<div class="box-top-content-time-text">
2022-10
</div>
<div class="box-top-content-time-text">
2022-10
</div>
<div class="box-top-content-time-text">
2022-10
</div>
<div class="box-top-content-time-text">
2022-10
</div>
<div class="box-top-content-time-text">
2022-10
</div>
<div class="box-top-content-time-text">
2022-10
</div>
</div>
<div style="overflow:auto;height: calc(100% - 80px)">
<div class="box-top-content-left">
<div class="box-top-content-text">111111</div>
<div class="box-top-content-text">哈哈哈</div>
<div class="box-top-content-text">哈哈哈</div>
<div class="box-top-content-text">哈哈哈</div>
</div>
<div class="box-top-content-right">
<div class="box-top-content-text">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
</div>
<div class="box-top-content-text">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
</div>
<div class="box-top-content-text">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
</div>
<div class="box-top-content-text">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
<img src="../../../assets/wancheng.png" alt="">
</div>
</div>
</div>
<div id="main"></div>
</div>
</div>
<div class="box-bottom">
@@ -229,8 +157,120 @@
},
mounted() {
this.getList()
this.getEcharts()
},
methods: {
getEcharts() {
var chartDom = document.getElementById('main')
var myChart = echarts.init(chartDom)
var option
// prettier-ignore
const hours = [
'12a', '1a', '2a', '3a', '4a', '5a', '6a',
'12a', '1a', '2a', '3a', '4a', '5a', '6a'
]
const days = [
'Saturday', 'Friday', 'Thursday',
'Wednesday', 'Tuesday', 'Monday', 'Sunday'
]
const data = [
[0, 0, 14], [0, 1, 5], [0, 2, 5], [0, 3, 5], [0, 4, 5], [0, 5, 5], [0, 6, 5], [0, 7, 5],
[1, 0, 5], [1, 2, 5], [1, 3, 5], [1, 4, 5], [1, 5, 5], [1, 6, 5], [1, 7, 5], [1, 1, 5],
[2, 0, 14], [2, 1, 14], [2, 2, 14], [2, 3, 14], [2, 4, 14], [2, 5, 14], [2, 6, 14], [2, 7, 14],
[3, 0, 14], [3, 1, 14], [3, 2, 14], [3, 3, 14], [3, 4, 14], [3, 5, 14], [3, 6, 14], [3, 7, 14],
[4, 0, 14], [4, 1, 14], [4, 2, 14], [4, 3, 14], [4, 4, 14], [4, 5, 14], [4, 6, 14], [4, 7, 14],
[5, 0, 14], [5, 1, 14], [5, 2, 14], [5, 3, 14], [5, 4, 14], [5, 5, 14], [5, 6, 14], [5, 7, 14],
[6, 0, 14], [6, 1, 14], [6, 2, 14], [6, 3, 14], [6, 4, 14], [6, 5, 14], [6, 6, 14], [6, 7, 14],
[6, 8, 14], [6, 9, 14], [6, 10, 14], [6, 11, 14], [6, 12, 14], [6, 13, 14], [6, 14, 14], [6, 15, 14]
].map(function(item) {
return [item[1], item[0], item[2]]
})
option = {
legend: {
data: ['Punch Card'],
left: 'right'
},
tooltip: {
position: 'top',
formatter: function(params) {
return (
params.value[2] +
' commits in ' +
hours[params.value[0]] +
' of ' +
days[params.value[1]]
)
}
},
grid: {
top: 0,
left: 2,
right: 20,
containLabel: true
},
xAxis: {
type: 'category',
data: hours,
boundaryGap: false,
splitLine: {
show: false
},
axisTick: {
show: false
},
position: 'top',
axisLabel: {
showMinLabel: true,
showMaxLabel: true,
interval: 2,
textStyle: {
fontFamily: 'Blue Sky Noto',
color: '#000F16',
fontSize: '16'
}
},
axisLine: {
show: false
}
},
yAxis: {
type: 'category',
data: days,
splitLine: {
show: false
},
axisLine: {
show: false
},
axisTick: {
show: false
},
axisLabel: {
textStyle: {
fontFamily: 'Blue Sky Noto',
color: '#000F16',
fontSize: '16'
},
margin: 50
}
},
series: [
{
type: 'scatter',
symbolSize: function(val) {
return val[2] * 2
},
data: data,
animationDelay: function(idx) {
return idx * 5
}
}
]
}
option && myChart.setOption(option)
},
searchQuery() {
this.getList()
},
@@ -297,48 +337,9 @@
width: 100%;
height: 400px;
margin-bottom: 20px;
}
.box-top-content-left {
width: 240px;
float: left;
padding: 0 20px;
padding: 20px;
box-sizing: border-box;
text-align: center;
}
.box-top-content-right {
width: calc(100% - 240px);
float: left;
}
.box-top-content-text {
height: 80px;
line-height: 80px;
}
.box-top-content-text {
width: 100%;
height: 80px;
line-height: 80px;
font-size: 16px;
font-weight: 500;
color: #000F16;
}
.box-top-content-time {
width: calc(100% - 240px);
margin-left: 240px;
height: 80px;
line-height: 80px;
display: flex;
justify-content: space-between;
}
.box-top-content-time-text {
font-size: 16px;
font-weight: 500;
color: #000F16;
overflow: auto;
}
.box-button {