Merge branch 'feature_dev_20230222_FJDSS' into dev_2nd_LCYH

# Conflicts:
#	jero-boot/db/蔚来标准sql/dev_2nd_period.sql
#	jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java
This commit is contained in:
高嵩
2023-03-20 09:13:21 +08:00
19 changed files with 1956 additions and 340 deletions
@@ -202,6 +202,30 @@ ADD COLUMN `msg_content_info_cn` text NULL COMMENT '消息内容(中文)' AF
-- 上报库-参数项查看页表头 责任领域更新为展示列表sql 2023-02-17 已同步生产环境
UPDATE `laws_weilai`.`onl_cgform_field` SET `is_show_list` = 1 WHERE `id` = 'c31d68e204960c073b1fb8126a443492';
-- 文档库-分阶段实施详情表 2023-02-22 未同步生产环境
CREATE TABLE `phased_implementation_details` (
`id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '所属部门',
`buss_document_library_id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '文档库id',
`stand_number_or_clause` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '法规编号/条款',
`implementation_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '实施类型',
`implementation_date` datetime NULL DEFAULT NULL COMMENT '实施日期',
`remarks` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '文档库-分阶段实施详情表' ROW_FORMAT = Dynamic;
-- 标签内容管理 新增实施类型标签(在产车/新车形) 2023-02-22 未同步生产环境
INSERT INTO `laws_weilai`.`sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `type`, `dict_en_name`, `is_tag_dict`, `is_read_only`, `attribute_type`, `order_num`) VALUES ('1628227874969300994', '实施类型', 'shi2_shi1_lei4_xing2', '文档库-分阶段实施详情-实施类型', 0, 'admin', '2023-02-22 10:59:11', NULL, NULL, NULL, NULL, 1, 0, '1', 1);
INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1628228171473039361', '1628227874969300994', '在产车', '34e90bd6a000471bbdcd0ff325898740', NULL, 1, 1, 'admin', '2023-02-22 11:00:22', NULL, NULL, 1, NULL, NULL, '0', 'Car in production');
INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1628228101830815745', '1628227874969300994', '新车型', '2148610ff06641849106321531656bfc', NULL, 2, 1, 'admin', '2023-02-22 11:00:05', 'admin', '2023-02-22 11:00:27', 1, NULL, NULL, '0', 'New car model');
-- 文档库-分阶段实施详情表-增加排序号字段 2023-02-23 未同步生产环境
ALTER TABLE `phased_implementation_details` ADD COLUMN `order_num` int(10) NULL COMMENT '排序号' AFTER `remarks`;
-- 任务清单-初始化 认证进度状态sql 2023-02-20 已同步生产环境
UPDATE `laws_weilai`.`project_task_inventory`
SET `certification_progress` = 'Not start'
@@ -1,5 +1,6 @@
package com.jero.common.util;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.util.StringUtils;
import java.beans.PropertyEditorSupport;
@@ -8,6 +9,7 @@ import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* 类描述:时间操作定义类
@@ -614,6 +616,28 @@ public class DateUtils extends PropertyEditorSupport {
return 0;
}
/**
* 日期数据转换字符串
* @param dateList
* @return
*/
public static String formatDateList(List<Date> dateList) {
StringBuilder strSb = new StringBuilder();
if(CollectionUtils.isNotEmpty(dateList)){
dateList = dateList.stream().distinct().sorted().collect(Collectors.toList());
for (Date date : dateList) {
strSb.append(date_sdf.get().format(date)).append(",");
}
}
String result = "";
if(!StringUtils.isEmpty(strSb.toString())){
result = strSb.substring(0,strSb.length()-1);
}
return result;
}
/**
* String类型 转换为Date, 如果参数长度为10 转换格式”yyyy-MM-dd“ 如果参数长度为19 转换格式”yyyy-MM-dd
* HH:mm:ss“ * @param text String类型的时间值
@@ -0,0 +1,172 @@
package com.jero.modules.document.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.document.entity.PhasedImplementationDetailsEO;
import com.jero.modules.document.service.IPhasedImplementationDetailsEOService;
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: 2023-02-22
* @Version: V1.0
*/
@Api(tags="文档库-分阶段实施详情表")
@RestController
@RequestMapping("/document/phasedImplementationDetailsEO")
@Slf4j
public class PhasedImplementationDetailsEOController extends JeroController<PhasedImplementationDetailsEO, IPhasedImplementationDetailsEOService> {
@Autowired
private IPhasedImplementationDetailsEOService phasedImplementationDetailsEOService;
/**
* 分页列表查询
*
* @param phasedImplementationDetailsEO
* @param pageNo
* @param pageSize
* @param req
* @return
*/
@AutoLog(value = "文档库-分阶段实施详情表-分页列表查询")
@ApiOperation(value="文档库-分阶段实施详情表-分页列表查询", notes="文档库-分阶段实施详情表-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(PhasedImplementationDetailsEO phasedImplementationDetailsEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="cut", defaultValue="cn") String cut,
HttpServletRequest req) {
QueryWrapper<PhasedImplementationDetailsEO> queryWrapper = QueryGenerator.initQueryWrapper(phasedImplementationDetailsEO, req.getParameterMap());
Page<PhasedImplementationDetailsEO> page = new Page<PhasedImplementationDetailsEO>(pageNo, pageSize);
IPage<PhasedImplementationDetailsEO> pageList = phasedImplementationDetailsEOService.page(page, queryWrapper);
this.phasedImplementationDetailsEOService.disposeData(pageList.getRecords(),cut);
return Result.OK(pageList);
}
/**
* 列表查询
*
* @return
*/
@AutoLog(value = "文档库-分阶段实施详情表-列表查询")
@ApiOperation(value="文档库-分阶段实施详情表-列表查询", notes="文档库-分阶段实施详情表-列表查询")
@GetMapping(value = "/list")
public Result<List<PhasedImplementationDetailsEO>> queryList() {
List<PhasedImplementationDetailsEO> list = phasedImplementationDetailsEOService.queryList();
return Result.OK(list);
}
/**
* 添加
*
* @param phasedImplementationDetailsEO
* @return
*/
@AutoLog(value = "文档库-分阶段实施详情表-添加")
@ApiOperation(value="文档库-分阶段实施详情表-添加", notes="文档库-分阶段实施详情表-添加")
@PostMapping(value = "/add")
public Result<?> add(@Validated @RequestBody PhasedImplementationDetailsEO phasedImplementationDetailsEO) {
phasedImplementationDetailsEOService.add(phasedImplementationDetailsEO);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param phasedImplementationDetailsEO
* @return
*/
@AutoLog(value = "文档库-分阶段实施详情表-编辑")
@ApiOperation(value="文档库-分阶段实施详情表-编辑", notes="文档库-分阶段实施详情表-编辑")
@PutMapping(value = "/edit")
public Result<?> edit(@Validated @RequestBody PhasedImplementationDetailsEO phasedImplementationDetailsEO) {
phasedImplementationDetailsEOService.editById(phasedImplementationDetailsEO);
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) {
phasedImplementationDetailsEOService.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.phasedImplementationDetailsEOService.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) {
PhasedImplementationDetailsEO phasedImplementationDetailsEO = phasedImplementationDetailsEOService.queryById(id);
if(phasedImplementationDetailsEO==null) {
return Result.error("未找到对应数据");
}
return Result.OK(phasedImplementationDetailsEO);
}
/**
* 导出excel
*
* @param request
* @param phasedImplementationDetailsEO
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PhasedImplementationDetailsEO phasedImplementationDetailsEO) {
return super.exportXls(request, phasedImplementationDetailsEO, PhasedImplementationDetailsEO.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, PhasedImplementationDetailsEO.class);
}
}
@@ -0,0 +1,98 @@
package com.jero.modules.document.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 文档库-分阶段实施详情表
* @Author: jero-boot
* @Date: 2023-02-22
* @Version: V1.0
*/
@Data
@TableName("phased_implementation_details")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="phased_implementation_details对象", description="文档库-分阶段实施详情表")
public class PhasedImplementationDetailsEO 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 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 Date updateTime;
/**所属部门*/
@ApiModelProperty(value = "所属部门")
private String sysOrgCode;
/**文档库id*/
@Excel(name = "文档库id", width = 15)
@ApiModelProperty(value = "文档库id")
private String bussDocumentLibraryId;
/**法规编号/条款*/
@Excel(name = "法规编号/条款", width = 15)
@ApiModelProperty(value = "法规编号/条款")
private String standNumberOrClause;
/**实施类型*/
@Excel(name = "实施类型", width = 15)
@ApiModelProperty(value = "实施类型")
private String implementationType;
/**实施类型展示文本**/
@TableField(exist = false)
private String implementationTypeText;
/**实施日期*/
@Excel(name = "实施日期", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "实施日期")
private Date implementationDate;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
private String remarks;
/**排序号*/
@Excel(name = "排序号", width = 15)
@ApiModelProperty(value = "排序号")
private Integer orderNum;
}
@@ -0,0 +1,53 @@
package com.jero.modules.document.enums;
/**
* 实施类型枚举类
*/
public enum ImplementationTypeEnum {
CAR_IN_PRODUCTION("1628228171473039361","在产车","Car in production","34e90bd6a000471bbdcd0ff325898740"),
NEW_CAR_MODEL("1628228101830815745","新车型","New car model","2148610ff06641849106321531656bfc");
String id;
String nameCn;
String nameEn;
String itemValue;
private ImplementationTypeEnum(String id,String nameCn, String nameEn,String itemValue) {
this.id = id;
this.nameCn = nameCn;
this.nameEn = nameEn;
this.itemValue = itemValue;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNameCn() {
return nameCn;
}
public void setNameCn(String nameCn) {
this.nameCn = nameCn;
}
public String getNameEn() {
return nameEn;
}
public void setNameEn(String nameEn) {
this.nameEn = nameEn;
}
public String getItemValue() {
return itemValue;
}
public void setItemValue(String itemValue) {
this.itemValue = itemValue;
}
}
@@ -0,0 +1,17 @@
package com.jero.modules.document.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.modules.document.entity.PhasedImplementationDetailsEO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 文档库-分阶段实施详情表
* @Author: jero-boot
* @Date: 2023-02-22
* @Version: V1.0
*/
public interface PhasedImplementationDetailsEOMapper extends BaseMapper<PhasedImplementationDetailsEO> {
}
@@ -0,0 +1,17 @@
<?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.document.mapper.PhasedImplementationDetailsEOMapper">
<resultMap id="PhasedImplementationDetailsEOResultMap" type="com.jero.modules.document.entity.PhasedImplementationDetailsEO">
<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="buss_document_library_id" property="bussDocumentLibraryId" />
<result column="stand_number_or_clause" property="standNumberOrClause" />
<result column="implementation_type" property="implementationType" />
<result column="implementation_date" property="implementationDate" />
<result column="remarks" property="remarks" />
</resultMap>
</mapper>
@@ -0,0 +1,65 @@
package com.jero.modules.document.service;
import com.jero.modules.document.entity.PhasedImplementationDetailsEO;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 文档库-分阶段实施详情表
* @Author: jero-boot
* @Date: 2023-02-22
* @Version: V1.0
*/
public interface IPhasedImplementationDetailsEOService extends IService<PhasedImplementationDetailsEO> {
/**
* 保存
*
* @param phasedImplementationDetailsEO
* @return
*/
void add(PhasedImplementationDetailsEO phasedImplementationDetailsEO);
/**
* 更新
*
* @param phasedImplementationDetailsEO
* @return
*/
void editById(PhasedImplementationDetailsEO phasedImplementationDetailsEO);
/**
* 通过id删除
*
* @param id
* @return
*/
void deleteById(String id);
/**
* 批量删除
*
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*
* @param id
* @return
*/
PhasedImplementationDetailsEO queryById(String id);
/**
* 列表查询
*
* @return
*/
List<PhasedImplementationDetailsEO> queryList();
boolean insertBatch(List<PhasedImplementationDetailsEO> phasedImplDetailsEOList);
void disposeData(List<PhasedImplementationDetailsEO> datas, String cut);
}
@@ -0,0 +1,155 @@
package com.jero.modules.document.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.constant.enums.CutEnum;
import com.jero.modules.document.entity.PhasedImplementationDetailsEO;
import com.jero.modules.document.enums.ImplementationTypeEnum;
import com.jero.modules.document.mapper.PhasedImplementationDetailsEOMapper;
import com.jero.modules.document.service.IPhasedImplementationDetailsEOService;
import me.zhyd.oauth.utils.StringUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
import java.util.Date;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 文档库-分阶段实施详情表
* @Author: jero-boot
* @Date: 2023-02-22
* @Version: V1.0
*/
@Service
public class PhasedImplementationDetailsEOServiceImpl extends ServiceImpl<PhasedImplementationDetailsEOMapper, PhasedImplementationDetailsEO> implements IPhasedImplementationDetailsEOService {
/**
* 保存
*
* @param phasedImplementationDetailsEO
* @return
*/
@Override
public void add(PhasedImplementationDetailsEO phasedImplementationDetailsEO) {
Date now = new Date();
phasedImplementationDetailsEO.setCreateTime(now);
phasedImplementationDetailsEO.setUpdateTime(now);
save(phasedImplementationDetailsEO);
}
/**
* 更新
*
* @param phasedImplementationDetailsEO
* @return
*/
@Override
public void editById(PhasedImplementationDetailsEO phasedImplementationDetailsEO) {
Date now = new Date();
phasedImplementationDetailsEO.setUpdateTime(now);
saveOrUpdate(phasedImplementationDetailsEO);
}
/**
* 通过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 PhasedImplementationDetailsEO queryById(String id) {
return getById(id);
}
/**
* 列表查询
*
* @return
*/
@Override
public List<PhasedImplementationDetailsEO> queryList() {
return list();
}
@Override
public boolean insertBatch(List<PhasedImplementationDetailsEO> phasedImplDetailsEOList) {
boolean flag = true;
if(CollectionUtils.isNotEmpty(phasedImplDetailsEOList)){
try {
String bussDocumentLibraryId = phasedImplDetailsEOList.get(0).getBussDocumentLibraryId();
QueryWrapper<PhasedImplementationDetailsEO> deleteWrap = new QueryWrapper<>();
deleteWrap.lambda().eq(PhasedImplementationDetailsEO::getBussDocumentLibraryId,bussDocumentLibraryId);
this.baseMapper.delete(deleteWrap);
this.saveBatch(phasedImplDetailsEOList);
}catch (Exception ex){
flag = false;
ex.printStackTrace();
log.error("批量添加分阶段实施详情信息失败:" + ex.getMessage());
}
}
return flag;
}
@Override
public void disposeData(List<PhasedImplementationDetailsEO> datas, String cut) {
if(CollectionUtils.isNotEmpty(datas)){
for (PhasedImplementationDetailsEO data : datas) {
String implementationType = data.getImplementationType();
if(StringUtils.isNotEmpty(implementationType)){
String[] implementationTypeArr = implementationType.split(",");
ImplementationTypeEnum[] implementationTypeEnums = ImplementationTypeEnum.values();
String implementationTypeText = "";
if(org.apache.commons.lang3.StringUtils.equals(cut, CutEnum.CN.getValue())){
implementationTypeText = Arrays.stream(implementationTypeEnums).filter(implementationTypeEnum -> {
boolean flag = false;
for (String type : implementationTypeArr) {
if (org.apache.commons.lang3.StringUtils.equals(type, implementationTypeEnum.getItemValue())) {
flag = true;
}
}
return flag;
}).map(ImplementationTypeEnum::getNameCn).collect(Collectors.joining(","));
}else {
implementationTypeText = Arrays.stream(implementationTypeEnums).filter(implementationTypeEnum -> {
boolean flag = false;
for (String type : implementationTypeArr) {
if (org.apache.commons.lang3.StringUtils.equals(type, implementationTypeEnum.getItemValue())) {
flag = true;
}
}
return flag;
}).map(ImplementationTypeEnum::getNameEn).collect(Collectors.joining(","));
}
data.setImplementationTypeText(implementationTypeText);
}
}
}
}
}
@@ -16,8 +16,11 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.DateUtils;
import com.jero.common.util.oss.CosBootUtil;
import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.entity.PhasedImplementationDetailsEO;
import com.jero.modules.document.enums.ImplementationTypeEnum;
import com.jero.modules.document.enums.LawsStateEnum;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.document.service.IPhasedImplementationDetailsEOService;
import com.jero.modules.dummy.entity.DummyInventoryBaseEO;
import com.jero.modules.dummy.entity.DummyInventoryInfoEO;
import com.jero.modules.dummy.entity.DummyInventoryInfoEOEn;
@@ -98,6 +101,8 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
private DummyInventoryBaseEOServiceImpl dummyInventoryBaseEOService;
@Autowired
SysCategoryMapper sysCategoryMapper;
@Autowired
private IPhasedImplementationDetailsEOService phasedImplementationDetailsEOService;
@Override
public IPage<DummyInventoryInfoEO> getPageInfo(DummyInventoryInfoEO dummyInventoryInfoEO,HttpServletRequest req) {
@@ -401,6 +406,52 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
queryWrapper.orderByDesc("create_time","serial_number");
}
if(StringUtils.isNotEmpty(dummyInventoryInfoEO.getImplementTimeString())){
String[] implementTimeArr = dummyInventoryInfoEO.getImplementTimeString().split(",");
QueryWrapper<PhasedImplementationDetailsEO> phasedDetailsQueryWrap = new QueryWrapper<>();
phasedDetailsQueryWrap.lambda().like(PhasedImplementationDetailsEO::getImplementationType,ImplementationTypeEnum.CAR_IN_PRODUCTION.getItemValue());
phasedDetailsQueryWrap.lambda().ge(PhasedImplementationDetailsEO::getImplementationDate,implementTimeArr[0]);
phasedDetailsQueryWrap.lambda().le(PhasedImplementationDetailsEO::getImplementationDate,implementTimeArr[1]);
List<String> bussDocumentLibraryIdList = this.phasedImplementationDetailsEOService.list(phasedDetailsQueryWrap)
.stream().map(PhasedImplementationDetailsEO::getBussDocumentLibraryId).collect(Collectors.toList());
queryWrapper.and(query -> {
query.and(q -> {
q.lambda().ge(DummyInventoryInfoEO::getImplementTime,implementTimeArr[0]);
q.lambda().le(DummyInventoryInfoEO::getImplementTime,implementTimeArr[1]);
});
if(CollectionUtils.isNotEmpty(bussDocumentLibraryIdList)){
query.or(q -> {
q.lambda().in(DummyInventoryInfoEO::getBussDocumentLibraryId,bussDocumentLibraryIdList);
});
}
});
}
if(StringUtils.isNotEmpty(dummyInventoryInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1String())){
String[] newCarTimeArr = dummyInventoryInfoEO.getXin1Che1Xing2Shi2Shi1Ri4Qi1String().split(",");
QueryWrapper<PhasedImplementationDetailsEO> phasedDetailsQueryWrap = new QueryWrapper<>();
phasedDetailsQueryWrap.lambda().like(PhasedImplementationDetailsEO::getImplementationType,ImplementationTypeEnum.NEW_CAR_MODEL.getItemValue());
phasedDetailsQueryWrap.lambda().ge(PhasedImplementationDetailsEO::getImplementationDate,newCarTimeArr[0]);
phasedDetailsQueryWrap.lambda().le(PhasedImplementationDetailsEO::getImplementationDate,newCarTimeArr[1]);
List<String> bussDocumentLibraryIdList = this.phasedImplementationDetailsEOService.list(phasedDetailsQueryWrap)
.stream().map(PhasedImplementationDetailsEO::getBussDocumentLibraryId).collect(Collectors.toList());
queryWrapper.and(query -> {
query.and(q -> {
q.lambda().ge(DummyInventoryInfoEO::getXin1Che1Xing2Shi2Shi1Ri4Qi1,newCarTimeArr[0]);
q.lambda().le(DummyInventoryInfoEO::getXin1Che1Xing2Shi2Shi1Ri4Qi1,newCarTimeArr[1]);
});
if(CollectionUtils.isNotEmpty(bussDocumentLibraryIdList)){
query.or(q -> {
q.lambda().in(DummyInventoryInfoEO::getBussDocumentLibraryId,bussDocumentLibraryIdList);
});
}
});
}
List<DummyInventoryInfoEO> dummyInventoryInfoEOList = this.list(queryWrapper);
log.info("一阶段消耗时间:" + (System.currentTimeMillis() - startTime));
//数据字典
@@ -412,6 +463,9 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
log.info("三阶段消耗时间:" + (System.currentTimeMillis() - startTime));
treeDict(dummyInventoryInfoEO, dummyInventoryInfoEOList,sysDictItems);
// 数据处理
this.disposeData(dummyInventoryInfoEOList,dummyInventoryInfoEO.getCut());
//表头排序
dummyInventoryInfoEOList = hearSort(orderBy, orderByField, dummyInventoryInfoEOList);
@@ -419,6 +473,68 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
return dummyInventoryInfoEOList;
}
/**
* 数据处理
* @param datas
* @param cut
*/
private void disposeData(List<DummyInventoryInfoEO> datas, String cut) {
if(CollectionUtils.isNotEmpty(datas)){
List<String> bussDocumentLibraryIdList = datas.stream().map(DummyInventoryInfoEO::getBussDocumentLibraryId).distinct().collect(Collectors.toList());
QueryWrapper<PhasedImplementationDetailsEO> phasedDetailsQueryWrap = new QueryWrapper<>();
phasedDetailsQueryWrap.lambda().in(PhasedImplementationDetailsEO::getBussDocumentLibraryId,bussDocumentLibraryIdList);
List<PhasedImplementationDetailsEO> phasedDetailsList = this.phasedImplementationDetailsEOService.list(phasedDetailsQueryWrap);
// 新车型分阶段实施数据信息
List<PhasedImplementationDetailsEO> newCarModelPhasedDetailsList = phasedDetailsList.stream().filter(phasedDetails -> {
boolean flag = false;
if(StringUtils.contains(phasedDetails.getImplementationType(), ImplementationTypeEnum.NEW_CAR_MODEL.getItemValue())){
flag = true;
}
return flag;
}).collect(Collectors.toList());
// 在产车分阶段实施数据信息
List<PhasedImplementationDetailsEO> carInProductionPhasedDetailsList = phasedDetailsList.stream().filter(phasedDetails -> {
boolean flag = false;
if(StringUtils.contains(phasedDetails.getImplementationType(), ImplementationTypeEnum.CAR_IN_PRODUCTION.getItemValue())){
flag = true;
}
return flag;
}).collect(Collectors.toList());
for (DummyInventoryInfoEO data : datas) {
// 处理新车型实施日期展示
List<Date> newCarModelDateList = newCarModelPhasedDetailsList.stream().filter(phasedDetails -> {
boolean flag = false;
if (StringUtils.equals(phasedDetails.getBussDocumentLibraryId(), data.getBussDocumentLibraryId())) {
flag = true;
}
return flag;
}).map(PhasedImplementationDetailsEO::getImplementationDate).collect(Collectors.toList());
if(data.getXin1Che1Xing2Shi2Shi1Ri4Qi1() != null){
newCarModelDateList.add(data.getXin1Che1Xing2Shi2Shi1Ri4Qi1());
}
String newCarModelDateStr = DateUtils.formatDateList(newCarModelDateList);
data.setXin1Che1Xing2Shi2Shi1Ri4Qi1String(newCarModelDateStr);
// 处理在产车实施日期展示
List<Date> carInProductionDateList = carInProductionPhasedDetailsList.stream().filter(phasedDetails -> {
boolean flag = false;
if (StringUtils.equals(phasedDetails.getBussDocumentLibraryId(), data.getBussDocumentLibraryId())) {
flag = true;
}
return flag;
}).map(PhasedImplementationDetailsEO::getImplementationDate).collect(Collectors.toList());
if(data.getImplementTime() != null){
carInProductionDateList.add(data.getImplementTime());
}
String carInProductionDateStr = DateUtils.formatDateList(carInProductionDateList);
data.setImplementTimeString(carInProductionDateStr);
}
}
}
private List<DummyInventoryInfoEO> hearSort(String orderBy, String orderByField, List<DummyInventoryInfoEO> dummyInventoryInfoEOList) {
if(ObjectUtils.isNotEmpty(orderByField)){
Collator comparator = Collator.getInstance(Locale.CHINESE);
@@ -1,5 +1,6 @@
package com.jero.modules.warn.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.constant.enums.CutEnum;
@@ -7,11 +8,16 @@ import com.jero.common.constant.enums.MessageTypeEnum;
import com.jero.common.constant.enums.ModuleEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.DateUtils;
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
import com.jero.modules.document.entity.PhasedImplementationDetailsEO;
import com.jero.modules.document.enums.FieldTypeEnum;
import com.jero.modules.document.enums.ImplementationTypeEnum;
import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
import com.jero.modules.document.service.IPhasedImplementationDetailsEOService;
import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl;
import com.jero.modules.dummy.entity.DummyInventoryInfoEO;
import com.jero.modules.feishu.service.IFeishuService;
import com.jero.modules.feishu.vo.FeishuMsgVo;
import com.jero.modules.system.entity.SysAnnouncement;
@@ -24,6 +30,7 @@ import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.system.util.StringUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
@@ -82,6 +89,8 @@ public class LawsWarnService {
private ISysAnnouncementService sysAnnouncementService;
@Resource
private IFeishuService iFeishuService;
@Autowired
private IPhasedImplementationDetailsEOService phasedImplementationDetailsEOService;
public IPage getInfoPage(Map<String, Object> parameter) {
String cut = (String) parameter.get("cut");//中英文切换标识
@@ -183,8 +192,85 @@ public class LawsWarnService {
}
}
}
this.disposeData(records,cut);
return infoPage;
}
private void disposeData(List<Map> datas, String cut) {
if(CollectionUtils.isNotEmpty(datas)){
List<String> bussDocumentLibraryIdList = datas.stream().map(data -> (String) data.get("id")).distinct().collect(Collectors.toList());
QueryWrapper<PhasedImplementationDetailsEO> phasedDetailsQueryWrap = new QueryWrapper<>();
phasedDetailsQueryWrap.lambda().in(PhasedImplementationDetailsEO::getBussDocumentLibraryId,bussDocumentLibraryIdList);
List<PhasedImplementationDetailsEO> phasedDetailsList = this.phasedImplementationDetailsEOService.list(phasedDetailsQueryWrap);
// 新车型分阶段实施数据信息
List<PhasedImplementationDetailsEO> newCarModelPhasedDetailsList = phasedDetailsList.stream().filter(phasedDetails -> {
boolean flag = false;
if(org.apache.commons.lang3.StringUtils.contains(phasedDetails.getImplementationType(), ImplementationTypeEnum.NEW_CAR_MODEL.getItemValue())){
flag = true;
}
return flag;
}).collect(Collectors.toList());
// 在产车分阶段实施数据信息
List<PhasedImplementationDetailsEO> carInProductionPhasedDetailsList = phasedDetailsList.stream().filter(phasedDetails -> {
boolean flag = false;
if(org.apache.commons.lang3.StringUtils.contains(phasedDetails.getImplementationType(), ImplementationTypeEnum.CAR_IN_PRODUCTION.getItemValue())){
flag = true;
}
return flag;
}).collect(Collectors.toList());
for (Map data : datas) {
String bussDocumentLibraryId = (String) data.get("id");
// 处理新车型实施日期展示
List<Date> newCarModelDateList = newCarModelPhasedDetailsList.stream().filter(phasedDetails -> {
boolean flag = false;
if (org.apache.commons.lang3.StringUtils.equals(phasedDetails.getBussDocumentLibraryId(), bussDocumentLibraryId)) {
flag = true;
}
return flag;
}).map(PhasedImplementationDetailsEO::getImplementationDate).collect(Collectors.toList());
Date newCarModelDate = null;
try {
newCarModelDate = DateUtils.parseDate((String) data.get("xin1_che1_xing2_shi2_shi1_ri4_qi1"), "yyyy-MM-dd");
} catch (ParseException e) {
e.printStackTrace();
}
if(newCarModelDate != null){
newCarModelDateList.add(newCarModelDate);
}
String newCarModelDateStr = DateUtils.formatDateList(newCarModelDateList);
data.put("xin1_che1_xing2_shi2_shi1_ri4_qi1",newCarModelDateStr);
// 处理在产车实施日期展示
List<Date> carInProductionDateList = carInProductionPhasedDetailsList.stream().filter(phasedDetails -> {
boolean flag = false;
if (org.apache.commons.lang3.StringUtils.equals(phasedDetails.getBussDocumentLibraryId(), bussDocumentLibraryId)) {
flag = true;
}
return flag;
}).map(PhasedImplementationDetailsEO::getImplementationDate).collect(Collectors.toList());
Date implementTime = null;
try {
implementTime = DateUtils.parseDate((String) data.get("implement_time"), "yyyy-MM-dd");
} catch (ParseException e) {
e.printStackTrace();
}
if(implementTime != null){
carInProductionDateList.add(implementTime);
}
String carInProductionDateStr = DateUtils.formatDateList(carInProductionDateList);
data.put("implement_time",carInProductionDateStr);
}
}
}
private String beforeTime (int month, Date date){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendarBefore = Calendar.getInstance();
+4
View File
@@ -123,8 +123,12 @@ module.exports = {
MergeAll: 'Merge All',
TreeOperation: 'Tree Operation',
essentialInformation: 'General Information',
DetailsPhasedImplementation: 'Details of the phased implementation',
Statutenumberclause: 'Statute number/clause',
OrganizationName: 'Organization Name',
EnterOrganizationDepartment: 'Please enter organization / department name',
Typeofimplementation: 'Type of implementation',
ImplementationDate: 'Implementation date',
SuperiorDepartment: 'Superior Department',
enterOrganizationCode: 'Please enter organization code',
nothing: 'Nothing',
+4
View File
@@ -125,6 +125,10 @@ module.exports = {
MergeAll: '合并所有',
TreeOperation: '树操作',
essentialInformation: '基本信息',
DetailsPhasedImplementation: '分阶段实施详情',
Statutenumberclause: '法规编号/条款',
Typeofimplementation: '实施类型',
ImplementationDate: '实施时间',
OrganizationName: '机构名称',
EnterOrganizationDepartment: '请输入机构/部门名称',
SuperiorDepartment: '上级部门',
@@ -109,7 +109,7 @@
}
})
if (this.triggerChange) {
this.$emit('change', val)
this.$emit('change', val,content)
} else {
this.$emit('input', val)
this.$emit('changeQuery', content, this.db_field_name)
@@ -225,11 +225,184 @@
</a-form-model-item>
</div>
</a-col>
</div>
</a-row>
</div>
</div>
<div>
<div class="header-text" style='margin-bottom: 0px'>
{{$t('DetailsPhasedImplementation')}}
</div>
<a-button key="submit" type="primary" @click="newlyAdded" style='float: right; z-index: 99; margin-bottom: 5px'>
{{ $t('newlyAdded') }}
</a-button>
<a-table
:loading="loading"
:pagination="false"
:data-source="dataGradto"
:columns="columnsGrading"
rowKey='id'
:scroll="{x: '100%'}"
>
<span slot="Gradoperation" slot-scope="text,result,index">
<a @click="handeredit(result,index)" style="margin-right: 10px">
{{$t('edit')}}
</a>
<a @click="deleteLib(result,index)" style="margin-right: 10px">
{{$t("deleteLib")}}
</a>
</span>
</a-table>
</div>
<a-modal
:title="$t('newlyAdded')"
:width="900"
:visible="visibleGrad"
:confirm-loading="confirmLoading"
:maskClosable="false"
@cancel="visibleGrad = false"
>
<a-form-model :rules="tablerules" :model="tabledataGrad"
ref="tableruleForm">
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span>{{$t('Statutenumberclause')}}</span>
</div>
<a-form-model-item class="itemModel" prop="standNumberOrClause">
<a-input class="box-input" v-model="tabledataGrad.standNumberOrClause"
:placeholder="$t('PleaseEnter')+$t('Statutenumberclause')"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span>{{$t('Typeofimplementation')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-multi-select-tag class="box-input" v-model="tabledataGrad.implementationType"
:placeholder="$t('PleaseSelect')+$t('Typeofimplementation')"
:type="'select'"
@changeQuery='implementationTypeChange'
:triggerChange="false" dictCode="shi2_shi1_lei4_xing2"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span>{{$t('ImplementationDate')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-date-picker class="box-input" v-model="tabledataGrad.implementationDate"
:placeholder="$t('PleaseSelect')+$t('ImplementationDate')"
format="YYYY-MM-DD"
@change='dateChangeOne'
style="width: 100%"/>
<!-- :disabledDate="disabledDate"-->
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span>{{$t('remarks')}}</span>
</div>
<a-form-model-item class="itemModel" style="height: auto" prop="remarks">
<a-textarea :placeholder="$t('pleaseEnter')+$t('remarks')"
:rows="4" v-model="tabledataGrad.remarks"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
<template slot="footer">
<a-button key="back" @click="visibleGrad = false">
{{ $t('cancel') }}
</a-button>
<a-button key="submit" type="primary" @click="handleSubmit">
{{ $t('determine') }}
</a-button>
</template>
</a-modal>
<a-modal
:title="$t('edit')"
:width="900"
:visible="tablevisibleGrad"
:confirm-loading="confirmLoading"
:maskClosable="false"
@cancel="tablevisibleGrad = false"
>
<a-form-model :rules="tablerules" :model="tabledataGrad"
ref="tableruleFormedit">
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span>{{$t('Statutenumberclause')}}</span>
</div>
<a-form-model-item class="itemModel" prop="standNumberOrClause">
<a-input class="box-input" v-model="tabledataGrad.standNumberOrClause"
:placeholder="$t('PleaseEnter')+$t('Statutenumberclause')"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span>{{$t('Typeofimplementation')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-multi-select-tag class="box-input" v-model="tabledataGrad.implementationType"
:placeholder="$t('PleaseSelect')+$t('Typeofimplementation')"
:type="'select'"
@changeQuery='implementationTypeChange'
:triggerChange="false" dictCode="shi2_shi1_lei4_xing2"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span>{{$t('ImplementationDate')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-date-picker class="box-input" v-model="tabledataGrad.implementationDate"
:placeholder="$t('PleaseSelect')+$t('ImplementationDate')"
format="YYYY-MM-DD"
@change='dateChangeOne'
style="width: 100%"/>
<!-- :disabledDate="disabledDate"-->
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span>{{$t('remarks')}}</span>
</div>
<a-form-model-item class="itemModel" style="height: auto" prop="remarks">
<a-textarea :placeholder="$t('pleaseEnter')+$t('remarks')"
:rows="4" v-model="tabledataGrad.remarks"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
<template slot="footer">
<a-button key="back" @click="tablevisibleGrad = false">
{{ $t('cancel') }}
</a-button>
<a-button key="submit" type="primary" @click="tablehandleSubmit">
{{ $t('determine') }}
</a-button>
</template>
</a-modal>
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFile>
</a-form-model>
</a-spin>
@@ -266,9 +439,32 @@
},
data() {
return {
tablevisibleGrad: false,
visibleGrad: false,
loading: false,
formInline: {},
tabledataGrad: {},
dataGradto: [],
isFormInline: false,
rules: {},
tablerules: {
standNumberOrClause: [
{
// required: true,
max: 200,
message: this.$t('Statutenumberclause') + this.$t('cannotExceed') + 200 + this.$t('Characters'),
trigger: 'blur'
}
],
remarks: [
{
// required: true,
max: 1000,
message: this.$t('remarks') + this.$t('cannotExceed') + 1000 + this.$t('Characters'),
trigger: 'blur'
}
]
},
labelCol: {
xs: { span: 24 },
sm: { span: 6 }
@@ -296,13 +492,88 @@
text: this.$t('relatedInformation'),
content: []
}
]
],
columnsGrading: [
{
title: this.$t('Statutenumberclause'),
dataIndex: 'standNumberOrClause',
align: 'left',
ellipsis: true,
width: 160
},
{
title: this.$t('Typeofimplementation'),
dataIndex: 'implementationTypeText',
align: 'left',
ellipsis: true,
width: 150
},
{
title: this.$t('ImplementationDate'),
dataIndex: 'implementationDate',
align: 'left',
ellipsis: true,
width: 150
},
{
title: this.$t('remarks'),
dataIndex: 'remarks',
align: 'left',
ellipsis: true,
width: 204
},
{
title: this.$t('operation'),
align: 'left',
fixed: 'right',
width: 180,
scopedSlots: { customRender: 'Gradoperation' }
}
],
dataGrad: [],
}
},
mounted() {
},
methods: {
tablehandleSubmit(){
this.$refs.tableruleFormedit.validate((valid) => {
if(valid){
this.tablevisibleGrad = false
console.log(this.tabledataGrad)
this.dataGradto[this.tabledataIndex] = this.tabledataGrad
this.dataGradto= [... this.dataGradto]
}
})
},
deleteLib(val,index) {
let _this = this
this.$confirm({
content: _this.$t('ConfirmDelete'),
onOk() {
_this.dataGradto.splice(index,1)
_this.dataGradto = [..._this.dataGradto]
}
})
},
newlyAdded(){
this.tabledataGrad = {}
this.visibleGrad = true
},
handeredit(result,index){
this.tablevisibleGrad = true
this.tabledataIndex = index
this.tabledataGrad = JSON.parse(JSON.stringify(result))
},
handleSubmit(){
this.$refs.tableruleForm.validate(valid => {
if (valid){
this.dataGradto.push(this.tabledataGrad)
this.visibleGrad = false
}
})
},
disabledDate(current) {
return current && current < moment().subtract(1, 'day')
},
@@ -314,6 +585,7 @@
this.formInline = { ...this.formInline }
},
sumber() {
// this.postTable()
this.$refs.ruleForm.validate(valid => {
if (valid) {
this.confirmLoading = true
@@ -329,6 +601,7 @@
formInline[res] = formInline[res].join(',')
}
})
formInline.phasedImplementationDetailsEOList = this.dataGradto
postAction(url, formInline).then((res) => {
if (res.success) {
this.confirmLoading = false
@@ -361,6 +634,13 @@
dateChange(item) {
this.formInline[item.db_field_name] = this.formInline[item.db_field_name] ? moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD') : ''
},
dateChangeOne(item) {
this.tabledataGrad.implementationDate = this.tabledataGrad.implementationDate ? moment(this.tabledataGrad.implementationDate).format('YYYY-MM-DD') : ''
console.log(this.tabledataGrad.implementationDate)
},
implementationTypeChange(val){
this.tabledataGrad.implementationTypeText = val
},
onChange(item) {
let dateOne = moment(this.formInline[item][0]).format('YYYY-MM-DD')
let dateTwo = moment(this.formInline[item][1]).format('YYYY-MM-DD')
@@ -479,18 +759,33 @@
}
})
},
postTable(){
let params = this.dataGradto
postAction(this.url.getDocumentInfo, params).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
}
})
},
edit(item) {
this.type = 'edit'
this.loading = true
this.getForm(() => {
getAction(this.url.getDocumentInfo, { id: item.id }).then((res) => {
if (res.success) {
this.formInline = res.result[0]
this.dataGrad = res.result[0].phasedImplementationDetailsEOList
this.dataGradto = this.dataGrad
this.loading = false
} else {
this.loading = false
}
})
})
},
add() {
this.formInline = {}
this.dataGrad = []
this.type = 'add'
this.getForm()
},
@@ -642,4 +937,13 @@
line-height: 6px;
color: #fff;
}
.table {
margin-top: 5px;
}
.page {
text-align: right;
margin-top: 20px;
}
</style>
@@ -162,9 +162,34 @@
</div>
</div>
</div>
<div class='content-box'>
<div class="content">
<div class="header-text">
{{$t('DetailsPhasedImplementation')}}
</div>
<a-table
:pagination="false"
:scroll="{x: '100%'}"
:data-source="dataGrad"
:columns="columnsGrading"
>
</a-table>
<div class="page" v-if="dataGrad.length > 0">
<a-pagination
:show-total="total => $t('total')+` ${tabletotal} `+$t('strip')"
show-quick-jumper
show-size-changer
:page-size.sync="tablepageSize"
:total="tabletotal"
:current="tablepageNo"
@change="onTableChange"
@showSizeChange="tableSizeChange"
/>
</div>
</div>
</div>
</div>
</div>
</div>
<a-modal
:title="$t('UpdateLog')"
@@ -287,7 +312,8 @@
url: {
getInfo: 'document/bussDocumentLibraryEO/getInfoById',
list: 'log/bussLogEO/page',
getTitle: '/document/bussDocumentLibraryEO/getTitle'
getTitle: '/document/bussDocumentLibraryEO/getTitle',
getPage: '/document/phasedImplementationDetailsEO/page'
},
titleHeader: '',
visibleFile: false,
@@ -319,18 +345,51 @@
],
dataSourceRelated: [],
detailList: [],
dataGrad:[],
visible: false,
serial_number: '',
confirmLoading: false,
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
loading: false,
dataSource: [],
pageNo: 1,
tablepageNo: 1,
pageSize: 10,
tablepageSize: 10,
total: 0,
tabletotal: 0,
visibleRelated: false,
dataSourceFile: [],
columnsGrading: [
{
title: this.$t('Statutenumberclause'),
dataIndex: 'standNumberOrClause',
align: 'left',
ellipsis: true,
width: 300
},
{
title: this.$t('Typeofimplementation'),
dataIndex: 'implementationTypeText',
align: 'left',
ellipsis: true,
width: 150
},
{
title: this.$t('ImplementationDate'),
dataIndex: 'implementationDate',
align: 'left',
ellipsis: true,
width: 150
},
{
title: this.$t('remarks'),
dataIndex: 'remarks',
align: 'left',
ellipsis: true,
width: 350
},
],
columns: [
{
title: this.$t('ModificationContent'),
@@ -364,6 +423,7 @@
this.getTitle(function() {
_this.getInfoById()
})
this.getPage()
},
methods: {
...mapGetters(['userInfo']),
@@ -441,6 +501,23 @@
}
})
},
getPage(){
let tablequery = {
pageNo: this.tablepageNo,
pageSize: this.tablepageSize,
bussDocumentLibraryId: this.$route.query.id
}
getAction(this.url.getPage, tablequery).then((res) => {
if (res.success) {
this.dataGrad = res.result.records
this.tabletotal=res.result.total
this.loading = false
} else {
this.dataGrad = []
this.loading = false
}
})
},
clickButtonToUpload(item) {
this.loading = true
this.visibleFile = true
@@ -518,11 +595,20 @@
this.pageNo = page
this.bussLogList()
},
onTableChange(page, pageSize) {
this.tablepageNo = page
this.getPage()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.bussLogList()
},
tableSizeChange(page, pageSize) {
this.tablepageNo = 1
this.tablepageSize = pageSize
this.getPage()
},
DocumentSplitting() {
let serial_number = ''
if (this.detailList.length > 0) {
@@ -835,6 +921,10 @@
//}
/deep/ .ant-table-placeholder{
margin-top: 8px !important;
margin-top: 0px !important;
}
.text {
margin-right: 10px
}
</style>
@@ -127,7 +127,8 @@
deleteBatch: 'document/bussDocumentLibraryEO/deleteBatch', //删除
pullMessage: 'document/bussDocumentLibraryEO/pullMessage',//推送
importZipUrl: '/document/bussDocumentLibraryEO/importZip',//导入
verifyBind: '/document/bussDocumentLibraryEO/verifyBind' //验证当前的数据是否可以删除
verifyBind: '/document/bussDocumentLibraryEO/verifyBind', //验证当前的数据是否可以删除
getPage : '/document/phasedImplementationDetailsEO/page'
},
idList: []
}
@@ -72,6 +72,26 @@
v-model="queryParam.subtitle"></j-input>
</div>
</a-col>
<template v-if="toggleSearchStatus">
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('vehicleInProductionDate')">
<span>{{$t('vehicleInProductionDate')}}</span>
</div>
<a-range-picker class="box-input" v-model="queryParam.implementTimeString"
@change="onChangedate"></a-range-picker>
</div>
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('StandardImplementationDate')">
<span>{{$t('StandardImplementationDate')}}</span>
</div>
<a-range-picker class="box-input" v-model="queryParam.xin1Che1Xing2Shi2Shi1Ri4Qi1String"
@change="onChangedatet"></a-range-picker>
</div>
</a-col>
</template>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<globalAdvancedQuery ref="globalAdvancedQueryRef"
@@ -79,6 +99,10 @@
:fieldList="fieldList"/>
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
<a @click="handleToggleSearch" style="margin-left: 8px">
{{ !toggleSearchStatus ? $t('open') : $t('away') }}
<a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
</a>
</a-col>
</span>
</a-row>
@@ -328,6 +352,7 @@
title: '维护虚拟清单',
queryParam: {},
components: {},
toggleSearchStatus: false,
visibleFile: false,
transferList: false,
orderBy: '1',
@@ -439,14 +464,16 @@
title: this.$t('ImplementationDate'),
align: 'left',
width: 200,
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1String',
scopedSlots: { customRender: 'titleName' },
ellipsis: true
},
{
title: this.$t('vehicleInProductionDate'),
align: 'left',
width: 220,
dataIndex: 'implementTime',
dataIndex: 'implementTimeString',
scopedSlots: { customRender: 'titleName' },
ellipsis: true
},
{
@@ -981,7 +1008,7 @@
name: this.$t('ImplementationDate'),
headFieldCn:'标准实施日期',
headFieldEn:'New Type Execution Date',
field: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
field: 'xin1Che1Xing2Shi2Shi1Ri4Qi1String',
key: 9,
moduleFlag:this.$route.query.title == '虚拟清单详情' ? '虚拟清单详情' : '维护清单',
},
@@ -990,7 +1017,7 @@
name: this.$t('vehicleInProductionDate'),
headFieldCn:'在产车实施日期',
headFieldEn:'New Vehicle Execution Date',
field: 'implementTime',
field: 'implementTimeString',
key: 10,
moduleFlag:this.$route.query.title == '虚拟清单详情' ? '虚拟清单详情' : '维护清单',
},
@@ -1271,16 +1298,16 @@
text: this.$t('implementationCategory'),
dictCode: 'implement_type'//只要 dictCode 有值无论 type 是什么都显示为字典下拉框
},
{
type: 'date',
value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
text: this.$t('ImplementationDate')
},
{
type: 'date',
value: 'implementTime',
text: this.$t('vehicleInProductionDate')
},
// {
// type: 'date',
// value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
// text: this.$t('ImplementationDate')
// },
// {
// type: 'date',
// value: 'implementTime',
// text: this.$t('vehicleInProductionDate')
// },
{
type: 'string',
value: 'wvtaId',
@@ -1363,9 +1390,9 @@
this.getList()
},
searchReset() {
this.queryParam = {}
this.$refs.globalAdvancedQueryRef.resetLine()
this.$refs.globalAdvancedQueryRef.emitCallback()
this.queryParam = {}
this.getList()
},
//模板下载
@@ -1451,6 +1478,9 @@
}
this.getList()
},
handleToggleSearch() {
this.toggleSearchStatus = !this.toggleSearchStatus
},
getHeader(){
getAction('head/headCustomEO/list', {
moduleFlag: this.$route.query.title == '虚拟清单详情' ? '虚拟清单详情' : '维护清单'
@@ -1482,6 +1512,14 @@
item.scopedSlots = {
customRender: 'titleName'
}
}else if(item.title == '在产车实施日期'){
item.scopedSlots = {
customRender: 'titleName'
}
}else if(item.title == '标准实施日期'){
item.scopedSlots = {
customRender: 'titleName'
}
}
else if(item.title == '清单确认状态' || item.title == '任务确认状态' || item.title == '认证级别' || item.title == 'WVTA ID' ||
item.title == '责任领域' || item.title == '法规工程师' || item.title == '认证工程师' || item.title == '工程接口人'){
@@ -1516,6 +1554,12 @@
})
},
getList() {
if(this.queryParam.xin1Che1Xing2Shi2Shi1Ri4Qi1String && this.queryParam.xin1Che1Xing2Shi2Shi1Ri4Qi1String instanceof Array){
this.queryParam.xin1Che1Xing2Shi2Shi1Ri4Qi1String = this.queryParam.xin1Che1Xing2Shi2Shi1Ri4Qi1String.join(',')
}
if(this.queryParam.implementTimeString && this.queryParam.implementTimeString instanceof Array){
this.queryParam.implementTimeString = this.queryParam.implementTimeString.join(',')
}
let query = {
...this.queryParam,
...this.queryParamQuery,
@@ -1564,6 +1608,22 @@
onChange(){
this.selectedValue = this.checkedList
},
onChangedatet(values){
let StartTime = values[0].format('YYYY-MM-DD')
let EndTime = values[1].format('YYYY-MM-DD')
let array = []
array.push(StartTime,EndTime)
console.log(array)
this.queryParam.xin1Che1Xing2Shi2Shi1Ri4Qi1String = array
},
onChangedate(values){
let StartTime = values[0].format('YYYY-MM-DD')
let EndTime = values[1].format('YYYY-MM-DD')
let array = []
array.push(StartTime,EndTime)
console.log(array)
this.queryParam.implementTimeString = array
},
getcustomize(){
this.customizevisible = true
},