From 34f93771e31a7389cee06f88d82f33ed5522cd04 Mon Sep 17 00:00:00 2001 From: liyawei Date: Tue, 11 Oct 2022 09:57:10 +0800 Subject: [PATCH 001/298] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ParamsManifestTodoCenterController.java | 19 +++++++++ .../entity/ParamsManifestTodoCenterEO.java | 42 +++++++++++++++++++ .../IParamsManifestTodoCenterService.java | 10 +++++ .../ParamsManifestTodoCenterServiceImpl.java | 13 ++++++ 4 files changed, 84 insertions(+) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/controller/ParamsManifestTodoCenterController.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/entity/ParamsManifestTodoCenterEO.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IParamsManifestTodoCenterService.java create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ParamsManifestTodoCenterServiceImpl.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/controller/ParamsManifestTodoCenterController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/controller/ParamsManifestTodoCenterController.java new file mode 100644 index 000000000..416c60689 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/controller/ParamsManifestTodoCenterController.java @@ -0,0 +1,19 @@ +package com.jero.modules.todoCenter.controller; + +import io.swagger.annotations.Api; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author: liyawei + * @Description: + * @Date: Created in 09:43 2022/10/11 + */ + +@Api(tags="待办中心-参数清单") +@RestController +@RequestMapping("/todoCenter/params/manifest") +@Slf4j +public class ParamsManifestTodoCenterController { +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/entity/ParamsManifestTodoCenterEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/entity/ParamsManifestTodoCenterEO.java new file mode 100644 index 000000000..0ea7b497a --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/entity/ParamsManifestTodoCenterEO.java @@ -0,0 +1,42 @@ +package com.jero.modules.todoCenter.entity; + +import lombok.Data; + +@Data +public class ParamsManifestTodoCenterEO { + /** + * 参数清单id + */ + private String id; + + /** + * 相关项目名称 + */ + private String projectName; + + /** + * 参数清单标题 + */ + private String title; + + /** + * 相关项目版本 + */ + private String projectVersion; + + /** + * 待发起数量 + */ + private Integer waitCollectNum; + + /** + * 待工程接口人处理数量(即待分配) + */ + private Integer waitSdtNum; + + /** + * 待填写数量 + */ + private Integer waitFillNum; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IParamsManifestTodoCenterService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IParamsManifestTodoCenterService.java new file mode 100644 index 000000000..feaf3b4c7 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IParamsManifestTodoCenterService.java @@ -0,0 +1,10 @@ +package com.jero.modules.todoCenter.service; + +/** + * @Author: liyawei + * @Description: + * @Date: Created in 09:43 2022/10/11 + */ + +public interface IParamsManifestTodoCenterService { +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ParamsManifestTodoCenterServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ParamsManifestTodoCenterServiceImpl.java new file mode 100644 index 000000000..69089345d --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ParamsManifestTodoCenterServiceImpl.java @@ -0,0 +1,13 @@ +package com.jero.modules.todoCenter.service.impl; + +import com.jero.modules.todoCenter.service.IParamsManifestTodoCenterService; +import org.springframework.stereotype.Service; + +/** + * @Author: liyawei + * @Description: + * @Date: Created in 09:43 2022/10/11 + */ +@Service +public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoCenterService { +} From 019c8b372b4fbd85d61a1c0dd8c8e4106d313d4e Mon Sep 17 00:00:00 2001 From: liyawei Date: Wed, 12 Oct 2022 10:53:00 +0800 Subject: [PATCH 002/298] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0-=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/ParamsManifestEOMapper.java | 4 + .../mapper/xml/ParamsManifestEOMapper.xml | 23 ++ .../ParamsManifestTodoCenterController.java | 20 ++ .../entity/ParamsManifestTodoCenterEO.java | 11 +- .../IParamsManifestTodoCenterService.java | 6 + .../ParamsManifestTodoCenterServiceImpl.java | 296 ++++++++++++++++++ .../vo/ParamsManifestTodoCenterEOPage.java | 45 +++ 7 files changed, 402 insertions(+), 3 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ParamsManifestTodoCenterEOPage.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsManifestEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsManifestEOMapper.java index 97a6d0c9b..5d718889d 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsManifestEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsManifestEOMapper.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.modules.cert.collect.entity.ParamsManifestEO; import com.jero.modules.cert.collect.vo.ParamsManifestVO; +import com.jero.modules.todoCenter.entity.ParamsManifestTodoCenterEO; +import com.jero.modules.todoCenter.vo.ParamsManifestTodoCenterEOPage; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -24,6 +26,8 @@ public interface ParamsManifestEOMapper extends BaseMapper { List listInfoAll(@Param("idList") List idList); + List listForTodoCenter(ParamsManifestTodoCenterEOPage paramsManifestTodoCenterEOPage); + ParamsManifestVO getProjectById(@Param("projectId") String projectId); List> labelListForProjectDetails(@Param("projectId") String projectId); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml index 592058433..580843763 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml @@ -114,6 +114,29 @@ + + + SELECT + pi.id, + pi.project_library_id, + pi.project_laws_inventory_id, + pi.buss_document_library_id, + pi.acti_proc_inst_id, + pni.project_name, + pyni.year_name, + pli.serial_number, + pli.title, + pi.flow_type, + createBy.username as "create_by", + pi.end_time, + pi.status + FROM + process_info pi + left join project_library_base plb on plb.id = pi.project_library_id + left join project_name_info pni on pni.id = plb.project_name_id + left join project_year_name_info pyni on pyni.id = plb.year_name_id + left join project_laws_inventory pli on pi.project_laws_inventory_id = pli.id + LEFT JOIN sys_user createBy on createBy.id = pi.create_by + + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoEOService.java index b6968785e..457869dce 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoEOService.java @@ -1,10 +1,12 @@ package com.jero.modules.todoCenter.service; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.common.api.vo.Result; import com.jero.modules.todoCenter.entity.ProcessInfoEO; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; +import java.util.Map; /** * @Description: 流程信息表 @@ -67,4 +69,25 @@ public interface IProcessInfoEOService extends IService { * @return */ Result processCall(JSONObject jsonObject); + + /** + * 待办任务列表 + * @param params + * @return + */ + IPage todoTaskList(Map params); + + /** + * 已办任务列表 + * @param params + * @return + */ + IPage doneProcess(Map params); + + /** + * 已发任务列表 + * @param params + * @return + */ + IPage issuedProcess(Map params); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java index d07b7e6fc..c7b73387b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java @@ -1,19 +1,33 @@ package com.jero.modules.todoCenter.service.impl; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; -import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO; -import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO; +import com.jero.common.system.vo.LoginUser; import com.jero.modules.project.enums.OperatorTypeEnum; import com.jero.modules.project.enums.RequestSourceEnum; +import com.jero.modules.project.enums.TaskStatusEnum; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; +import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO; import com.jero.modules.todoCenter.entity.ProcessInfoEO; +import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum; import com.jero.modules.todoCenter.mapper.ProcessInfoEOMapper; +import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService; import com.jero.modules.todoCenter.service.IProcessInfoEOService; +import com.jero.modules.wkflow.enums.FlowTypeEnum; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; -import java.util.Date; + +import java.util.*; +import java.util.stream.Collectors; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** @@ -25,6 +39,11 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class ProcessInfoEOServiceImpl extends ServiceImpl implements IProcessInfoEOService { + @Autowired + private IProcessInfoDetailEOService processInfoDetailEOService; + @Autowired + private ISysUserService sysUserService; + /** * 保存 * @@ -121,4 +140,168 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl().success("调用成功!"); } + + @Override + public IPage todoTaskList(Map params) { + Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); + Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); + String cut = (String) params.get("cut"); + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + List flowTypeList = new ArrayList<>(); + this.setFlowTypeList(flowTypeList); + params.put("flowTypeList",flowTypeList); + params.put("taskStatus", TaskStatusEnum.NOT_DONE.getValue()); + params.put("currentUserId",currentUser.getId()); + + IPage page = new Page(pageNo, pageSize); + IPage result = this.baseMapper.queryPageList(page,params); + this.disposeData(result.getRecords(),cut); + return result; + } + + @Override + public IPage doneProcess(Map params) { + Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); + Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); + String cut = (String) params.get("cut"); + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + List flowTypeList = new ArrayList<>(); + this.setFlowTypeList(flowTypeList); + params.put("flowTypeList",flowTypeList); + params.put("taskStatus", TaskStatusEnum.HAVE_DONE.getValue()); + params.put("currentUserId",currentUser.getId()); + + IPage page = new Page(pageNo, pageSize); + IPage result = this.baseMapper.queryPageList(page,params); + this.disposeData(result.getRecords(),cut); + return result; + } + + @Override + public IPage issuedProcess(Map params) { + Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); + Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); + String cut = (String) params.get("cut"); + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + params.put("createBy",currentUser.getId()); + + List flowTypeList = new ArrayList<>(); + this.setFlowTypeList(flowTypeList); + params.put("flowTypeList",flowTypeList); + params.put("currentUserId",currentUser.getId()); + + IPage page = new Page(pageNo, pageSize); + IPage result = this.baseMapper.queryPageList(page,params); + this.disposeData(result.getRecords(),cut); + return result; + } + + public void setFlowTypeList(List flowTypeList){ + flowTypeList.add(FlowTypeEnum.QDQR.getValue()); + flowTypeList.add(FlowTypeEnum.RWQRLC.getValue()); + flowTypeList.add(FlowTypeEnum.SJFHXSHLC.getValue()); + flowTypeList.add(FlowTypeEnum.YZFHXSCLC.getValue()); + flowTypeList.add(FlowTypeEnum.PREHOMOQRLC.getValue()); + } + + public void disposeData(List datas,String cut){ + if(CollectionUtils.isNotEmpty(datas)){ + List processInfoIdList = datas.stream().map(ProcessInfoEO::getId).distinct().collect(Collectors.toList()); + + QueryWrapper processInfoDetailQueryWrap = new QueryWrapper<>(); + processInfoDetailQueryWrap.lambda().in(ProcessInfoDetailEO::getProcessInfoId,processInfoIdList); + List processInfoDetailEOList = this.processInfoDetailEOService.list(processInfoDetailQueryWrap); + + Map> lastAssigneeDetailMap = processInfoDetailEOList.stream().filter(processInfoDetailEO -> { + boolean flag = false; + if(StringUtils.equals(processInfoDetailEO.getStatus(),TaskStatusEnum.HAVE_DONE.getValue()) && processInfoDetailEO.getSubmitTime() != null){ + flag = true; + } + return flag; + }).collect(Collectors.groupingBy(ProcessInfoDetailEO::getProcessInfoId)); + + Map> assigneeDetailMap = processInfoDetailEOList.stream().filter(processInfoDetailEO -> { + boolean flag = false; + if(StringUtils.equals(processInfoDetailEO.getStatus(),TaskStatusEnum.NOT_DONE.getValue()) && processInfoDetailEO.getSubmitTime() == null){ + flag = true; + } + return flag; + }).collect(Collectors.groupingBy(ProcessInfoDetailEO::getProcessInfoId)); + + List userIdList = new ArrayList<>(); + + datas.forEach(data -> { + //设置上一个操作人。 + for (Map.Entry> detailMap : lastAssigneeDetailMap.entrySet()) { + if(StringUtils.equals(data.getId(),detailMap.getKey())){ + List detailEOList = detailMap.getValue(); + + Collections.sort(detailEOList,new Comparator(){ + @Override + public int compare(ProcessInfoDetailEO o1, ProcessInfoDetailEO o2) { + return o2.getSubmitTime().compareTo(o1.getSubmitTime()); + } + }); + + String userId = detailEOList.get(0).getUserId(); + userIdList.add(userId); + data.setLastAssignee(userId); + break; + } + } + + //设置当前操作人 + for (Map.Entry> detailMap : assigneeDetailMap.entrySet()) { + if(StringUtils.equals(data.getId(),detailMap.getKey())){ + List detailEOList = detailMap.getValue(); + data.setAssignee(detailEOList.stream().map(ProcessInfoDetailEO::getUserId).collect(Collectors.joining(","))); + userIdList.addAll(detailEOList.stream().map(ProcessInfoDetailEO::getUserId).collect(Collectors.toList())); + break; + } + } + }); + + List sysUserList = this.sysUserService.querySysUserListByIdList(userIdList); + + datas.forEach(data -> { + if(StringUtils.isNotEmpty(data.getFlowType())){ + data.setFlowTypeShow(FlowTypeEnum.getTextByValue(data.getFlowType(),cut)); + } + if(StringUtils.isNotEmpty(data.getStatus())){ + data.setStatusShow(TodoCenterStatusEnum.getTextByValue(data.getStatus(),cut)); + } + + if(CollectionUtils.isNotEmpty(sysUserList)){ + if(StringUtils.isNotEmpty(data.getLastAssignee())){ + String lastUserName = sysUserList.stream().filter(sysUser -> { + boolean flag = false; + if (StringUtils.equals(data.getLastAssignee(), sysUser.getId())) { + flag = true; + } + return flag; + }).map(SysUser::getUsername).collect(Collectors.joining(",")); + data.setLastAssigneeName(lastUserName); + } + if(StringUtils.isNotEmpty(data.getAssignee())){ + String[] assigneeArr = data.getAssignee().split(","); + String currentUserName = sysUserList.stream().filter(sysUser -> { + boolean flag = false; + for (String assignee : assigneeArr) { + if (StringUtils.equals(assignee, sysUser.getId())) { + flag = true; + } + } + return flag; + }).map(SysUser::getUsername).collect(Collectors.joining(",")); + data.setAssigneeName(currentUserName); + } + } + }); + } + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/enums/FlowTypeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/enums/FlowTypeEnum.java index d41f6e887..81d073225 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/enums/FlowTypeEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/enums/FlowTypeEnum.java @@ -1,16 +1,21 @@ package com.jero.modules.wkflow.enums; +import com.jero.common.constant.enums.CutEnum; +import com.jero.modules.todoCenter.enums.TodoCenterStatusEnum; +import org.apache.commons.lang3.StringUtils; + /** * 流程类型枚举类 */ public enum FlowTypeEnum { - RWQRLC("1","任务确认流程","RWQRLC","任务确认流程","rwqrlc"), - SJFHXSHLC("2","设计符合性审查流程","SJFHXSHLC","设计符合性审查流程","sjfhxlc"), - PREHOMOQRLC("3","prehomo确认流程","PREHOMOQRLC","prehomo确认流程","prehomoqrlc"), - YZFHXSCLC("4","验证符合性审查流程","YZFHXSCLC","验证符合性审查流程","yzfhxsclc"), - FGYJSJLC("5","法规意见收集流程","FGYJSJLC","法规意见收集流程","fgyjsjlc"), - FGJSPG("6","法规技术评估","FGJSPG","法规技术评估流程","fgjspglc"), + RWQRLC("1","任务确认流程","RWQRLC","任务确认流程","rwqrlc","清单任务确认","List task Confirmation"), + SJFHXSHLC("2","设计符合性审查流程","SJFHXSHLC","设计符合性审查流程","sjfhxlc","设计符合性确认","Design conformance verification"), + PREHOMOQRLC("3","prehomo确认流程","PREHOMOQRLC","prehomo确认流程","prehomoqrlc","Pre-Homo确认","The Pre - Homo confirmation"), + YZFHXSCLC("4","验证符合性审查流程","YZFHXSCLC","验证符合性审查流程","yzfhxsclc","验证符合性确认","Verify conformance confirmation"), + FGYJSJLC("5","法规意见收集流程","FGYJSJLC","法规意见收集流程","fgyjsjlc","法规意见收集","Collection of Legislative Comments"), + FGJSPG("6","法规技术评估流程","FGJSPG","法规技术评估流程","fgjspglc","法规技术评估","Regulatory and technical assessment"), + QDQR("10","清单确认","QDQR","清单确认流程","qdqr","法规清单确认","Regulation list confirmation"), ; private String value; @@ -18,13 +23,17 @@ public enum FlowTypeEnum { private String prcNum; private String prcName; private String processDefinitionKey; + private String cnName; + private String enName; - private FlowTypeEnum(String value, String lable, String prcNum, String prcName, String processDefinitionKey) { + private FlowTypeEnum(String value, String lable, String prcNum, String prcName, String processDefinitionKey,String cnName,String enName) { this.value = value; this.lable = lable; this.prcNum = prcNum; this.prcName = prcName; this.processDefinitionKey = processDefinitionKey; + this.cnName = cnName; + this.enName = enName; } public String getValue() { return value; @@ -43,4 +52,26 @@ public enum FlowTypeEnum { public String getProcessDefinitionKey() { return processDefinitionKey; } + + public String getCnName() { + return cnName; + } + + public String getEnName() { + return enName; + } + + public static String getTextByValue(String value, String cut) { + FlowTypeEnum[] values = values(); + for (FlowTypeEnum flowTypeEnum : values) { + if (flowTypeEnum.value.equals(value)) { + if(StringUtils.equals(cut, CutEnum.CN.getValue())){ + return flowTypeEnum.cnName; + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + return flowTypeEnum.enName; + } + } + } + return null; + } } From dfa3a9f10c8b731a37ffc2a95629e8a5b0f7e5d4 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Mon, 17 Oct 2022 17:58:40 +0800 Subject: [PATCH 020/298] update --- .../jero/modules/todoCenter/entity/ProcessInfoEO.java | 11 ++++++----- .../service/impl/ProcessInfoEOServiceImpl.java | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/entity/ProcessInfoEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/entity/ProcessInfoEO.java index 9fa7c1681..642a6d959 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/entity/ProcessInfoEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/entity/ProcessInfoEO.java @@ -1,8 +1,6 @@ package com.jero.modules.todoCenter.entity; import java.io.Serializable; -import java.io.UnsupportedEncodingException; -import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -11,13 +9,10 @@ import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.format.annotation.DateTimeFormat; import org.jeecgframework.poi.excel.annotation.Excel; -import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; - /** * @Description: 流程信息表 @@ -125,4 +120,10 @@ public class ProcessInfoEO implements Serializable { /**标准标题*/ @TableField(exist = false) private String title; + /**项目名称*/ + @TableField(exist = false) + private String projectName; + /**年份*/ + @TableField(exist = false) + private String yearName; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java index c7b73387b..4bd2d95bd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java @@ -301,6 +301,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl Date: Mon, 17 Oct 2022 18:01:46 +0800 Subject: [PATCH 021/298] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/en-us.js | 3 + jero-web/src/common/lang/zh-cn.js | 3 + .../components/SentList.vue | 23 +- .../components/dealtWith.vue | 196 +++++++++--------- .../components/doneList.vue | 23 +- .../projectRegulationTasks/index.vue | 41 +++- 6 files changed, 169 insertions(+), 120 deletions(-) diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index 327c809ed..0512e7b97 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -1327,4 +1327,7 @@ module.exports = { completednum: 'Quantity to be filled', filledBynum:'Filled by', parameterToBeInitiatednum:'Parameter to be initiated', + listToConfirm:'List to confirm', + toSubmit:'To submit', + toAudit:'To audit', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 8ee9717a9..be0b822e1 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1428,4 +1428,7 @@ module.exports = { completednum: '待填写数量', filledBynum:'待分配填写人数量', parameterToBeInitiatednum:'参数待发起数量', + listToConfirm:'待确认', + toSubmit:'待提交', + toAudit:'待审核', } \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue index 8e110122d..111ca9a60 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue @@ -43,49 +43,49 @@ { title: this.$t('RelatedItems'), align: 'center', - dataIndex: 'RelatedItems', + dataIndex: 'projectName', ellipsis: true, width: 170 }, { title: this.$t('standardInformation'), align: 'center', - dataIndex: 'standardInformation', + dataIndex: 'serialNumber', ellipsis: true, width: 170 }, { title: this.$t('taskType'), align: 'center', - dataIndex: 'taskType', + dataIndex: 'flowTypeShow', ellipsis: true, width: 170 }, { title: this.$t('LastProcessor'), align: 'center', - dataIndex: 'LastProcessor', + dataIndex: 'lastAssigneeName', ellipsis: true, width: 170 }, { title: this.$t('CurrentProcessor'), align: 'center', - dataIndex: 'CurrentProcessor', + dataIndex: 'assigneeName', ellipsis: true, width: 170 }, { title: this.$t('TaskCutOffTime'), align: 'center', - dataIndex: 'TaskCutOffTime', + dataIndex: 'endTime', ellipsis: true, width: 170 }, { title: this.$t('taskStatus'), align: 'center', - dataIndex: 'taskStatus', + dataIndex: 'statusShow', ellipsis: true, width: 170 }, @@ -102,11 +102,14 @@ pageNo:1, total:0, url:{ - list:'', + list:'/todoCenter/projectProcess/issuedProcess', }, queryParam:{}, } }, + mounted() { + this.getList() + }, methods:{ viewClick(val){ @@ -163,5 +166,9 @@ \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue index 101a5c019..7edbe9926 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue @@ -1,107 +1,111 @@ \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue index a12ef8680..4b9bacacb 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue @@ -40,56 +40,56 @@ dataSource:[], loading:false, url:{ - list:'', + list:'/todoCenter/projectProcess/doneProcess', }, queryParam:{}, columns:[ { title: this.$t('RelatedItems'), align: 'center', - dataIndex: 'RelatedItems', + dataIndex: 'projectName', ellipsis: true, width: 170 }, { title: this.$t('standardInformation'), align: 'center', - dataIndex: 'standardInformation', + dataIndex: 'serialNumber', ellipsis: true, width: 170 }, { title: this.$t('taskType'), align: 'center', - dataIndex: 'taskType', + dataIndex: 'flowTypeShow', ellipsis: true, width: 170 }, { title: this.$t('Sponsor'), align: 'center', - dataIndex: 'Sponsor', + dataIndex: 'assigneeName', ellipsis: true, width: 170 }, { title: this.$t('CurrentProcessor'), align: 'center', - dataIndex: 'CurrentProcessor', + dataIndex: 'assigneeName', ellipsis: true, width: 170 }, { title: this.$t('TaskCutOffTime'), align: 'center', - dataIndex: 'TaskCutOffTime', + dataIndex: 'endTime', ellipsis: true, width: 170 }, { title: this.$t('taskStatus'), align: 'center', - dataIndex: 'taskStatus', + dataIndex: 'statusShow', ellipsis: true, width: 170 }, @@ -107,6 +107,9 @@ total:0, } }, + mounted() { + this.getList() + }, methods:{ viewClick(val){ @@ -163,5 +166,9 @@ \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue index ac1792af7..8975a4fcb 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue @@ -9,7 +9,7 @@ {{$t('RelatedItems')}} + v-model="queryParam.projectName"> @@ -18,7 +18,7 @@ {{$t('standardInformation')}} + v-model="queryParam.serialNumber"> @@ -30,7 +30,7 @@ class="box-input" :getPopupContainer="triggerNode=> triggerNode.parentNode" allowClear - v-model="queryParam.taskType"> + v-model="queryParam.flowType"> @@ -51,7 +51,7 @@ class="box-input" :getPopupContainer="triggerNode=> triggerNode.parentNode" allowClear - v-model="queryParam.flowStatus"> + v-model="queryParam.status"> @@ -117,26 +117,47 @@ taskTypeList: [ { name:this.$t('confirmationOfRegulationsList'), - value:'1', + value:'10', }, { name:this.$t('listTaskConfirmation'), - value:'2', + value:'1', }, { name:this.$t('designComplianceReview'), - value:'3', + value:'2', }, { name:this.$t('preHomeConfirmation'), - value:'4', + value:'3', }, { name:this.$t('verificationComplianceReview'), - value:'5', + value:'4', + }, + ], + taskStatusList: [ + { + name:this.$t('listToConfirm'), + value:'List to confirm', + }, + { + name:this.$t('Finished'), + value:'Completed', + }, + { + name:this.$t('inquiry'), + value:'Inquiry', + }, + { + name:this.$t('toSubmit'), + value:'To submit', + }, + { + name:this.$t('toAudit'), + value:'To audit', }, ], - taskStatusList: [], tabActive: this.$t('toDoProcess') } }, From b6f1b13782dd949750eeb2f486268d3b53e6b37f Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Mon, 17 Oct 2022 18:04:14 +0800 Subject: [PATCH 022/298] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/toDoCenter/projectRegulationTasks/index.vue | 8 ++++---- jero-web/src/views/toDoCenter/taskConfirmation/index.vue | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue index 8975a4fcb..a97b542c2 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue @@ -8,8 +8,8 @@
{{$t('RelatedItems')}}
- +
@@ -17,8 +17,8 @@
{{$t('standardInformation')}}
- +
diff --git a/jero-web/src/views/toDoCenter/taskConfirmation/index.vue b/jero-web/src/views/toDoCenter/taskConfirmation/index.vue index 7a0050e19..a3ef8719d 100644 --- a/jero-web/src/views/toDoCenter/taskConfirmation/index.vue +++ b/jero-web/src/views/toDoCenter/taskConfirmation/index.vue @@ -74,6 +74,8 @@ \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue index 8e3492434..8d0274192 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue @@ -150,5 +150,9 @@ \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue index f96d39f5d..4cb34592b 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue @@ -156,5 +156,9 @@ \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/taskConfirmation/components/batchProcessing.vue b/jero-web/src/views/toDoCenter/taskConfirmation/components/batchProcessing.vue index 26af9622c..45cdf79eb 100644 --- a/jero-web/src/views/toDoCenter/taskConfirmation/components/batchProcessing.vue +++ b/jero-web/src/views/toDoCenter/taskConfirmation/components/batchProcessing.vue @@ -115,8 +115,8 @@ issue: false, isTrue: false, taskDefinitionKey: '', - taskIds:[], - projectLawsInventoryIds:[], + taskIds: [], + projectLawsInventoryIds: [] } }, methods: { @@ -126,12 +126,10 @@ this.taskDefinitionKey = this.selectedRowKeys[0].taskDefinitionKey this.taskIds = [] this.projectLawsInventoryIds = [] - this.selectedRowKeys.forEach(res=>{ - if (res.taskIds.indexOf(',') != '-1'){ - res.taskIds = res.taskIds.slice(0,res.taskIds.indexOf(',')) - } - this.taskIds.push(res.taskIds) - this.projectLawsInventoryIds.push(res.projectLawsInventoryId) + this.selectedRowKeys.forEach(res => { + res.taskIds = res.actiProcInstId + this.taskIds.push(res.taskIds) + this.projectLawsInventoryIds.push(res.projectLawsInventoryId) }) this.confirmLoading = false this.visible = true @@ -152,14 +150,14 @@ this.formInline[value] = id this.formInline = { ...this.formInline } }, - addBatch(){ + addBatch() { let rejectTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss') let query = { - rejectUserId:this.userInfo().id, - rejectTime:rejectTime, - rejectCause:this.formInline.approvalOpinion, - taskIds:this.taskIds.join(','), - rejectType:'1', + rejectUserId: this.userInfo().id, + rejectTime: rejectTime, + rejectCause: this.formInline.approvalOpinion, + taskIds: this.taskIds.join(','), + rejectType: '1' } postAction('/project/projectLawsInventoryRejectCauseEO/addBatch', query).then((res) => { @@ -171,16 +169,16 @@ let handlingTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss') let query = { ...this.formInline, - taskIds:this.taskIds.join(','), - userId:this.userInfo().id, - taskDefinitionKey:this.taskDefinitionKey, - handlingTime:handlingTime, - projectLawsInventoryIds:this.projectLawsInventoryIds.join(',') + taskIds: this.taskIds.join(','), + userId: this.userInfo().id, + taskDefinitionKey: this.taskDefinitionKey, + handlingTime: handlingTime, + projectLawsInventoryIds: this.projectLawsInventoryIds.join(',') } - if (this.formInline.flag == '1'){ - this.addBatch() + if (this.formInline.flag == '1') { + this.addBatch() } - if (!this.formInline.flag){ + if (!this.formInline.flag) { query.flag = '0' } this.confirmLoading = true diff --git a/jero-web/src/views/toDoCenter/taskConfirmation/index.vue b/jero-web/src/views/toDoCenter/taskConfirmation/index.vue index a3ef8719d..e34c5b9d3 100644 --- a/jero-web/src/views/toDoCenter/taskConfirmation/index.vue +++ b/jero-web/src/views/toDoCenter/taskConfirmation/index.vue @@ -9,7 +9,7 @@ {{$t('RelatedItems')}} + v-model="queryParam.projectName"> @@ -18,7 +18,7 @@ {{$t('standardInformation')}} + v-model="queryParam.serialNumber"> @@ -86,46 +86,46 @@ dataSource:[], queryParam:{}, loading:false, - columns:[ + columns: [ { title: this.$t('RelatedItems'), align: 'center', - dataIndex: 'RelatedItems', + dataIndex: 'projectName', ellipsis: true, width: 170 }, { title: this.$t('standardInformation'), align: 'center', - dataIndex: 'standardInformation', + dataIndex: 'serialNumber', ellipsis: true, width: 170 }, { title: this.$t('taskType'), align: 'center', - dataIndex: 'taskType', + dataIndex: 'flowTypeShow', ellipsis: true, width: 170 }, { title: this.$t('Sponsor'), align: 'center', - dataIndex: 'Sponsor', + dataIndex: 'createBy', ellipsis: true, width: 170 }, { title: this.$t('TaskCutOffTime'), align: 'center', - dataIndex: 'TaskCutOffTime', + dataIndex: 'endTime', ellipsis: true, width: 170 }, { title: this.$t('taskStatus'), align: 'center', - dataIndex: 'taskStatus', + dataIndex: 'statusShow', ellipsis: true, width: 170 }, @@ -142,10 +142,13 @@ pageNo:1, total:0, url:{ - list:'', + list:'/todoCenter/projectProcess/todoTaskList', }, } }, + mounted() { + this.getList() + }, methods:{ batchProcessingForm() { this.pageNo = 1 @@ -186,7 +189,7 @@ if (value && value.length > 0) { value.forEach(res => { res = JSON.parse(res) - if (res.prcType == '1') { + if (res.flowType == '1') { this.selectedRowKeys.push(JSON.stringify(res)) } else { this.$message.warning(this.$t('onlyDataTaskConfirmationProcessSelected')) @@ -213,6 +216,7 @@ let query = { pageNo: this.pageNo, pageSize: this.pageSize, + flowType:'1', ...queryParam } this.loading = true @@ -295,4 +299,9 @@ ::v-deep .ant-table-body { background: transparent !important; } + .page { + text-align: right; + margin-top: 20px; + } + \ No newline at end of file From 2dd540a03a2cc5b1752433f87ac9a3742a668619 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Tue, 18 Oct 2022 10:01:17 +0800 Subject: [PATCH 027/298] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/en-us.js | 1 + jero-web/src/common/lang/zh-cn.js | 1 + .../components/ProjectDetails.vue | 4 +- .../projectManagement/components/addModel.vue | 53 +++++++++++++++---- .../components/changeExtensionModel.vue | 4 +- .../projectLibrary/index.vue | 2 +- 6 files changed, 50 insertions(+), 15 deletions(-) diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index 45638fb4e..0e8ba619b 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -1323,4 +1323,5 @@ module.exports = { projectVersion:'Project Version', softwareVersion:'Software version', versionStatistics:'Version statistics', + addSubproject:'Add Subproject', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 7d84f8caf..2aa54842d 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1424,4 +1424,5 @@ module.exports = { projectVersion:'项目版本', softwareVersion:'软件版本', versionStatistics:'版本统计', + addSubproject:'添加子项目', } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/ProjectDetails.vue b/jero-web/src/views/projectManagement/components/ProjectDetails.vue index 145d068fa..85f238c8e 100644 --- a/jero-web/src/views/projectManagement/components/ProjectDetails.vue +++ b/jero-web/src/views/projectManagement/components/ProjectDetails.vue @@ -24,7 +24,7 @@ >{{queryForm.targetMarket_dictText}}
- {{$t('VersionNumber')}} + {{$t('projectVersion')}} {{queryForm.VersionNumber}}
@@ -95,7 +95,7 @@ >{{queryForm.certificationEngineerName}}
- {{$t('ListOfRelevantPersonnel')}} + {{$t('ListOfRelevantPersonnel')}}
+ +
+
+ * + {{$t('projectVersion')}} +
+ + + +
+
+ +
@@ -85,8 +101,6 @@
- -
@@ -103,6 +117,8 @@
+ +
@@ -119,8 +135,6 @@
- -
@@ -134,6 +148,8 @@
+ +
@@ -147,8 +163,6 @@
- -
@@ -164,6 +178,8 @@ + +
@@ -178,8 +194,6 @@
- -
@@ -194,6 +208,22 @@
+ + +
+
+ {{$t('softwareVersion')}} +
+ + + +
+
+
@@ -257,10 +287,10 @@ trigger: 'blur' } ], - explanation:[ + explanation: [ { - max: 300, - message: this.$t('explain') + this.$t('cannotExceed') + 300 + this.$t('Characters'), + max: 500, + message: this.$t('explain') + this.$t('cannotExceed') + 500 + this.$t('Characters'), trigger: 'blur' } ], @@ -371,6 +401,7 @@ this.getNameList() this.formInline.studioEngineerName = this.userInfo().username this.formInline.studioEngineer = this.userInfo().id + this.formInline.projectVersion = '00' this.formInline = { ...this.formInline } this.$nextTick(() => { this.$refs.ruleForm.clearValidate() diff --git a/jero-web/src/views/projectManagement/projectLibrary/components/changeExtensionModel.vue b/jero-web/src/views/projectManagement/projectLibrary/components/changeExtensionModel.vue index 3a5bbeb04..ab0e298ec 100644 --- a/jero-web/src/views/projectManagement/projectLibrary/components/changeExtensionModel.vue +++ b/jero-web/src/views/projectManagement/projectLibrary/components/changeExtensionModel.vue @@ -1,6 +1,6 @@ @@ -237,8 +241,8 @@ //处理接收到的消息 handler: function(res) { let that = this - if (res.data == '1'){ - this.getlist() + if (res.data == '1') { + this.getlist() } } } @@ -255,8 +259,8 @@ // localStorage.setItem('paramsManifest', JSON.stringify(item)) let newUrl = _this.$router.resolve({ path: '/ParameterItemCollection', - query: item - // projectName:this.$route.query.projectName + query: item + // projectName:this.$route.query.projectName }) window.open(newUrl.href, '_blank') } else { @@ -402,7 +406,7 @@ }, getlist() { let query = { - projectId: this.$route.query.id, + projectId: this.$route.query.parentId ? this.$route.query.parentId : this.$route.query.id, pageSize: this.pageSize, pageNo: this.pageNo, ...this.queryParam @@ -561,13 +565,14 @@ text-justify: inter-ideograph; word-break: break-all } + ::v-deep .ant-table-row:first-child { - background: #fff!important; + background: #fff !important; opacity: 0.95; } ::v-deep .ant-table-body { - background: transparent!important; + background: transparent !important; } \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue index 193c0351a..7b70d0870 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue @@ -12,9 +12,11 @@ > + {{$t('monitoringProcess')}} {{$t('view')}} - + {{text}} @@ -120,6 +122,17 @@ this.getList() }, methods: { + monitoringProcessClick(row){ + let newUrl = this.$router.resolve({ + path: '/processDetails', + query: { + prcNum: row.prcNum, + prcType:row.flowType, + prcId:row.actiProcInstId, + } + }) + window.open(newUrl.href, '_blank') + }, RelatedItemsClick(item) { let newUrl = this.$router.resolve({ path: '/ProjectDetails', @@ -331,5 +344,7 @@ text-align: right; margin-top: 20px; } - + .text-operation{ + margin-right: 8px; + } \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue index b74e14c5c..4ca82fb5b 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue @@ -12,6 +12,8 @@ > + {{$t('monitoringProcess')}} {{$t('view')}} @@ -106,6 +108,17 @@ } }, methods: { + monitoringProcessClick(row) { + let newUrl = this.$router.resolve({ + path: '/processDetails', + query: { + prcNum: row.prcNum, + prcType: row.flowType, + prcId: row.actiProcInstId + } + }) + window.open(newUrl.href, '_blank') + }, standardInformationClick(item) { let newUrl = this.$router.resolve({ path: '/docManage/library/detail', @@ -207,4 +220,7 @@ margin-top: 20px; } + .text-operation { + margin-right: 8px; + } \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue index 113af5d43..2b30f7c8b 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue @@ -12,6 +12,8 @@ > + {{$t('monitoringProcess')}} {{$t('view')}} @@ -36,13 +38,14 @@ @@ -206,4 +220,7 @@ margin-top: 20px; } + .text-operation { + margin-right: 8px; + } \ No newline at end of file From fc98ad795ec0c122cbb7ade96baab810b4e8aaf4 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 20 Oct 2022 09:22:18 +0800 Subject: [PATCH 067/298] =?UTF-8?q?1.=20=E6=B7=BB=E5=8A=A0SQL=202.=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E9=A1=B9=E7=9B=AE=E7=9B=B8=E5=85=B3=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-boot/db/蔚来标准sql/dev_2nd_period.sql | 4 ++++ .../controller/ProjectLibraryBaseController.java | 13 +++++++++++++ .../project/service/IProjectLibraryBaseService.java | 13 +++++++++++++ .../service/impl/ProjectLibraryBaseServiceImpl.java | 12 ++++++++++++ 4 files changed, 42 insertions(+) diff --git a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql index 117861bdb..3c4e7c32e 100644 --- a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql +++ b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql @@ -13,4 +13,8 @@ ALTER TABLE `laws_weilai`.`project_library_base` ADD COLUMN `sort` varchar(255) NULL COMMENT '排序(用于置顶功能)' AFTER `software_version`, ADD COLUMN `flag` varchar(255) NULL COMMENT '置顶(flag为空的时候为置顶, flag为1的时候取消置顶)' AFTER `sort`; +-- 认证参数列表添加字段--------2022-10-20 未同步生产环境 +ALTER TABLE `laws_weilai`.`params_manifest` +ADD COLUMN `project_version` varchar(255) NULL COMMENT '相关项目版本' AFTER `params_template_name`, +ADD COLUMN `explanation` varchar(2000) NULL COMMENT '说明' AFTER `project_version`; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java index e3e377a93..93d455678 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java @@ -242,5 +242,18 @@ public class ProjectLibraryBaseController extends JeroController getVersionsInfo(String id) { + List versionsInfoList = projectLibraryBaseService.getVersionsInfo(id); + return Result.OK(versionsInfoList); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java index 8cc1a0e92..d600f7167 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java @@ -103,5 +103,18 @@ public interface IProjectLibraryBaseService extends IService Page getPages(Integer currentPage, Integer pageSize, List list); + /** + * 项目置顶,取消置顶(只置顶主项目) + * @param id + * @param flag 0为置顶, 1为取消置顶 + * @return + */ void top(String id,String flag); + + /** + * 获取项目所有的版本(主版本和子版本的集合) + * @param id + * @return + */ + List getVersionsInfo(String id); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 0db931257..3acb77e41 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -1011,6 +1011,18 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl getVersionsInfo(String id) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.in(ProjectLibraryBase::getId,id).or().in(ProjectLibraryBase::getParentId,id); + List list = this.list(wrapper); + List result = new ArrayList<>(); + if(list.size() != 0){ + result = list.stream().map(ProjectLibraryBase::getProjectVersion).collect(Collectors.toList()); + } + return result; + } } From a0853e245cc68d97e333491c7711a076aced6306 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 20 Oct 2022 09:34:39 +0800 Subject: [PATCH 068/298] =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5(?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=A1=B9=E7=9B=AE=E7=89=88=E6=9C=AC,?= =?UTF-8?q?=E8=AF=B4=E6=98=8E)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/cert/collect/entity/ParamsManifestEO.java | 6 ++++++ .../cert/collect/mapper/xml/ParamsManifestEOMapper.xml | 8 +++++++- .../collect/service/impl/ParamsManifestEOServiceImpl.java | 2 ++ .../jero/modules/cert/collect/vo/ParamsManifestVO.java | 6 ++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java index 9d9cb0d9b..4c73955ec 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java @@ -103,4 +103,10 @@ public class ParamsManifestEO implements Serializable { @TableField(exist = false) private String projectName; + //相关项目版本 + private String projectVersion; + + //说明 + private String explanation; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml index 592058433..4ed99565e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml @@ -16,6 +16,8 @@ + + @@ -27,6 +29,8 @@ + + @@ -43,6 +47,8 @@ pm.project_id as project_id, pm.params_template_id as params_template_id, pm.params_template_publish_version as params_template_publish_version, + pm.project_version as project_version, + pm.explanation as explanation, if (pt.params_template_name is not null, pt.params_template_name, pm.params_template_name) as params_template_name @@ -134,4 +140,4 @@ where project_id = #{projectId} order by create_time desc - \ No newline at end of file + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java index 7ebdaab76..114509fbc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java @@ -187,6 +187,8 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl Date: Thu, 20 Oct 2022 10:23:14 +0800 Subject: [PATCH 069/298] =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=8F=98=E8=89=B2?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SarFileCompareItemCommentServiceImpl.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemCommentServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemCommentServiceImpl.java index 98d61b826..c3c39bd8a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemCommentServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemCommentServiceImpl.java @@ -30,6 +30,7 @@ import javax.imageio.ImageIO; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; +import java.awt.*; import java.awt.image.BufferedImage; import java.io.*; import java.nio.file.Files; @@ -37,6 +38,7 @@ import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.text.SimpleDateFormat; import java.util.*; +import java.util.List; /** * @Description: 文档对比信息条款评论表 @@ -485,7 +487,19 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl Date: Thu, 20 Oct 2022 11:00:01 +0800 Subject: [PATCH 070/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/en-us.js | 4 +- jero-web/src/common/lang/zh-cn.js | 4 +- .../components/TaskParameterCollection.vue | 39 +- .../dialog/ParameterTemplateAdd.vue | 177 ++++- .../dialog/ProjectCollectionParameters.vue | 731 +++++++++++------- 5 files changed, 622 insertions(+), 333 deletions(-) diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index bb486614c..1b443d691 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -786,6 +786,7 @@ module.exports = { parameter: 'Parameter', changeExtension: 'Change Extension', addDetailList: 'Add', + editDetailList:'Edit DetailList', detailedList: 'DetailedList', copyParamDetailList: 'Copy Parameter List', collectionCompletionTime: 'Collection Completed', @@ -1321,9 +1322,10 @@ module.exports = { secondaryDirectory:'Secondary directory', OnlyPersonsCanBeSelected:'The maximum upper limit is exceeded; Only 100 persons can be selected', projectVersion:'Project Version', - softwareVersion:'Software version', + softwareVersion:'Authentication Software version', versionStatistics:'Version statistics', addSubproject:'Add Subproject', Topping:'Topping', cancelTopping:'Cancel Topping', + relatedProjectVersion:'Related project version', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index b9960edde..dce5f85ad 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -802,6 +802,7 @@ module.exports = { parameter: '参数', changeExtension: '变更扩展', addDetailList: '添加清单', + editDetailList:'编辑清单', detailedList: '清单', copyParamDetailList: '复制参数清单', collectionCompletionTime: '收集完成时间', @@ -1422,9 +1423,10 @@ module.exports = { secondaryDirectory:'二级目录', OnlyPersonsCanBeSelected:'超出最大上限;最多只能选择100个人员', projectVersion:'项目版本', - softwareVersion:'软件版本', + softwareVersion:'认证软件版本', versionStatistics:'版本统计', addSubproject:'添加子项目', Topping:'置顶', cancelTopping:'取消置顶', + relatedProjectVersion:'相关项目版本', } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/TaskParameterCollection.vue b/jero-web/src/views/projectManagement/components/TaskParameterCollection.vue index 49f49a182..f3e6b97fc 100644 --- a/jero-web/src/views/projectManagement/components/TaskParameterCollection.vue +++ b/jero-web/src/views/projectManagement/components/TaskParameterCollection.vue @@ -84,13 +84,21 @@ />
- + - + @@ -98,14 +106,23 @@ - + - + @@ -155,6 +172,13 @@ ellipsis: true, dataIndex: 'paramsTemplateName' }, + { + title: this.$t('relatedProjectVersion'), + align: 'center', + width: 120, + ellipsis: true, + dataIndex: 'projectVersion' + }, { title: this.$t('collectionCompletionTime'), align: 'center', @@ -218,6 +242,7 @@ selectedRowKeysArray: '', templatetitle: '', templatetitleId: '', + areaTitle:'', rowId: '', version: 0, itemId: '', // 配置id @@ -303,12 +328,12 @@ this.$refs.configureRef.addModel(item.id, item) }, handleCancel(val) { - this.areaVisible = val + this.areaVisible = false this.getlist() }, // 项目收集参数 drawerhandleCancel(val) { - this.drawerVisible = val + this.drawerVisible = false }, copysubmit() { this.drawerVisible = false @@ -330,11 +355,13 @@ }, edit(edit) { this.areaVisible = true + this.areaTitle = this.$t('editDetailList') setTimeout(() => { this.$refs.templateRef.editData(edit) }, 50) }, handleAdd() { + this.areaTitle = this.$t('addDetailList') this.areaVisible = true }, // 变更扩展 diff --git a/jero-web/src/views/projectManagement/dialog/ParameterTemplateAdd.vue b/jero-web/src/views/projectManagement/dialog/ParameterTemplateAdd.vue index a4151bd78..f8818d1c4 100644 --- a/jero-web/src/views/projectManagement/dialog/ParameterTemplateAdd.vue +++ b/jero-web/src/views/projectManagement/dialog/ParameterTemplateAdd.vue @@ -10,21 +10,78 @@ :wrapper-col='wrapperCol' > - - - - + +
+
+ * + {{$t('title')}} +
+ + + + + + + + + + +
+ + + + + +
+ +
+
+ {{$t('relatedProjectVersion')}} +
+ + + + + + {{ item }} + + + + +
+ + +
+
+ {{$t('explain')}} +
+ + + +
+
+
-
+
{{$t('zoneOfApplication')}} @@ -34,9 +91,9 @@ - - - + + +
- - - - - - - - + + + + + + + +
@@ -65,16 +122,17 @@
- - - - - + + + + +
{{ $t('query') }} @@ -92,11 +150,11 @@ :dataSource='areaTable' :pagination='false' :loading='loading' - :scroll='{x: 600}' + :scroll='{x: 600,y:400}' :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}' @change='handleTableChange'> -
+
{ + if (res.success) { + this.projectVersionList = res.result || [] + } else { + this.projectVersionList = [] + } + }) + }, pageOnChange(page, pageSize) { this.pageNo = page this.loadData() @@ -244,6 +323,11 @@ }, editData(edit) { // 编辑一行的数据 + if (edit.projectVersion) { + edit.projectVersion = edit.projectVersion.split(',') + }else{ + edit.projectVersion = [] + } this.row = edit this.formData = { ...edit } this.selectedRowKeys = edit.paramsTemplateId.split(',') @@ -265,10 +349,17 @@ this.confirmLoading = true let postDate = { title: this.formData.title, + projectVersion: this.formData.projectVersion, + explanation: this.formData.explanation, paramsTemplateId: this.paramsTemplateId || this.selectedRowKeys[0], paramsTemplatePublishVersion: this.row.version || this.selectedRowKeysDate[0].version, projectId: this.projectId } + Object.keys(postDate).forEach(res => { + if (postDate[res] && postDate[res] instanceof Array) { + postDate[res] = postDate[res].join(',') + } + }) if (this.formData.id) { //编辑 postDate = { @@ -375,14 +466,23 @@ } .drawer-bootom-button { - display: flex; - justify-content: center; + position: absolute; + bottom: 0; + width: 100%; + border-top: 1px solid #e8e8e8; + padding: 10px 16px; + text-align: right; + left: 0; + z-index: 100; + background: #fff; + border-radius: 0 0 2px 2px; } .Required { color: red; margin-right: 4px; } + .box-title-text { line-height: 1.4; display: flex; @@ -390,7 +490,7 @@ } .title-text { - width: 114px; + width: 84px; text-align: right; display: inline-block; font-weight: 500; @@ -410,10 +510,10 @@ } .itemModel { - width: calc(100% - 130px); + width: calc(100% - 100px); display: inline-block; margin-top: 2px; - height: 40px; + /*height: 40px;*/ margin-bottom: 24px; } @@ -466,6 +566,19 @@ line-height: 6px; color: #fff; } + + .box-button { + height: 38px; + } + + .itemOption { + display: inline-block; + width: 100%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; + } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/dialog/ProjectCollectionParameters.vue b/jero-web/src/views/projectManagement/dialog/ProjectCollectionParameters.vue index fa940c45d..d6c03ca68 100644 --- a/jero-web/src/views/projectManagement/dialog/ProjectCollectionParameters.vue +++ b/jero-web/src/views/projectManagement/dialog/ProjectCollectionParameters.vue @@ -10,29 +10,80 @@ :wrapper-col='wrapperCol' > - - - - + +
+
+ * + {{$t('title')}} +
+ + + +
- + +
+
+ {{$t('relatedProjectVersion')}} +
+ + + + + + {{ item }} + + + + +
- +
+ + +
+
+ {{$t('explain')}} +
+ + + +
- - - - + +
+
+ {{$t('entryName')}} +
+ + + +
- - - + + + + + + + + {{ $t('query') }} {{ $t('reset') }} @@ -48,7 +99,7 @@ :dataSource='areaTable' :pagination='false' :loading='loading' - :scroll='{x: 600}' + :scroll='{x: 600,y:400}' :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}' @change='handleTableChange'> @@ -60,7 +111,7 @@ -
+
- +
\ No newline at end of file From 13308fdb039dea3e231fdc158255713c563f9ff5 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Thu, 20 Oct 2022 11:10:41 +0800 Subject: [PATCH 071/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../parameter/parameterlist/components/addModel.vue | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/jero-web/src/views/parameter/parameterlist/components/addModel.vue b/jero-web/src/views/parameter/parameterlist/components/addModel.vue index 5eb433eda..2af0965a4 100644 --- a/jero-web/src/views/parameter/parameterlist/components/addModel.vue +++ b/jero-web/src/views/parameter/parameterlist/components/addModel.vue @@ -225,6 +225,7 @@ @@ -600,9 +601,12 @@ export default { }; }) - - - + }, + onInput(r) { + let value = r.target.value + r.target.value = value.replace(/[!!#]/g, '') + this.formInline.controlValues = r.target.value + this.formInline = {...this.formInline} }, getSysCategoryTree() { getAction('/sys/category/getSysCategoryTree', {}).then((res) => { From 2a6c57e570ed62fbcf6fc19cb86933531e645ce4 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Thu, 20 Oct 2022 11:25:21 +0800 Subject: [PATCH 072/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dialog/ParameterTemplateAdd.vue | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/jero-web/src/views/projectManagement/dialog/ParameterTemplateAdd.vue b/jero-web/src/views/projectManagement/dialog/ParameterTemplateAdd.vue index f8818d1c4..6e8b589cf 100644 --- a/jero-web/src/views/projectManagement/dialog/ParameterTemplateAdd.vue +++ b/jero-web/src/views/projectManagement/dialog/ParameterTemplateAdd.vue @@ -323,14 +323,15 @@ }, editData(edit) { // 编辑一行的数据 - if (edit.projectVersion) { - edit.projectVersion = edit.projectVersion.split(',') + let query = JSON.parse(JSON.stringify(edit)) + if (query.projectVersion) { + query.projectVersion = query.projectVersion.split(',') }else{ - edit.projectVersion = [] + query.projectVersion = [] } - this.row = edit - this.formData = { ...edit } - this.selectedRowKeys = edit.paramsTemplateId.split(',') + this.row = query + this.formData = { ...query } + this.selectedRowKeys = query.paramsTemplateId.split(',') }, //新增 handleSubmit() { From d51e4fe80b068dce186c95f0cec41d74567f38a0 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 20 Oct 2022 11:29:32 +0800 Subject: [PATCH 073/298] =?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/service/impl/ProjectLibraryBaseServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 3acb77e41..39ecfdd40 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -1020,6 +1020,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl result = new ArrayList<>(); if(list.size() != 0){ result = list.stream().map(ProjectLibraryBase::getProjectVersion).collect(Collectors.toList()); + Collections.sort(result); } return result; } From f5933dd36d692c43a569ccbfeb1e78cbb8676c78 Mon Sep 17 00:00:00 2001 From: liyawei Date: Thu, 20 Oct 2022 11:37:57 +0800 Subject: [PATCH 074/298] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0-=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-boot/db/蔚来标准sql/dev_third_record.sql | 7 ++ .../mapper/ParamsCollectManifestEOMapper.java | 2 + .../xml/ParamsCollectManifestEOMapper.xml | 4 + .../ParamsManifestTodoCenterServiceImpl.java | 88 +++++++++++++------ 4 files changed, 76 insertions(+), 25 deletions(-) diff --git a/jero-boot/db/蔚来标准sql/dev_third_record.sql b/jero-boot/db/蔚来标准sql/dev_third_record.sql index 351bc7440..330771cdf 100644 --- a/jero-boot/db/蔚来标准sql/dev_third_record.sql +++ b/jero-boot/db/蔚来标准sql/dev_third_record.sql @@ -1219,6 +1219,13 @@ CREATE TABLE `laws_weilai`.`process_info_detail` ( PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '流程信息明细表' ROW_FORMAT = Dynamic; +-- 参数项收集清单 添加索引 2022-10-14 未同步生产环境 +ALTER TABLE `laws_weilai`.`params_collect_manifest` + ADD INDEX `index_pcm_nio_number`(`nio_number`) USING BTREE, + ADD INDEX `index_pcm_state`(`state`) USING BTREE, + ADD INDEX `index_pcm_sdt_dre`(`sdt`, `dre`) USING BTREE, + ADD INDEX `index_pcm_manifest_id`(`params_manifest_id`) USING BTREE; + -- 待办中心 流程信息明细表 增加字段 2022-10-18 未同步生产环境 ALTER TABLE `laws_weilai`.`process_info_detail` ADD COLUMN `end_time` datetime NULL COMMENT '截止时间' AFTER `flow_type`; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java index 1166ad6d3..76eedb79c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java @@ -18,6 +18,8 @@ public interface ParamsCollectManifestEOMapper extends BaseMapper listInfo(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO); + List listInfoOfTodoCenter(); + List> listInfoForExport(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO); // 查询控件类型为 标题的 参数项 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml index 9a10df792..026244f6a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml @@ -80,6 +80,10 @@ order by del_flag desc, add_flag desc, change_flag desc, nio_number asc + + + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoEOService.java index 14f39623b..6606cf1fa 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/IProcessInfoEOService.java @@ -71,29 +71,50 @@ public interface IProcessInfoEOService extends IService { Result processCall(JSONObject jsonObject); /** - * 待办任务列表 + * 项目流程-待办任务列表 * @param params * @return */ - IPage todoTaskList(Map params); + IPage projectProcessTodoTaskList(Map params); /** - * 已办任务列表 + * 项目流程-已办任务列表 * @param params * @return */ - IPage doneProcess(Map params); + IPage projectProcessDoneProcess(Map params); /** - * 已发任务列表 + * 项目流程-已发任务列表 * @param params * @return */ - IPage issuedProcess(Map params); + IPage projectProcessIssuedProcess(Map params); /** * 法规清单变更,清除对应待办中心数据。 * @param params */ void change(Map params); + + /** + * 法规评估-待办任务列表 + * @param params + * @return + */ + IPage lawsAssessTodoTaskList(Map params); + + /** + * 法规评估-已办任务列表 + * @param params + * @return + */ + IPage lawsAssessDoneProcess(Map params); + + /** + * 法规评估-已发任务列表 + * @param params + * @return + */ + IPage lawsAssessIssuedProcess(Map params); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java index 1122d636f..c27cdb968 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java @@ -99,6 +99,10 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl ids) { removeByIds(ids); + + QueryWrapper detailRemoveWrap = new QueryWrapper<>(); + detailRemoveWrap.lambda().in(ProcessInfoDetailEO::getProcessInfoId,ids); + this.processInfoDetailEOService.remove(detailRemoveWrap); } /** @@ -150,7 +154,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl params) { + public IPage projectProcessTodoTaskList(Map params) { Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); String cut = (String) params.get("cut"); @@ -174,7 +178,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl params) { + public IPage projectProcessDoneProcess(Map params) { Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); String cut = (String) params.get("cut"); @@ -188,13 +192,13 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl result = this.baseMapper.queryPageList(page,params); + IPage result = this.baseMapper.queryProjectProcessPageList(page,params); this.disposeData(result.getRecords(),cut); return result; } @Override - public IPage issuedProcess(Map params) { + public IPage projectProcessIssuedProcess(Map params) { Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); String cut = (String) params.get("cut"); @@ -208,7 +212,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl result = this.baseMapper.queryPageList(page,params); + IPage result = this.baseMapper.queryProjectProcessPageList(page,params); this.disposeData(result.getRecords(),cut); return result; } @@ -274,14 +278,82 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl processInfoEOList = this.list(processInfoQueryWrap); if(CollectionUtils.isNotEmpty(processInfoEOList)){ List processInfoIdList = processInfoEOList.stream().map(ProcessInfoEO::getId).distinct().collect(Collectors.toList()); - QueryWrapper detailRemoveWrap = new QueryWrapper<>(); + /*QueryWrapper detailRemoveWrap = new QueryWrapper<>(); detailRemoveWrap.lambda().in(ProcessInfoDetailEO::getProcessInfoId,processInfoIdList); - this.processInfoDetailEOService.remove(detailRemoveWrap); + this.processInfoDetailEOService.remove(detailRemoveWrap);*/ this.deleteByIds(processInfoIdList); } } } + @Override + public IPage lawsAssessTodoTaskList(Map params) { + Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); + Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); + String cut = (String) params.get("cut"); + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + params.put("createBy",currentUser.getId()); + params.put("queryType","todoProcess"); + + List flowTypeList = new ArrayList<>(); + flowTypeList.add(FlowTypeEnum.FGYJSJLC.getValue()); + flowTypeList.add(FlowTypeEnum.FGJSPG.getValue()); + params.put("flowTypeList",flowTypeList); + params.put("currentUserId",currentUser.getId()); + params.put("taskStatus", TaskStatusEnum.NOT_DONE.getValue()); + + IPage page = new Page(pageNo, pageSize); + IPage result = this.baseMapper.queryLawsAssessPageList(page,params); + this.disposeData(result.getRecords(),cut); + return result; + } + + @Override + public IPage lawsAssessDoneProcess(Map params) { + Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); + Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); + String cut = (String) params.get("cut"); + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + params.put("createBy",currentUser.getId()); + params.put("queryType","doneProcess"); + + List flowTypeList = new ArrayList<>(); + flowTypeList.add(FlowTypeEnum.FGYJSJLC.getValue()); + flowTypeList.add(FlowTypeEnum.FGJSPG.getValue()); + params.put("flowTypeList",flowTypeList); + params.put("currentUserId",currentUser.getId()); + params.put("taskStatus", TaskStatusEnum.HAVE_DONE.getValue()); + + IPage page = new Page(pageNo, pageSize); + IPage result = this.baseMapper.queryLawsAssessPageList(page,params); + this.disposeData(result.getRecords(),cut); + return result; + } + + @Override + public IPage lawsAssessIssuedProcess(Map params) { + Integer pageNo = Integer.parseInt(params.get("pageNo").toString()); + Integer pageSize = Integer.parseInt(params.get("pageSize").toString()); + String cut = (String) params.get("cut"); + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + params.put("createBy",currentUser.getId()); + params.put("queryType","issuedProcess"); + + List flowTypeList = new ArrayList<>(); + flowTypeList.add(FlowTypeEnum.FGYJSJLC.getValue()); + flowTypeList.add(FlowTypeEnum.FGJSPG.getValue()); + params.put("flowTypeList",flowTypeList); + params.put("currentUserId",currentUser.getId()); + + IPage page = new Page(pageNo, pageSize); + IPage result = this.baseMapper.queryLawsAssessPageList(page,params); + this.disposeData(result.getRecords(),cut); + return result; + } + public void setFlowTypeList(List flowTypeList){ flowTypeList.add(FlowTypeEnum.QDQR.getValue()); flowTypeList.add(FlowTypeEnum.RWQRLC.getValue()); @@ -290,6 +362,11 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl datas, String cut){ if(CollectionUtils.isNotEmpty(datas)){ List processInfoIdList = datas.stream().map(ProcessInfoVO::getId).distinct().collect(Collectors.toList()); From 844be1fc64d151b8ca3e73e765366e4e06e3e1e4 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Fri, 21 Oct 2022 11:25:16 +0800 Subject: [PATCH 079/298] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../regulatoryAssessmentTasks/components/SentList.vue | 2 +- .../regulatoryAssessmentTasks/components/dealtWith.vue | 2 +- .../regulatoryAssessmentTasks/components/doneList.vue | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue index 4ca82fb5b..8e70048dc 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue @@ -46,7 +46,7 @@ dataSource: [], loading: false, url: { - list: '' + list: '/todoCenter/lawsAssess/issuedProcess' }, columns: [ { diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue index 7a68c579a..054326850 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue @@ -92,7 +92,7 @@ pageSize: 10, pageNo: 1, url: { - list: '' + list: '/todoCenter/lawsAssess/todoTaskList' }, total: 0, queryParam: {} diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue index 2b30f7c8b..7656d4ffc 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue @@ -103,7 +103,7 @@ total: 0, queryParam: {}, url: { - list: '' + list: '/todoCenter/lawsAssess/doneProcess' } } }, From 4e235565a3585ba0e43fdf79a739990268bfb87a Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Fri, 21 Oct 2022 11:27:51 +0800 Subject: [PATCH 080/298] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../regulatoryAssessmentTasks/components/SentList.vue | 3 +++ .../regulatoryAssessmentTasks/components/dealtWith.vue | 3 +++ .../regulatoryAssessmentTasks/components/doneList.vue | 3 +++ 3 files changed, 9 insertions(+) diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue index 8e70048dc..4fe67c660 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue @@ -107,6 +107,9 @@ queryParam: {} } }, + mounted() { + this.getList() + }, methods: { monitoringProcessClick(row) { let newUrl = this.$router.resolve({ diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue index 054326850..e12a22a1b 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue @@ -98,6 +98,9 @@ queryParam: {} } }, + mounted() { + this.getList() + }, methods: { standardInformationClick(item) { let newUrl = this.$router.resolve({ diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue index 7656d4ffc..10309f1ff 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue @@ -107,6 +107,9 @@ } } }, + mounted() { + this.getList() + }, methods: { monitoringProcessClick(row) { let newUrl = this.$router.resolve({ From 84205f832844262e41734083ee39854326a1a616 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Fri, 21 Oct 2022 13:44:43 +0800 Subject: [PATCH 081/298] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectRegulationTasks/components/SentList.vue | 5 ++++- .../projectRegulationTasks/components/dealtWith.vue | 5 ++++- .../projectRegulationTasks/components/doneList.vue | 9 +++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue index 66e4ff628..227033dbd 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue @@ -21,7 +21,10 @@ {{text}} - {{text}} + + {{text}} + + --
diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue index 22a3cd251..da56168b1 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue @@ -19,7 +19,10 @@ {{text}} - {{text}} + + {{text}} + + --
diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue index 7b70d0870..7681f074b 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue @@ -18,10 +18,15 @@ @click="viewClick(record)">{{$t('view')}} - {{text}} + + {{text}} + - {{text}} + + {{text}} + + --
From 64464f62051f96aed1d32d004cef972f521b7ddd Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 21 Oct 2022 14:05:26 +0800 Subject: [PATCH 082/298] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=9C=88=E6=8A=A5?= =?UTF-8?q?=E5=A1=AB=E5=86=99--=E4=BF=AE=E6=94=B9=E4=B8=BB=E8=A6=81?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E5=AD=97=E6=AE=B5=E9=95=BF=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-boot/db/蔚来标准sql/dev_third_record.sql | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jero-boot/db/蔚来标准sql/dev_third_record.sql b/jero-boot/db/蔚来标准sql/dev_third_record.sql index d5ec0a12e..43c4a2f47 100644 --- a/jero-boot/db/蔚来标准sql/dev_third_record.sql +++ b/jero-boot/db/蔚来标准sql/dev_third_record.sql @@ -1193,3 +1193,8 @@ ALTER TABLE `laws_weilai`.`params_collect_manifest_history` ADD COLUMN `report_time` datetime NULL COMMENT '同步上报库时间' AFTER `title_default_value`; INSERT INTO `laws_weilai`.`onl_cgform_field`(`id`, `cgform_head_id`, `db_field_name`, `db_field_en_name`, `db_field_txt`, `order_num`, `db_field_name_old`, `db_is_key`, `db_is_null`, `db_type`, `db_length`, `db_point_length`, `db_default_val`, `dict_field`, `dict_table`, `dict_text`, `field_show_type`, `field_href`, `field_length`, `field_valid_type`, `field_must_input`, `field_extend_json`, `field_default_value`, `is_query`, `is_show_form`, `is_show_list`, `is_read_only`, `query_mode`, `main_table`, `main_field`, `update_by`, `update_time`, `create_time`, `create_by`, `converter`, `query_def_val`, `query_dict_text`, `query_dict_field`, `query_dict_table`, `query_show_type`, `query_config_flag`, `query_valid_type`, `query_must_input`, `sort_flag`, `show_area`, `is_show_laws_list`, `is_show_search`, `is_delete`, `is_model`, `dict_id`) VALUES ('5afe057bed3412bcedf5bf17565d3ff4', '9ca1773d2a484d2fadae38491ad51aa1', 'report_time', 'Sync Time', '同步上报库时间', 28, NULL, 0, 1, 'Date', 0, 0, '', '', '', '', 'date', '', 120, NULL, '0', '', '', 0, 0, 1, 0, 'single', '', '', NULL, NULL, '2022-10-20 11:08:04', 'admin', '', '', '', '', '', 'text', '0', NULL, NULL, '0', NULL, NULL, NULL, 0, '7', NULL); + +--法规月报填写修改主要内容中英文字段长度 2022-10-21 未同步生产环境 +ALTER TABLE `laws_weilai`.`laws_monthly_report_write` +MODIFY COLUMN `content_cn` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '主要内容中文' AFTER `production_car_implement_time`, +MODIFY COLUMN `content_en` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '主要内容英文' AFTER `content_cn`; From 5265f070fdc1a64e641328427186d821990973b4 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Fri, 21 Oct 2022 15:36:54 +0800 Subject: [PATCH 083/298] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E4=B8=AD=E5=BF=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reviewedByThePersonInCharge.vue | 20 ++++++++++++++++--- .../components/taskCirculationHistory.vue | 2 +- .../processForm/processDetails/index.vue | 5 ++++- .../components/SentList.vue | 14 ++++++------- .../components/doneList.vue | 14 ++++++------- .../components/SentList.vue | 14 ++++++------- .../components/doneList.vue | 14 ++++++------- 7 files changed, 50 insertions(+), 33 deletions(-) diff --git a/jero-web/src/views/processCenter/components/reviewedByThePersonInCharge.vue b/jero-web/src/views/processCenter/components/reviewedByThePersonInCharge.vue index fc760921f..d6b425ba9 100644 --- a/jero-web/src/views/processCenter/components/reviewedByThePersonInCharge.vue +++ b/jero-web/src/views/processCenter/components/reviewedByThePersonInCharge.vue @@ -72,7 +72,7 @@ - +
* @@ -88,16 +88,30 @@
+ +
+
+ {{$t('feedbackFromTheEngineer')}} +
+ + + {{formInline.engineerFeedbackContent}}lsdk fjlsdk说的翻开历史大家饭卡里说的发精神独立开发就收到分厘卡电视机反倒是风口浪尖是发流口水的房间第三方 + 代课老师发决定是否考虑的健身房了多少积分独立思考就点十六分就的说服力士大夫但是 + + +
+
- + {{$t('Deliverables')}}
- + diff --git a/jero-web/src/views/processCenter/components/taskCirculationHistory.vue b/jero-web/src/views/processCenter/components/taskCirculationHistory.vue index 8c64c8228..145539870 100644 --- a/jero-web/src/views/processCenter/components/taskCirculationHistory.vue +++ b/jero-web/src/views/processCenter/components/taskCirculationHistory.vue @@ -80,7 +80,7 @@ methods: { getList() { let query = { - actiProcInstId: this.$route.query.actiProcInstId + actiProcInstId: this.$route.query.actiProcInstId || this.$route.query.prcId } this.loading = true getAction('/wkflow/processHistoryEO/list', query).then((res) => { diff --git a/jero-web/src/views/processCenter/processForm/processDetails/index.vue b/jero-web/src/views/processCenter/processForm/processDetails/index.vue index 875ca81b0..f3ab23d05 100644 --- a/jero-web/src/views/processCenter/processForm/processDetails/index.vue +++ b/jero-web/src/views/processCenter/processForm/processDetails/index.vue @@ -15,6 +15,7 @@
+
@@ -22,6 +23,7 @@ @@ -167,6 +286,7 @@ text-overflow: ellipsis; white-space: nowrap; } + /*.top-admin {*/ /* font-size: 16px;*/ /* font-family: Blue Sky Noto;*/ From 8d630e4777a5839332fc51b2f29f0da97962e1b0 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Fri, 21 Oct 2022 17:04:12 +0800 Subject: [PATCH 091/298] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ojectTaskInventoryDetailEOServiceImpl.java | 10 +-- .../mapper/xml/ProcessInfoEOMapper.xml | 4 +- .../impl/ProcessInfoEOServiceImpl.java | 62 ++++++++++--------- 3 files changed, 40 insertions(+), 36 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java index 882059144..144f559e2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryDetailEOServiceImpl.java @@ -222,10 +222,12 @@ public class ProjectTaskInventoryDetailEOServiceImpl extends ServiceImpl processInfoDetailUpdateWrap= new LambdaUpdateWrapper(); - processInfoDetailUpdateWrap.eq(ProcessInfoDetailEO::getTaskId,taskInventoryDetailById.getTaskId()); - processInfoDetailUpdateWrap.set(ProcessInfoDetailEO::getStatus,projectTaskInventoryDetailEO.getStatus()); - this.processInfoDetailEOService.update(processInfoDetailUpdateWrap); + if(taskInventoryDetailById != null){ + LambdaUpdateWrapper processInfoDetailUpdateWrap= new LambdaUpdateWrapper(); + processInfoDetailUpdateWrap.eq(ProcessInfoDetailEO::getTaskId,taskInventoryDetailById.getTaskId()); + processInfoDetailUpdateWrap.set(ProcessInfoDetailEO::getStatus,projectTaskInventoryDetailEO.getStatus()); + this.processInfoDetailEOService.update(processInfoDetailUpdateWrap); + } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml index a4c8fd37d..78c88a657 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml @@ -148,8 +148,8 @@ pi.acti_proc_inst_id, pni.project_name, pyni.year_name, - pli.serial_number, - pli.title, + '--' as serial_number, + '' as title, pi.flow_type, createBy.username AS "create_by", (select pid.end_time from process_info_detail pid where pid.process_info_id = pi.id and pid.STATUS = 'NotDone' order by pid.end_time asc limit 1) as end_time, diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java index bfbac3a96..f25a0ac1b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java @@ -510,38 +510,40 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl taskInventoryQueryWrap = new QueryWrapper<>(); - taskInventoryQueryWrap.and(queryWrap -> { - queryWrap.lambda().in(ProjectTaskInventoryEO::getDesignPId,complianceProcessPrcIdList) - .or().in(ProjectTaskInventoryEO::getPrehomoPId,complianceProcessPrcIdList) - .or().in(ProjectTaskInventoryEO::getVerifyPId,complianceProcessPrcIdList); - }); - //查询出符合性流程相关的任务清单信息。 - List taskInventoryList = this.projectTaskInventoryEOService.list(taskInventoryQueryWrap); + if(CollectionUtils.isNotEmpty(complianceProcessPrcIdList)){ + QueryWrapper taskInventoryQueryWrap = new QueryWrapper<>(); + taskInventoryQueryWrap.and(queryWrap -> { + queryWrap.lambda().in(ProjectTaskInventoryEO::getDesignPId,complianceProcessPrcIdList) + .or().in(ProjectTaskInventoryEO::getPrehomoPId,complianceProcessPrcIdList) + .or().in(ProjectTaskInventoryEO::getVerifyPId,complianceProcessPrcIdList); + }); + //查询出符合性流程相关的任务清单信息。 + List taskInventoryList = this.projectTaskInventoryEOService.list(taskInventoryQueryWrap); - datas.forEach(data -> { - boolean designFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue()); - boolean preHomoFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue()); - boolean verifyFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue()); - String personChargeFeedback = taskInventoryList.stream().filter(taskInventory -> { - boolean flag = false; - if(designFlowFlag){ - if(StringUtils.equals(data.getActiProcInstId(),taskInventory.getDesignPId())){ - flag = true; + datas.forEach(data -> { + boolean designFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.SJFHXSHLC.getValue()); + boolean preHomoFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.PREHOMOQRLC.getValue()); + boolean verifyFlowFlag = StringUtils.equals(data.getFlowType(),FlowTypeEnum.YZFHXSCLC.getValue()); + String personChargeFeedback = taskInventoryList.stream().filter(taskInventory -> { + boolean flag = false; + if(designFlowFlag){ + if(StringUtils.equals(data.getActiProcInstId(),taskInventory.getDesignPId())){ + flag = true; + } + }else if(preHomoFlowFlag){ + if(StringUtils.equals(data.getActiProcInstId(),taskInventory.getPrehomoPId())){ + flag = true; + } + }else if(verifyFlowFlag){ + if(StringUtils.equals(data.getActiProcInstId(),taskInventory.getVerifyPId())){ + flag = true; + } } - }else if(preHomoFlowFlag){ - if(StringUtils.equals(data.getActiProcInstId(),taskInventory.getPrehomoPId())){ - flag = true; - } - }else if(verifyFlowFlag){ - if(StringUtils.equals(data.getActiProcInstId(),taskInventory.getVerifyPId())){ - flag = true; - } - } - return flag; - }).map(ProjectTaskInventoryEO::getDesignPersonChargeFeedback).collect(Collectors.joining(",")); + return flag; + }).map(ProjectTaskInventoryEO::getDesignPersonChargeFeedback).collect(Collectors.joining(",")); - data.setPersonChargeFeedback(personChargeFeedback); - }); + data.setPersonChargeFeedback(personChargeFeedback); + }); + } } } From 1e8d18700ba16a1b02a783bdd69420d66f3692ff Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 21 Oct 2022 17:22:17 +0800 Subject: [PATCH 092/298] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=8A=B6=E6=80=81--?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ProjectLibraryBaseController.java | 13 +++++++++++++ .../service/IProjectLibraryBaseService.java | 7 +++++++ .../impl/ProjectLibraryBaseServiceImpl.java | 16 ++++++++++++++++ 3 files changed, 36 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java index 93d455678..6a492db0b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLibraryBaseController.java @@ -255,5 +255,18 @@ public class ProjectLibraryBaseController extends JeroController versionStatistics(String id) { + List projectLibraryBasesList = projectLibraryBaseService.versionStatistics(id); + return Result.OK(projectLibraryBasesList); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java index d600f7167..ab619a582 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLibraryBaseService.java @@ -117,4 +117,11 @@ public interface IProjectLibraryBaseService extends IService * @return */ List getVersionsInfo(String id); + + /** + * 版本统计 + * @param id + * @return + */ + List versionStatistics(String id); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 32943004c..c6624ebb8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -1028,6 +1028,22 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl versionStatistics(String id) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper<>(); + wrapper.in(ProjectLibraryBase::getId,id).or().in(ProjectLibraryBase::getParentId,id); + List list = this.list(wrapper); + if(list.size() != 0){ + Collections.sort(list); + } + return list; + } } From c184964399b2ad45fae8a629d1588fea2c1e5401 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Fri, 21 Oct 2022 17:30:11 +0800 Subject: [PATCH 093/298] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=BA=93=E5=98=9A=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/projectManagement/components/projectStatus.vue | 5 +++-- .../projectManagement/components/versionStatistics.vue | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/jero-web/src/views/projectManagement/components/projectStatus.vue b/jero-web/src/views/projectManagement/components/projectStatus.vue index 311476fba..6e408344b 100644 --- a/jero-web/src/views/projectManagement/components/projectStatus.vue +++ b/jero-web/src/views/projectManagement/components/projectStatus.vue @@ -1,7 +1,8 @@ @@ -138,6 +150,10 @@ this.$refs.ruleForm.clearValidate() }) }, + sendBackClick() { + this.formInline.flag = '1' + this.handleOk() + }, flagChange(event) { if (event.target.value == 3) { this.isTrue = true diff --git a/jero-web/src/views/toDoCenter/taskConfirmation/index.vue b/jero-web/src/views/toDoCenter/taskConfirmation/index.vue index cb80eca13..be713ee56 100644 --- a/jero-web/src/views/toDoCenter/taskConfirmation/index.vue +++ b/jero-web/src/views/toDoCenter/taskConfirmation/index.vue @@ -181,6 +181,7 @@ window.open(newUrl.href, '_blank') }, batchProcessingForm() { + this.selectedRowKeys = [] this.getList() }, batchProcessingClick() { @@ -202,10 +203,12 @@ } }, searchQuery() { + this.selectedRowKeys = [] this.pageNo = 1 this.getList() }, searchReset() { + this.selectedRowKeys = [] this.pageNo = 1 this.queryParam = {} this.getList() From 959dec533ddd20e9ecef4dcfc88192de73464ce6 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Wed, 26 Oct 2022 10:47:37 +0800 Subject: [PATCH 122/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectRegulationTasks/components/SentList.vue | 6 +++--- .../projectRegulationTasks/components/dealtWith.vue | 4 ++-- .../projectRegulationTasks/components/doneList.vue | 4 ++-- .../regulatoryAssessmentTasks/components/SentList.vue | 4 +++- .../regulatoryAssessmentTasks/components/dealtWith.vue | 4 +++- .../regulatoryAssessmentTasks/components/doneList.vue | 4 +++- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue index c0b9b4839..2e445401c 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue @@ -21,10 +21,10 @@ {{text}} - - {{text}} + + {{text+'、'+record.title}} - -- + --
diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue index 9d8712a97..5ea5b7b43 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue @@ -19,8 +19,8 @@ {{text}} - - {{text}} + + {{text+'、'+record.title}} -- diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue index e915c0064..559e9f016 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue @@ -23,8 +23,8 @@ - - {{text}} + + {{text+'、'+record.title}} -- diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue index f162279f5..fb13eae0c 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue @@ -18,7 +18,9 @@ @click="viewClick(record)">{{$t('view')}} - {{text}} + + {{text+'、'+record.title}} +
diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue index e12a22a1b..72e8ebf30 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue @@ -16,7 +16,9 @@ @click="ProcessingClick(record)">{{$t('Processing')}} - {{text}} + + {{text+'、'+record.title}} +
diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue index 7617fae4f..efc218fae 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue @@ -18,7 +18,9 @@ @click="viewClick(record)">{{$t('view')}} - {{text}} + + {{text+'、'+record.title}} +
From e252bb2890832fd3d404cb23f2ebab5c62c5e8b2 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Wed, 26 Oct 2022 11:43:23 +0800 Subject: [PATCH 123/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/problemKnowledgeBaseList.vue | 6 +++++- .../components/problemKnowledgeBaseListView.vue | 6 +++++- .../components/problemKnowledgeBaseRelease.vue | 15 ++++++++++++++- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue index 375192fd7..35b7746c7 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseList.vue @@ -96,9 +96,13 @@ {{item.standNumber}}
- + {{item.targetMarket_dicText}}
+
+ + {{item.showPermissions_dicText}} +
{{item.createTime}} diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue index 4c0f51f27..511849faa 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue @@ -38,9 +38,13 @@ {{queryForm.standNumber}}
- + {{queryForm.targetMarket_dicText}}
+
+ + {{queryForm.showPermissions_dicText}} +
{{queryForm.createTime}} diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseRelease.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseRelease.vue index 16bc05889..edf3c31da 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseRelease.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseRelease.vue @@ -65,6 +65,9 @@
{{item.contentOne}}
+
+ {{item.showPermissions_dicText}} +
{{item.releaseStatus == 'Draft'?$t('draft'):$t('HaveReleased')}}
@@ -322,11 +325,21 @@ .text-text-right { padding: 19px 19px; - width: calc(100% - 300px); + width: calc(100% - 420px); box-sizing: border-box; /*margin-left: 38px;*/ } + .text-text-right-text-Two { + width: 120px; + height: 100%; + text-align: center; + position: absolute; + right: 300px; + top: 50%; + transform: translate-Y(-50%); + } + .text-text-right-text-One { width: 120px; height: 100%; From f57772c78be34797f44c25f7ee91351aba7b559c Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 26 Oct 2022 14:23:42 +0800 Subject: [PATCH 124/298] =?UTF-8?q?=E6=96=87=E6=A1=A3=E8=AE=A2=E9=98=85?= =?UTF-8?q?=E5=90=8E,=20=E7=BC=96=E8=BE=91=E6=97=B6=E5=8F=91=E9=80=81?= =?UTF-8?q?=E9=A3=9E=E4=B9=A6=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BussDocumentLibraryEOServiceImpl.java | 345 +++++++++++++++++- .../service/impl/FeishuServiceImpl.java | 72 +++- .../jero/modules/feishu/vo/FeishuMsgVo.java | 2 + 3 files changed, 389 insertions(+), 30 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 4b4a4189e..6640c4b1a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -2980,13 +2980,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl map, List> dataList, + List fieldList, List fieldDateList, + List fieldFileList, List fieldPullList, + String cut,String flagTemp) { + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //调整dataList中map中字段顺序与表单中的一致 + Map mapNew = new LinkedHashMap<>(); + for (OnlCgformField onlCgformField : fieldList) { + for (Map.Entry entry : dataList.get(0).entrySet()) { + if (onlCgformField.getDbFieldName().equals(entry.getKey())) { + mapNew.put(entry.getKey(), entry.getValue()); + break; + } + } + } + dataList.remove(0); + dataList.add(mapNew); + Map mapTemp = new HashMap<>(); + mapCopy(map, mapTemp); + //时间类型的字段 + List fieldDate = fieldDateList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList()); + //文件类型的字段 + List fieldFile = fieldFileList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList()); + //下拉类型的字段 + //过滤出树形字段 + List treeFieldList = fieldList.stream() + .filter(e -> FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType())) + .collect(Collectors.toList()); + + //数据字典 + List sysDictItems = sysDictItemServiceImpl.selectItemsAll(); + //树形数据字典 + List categoryList = sysCategoryService.list(); + //下拉选处理数据字典 + for (Map.Entry entry : dataList.get(0).entrySet()) { + //下拉选处理数据字典 + dictItemCn(sysDictItems, entry, cut, fieldList,flagTemp); + treeDictItemCn(categoryList, entry, treeFieldList, cut,flagTemp); + } + for (Map.Entry entry : mapTemp.entrySet()) { + //下拉选处理数据字典 + dictItemCn(sysDictItems, entry, cut, fieldList,flagTemp); + treeDictItemCn(categoryList, entry, treeFieldList, cut,flagTemp); + } + + StringBuilder sb = new StringBuilder(); + dataList.get(0).entrySet().forEach(entry -> { + String key = entry.getKey(); + Object value = entry.getValue(); + //字段中文名 + List fields = fieldList.stream().filter(e -> e.getDbFieldName().equals(key)).collect(Collectors.toList()); + + if (fields.size() != 0) { + String dbFieldTxt = fields.get(0).getDbFieldTxt(); + if("2".equals(flagTemp)){ + dbFieldTxt = fields.get(0).getDbFieldTxt(); + }else{ + dbFieldTxt = fields.get(0).getDbFieldTxt(); + } + dbFieldTxt = "" + dbFieldTxt + ""; + if (value == null) { + value = ""; + } + for (Map.Entry entryTemp : mapTemp.entrySet()) { + String keyTemp = entryTemp.getKey(); + Object valueTemp = entryTemp.getValue(); + if (valueTemp == null) { + valueTemp = ""; + } + if (!"create_time".equals(key) && !"update_time".equals(key)) { + if (key.equals(keyTemp)) { + if (fieldDate.contains(key)) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (ObjectUtils.isNotEmpty(value)) { + value = sdf.format(value); + } + if (ObjectUtils.isNotEmpty(valueTemp)) { + try { + valueTemp = sdf.format(sdf.parse((String) valueTemp)); + } catch (ParseException e) { + } + } + //处理时间类型字段 + if (ObjectUtils.isNotEmpty(value)) { + if (ObjectUtils.isNotEmpty(valueTemp) && !value.equals(valueTemp)) { + if("2".equals(flagTemp)){ + sb.append(dbFieldTxt + "由\"" + value + "\"改为\"“" + valueTemp + "\","); + }else{ + sb.append(dbFieldTxt + "由\"" + value + "\"改为\"“" + valueTemp + "\","); + } + } else if (ObjectUtils.isEmpty(valueTemp)) { + if("2".equals(flagTemp)){ + sb.append(dbFieldTxt + "由\"" + value + "\"改为空" + ","); + }else{ + sb.append(dbFieldTxt + "由\"" + value + "\"改为空" + ","); + } + } + } else { + if (ObjectUtils.isNotEmpty(valueTemp)) { + if("2".equals(flagTemp)){ + sb.append(dbFieldTxt + "由空改为\"" + valueTemp + "\","); + }else{ + sb.append(dbFieldTxt + "由空改为\"" + valueTemp + "\","); + } + + } + } + + } else if (fieldFile.contains(key)) { + //处理文件类型字段 + List fileNameList = new ArrayList<>(); + List fileNameListTemp = new ArrayList<>(); + //之前的文件 + if (ObjectUtils.isNotEmpty(value)) { + List fileInfos = iOSSFileService.getFileInfosByConnectId((String) value); + fileNameList = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.toList()); + } + //修改的文件 + if (ObjectUtils.isNotEmpty(valueTemp)) { + List fileInfosTemp = iOSSFileService.getFileInfos((String) valueTemp); + fileNameListTemp = fileInfosTemp.stream().map(OSSFile::getFileName).collect(Collectors.toList()); + } + + if (ObjectUtils.isNotEmpty(value)) { + boolean checkDiffrent = checkDiffrent(fileNameList, fileNameListTemp); + + if (fileNameListTemp.size() != 0 && !checkDiffrent) { + if("2".equals(flagTemp)){ + //sysUser + sb.append(dbFieldTxt + "由\"" + StringUtils.join(fileNameList, ",") + "\"改为\"" + StringUtils.join(fileNameListTemp, ",") + "\","); + }else{ + sb.append(dbFieldTxt + "由\"" + StringUtils.join(fileNameList, ",") + "\"改为\"" + StringUtils.join(fileNameListTemp, ",") + "\","); + } + } else if (fileNameListTemp.size() == 0) { + if("2".equals(flagTemp)){ + sb.append(dbFieldTxt + "由\"" + StringUtils.join(fileNameList, ",") + "\"改为空" + ","); + }else{ + sb.append(dbFieldTxt + "由\"" + StringUtils.join(fileNameList, ",") + "\"改为空" + ","); + } + + } + } else { + if (fileNameListTemp.size() != 0) { + if("2".equals(flagTemp)){ + sb.append(dbFieldTxt + "由空改为\"" + StringUtils.join(fileNameListTemp, ",") + "\","); + }else{ + sb.append(dbFieldTxt + "由空改为\"" + StringUtils.join(fileNameListTemp, ",") + "\","); + } + + } + } + } else { +// if ("replace_standard".equals(key) || "corresponding_standard".equals(key)) { +// if (ObjectUtils.isNotEmpty(value)) { +// value = getReplaceStandardName(value); +// } +// if (ObjectUtils.isNotEmpty(valueTemp)) { +// valueTemp = getReplaceStandardName(valueTemp); +// } +// } + //其他类型(被代替标准不处理) + if (!"replaced_standard".equals(key)) { + if (ObjectUtils.isNotEmpty(value)) { + if (ObjectUtils.isNotEmpty(valueTemp) && !value.equals(valueTemp)) { + if("2".equals(flagTemp)){ + sb.append(dbFieldTxt + "由\"" + value + "\"改为\"" + valueTemp + "\","); + }else{ + sb.append(dbFieldTxt + "由\"" + value + "\"改为\"" + valueTemp + "\","); + } + } else if (ObjectUtils.isEmpty(valueTemp)) { + if("2".equals(flagTemp)){ + sb.append(dbFieldTxt + "由\"" + value + "\"改为空" + ","); + }else{ + sb.append(dbFieldTxt + "由\"" + value + "\"改为空" + ","); + } + } + } else { + if (ObjectUtils.isNotEmpty(valueTemp)) { + if("2".equals(flagTemp)){ + sb.append(dbFieldTxt + "由空改为\"" + valueTemp + "\","); }else{ sb.append(dbFieldTxt + "由空改为\"" + valueTemp + "\","); } @@ -3114,20 +3310,34 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fieldFileList, List fieldPullList, String cut) { + List> dataListTemp = new ArrayList<>(); + for (Map stringObjectMap : dataList) { + Map mapT = new HashMap<>(); + mapCopy(stringObjectMap, mapT); + dataListTemp.add(mapT); + } + String technologyTerritoryNew = (String) dataList.get(0).get("technology_territory"); //1. 处理订阅的发送消息 //修改的内容 String flag ="1";//消息的标识(英文) StringBuilder sb = getUpdateInfo(map, dataList, fieldList, fieldDateList, fieldFileList, fieldPullList, null,flag); + String flagTemp ="2";//消息的标识(中文--消息采用卡片型式发送, 消息内容包含中英文, 所以此处需要获取消息的中文) + StringBuilder sbCn = getUpdateInfoCn(map, dataListTemp, fieldList, fieldDateList, fieldFileList, fieldPullList, null,flagTemp); //树形数据字典 List categoryList = sysCategoryService.list(); String sbStr = ""; if (ObjectUtils.isNotEmpty(sb)) { sbStr = sb.substring(0, sb.length() - 1); } + String sbStrCn = ""; + if (ObjectUtils.isNotEmpty(sbCn)) { + sbStrCn = sbCn.substring(0, sbCn.length() - 1); + } LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String serialNumber = (String) dataList.get(0).get("serial_number"); String category = (String)map.get("lei4_bie2"); + String categoryCn = (String)map.get("lei4_bie2"); String technologyTerritory = (String) map.get("technology_territory"); if(StringUtils.isNotBlank(category)){ List dictItemList = sysDictItemServiceImpl.selectItemsAll(); @@ -3137,6 +3347,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl", "") + .replaceAll("","").replaceAll("\"", "<"); + feishuMsgVo.setContent(replaceAllCn); +// + iFeishuService.sendCardMsgDocument(userIdListUpdateFeishu.toArray(new String[]{}), feishuMsgVo); + // String contentInfoFei = "In the "+category + " " + serialNumber +" you subscribed to, "+sysUser.getUsername()+" changed the " + sbStr.toString();; // //跳转文档详情 // String url = backUrl + "/docManage/library/detail?id=" + id; -// FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); -// feishuMsgVo.setTitle(MessageTypeEnum.READ.getName()); -// feishuMsgVo.setUrl(url); -// String replaceAll = contentInfoFei.replaceAll("\"", "<"); -// feishuMsgVo.setContent(replaceAll); -// -// iFeishuService.sendCardMsgDocument(userIdListUpdateFeishu.toArray(new String[]{}), feishuMsgVo); - String contentInfoFei = "In the "+category + " " + serialNumber +" you subscribed to, "+sysUser.getUsername()+" changed the " + sbStr.toString();; - //跳转文档详情 - String url = backUrl + "/docManage/library/detail?id=" + id; - iFeishuService.batchSendMessage(userIdListUpdateFeishu.toArray(new String[]{}), contentInfoFei, MessageTypeEnum.READ.getName(), url); +// iFeishuService.batchSendMessage(userIdListUpdateFeishu.toArray(new String[]{}), contentInfoFei, MessageTypeEnum.READ.getName(), url); } catch (IOException e) { log.error("文档新增飞书消息推送失败"); } @@ -3939,6 +4158,64 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl sysDictItems, Map.Entry entry, String cut, List fieldList,String flagTemp) { + //通过dictField判断字段是否为下拉选(不为空则为下拉选) + List onlCgformFieldList = fieldList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList()); + //数据字典中文 + List dictItemsCh = new ArrayList<>(); + List dictItemsEn = new ArrayList<>(); + for (OnlCgformField onlCgformField : onlCgformFieldList) { + if (FieldTypeEnum.PULL_SINGLE.getValue().equals(onlCgformField.getFieldShowType()) + || FieldTypeEnum.PULL_MORE.getValue().equals(onlCgformField.getFieldShowType())) { + String value = (String) entry.getValue(); + if (StringUtils.isNotBlank(value) && onlCgformFieldList.size() != 0 && StringUtils.isNotBlank(onlCgformFieldList.get(0).getDictField())) { + for (String itemValue : value.split(",")) { + //字段的数据字典 + List dictItemList = sysDictItems.stream() + .filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals(onlCgformFieldList.get(0).getDictField())) + .collect(Collectors.toList()); + if (dictItemList.size() != 0) { + List dictItems = dictItemList.stream() + .filter(e -> itemValue.equals(e.getItemValue())) + .collect(Collectors.toList()); + if (dictItems.size() != 0) { + List itemText = new ArrayList<>(); + if (CutEnum.CN.getValue().equals(cut)) { + itemText = dictItems.stream().map(SysDictItem::getItemText).collect(Collectors.toList()); + } else if(CutEnum.EN.getValue().equals(cut)) { + itemText = dictItems.stream().map(SysDictItem::getEnName).collect(Collectors.toList()); + }else if("2".equals(flagTemp)){ + itemText = dictItems.stream().map(SysDictItem::getItemText).collect(Collectors.toList()); + } + dictItemsCh.addAll(itemText); + dictItemsEn.addAll(itemText); + } + } + } + } + } + } + + + if (onlCgformFieldList.size() != 0 && StringUtils.isNotBlank(onlCgformFieldList.get(0).getDictField())) { + if(FieldTypeEnum.PULL_SINGLE.getValue().equals(onlCgformFieldList.get(0).getFieldShowType()) + || FieldTypeEnum.PULL_MORE.getValue().equals(onlCgformFieldList.get(0).getFieldShowType())){ + if (CutEnum.CN.getValue().equals(cut)) { + entry.setValue(StringUtils.join(dictItemsCh, ",")); + } else if(CutEnum.EN.getValue().equals(cut)){ + entry.setValue(StringUtils.join(dictItemsEn, ",")); + }else if("2".equals(flagTemp)){ + entry.setValue(StringUtils.join(dictItemsEn, ",")); + } + } + } + } @Override @@ -4963,6 +5240,34 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl categoryList, Map.Entry entry, List treeFieldList, String cut,String flagTemp) { + List treeFields = treeFieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList()); + String key = entry.getKey(); + if (treeFields.contains(entry.getKey())) { + String value = StringUtils.valueOf(entry.getValue()); + if (StringUtils.isNotBlank(value)) { + List idList = Arrays.asList(value.split(",")); + List sysCategoryList = categoryList.stream().filter(e -> idList.contains(e.getId())).collect(Collectors.toList()); + List nameList = sysCategoryList.stream().map(SysCategory::getName).collect(Collectors.toList()); + List nameEnList = sysCategoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList()); + if (CutEnum.CN.getValue().equals(cut)) { + entry.setValue(StringUtils.join(nameList, ",")); + } else if(CutEnum.EN.getValue().equals(cut)){ + entry.setValue(StringUtils.join(nameEnList, ",")); + }else if("2".equals(flagTemp)){ + entry.setValue(StringUtils.join(nameList, ",")); + } + } + } + } @SneakyThrows diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java index 36b0d9597..f20cd3981 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java @@ -25,6 +25,7 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -299,7 +300,7 @@ public class FeishuServiceImpl implements IFeishuService { StringBuilder contentSb = new StringBuilder(); contentSb.append("{"); contentSb.append("\"elements\": ["); - // 补充内容 + // 内容中文 if (StrUtil.isNotEmpty(feishuMsgVo.getContent())){ contentSb.append("{"); contentSb.append("\"tag\": \"div\","); @@ -309,6 +310,19 @@ public class FeishuServiceImpl implements IFeishuService { contentSb.append("}"); contentSb.append("},"); }; + contentSb.append("{\"tag\": \"hr\"},"); + + //内容英文 + if (StrUtil.isNotEmpty(feishuMsgVo.getContentEn())){ + contentSb.append("{"); + contentSb.append("\"tag\": \"div\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"" + feishuMsgVo.getContentEn() + "\","); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("},"); + }; + contentSb.append("{\"tag\": \"hr\"},"); @@ -341,15 +355,35 @@ public class FeishuServiceImpl implements IFeishuService { JSONObject jsonObject = JSONObject.parseObject(contentSb.toString()); -// String content = JSONObject.parseObject(JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString()).get("text").toString()).get("content").toString(); -// String contentReplaceAll = content.replaceAll("<", "\""); -// JSONObject.parseObject(JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString()).get("text").toString()).put("content",contentReplaceAll); -// JSONObject jsonObject1 = JSONObject.parseObject(JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString()).get("text").toString()); -// jsonObject1.put("content",contentReplaceAll); -// -// -// JSONObject text = JSONObject.parseObject(JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString()).get("text").toString()); -// text.put("value",jsonObject1); + String content = JSONObject.parseObject( + JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString()).get("text").toString()) + .get("content").toString(); + String contentEn = JSONObject.parseObject( + JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(2).toString()).get("text").toString()) + .get("content").toString(); + + JSONObject elementTwo = + JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(1).toString()); + JSONObject elementFour = + JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(3).toString()); + JSONObject elementFive = + JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(4).toString()); + + //处理内容中的双引号(将尖括号替换成双引号) + JSONObject elementOne = getJsonObject(jsonObject, content); + JSONObject elementThree = getJsonObject(jsonObject, contentEn); + + JSONArray jsonArray = new JSONArray(); + jsonArray.add(elementOne); + jsonArray.add(elementTwo); + jsonArray.add(elementThree); + jsonArray.add(elementFour); + jsonArray.add(elementFive); + + jsonObject.put("elements",jsonArray); + + + // 设置请求参数 @@ -368,6 +402,24 @@ public class FeishuServiceImpl implements IFeishuService { return tokenJson.get("msg").toString(); } + @NotNull + private JSONObject getJsonObject(JSONObject jsonObject, String content) { + String contentReplaceAll = content.replaceAll("<", "\""); + + JSONObject jsonObject1 = JSONObject.parseObject( + JSONObject.parseObject( + JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString()) + .get("text").toString()); + jsonObject1.put("content",contentReplaceAll); + + + JSONObject elementOne = + JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(0).toString()); + + elementOne.put("text",jsonObject1); + return elementOne; + } + /** * 翻译文本 * 参数: diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/vo/FeishuMsgVo.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/vo/FeishuMsgVo.java index 0aee3596c..63c74a9a6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/vo/FeishuMsgVo.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/vo/FeishuMsgVo.java @@ -12,6 +12,8 @@ public class FeishuMsgVo { private String content; //内容 + private String contentEn; //内容英文 + private String taskType; //任务类型 private String regulationNo; //法规编号 From 658ca5ee5040cae2b2a3312ea3bd4feed25f09db Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Wed, 26 Oct 2022 14:26:16 +0800 Subject: [PATCH 125/298] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=B5=81=E7=A8=8B=E7=9B=B8=E5=85=B3=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E6=95=B0=E6=8D=AE=E3=80=82=20=E7=A6=85=E9=81=9361737?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/ProcessInfoEOMapper.xml | 38 ++- .../impl/ProcessInfoEOServiceImpl.java | 296 +++++++++++++++++- .../feginClient/WorkFlowFeignClient.java | 6 + .../impl/WorkFlowFeignClientImpl.java | 7 + 4 files changed, 333 insertions(+), 14 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml index 78c88a657..72a3b386a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml @@ -76,8 +76,8 @@ pi.flow_type, createBy.username as "create_by", pi.end_time, - (select detail.task_id from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} limit 1) as task_id, - (select detail.task_definition_key from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} limit 1) as task_definition_key, + (select detail.task_id from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} order by submit_time desc limit 1) as task_id, + (select detail.task_definition_key from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} order by submit_time desc limit 1) as task_definition_key, pi.status, pi.prc_num, pi.prc_name, @@ -216,8 +216,32 @@ pi.STATUS, pi.prc_num, pi.prc_name, - (select detail.task_id from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} and detail.`status` = #{params.taskStatus} limit 1) as task_id, - (select detail.task_definition_key from process_info_detail detail where detail.process_info_id = pi.id and detail.user_id = #{params.currentUserId} and detail.`status` = #{params.taskStatus} limit 1) as task_definition_key, + ( + select + detail.task_id + from + process_info_detail detail + where detail.process_info_id = pi.id + and detail.user_id = #{params.currentUserId} + + and detail.`status` = #{params.taskStatus} + + order by detail.submit_time desc + limit 1 + ) as task_id, + ( + select + detail.task_definition_key + from + process_info_detail detail + where detail.process_info_id = pi.id + and detail.user_id = #{params.currentUserId} + + and detail.`status` = #{params.taskStatus} + + order by detail.submit_time desc + limit 1 + ) as task_definition_key, createBy.username AS "create_by", pi.acti_proc_inst_id, pi.create_time @@ -247,8 +271,10 @@ - and bdl.serial_number like CONCAT(CONCAT('%',#{params.serialNumber}),'%') - or bdl.title like CONCAT(CONCAT('%',#{params.serialNumber}),'%') + and ( + bdl.serial_number like CONCAT(CONCAT('%',#{params.serialNumber}),'%') + or bdl.title like CONCAT(CONCAT('%',#{params.serialNumber}),'%') + ) and pi.flow_type = #{params.flowType} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java index 282560b60..0383bd391 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java @@ -7,6 +7,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.LoginUser; +import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO; +import com.jero.modules.lawsOpinionGather.service.ILawsOpinionGatherEOService; +import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO; +import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO; +import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService; +import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationFlowDetailEOService; import com.jero.modules.project.entity.ProjectLawsInventoryEO; import com.jero.modules.project.entity.ProjectLibraryBase; import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO; @@ -66,6 +72,12 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl projectLawsInventoryEOList = this.projectLawsInventoryEOService.list(); //查询出所有项目库信息 @@ -587,9 +598,40 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl taskInventoryEOList = this.projectTaskInventoryEOService.list(); + + QueryWrapper taskInventoryDetailQueryWrap = new QueryWrapper<>(); + taskInventoryDetailQueryWrap.lambda().eq(ProjectTaskInventoryDetailEO::getStatus,TaskStatusEnum.NOT_DONE.getValue()); + List taskInventoryDetailEOList = this.projectTaskInventoryDetailEOService.list(taskInventoryDetailQueryWrap); + + //3.设计符合性流程 + if(StringUtils.contains(disposeType,FlowTypeEnum.SJFHXSHLC.getValue())){ + this.initConformance(FlowTypeEnum.SJFHXSHLC.getValue(),projectLawsInventoryEOList,taskInventoryEOList,taskInventoryDetailEOList); + } + //4.prehomo流程 + if(StringUtils.contains(disposeType,FlowTypeEnum.PREHOMOQRLC.getValue())){ + this.initConformance(FlowTypeEnum.PREHOMOQRLC.getValue(),projectLawsInventoryEOList,taskInventoryEOList,taskInventoryDetailEOList); + } + //5.验证符合性流程 + if(StringUtils.contains(disposeType,FlowTypeEnum.YZFHXSCLC.getValue())){ + this.initConformance(FlowTypeEnum.YZFHXSCLC.getValue(),projectLawsInventoryEOList,taskInventoryEOList,taskInventoryDetailEOList); + } + //6.法规技术评估 + if(StringUtils.contains(disposeType,FlowTypeEnum.FGJSPG.getValue())){ + this.initFgjspg(); + } + //7.法规意见收集 + if(StringUtils.contains(disposeType,FlowTypeEnum.FGYJSJLC.getValue())){ + this.initFgyjsj(); + } + + //8.处理之前流程数据在发起的时候,在bus_process_new中没有任务数据 + if(StringUtils.contains(disposeType,"disposeBusProcessNew")){ + this.workFlowFeignClient.dispostHistoryBusProcessNewData(); + } return Result.OK("初始化数据成功",disposeType); } @@ -670,10 +712,10 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl projectLawsInventoryEOList,List projectLibraryBaseList){ - List> rwqrResult = this.workFlowFeignClient.queryProcessInfoByPrcType(FlowTypeEnum.RWQRLC.getValue()); + public void initRwqr(List projectLawsInventoryEOList){ + String flowType = FlowTypeEnum.RWQRLC.getValue(); + List> rwqrResult = this.workFlowFeignClient.queryProcessInfoByPrcType(flowType); if(CollectionUtils.isNotEmpty(rwqrResult)){ for (Map rwqrMap : rwqrResult) { List lawsInventoryList = projectLawsInventoryEOList.stream().filter(projectLawsInventory -> { @@ -690,16 +732,237 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl> taskMapList = (List>)rwqrMap.get("taskMapList"); if(CollectionUtils.isNotEmpty(taskMapList)){ - addProcessInfo(rwqrMap); + String status = TodoCenterStatusEnum.COMPLETED.getValue(); + for (Map taskMap : taskMapList) { + String deleteReason = (String) taskMap.get("deleteReason"); + if(StringUtils.isEmpty(deleteReason)){ + //如果是dre确认节点,将状态设置为询问,否则就是待确认。 + if(StringUtils.equals((String)taskMap.get("taskDefinitionKey"),"dreqr")){ + status = TodoCenterStatusEnum.INQUIRY.getValue(); + }else { + status = TodoCenterStatusEnum.LIST_TO_CONFIRM.getValue(); + } + break; + } + } + + rwqrMap.put("status",status); + this.addProcessInfo(rwqrMap); } } } } } + /** + * 初始化符合性流程 + * @param flowType + */ + public void initConformance(String flowType,List projectLawsInventoryEOList,List taskInventoryEOList,List taskInventoryDetailEOList){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + List> conformanceResult = this.workFlowFeignClient.queryProcessInfoByPrcType(flowType); + if(CollectionUtils.isNotEmpty(conformanceResult)){ + for (Map conformanceMap : conformanceResult) { + String actiProcInstId = (String) conformanceMap.get("actiProcInstId"); + List taskInventoryListTemp = taskInventoryEOList.stream().filter(taskInventoryEO -> { + boolean flag = false; + if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue())){ + if (StringUtils.equals(taskInventoryEO.getDesignPId(), actiProcInstId)) { + flag = true; + } + }else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue())){ + if (StringUtils.equals(taskInventoryEO.getPrehomoPId(), actiProcInstId)) { + flag = true; + } + }else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){ + if (StringUtils.equals(taskInventoryEO.getVerifyPId(), actiProcInstId)) { + flag = true; + } + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(taskInventoryListTemp)){ + List> taskMapList = (List>)conformanceMap.get("taskMapList"); + if(CollectionUtils.isNotEmpty(taskMapList)){ + for (Map taskMap : taskMapList) { + String taskId = (String) taskMap.get("taskId"); + String userId = ""; + for (ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO : taskInventoryDetailEOList) { + if(StringUtils.equals(taskId,projectTaskInventoryDetailEO.getTaskId())){ + userId = projectTaskInventoryDetailEO.getUserId(); + } + } + taskMap.put("userId",userId); + } + String endTimeStr = ""; + if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue()) && taskInventoryListTemp.get(0).getDesignDueDate() != null){ + endTimeStr = sdf.format(taskInventoryListTemp.get(0).getDesignDueDate()); + }else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue()) && taskInventoryListTemp.get(0).getPrehomoDueDate() != null){ + endTimeStr = sdf.format(taskInventoryListTemp.get(0).getPrehomoDueDate()); + }else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue()) && taskInventoryListTemp.get(0).getVerifyDueDate() != null){ + endTimeStr = sdf.format(taskInventoryListTemp.get(0).getVerifyDueDate()); + } + + String projectLawsInventoryId = taskInventoryListTemp.get(0).getProjectLawsInventoryId(); + String projectLibraryId = ""; + String bussDocumentLibraryId = ""; + List projectLawsInventoryListTemp = projectLawsInventoryEOList.stream().filter(lawsInventory -> { + boolean flag = false; + if (StringUtils.equals(lawsInventory.getId(), projectLawsInventoryId)) { + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(projectLawsInventoryListTemp)){ + projectLibraryId = projectLawsInventoryListTemp.get(0).getProjectLibraryId(); + bussDocumentLibraryId = projectLawsInventoryListTemp.get(0).getStandId(); + } + conformanceMap.put("flowType",flowType); + conformanceMap.put("endTime",endTimeStr); + conformanceMap.put("projectLibraryId",projectLibraryId); + conformanceMap.put("projectLawsInventoryId",projectLawsInventoryId); + conformanceMap.put("bussDocumentLibraryId",bussDocumentLibraryId); + + String status = TodoCenterStatusEnum.COMPLETED.getValue(); + for (Map taskMap : taskMapList) { + String deleteReason = (String) taskMap.get("deleteReason"); + if(StringUtils.isEmpty(deleteReason)){ + //如果是发起人审查节点,状态应该为 待审核,否则就是待提交 + if(StringUtils.equals((String)taskMap.get("taskDefinitionKey"),"fqrsh")){ + status = TodoCenterStatusEnum.TO_AUDIT.getValue(); + }else { + status = TodoCenterStatusEnum.TO_SUBMIT.getValue(); + } + break; + } + } + conformanceMap.put("status",status); + + this.addProcessInfo(conformanceMap); + } + } + } + } + } + + /** + * 初始化法规技术评估 + */ + public void initFgjspg(){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String flowType = FlowTypeEnum.FGJSPG.getValue(); + List> fgjspgResult = this.workFlowFeignClient.queryProcessInfoByPrcType(flowType); + if(CollectionUtils.isNotEmpty(fgjspgResult)){ + List lawsTechnologyEvaluationEOList = this.lawsTechnologyEvaluationEOService.list(); + List flowDetailEOList = this.lawsTechnologyEvaluationFlowDetailEOService.list(); + + for (Map fgjspgMap : fgjspgResult) { + List> taskMapList = (List>)fgjspgMap.get("taskMapList"); + if(CollectionUtils.isNotEmpty(taskMapList)){ + String standId = ""; + String endTimeStr = ""; + String actiProcInstId = (String) fgjspgMap.get("actiProcInstId"); + + List flowDetailEOListTemp = flowDetailEOList.stream().filter(flowDetailEO -> { + boolean flag = false; + if (StringUtils.equals(actiProcInstId, flowDetailEO.getActiProcInstId())) { + flag = true; + } + return flag; + }).collect(Collectors.toList()); + + if(CollectionUtils.isNotEmpty(flowDetailEOListTemp)){ + String lawsTechnologyEvaluationId = flowDetailEOListTemp.get(0).getLawsTechnologyEvaluationId(); + List technologyEvaluationEOListTemp = lawsTechnologyEvaluationEOList.stream().filter(lawsTechnologyEvaluation -> { + boolean flag = false; + if (StringUtils.equals(lawsTechnologyEvaluationId, lawsTechnologyEvaluation.getId())) { + flag = true; + } + return flag; + }).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(technologyEvaluationEOListTemp)){ + standId = technologyEvaluationEOListTemp.get(0).getStandId(); + endTimeStr = sdf.format(technologyEvaluationEOListTemp.get(0).getEndTime()); + } + } + + fgjspgMap.put("standId",standId); + fgjspgMap.put("endTime",endTimeStr); + fgjspgMap.put("flowType",flowType); + + String status = TodoCenterStatusEnum.COMPLETED.getValue(); + for (Map taskMap : taskMapList) { + String deleteReason = (String) taskMap.get("deleteReason"); + if(StringUtils.isEmpty(deleteReason)){ + //如果是发起人审查节点,状态应该为 待审核,否则就是待提交 + if(StringUtils.equals((String)taskMap.get("taskDefinitionKey"),"fqrsc")){ + status = TodoCenterStatusEnum.TO_AUDIT.getValue(); + }else { + status = TodoCenterStatusEnum.TO_SUBMIT.getValue(); + } + break; + } + } + fgjspgMap.put("status",status); + this.addProcessInfo(fgjspgMap); + } + } + } + } + + /** + * 初始化法规意见收集 + */ + public void initFgyjsj(){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String flowType = FlowTypeEnum.FGYJSJLC.getValue(); + List> fgyjsjResult = this.workFlowFeignClient.queryProcessInfoByPrcType(flowType); + + if(CollectionUtils.isNotEmpty(fgyjsjResult)){ + List lawsOpinionGatherEOList = this.lawsOpinionGatherEOService.list(); + for (Map fgyjsjMap : fgyjsjResult) { + List> taskMapList = (List>)fgyjsjMap.get("taskMapList"); + if(CollectionUtils.isNotEmpty(taskMapList)){ + String standId = ""; + String endTimeStr = ""; + String actiProcInstId = (String) fgyjsjMap.get("actiProcInstId"); + List lawsOpinionGatherTempList = lawsOpinionGatherEOList.stream().filter(lawsOpinionGatherEO -> { + boolean flag = false; + if (StringUtils.equals(lawsOpinionGatherEO.getActiProcInstId(), actiProcInstId)) { + flag = true; + } + return flag; + }).collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(lawsOpinionGatherTempList)){ + standId = lawsOpinionGatherTempList.get(0).getStandId(); + endTimeStr = sdf.format(lawsOpinionGatherTempList.get(0).getEndTime()); + } + fgyjsjMap.put("standId",standId); + fgyjsjMap.put("endTime",endTimeStr); + fgyjsjMap.put("flowType",flowType); + + String status = TodoCenterStatusEnum.COMPLETED.getValue(); + for (Map taskMap : taskMapList) { + String deleteReason = (String) taskMap.get("deleteReason"); + if(StringUtils.isEmpty(deleteReason)){ + //如果还有没提交的任务 + status = TodoCenterStatusEnum.TO_SUBMIT.getValue(); + break; + } + } + fgyjsjMap.put("status",status); + this.addProcessInfo(fgyjsjMap); + } + } + } + } + public void addProcessInfo(Map params){ String prcNum = (String) params.get("prcNum"); String prcName = (String) params.get("prcName"); @@ -709,12 +972,21 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl> queryProcessInfoByPrcType(@RequestParam("prcType") String prcType); + + /** + * 处理历史数据-之前的数据发起的时候在busProcessNew中没有待办信息 + */ + @RequestMapping(value = "/bat-wkflow/datas/bus-process-new/dispostHistoryBusProcessNewData",method = RequestMethod.GET) + Result dispostHistoryBusProcessNewData(); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/impl/WorkFlowFeignClientImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/impl/WorkFlowFeignClientImpl.java index 3dcbeb659..e0ab1dc66 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/impl/WorkFlowFeignClientImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/impl/WorkFlowFeignClientImpl.java @@ -205,4 +205,11 @@ public class WorkFlowFeignClientImpl{ public List> queryProcessInfoByPrcType(String prcType) { return workFlowFeignClient.queryProcessInfoByPrcType(prcType); } + + /** + * 处理历史数据-之前的数据发起的时候在busProcessNew中没有待办信息 + */ + public Result dispostHistoryBusProcessNewData() { + return workFlowFeignClient.dispostHistoryBusProcessNewData(); + } } From 6794e56cfe216f507df1d6da4c47e6fa667d08fa Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Wed, 26 Oct 2022 14:33:21 +0800 Subject: [PATCH 126/298] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E6=88=AA=E6=AD=A2=E6=97=B6=E9=97=B4=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=EF=BC=8C=E8=AE=A4=E8=AF=81=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E4=BB=BB=E5=8A=A1=E6=A8=A1=E5=9D=97=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=AE=8C=E6=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/ParamsCollectManifestEOMapper.java | 4 +- .../xml/ParamsCollectManifestEOMapper.xml | 6 +- .../IParamsCollectManifestEOService.java | 4 + .../ParamsCollectManifestEOServiceImpl.java | 149 ++++++++++++++++++ .../cert/collect/task/ScheduledTask.java | 30 ++++ .../main/java/com/jero/LawNioApplication.java | 2 + 6 files changed, 193 insertions(+), 2 deletions(-) create mode 100644 jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/task/ScheduledTask.java diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java index 76eedb79c..140f9c0c8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java @@ -26,4 +26,6 @@ public interface ParamsCollectManifestEOMapper extends BaseMapper listInfoOfTitle(@Param("paramsManifestId") String paramsManifestId); IPage pageInfo(@Param("page") IPage page, @Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO); - } + + List queryByParamManifestId(@Param("paramsManifestId") String paramsManifestIdString); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml index 0b45b9351..8c30b86c8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml @@ -108,4 +108,8 @@ order by del_flag desc, add_flag desc, change_flag desc, nio_number asc - \ No newline at end of file + + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java index 16249bc07..0266ae8dc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java @@ -164,4 +164,8 @@ public interface IParamsCollectManifestEOService extends IService updateBatchDutyTerritory(ParamsCollectManifestVO paramsCollectManifestVO); + + //监控参数收集任务的截止时间,并根据时间段发送飞书 + void checkDeadline(); + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 07ed93543..8e105fc78 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -2871,4 +2871,153 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("state", ManifestStateEnum.COLLECTING.getValue()); + List manifestEOS = paramsManifestEOService.list(queryWrapper); + for (ParamsManifestEO manifestEO : manifestEOS) { + //项目名称 + ParamsManifestVO projectInfo = paramsManifestEOService.getProjectById(manifestEO.getProjectId()); + if (ObjectUtils.isNotEmpty(projectInfo)) { + //url + String urlParamsStr = parseUrlParams(manifestEO); + String hrefFeishu = backUrl + "/ParameterItemCollection" + urlParamsStr; + //查出对应清单 + List collectManifestEOS = paramsCollectManifestEOMapper.queryByParamManifestId(manifestEO.getId()); + Map> seven = new HashMap<>(); + Map> three = new HashMap<>(); + Map> today = new HashMap<>(); + for (ParamsCollectManifestEO collectManifestEO : collectManifestEOS) { + String thirdId = null; + if (CollectManifestStateEnum.WAIT_SDT.getValue().equals(collectManifestEO.getState()) + ||CollectManifestStateEnum.DRE_BACK.getValue().equals(collectManifestEO.getState())) { + //工程接口人 + if (ObjectUtils.isNotEmpty(collectManifestEO.getSdt())) { + SysUser sdt = sysUserService.getUserByName(collectManifestEO.getSdt()); + if (ObjectUtils.isNotEmpty(sdt)) { + thirdId = sdt.getThirdId(); + } + } + + } else if (CollectManifestStateEnum.WAIT_FILL.getValue().equals(collectManifestEO.getState()) + ||CollectManifestStateEnum.CERT_BACK.getValue().equals(collectManifestEO.getState())) { + //填写人 + if (ObjectUtils.isNotEmpty(collectManifestEO.getDre())) { + SysUser dre = sysUserService.getUserByName(collectManifestEO.getDre()); + if (ObjectUtils.isNotEmpty(dre)) { + thirdId = dre.getThirdId(); + } + } + } + //截止时间 + if (ObjectUtils.isNotEmpty(thirdId) && ObjectUtils.isNotEmpty(collectManifestEO.getDeadline())) { + String deadline =sdf.format(collectManifestEO.getDeadline()); + //判断日期 + int days = 0; + try { + days = (int) (sdf.parse(deadline).getTime() - sdf.parse(now).getTime()) / (24 * 60 * 60 * 1000); + } catch (Exception e) { + e.printStackTrace(); + throw new JeroBootException("时间获取失败"); + } + if (days == 7) { + deadlineDateMap(seven, collectManifestEO, thirdId); + } else if (days == 3) { + deadlineDateMap(three, collectManifestEO, thirdId); + } else if (now.equals(deadline)) { + deadlineDateMap(today, collectManifestEO, thirdId); + } + + } + } + + String title = MessageType2Enum.HOMO_PARAMETER_COLLECTION.getCn() + "/" + MessageType2Enum.HOMO_PARAMETER_COLLECTION.getEn(); + String cnContentLower = "项目: " + projectInfo.getProjectName() + + "\n发起人: 系统"; + String enContentLower = "Project: " + projectInfo.getProjectName() + + "\nInitiator: system"; + if (!seven.isEmpty()) { + for (String key : seven.keySet()) { + String[] thirds = new String[1]; + thirds[0] = key; + List stringList = seven.get(key); + String join = StringUtils.join(stringList, ","); + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(title); + feishuMsgVo.setCnContentUpper("您参与填写的参数"+ join +",还有7天到期,请及时查看处理"); + feishuMsgVo.setCnContentLower(cnContentLower); + feishuMsgVo.setEnContentUpper("The parameter "+ join +" you filled in will expire in 7 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower(enContentLower); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirds, feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + } + if (!three.isEmpty()) { + for (String key : three.keySet()) { + String[] thirds = new String[1]; + thirds[0] = key; + List stringList = three.get(key); + String join = StringUtils.join(stringList, ","); + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(title); + feishuMsgVo.setCnContentUpper("您参与填写的参数"+ join +",还有3天到期,请及时查看处理"); + feishuMsgVo.setCnContentLower(cnContentLower); + feishuMsgVo.setEnContentUpper("The parameter "+ join +" you filled in will expire in 3 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower(enContentLower); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirds, feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + } + if (!today.isEmpty()) { + for (String key : today.keySet()) { + String[] thirds = new String[1]; + thirds[0] = key; + List stringList = today.get(key); + String join = StringUtils.join(stringList, ","); + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(title); + feishuMsgVo.setCnContentUpper("您参与填写的参数"+ join +",将于今天到期,请及时查看处理"); + feishuMsgVo.setCnContentLower(cnContentLower); + feishuMsgVo.setEnContentUpper("The parameter "+ join +" you filled in will expire today. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower(enContentLower); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirds, feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + } + } + } + + } + + private void deadlineDateMap(Map> today, ParamsCollectManifestEO collectManifestEO, String thirdId) { + List stringList = today.get(thirdId); + if (ObjectUtils.isEmpty(stringList)) { + stringList = new ArrayList<>(); + stringList.add("NIO-" + collectManifestEO.getNioNumber()); + today.put(thirdId, stringList); + } else { + stringList.add("NIO-" + collectManifestEO.getNioNumber()); + } + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/task/ScheduledTask.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/task/ScheduledTask.java new file mode 100644 index 000000000..91fb719d8 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/task/ScheduledTask.java @@ -0,0 +1,30 @@ +package com.jero.modules.cert.collect.task; + +import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +@Component +@Slf4j +public class ScheduledTask { + + @Autowired + private IParamsCollectManifestEOService paramsCollectManifestEOServicea; + + /** + * 监控参数收集任务的截止时间,并根据时间段发送飞书 + */ + //@Scheduled(cron = "0 30 14 * * ?") + @Scheduled(cron = "0 0 0 */1 * ?") + public void checkTime() { + log.info("-----checkDeadline-----begin-----------"); + + paramsCollectManifestEOServicea.checkDeadline(); + + log.info("-----checkDeadline------end-----------"); + } + + +} diff --git a/jero-boot/jero-boot-single-startup/src/main/java/com/jero/LawNioApplication.java b/jero-boot/jero-boot-single-startup/src/main/java/com/jero/LawNioApplication.java index 207380e88..87c4ee8cb 100644 --- a/jero-boot/jero-boot-single-startup/src/main/java/com/jero/LawNioApplication.java +++ b/jero-boot/jero-boot-single-startup/src/main/java/com/jero/LawNioApplication.java @@ -11,6 +11,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; +import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.web.socket.server.standard.ServerEndpointExporter; import java.net.InetAddress; @@ -25,6 +26,7 @@ import java.net.UnknownHostException; @SpringBootApplication @EnableEurekaClient @EnableFeignClients +@EnableScheduling public class LawNioApplication extends SpringBootServletInitializer { @Override From 0da3b191bc6aff78ce5dff1059cb7b0044d18f0e Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Wed, 26 Oct 2022 14:52:16 +0800 Subject: [PATCH 127/298] =?UTF-8?q?61730=20=E9=A1=B9=E7=9B=AE=E6=B3=95?= =?UTF-8?q?=E8=A7=84=E4=BB=BB=E5=8A=A1/=E6=B3=95=E8=A7=84=E8=AF=84?= =?UTF-8?q?=E4=BC=B0=E4=BB=BB=E5=8A=A1-=E5=BE=85=E5=8A=9E=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E6=88=AA=E6=AD=A2=E5=B0=8F=E4=BA=8E=E7=AD=89?= =?UTF-8?q?=E4=BA=8E=E5=BD=93=E5=89=8D=E6=97=A5=E6=9C=9F=EF=BC=8C=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=B1=95=E7=A4=BA=E6=95=B0=E6=8D=AE=E6=A0=87=E8=AF=86?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProcessInfoEOServiceImpl.java | 20 +++++++++++++++++++ .../modules/todoCenter/vo/ProcessInfoVO.java | 2 ++ 2 files changed, 22 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java index 0383bd391..203a27fe5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ProcessInfoEOServiceImpl.java @@ -396,6 +396,14 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl datas, String cut){ if(CollectionUtils.isNotEmpty(datas)){ + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date currentDate = new Date(); + try { + currentDate = sdf.parse(sdf.format(currentDate)); + } catch (ParseException e) { + e.printStackTrace(); + } + List processInfoIdList = datas.stream().map(ProcessInfoVO::getId).distinct().collect(Collectors.toList()); QueryWrapper processInfoDetailQueryWrap = new QueryWrapper<>(); @@ -463,6 +471,7 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl sysUserList = this.sysUserService.querySysUserListByIdList(userIdList); + Date finalCurrentDate = currentDate; datas.forEach(data -> { if(StringUtils.isNotEmpty(data.getFlowType())){ data.setFlowTypeShow(FlowTypeEnum.getTextByValue(data.getFlowType(),cut)); @@ -512,6 +521,17 @@ public class ProcessInfoEOServiceImpl extends ServiceImpl Date: Wed, 26 Oct 2022 14:59:22 +0800 Subject: [PATCH 128/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/zh-cn.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index cc87c7e03..7d8bf49aa 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1425,9 +1425,9 @@ module.exports = { filledBy:'待分配填写人', parameterToBeInitiated:'参数待发起', listTaskConfirmation:'清单任务确认', - completednum: '待填写数量', - filledBynum:'待分配填写人数量', - parameterToBeInitiatednum:'参数待发起数量', + completednum: '待填写', + filledBynum:'待分配填写人', + parameterToBeInitiatednum:'参数待发起', listToConfirm:'待确认', toSubmit:'待提交', toAudit:'待审核', From 6fbee100fba8593012392a0c26676cc7fb9c7894 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Wed, 26 Oct 2022 15:14:14 +0800 Subject: [PATCH 129/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/assets/ditu.png | Bin 0 -> 30410 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 jero-web/src/assets/ditu.png diff --git a/jero-web/src/assets/ditu.png b/jero-web/src/assets/ditu.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c236dec4f1549a8cbea18d934251300c7529dd GIT binary patch literal 30410 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 EAI%KdZ~y=R literal 0 HcmV?d00001 From 128ea9778cd6c742387596500869cf17cc266986 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 26 Oct 2022 15:14:24 +0800 Subject: [PATCH 130/298] =?UTF-8?q?=E8=AE=A2=E9=98=85=E9=A2=86=E5=9F=9F-?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=96=87=E6=A1=A3=E6=98=AF=E5=8F=91=E9=A3=9E?= =?UTF-8?q?=E4=B9=A6=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BussDocumentLibraryEOServiceImpl.java | 11 ++- .../feishu/service/IFeishuService.java | 9 ++ .../service/impl/FeishuServiceImpl.java | 87 ++++++++++++++++++- 3 files changed, 105 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 6640c4b1a..5ee83f514 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -3354,6 +3354,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImplXXX对“GB 7258 进行了修改请及时查看”) //向订阅领域管理中订阅了该技术领域的人和文档库中订阅了该条文档的人发送消息 + // 只有技术领域变更为订阅的技术领域这一种情况发消息, 假如订阅了技术领域A,编辑的文档的技术领域也是A,这时编辑的是其他的字段,这种情况不发消息 Map mapTemp = new HashMap<>(); mapTemp.put("domainId", map.get("technology_territory")); mapTemp.put("documentId", map.get("id")); @@ -3434,10 +3435,18 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl headerMap = new HashMap<>(); + headerMap.put("Authorization", "Bearer " + token); + headerMap.put("Content-Type", "application/json; charset=utf-8"); + + // 示例 + StringBuilder contentSb = new StringBuilder(); + contentSb.append("{"); + contentSb.append("\"elements\": ["); + // 内容中文 + if (StrUtil.isNotEmpty(feishuMsgVo.getContent())){ + contentSb.append("{"); + contentSb.append("\"tag\": \"div\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"" + feishuMsgVo.getContent() + "\","); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("},"); + }; + contentSb.append("{\"tag\": \"hr\"},"); + + //内容英文 + if (StrUtil.isNotEmpty(feishuMsgVo.getContentEn())){ + contentSb.append("{"); + contentSb.append("\"tag\": \"div\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"" + feishuMsgVo.getContentEn() + "\","); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("},"); + }; + contentSb.append("{\"tag\": \"hr\"},"); + contentSb.append("{"); + contentSb.append("\"actions\": ["); + contentSb.append("{"); + contentSb.append("\"tag\": \"button\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"view\","); + contentSb.append("\"tag\": \"plain_text\""); + contentSb.append("},"); + contentSb.append("\"type\": \"primary\","); + contentSb.append("\"url\": \" "+ feishuMsgVo.getUrl() +" \""); + contentSb.append("}"); + contentSb.append("],"); + contentSb.append("\"tag\": \"action\""); + contentSb.append("}"); + contentSb.append("],"); + + + + contentSb.append("\"header\": {"); + contentSb.append("\"template\": \"green\","); + contentSb.append("\"title\": {"); + contentSb.append("\"content\": \" " + feishuMsgVo.getTitle() + " \","); + contentSb.append("\"tag\": \"plain_text\""); + contentSb.append("}"); + contentSb.append("}"); + contentSb.append("}"); + + JSONObject jsonObject = JSONObject.parseObject(contentSb.toString()); // 设置请求参数 JSONObject paramsMap = new JSONObject(); From c7632736227b3e37d50ef5500251c7d5a2d4baab Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 26 Oct 2022 15:31:12 +0800 Subject: [PATCH 131/298] =?UTF-8?q?=E8=AE=A2=E9=98=85=E9=A2=86=E5=9F=9F--?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=96=87=E6=A1=A3=E5=8F=91=E9=A3=9E=E4=B9=A6?= =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BussDocumentLibraryEOServiceImpl.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 5ee83f514..f1effd533 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -2208,9 +2208,18 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl Date: Wed, 26 Oct 2022 15:37:52 +0800 Subject: [PATCH 132/298] =?UTF-8?q?=E9=A3=9E=E4=B9=A6=E6=B6=88=E6=81=AF--?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E8=8B=B1=E6=96=87=E4=B8=8B=E7=9A=84=E6=A8=AA?= =?UTF-8?q?=E6=9D=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/feishu/service/impl/FeishuServiceImpl.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java index e37d166a0..9aa482c6f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java @@ -325,7 +325,6 @@ public class FeishuServiceImpl implements IFeishuService { - contentSb.append("{\"tag\": \"hr\"},"); contentSb.append("{"); contentSb.append("\"actions\": ["); contentSb.append("{"); @@ -366,8 +365,6 @@ public class FeishuServiceImpl implements IFeishuService { JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(1).toString()); JSONObject elementFour = JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(3).toString()); - JSONObject elementFive = - JSONObject.parseObject(JSONArray.parseArray(jsonObject.get("elements").toString()).get(4).toString()); //处理内容中的双引号(将尖括号替换成双引号) JSONObject elementOne = getJsonObject(jsonObject, content); @@ -378,7 +375,6 @@ public class FeishuServiceImpl implements IFeishuService { jsonArray.add(elementTwo); jsonArray.add(elementThree); jsonArray.add(elementFour); - jsonArray.add(elementFive); jsonObject.put("elements",jsonArray); // 设置请求参数 @@ -439,9 +435,6 @@ public class FeishuServiceImpl implements IFeishuService { contentSb.append("},"); }; - - - contentSb.append("{\"tag\": \"hr\"},"); contentSb.append("{"); contentSb.append("\"actions\": ["); contentSb.append("{"); From 9f104c564a49cb9e6ceaf16caddddaf204eca5aa Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Wed, 26 Oct 2022 15:47:20 +0800 Subject: [PATCH 133/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectRegulationTasks/components/dealtWith.vue | 10 ++++++++-- .../regulatoryAssessmentTasks/components/dealtWith.vue | 7 ++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue index 5ea5b7b43..7e7b36dc4 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue @@ -11,6 +11,9 @@ :columns="columns" > + + {{text}} + {{$t('Processing')}} @@ -85,7 +88,8 @@ align: 'center', dataIndex: 'endTime', ellipsis: true, - width: 170 + width: 170, + scopedSlots: { customRender: 'endTime' } }, { title: this.$t('taskStatus'), @@ -327,5 +331,7 @@ text-align: right; margin-top: 20px; } - + .activeRed{ + color: red; + } \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue index 72e8ebf30..d80515b5a 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue @@ -15,6 +15,9 @@ {{$t('Processing')}} + + {{text}} + {{text+'、'+record.title}} @@ -204,5 +207,7 @@ text-align: right; margin-top: 20px; } - + .activeRed{ + color: red; + } \ No newline at end of file From 385d9fc9934b1c3c444a7c47a021fba5a1bbc015 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Wed, 26 Oct 2022 15:48:26 +0800 Subject: [PATCH 134/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../regulatoryAssessmentTasks/components/dealtWith.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue index d80515b5a..eba3c634c 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue @@ -76,7 +76,8 @@ align: 'center', dataIndex: 'endTime', ellipsis: true, - width: 170 + width: 170, + scopedSlots: { customRender: 'endTime' } }, { title: this.$t('taskStatus'), From bf2b51820d12d8ade4d1af1c6ba48c8f81f75692 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Wed, 26 Oct 2022 15:52:05 +0800 Subject: [PATCH 135/298] =?UTF-8?q?61777-=E6=B3=95=E8=A7=84=E6=8A=80?= =?UTF-8?q?=E6=9C=AF=E8=AF=84=E4=BC=B0=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=9D=83=E9=99=90=E5=AE=8C=E5=96=84=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LawsTechnologyEvaluationEOServiceImpl.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java index cefc08e86..0b39ff36e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java @@ -712,17 +712,19 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl flowDetailQueryWrap = new QueryWrapper<>(); flowDetailQueryWrap.lambda().eq(LawsTechnologyEvaluationFlowDetailEO::getEvaluatorId,currentUser.getId()); List flowDetailEOList = this.lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailQueryWrap); - if(CollectionUtils.isNotEmpty(flowDetailEOList)){ - List lawsTechnologyEvaluationIdList = flowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId).distinct().collect(Collectors.toList()); - queryWrapper.and(query -> { - query.eq("create_by",currentUser.getUsername()); + + queryWrapper.and(query -> { + query.eq("create_by",currentUser.getUsername()); + if(CollectionUtils.isNotEmpty(flowDetailEOList)){ + List lawsTechnologyEvaluationIdList = flowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId).distinct().collect(Collectors.toList()); query.or(q -> { for (String lawsTechnologyEvaluationId : lawsTechnologyEvaluationIdList) { q.or().like("id",lawsTechnologyEvaluationId); } }); - }); - } + } + }); + } } From cf17a1a7a9916fe8be67f70c9f1ae1b5c61d8bb5 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 26 Oct 2022 16:46:32 +0800 Subject: [PATCH 136/298] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E5=92=8C=E6=92=A4=E5=9B=9E--=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=A3=9E=E4=B9=A6=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DummyInventoryBaseEOServiceImpl.java | 21 ++- .../feishu/service/IFeishuService.java | 10 ++ .../service/impl/FeishuServiceImpl.java | 127 ++++++++++++++++++ 3 files changed, 156 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java index 6af72e8d9..4df36d4e4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java @@ -29,6 +29,7 @@ import com.jero.modules.dummy.service.IDummyInventoryInfoEOService; import com.jero.modules.dummy.service.IDummyReadEOService; import com.jero.modules.dummy.vo.VirtualCreaterVo; import com.jero.modules.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.system.entity.SysAnnouncement; @@ -366,6 +367,7 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl dummyInventoryInfoEOList = iDummyInventoryInfoEOService.list(lambdaQueryWrapper); String contentLog = "The "+ baseEO.getName()+" virtual list you subscribed to has been updated as follows:" + "
"; String contentLogFeishu = "The "+ baseEO.getName()+" virtual list you subscribed to has been updated as follows:" + " "; + String contentLogFeishuTemp = "The "+ baseEO.getName()+" virtual list you subscribed to has been updated as follows:" + " "; if(dummyContentChangeEOList.size() == 0){ //没有添加过需要进行第一次添加 @@ -449,7 +451,15 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl serialNumberAddList,List serialNumberDeleteList) throws IOException; + /** * 翻译文本 * @param params diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java index 9aa482c6f..0092c6858 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/service/impl/FeishuServiceImpl.java @@ -453,6 +453,133 @@ public class FeishuServiceImpl implements IFeishuService { + contentSb.append("\"header\": {"); + contentSb.append("\"template\": \"green\","); + contentSb.append("\"title\": {"); + contentSb.append("\"content\": \" " + feishuMsgVo.getTitle() + " \","); + contentSb.append("\"tag\": \"plain_text\""); + contentSb.append("}"); + contentSb.append("}"); + contentSb.append("}"); + + JSONObject jsonObject = JSONObject.parseObject(contentSb.toString()); + + // 设置请求参数 + JSONObject paramsMap = new JSONObject(); + paramsMap.put("user_ids", userIds); + paramsMap.put("msg_type", "interactive"); + paramsMap.put("card", jsonObject); + + // 发送请求给飞书 + String response = HttpRequestUtil.getResponseOfPOST(batchSendMessageUrl, headerMap, paramsMap.toJSONString()); + // 获取返回结果 + JSONObject tokenJson = JSONObject.parseObject(response); + if(!tokenJson.get("code").toString().equals("0")) { + log.error("请求出现异常:" + tokenJson.get("msg") + " " + tokenJson); + } + return tokenJson.get("msg").toString(); + } + /** + * 虚拟清单发布(飞书消息) + * @param userIds + * @param feishuMsgVo + * @return + * @throws IOException + */ + public String sendCardMsgVirtua(String[] userIds, FeishuMsgVo feishuMsgVo, + List serialNumberAddList,List serialNumberDeleteList) throws IOException { + String token = getTenantAccessToken(); + // 设置请求头 + Map headerMap = new HashMap<>(); + headerMap.put("Authorization", "Bearer " + token); + headerMap.put("Content-Type", "application/json; charset=utf-8"); + + // 示例 + StringBuilder contentSb = new StringBuilder(); + contentSb.append("{"); + contentSb.append("\"elements\": ["); + // 内容中文 + if (StrUtil.isNotEmpty(feishuMsgVo.getContent())){ + contentSb.append("{"); + contentSb.append("\"tag\": \"div\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"" + feishuMsgVo.getContent() + "\"\n,"); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("},"); + }; + if(ObjectUtils.isNotEmpty(serialNumberAddList)){ + int count = 1; + contentSb.append("{"); + contentSb.append("\"tag\": \"div\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"" + count + ". 新增文档: " + StringUtils.join(serialNumberAddList,",") + "\"\n,"); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("},"); + } + if(ObjectUtils.isNotEmpty(serialNumberDeleteList)){ + int count = 2; + contentSb.append("{"); + contentSb.append("\"tag\": \"div\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"" + count + ". 删除文档: " + StringUtils.join(serialNumberDeleteList,",") + "\"\n,"); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("},"); + } + contentSb.append("{\"tag\": \"hr\"},"); + + //内容英文 + if (StrUtil.isNotEmpty(feishuMsgVo.getContentEn())){ + contentSb.append("{"); + contentSb.append("\"tag\": \"div\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"" + feishuMsgVo.getContentEn() + "\"\n,"); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("},"); + }; + + if (ObjectUtils.isNotEmpty(serialNumberAddList)) { + int count = 1; + contentSb.append("{"); + contentSb.append("\"tag\": \"div\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"" + count + ". New regulations: " + StringUtils.join(serialNumberAddList,",") + "\"\n,"); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("},"); + } + if (ObjectUtils.isNotEmpty(serialNumberDeleteList)) { + int count = 2; + contentSb.append("{"); + contentSb.append("\"tag\": \"div\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"" + count + ". Remove regulations: " + StringUtils.join(serialNumberDeleteList,",") + "\"\n,"); + contentSb.append("\"tag\": \"lark_md\""); + contentSb.append("}"); + contentSb.append("},"); + } + + contentSb.append("{"); + contentSb.append("\"actions\": ["); + contentSb.append("{"); + contentSb.append("\"tag\": \"button\","); + contentSb.append("\"text\": {"); + contentSb.append("\"content\": \"view\","); + contentSb.append("\"tag\": \"plain_text\""); + contentSb.append("},"); + contentSb.append("\"type\": \"primary\","); + contentSb.append("\"url\": \" "+ feishuMsgVo.getUrl() +" \""); + contentSb.append("}"); + contentSb.append("],"); + contentSb.append("\"tag\": \"action\""); + contentSb.append("}"); + contentSb.append("],"); + + + contentSb.append("\"header\": {"); contentSb.append("\"template\": \"green\","); contentSb.append("\"title\": {"); From 991b4ebec2b5d6eb576b39aa0b52be0eb69f3b38 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Wed, 26 Oct 2022 17:05:30 +0800 Subject: [PATCH 137/298] =?UTF-8?q?61701-=E5=BE=85=E5=8A=9E=E4=B8=AD?= =?UTF-8?q?=E5=BF=83-=E9=A1=B9=E7=9B=AE=E6=B3=95=E8=A7=84=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E3=80=81=E6=B3=95=E8=A7=84=E8=AF=84=E4=BC=B0=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=EF=BC=8C=E5=A4=84=E7=90=86=E7=99=BB=E5=BD=95=E4=BA=BA?= =?UTF-8?q?=E5=BE=85=E5=8A=9E=E6=A0=87=E8=AF=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysPermissionController.java | 49 ++++++++++++++++++- .../system/enums/SysPermissionEnum.java | 35 +++++++++++++ .../system/mapper/TodoCenterMapper.java | 14 ++++++ .../system/mapper/xml/TodoCenterMapper.xml | 21 ++++++++ 4 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/SysPermissionEnum.java create mode 100644 jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/TodoCenterMapper.java create mode 100644 jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java index 9668a5a92..f9b86374a 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java @@ -5,13 +5,14 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.jero.common.constant.enums.CutEnum; +import com.jero.modules.system.enums.SysPermissionEnum; +import com.jero.modules.system.mapper.TodoCenterMapper; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; -import org.apache.shiro.authz.annotation.RequiresRoles; import com.jero.common.api.vo.Result; import com.jero.common.constant.CommonConstant; -import com.jero.common.system.util.JwtUtil; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.MD5Util; import com.jero.common.util.oConvertUtils; @@ -54,6 +55,9 @@ public class SysPermissionController { @Autowired private ISysDepartPermissionService sysDepartPermissionService; + @Autowired + private TodoCenterMapper todoCenterMapper; + /** * 加载数据节点 * @@ -641,6 +645,47 @@ public class SysPermissionController { if (isWWWHttpUrl(permission.getUrl())) { meta.put("url", permission.getUrl()); } + + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + Map params = new HashMap<>(); + params.put("currentUserId",currentUser.getId()); + + List flowTypeList = new ArrayList<>(); + //项目法规任务 + if(StringUtils.equals(permission.getId(), SysPermissionEnum.PROJECT_REGULATION_TASKS.getId())){ + flowTypeList.add("1"); + flowTypeList.add("2"); + flowTypeList.add("3"); + flowTypeList.add("4"); + flowTypeList.add("10"); + params.put("flowTypeList",flowTypeList); + //存在待办任务标识,true为有 + boolean existTaskFlag = false; + int result = todoCenterMapper.todoCenterTaskCount(params); + if(result > 0){ + existTaskFlag = true; + } + //查询当前登录用户是否有项目法规任务 + meta.put("existTask",existTaskFlag); + } + //法规评估任务 + if(StringUtils.equals(permission.getId(), SysPermissionEnum.REGULATORY_ASSESSMENT_TASKS.getId())){ + flowTypeList.add("5"); + flowTypeList.add("6"); + params.put("flowTypeList",flowTypeList); + int result = todoCenterMapper.todoCenterTaskCount(params); + boolean existTaskFlag = false; + if(result > 0){ + existTaskFlag = true; + } + meta.put("existTask",existTaskFlag); + } + //项目参数任务 + if(StringUtils.equals(permission.getId(), SysPermissionEnum.PROJECT_PARAMETER_TASKS.getId())){ + boolean existTaskFlag = false; + meta.put("existTask",existTaskFlag); + } json.put("meta", meta); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/SysPermissionEnum.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/SysPermissionEnum.java new file mode 100644 index 000000000..951afcc20 --- /dev/null +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/SysPermissionEnum.java @@ -0,0 +1,35 @@ +package com.jero.modules.system.enums; + +/** + * 菜单权限枚举类 + * @Author: wzj + * @Date: 2022/10/26 16:14 + **/ +public enum SysPermissionEnum { + + PROJECT_REGULATION_TASKS("项目法规任务","1580735287309119489",""), + REGULATORY_ASSESSMENT_TASKS("法规评估任务","1580735611793059842",""), + PROJECT_PARAMETER_TASKS("项目参数任务","1580735965892980738",""); + + private String name; + private String id; + private String value; + + private SysPermissionEnum(String name,String id, String value) { + this.name = name; + this.id = id; + this.value = value; + } + + public String getName() { + return name; + } + + public String getValue() { + return value; + } + + public String getId() { + return id; + } +} diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/TodoCenterMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/TodoCenterMapper.java new file mode 100644 index 000000000..b6e0e59ca --- /dev/null +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/TodoCenterMapper.java @@ -0,0 +1,14 @@ +package com.jero.modules.system.mapper; + +import org.apache.ibatis.annotations.Param; + +import java.util.Map; + +/** + * 待办中心mapper层 + * @Author: wzj + * @Date: 2022/10/26 16:41 + **/ +public interface TodoCenterMapper { + int todoCenterTaskCount(@Param("params") Map params); +} diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml new file mode 100644 index 000000000..29d53a4d9 --- /dev/null +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml @@ -0,0 +1,21 @@ + + + + + + From 494f41bb4f70711430194705c79f2c8cdf873e3c Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 26 Oct 2022 17:09:33 +0800 Subject: [PATCH 138/298] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=BA=93=E6=8E=A8?= =?UTF-8?q?=E9=80=81--=E5=8F=91=E9=80=81=E9=A3=9E=E4=B9=A6=E6=B6=88?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/enums/MessageTypeEnum.java | 34 ++++++++++++------- .../BussDocumentLibraryEOServiceImpl.java | 19 +++++++---- .../impl/DummyInventoryBaseEOServiceImpl.java | 4 +-- 3 files changed, 36 insertions(+), 21 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/constant/enums/MessageTypeEnum.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/constant/enums/MessageTypeEnum.java index 3181758a0..f9d101325 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/constant/enums/MessageTypeEnum.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/constant/enums/MessageTypeEnum.java @@ -6,11 +6,11 @@ package com.jero.common.constant.enums; * @auth zhn */ public enum MessageTypeEnum { - READ("Subscription Notification","1"), - WARN("Early Warning","2"), - PUSH("Share / Forward","3"), - HOMO_TASK("Homo Parameter Task","4"), - TASK("Regulation Compliance Task", "5"), + READ("Subscription Notification","订阅通知","1"), + WARN("Regulation Early Warning","法规预警","2"), + PUSH("Share / Forward","转发推送","3"), + HOMO_TASK("Homo Parameter Task","","4"), + TASK("Regulation Compliance Task","", "5"), //REGULATION_LIST_CONFIRMATION_TASK("Regulation List Confirmation Task", "6"), // 清单确认任务 //REGULATION_LIST_CONFIRMATION_NOTIFICATION("Regulation List Confirmation Notification", "7"), // 清单确认通知 //REGULATION_TASK_CONFIRMATION_TASK("Regulation Task Confirmation", "8"), // 任务确认任务 @@ -21,19 +21,21 @@ public enum MessageTypeEnum { //DESIGN_COMPLIANCE_NOTIFICATION("Design Compliance Notification", "12"), // 设计符合性通知 //PRE_HOMO_NOTIFICATION("Pre-Homo Notification", "13"), // Pre-Homo通知 //VALIDATION_COMPLIANCE_NOTIFICATION("Validation Compliance Notification", "14"), // 验证符合性通知 - SYSTEMATIC_NOTIFICATION("Systematic Notification", "15"), // 系统通知 - LIST_CONFIRMATION("List Confirmation", "17"), // 清单确认 - TASK_CONFIRMATION("Task Confirmation", "18"), // 任务确认 - COMPLIANCE_CONFIRMATION("Compliance Confirmation", "19"), // 符合性确认 - COLLECTION_OF_LEGISLATIVE_COMMENTS("Collection of Legislative Comments", "20"), // 法规意见收集 - REGULATORY_AND_TECHNICAL_ASSESSMENT("Regulatory and technical assessment", "21"), // 法规技术评估 + SYSTEMATIC_NOTIFICATION("Systematic Notification","", "15"), // 系统通知 + LIST_CONFIRMATION("List Confirmation", "","17"), // 清单确认 + TASK_CONFIRMATION("Task Confirmation", "","18"), // 任务确认 + COMPLIANCE_CONFIRMATION("Compliance Confirmation","", "19"), // 符合性确认 + COLLECTION_OF_LEGISLATIVE_COMMENTS("Collection of Legislative Comments","", "20"), // 法规意见收集 + REGULATORY_AND_TECHNICAL_ASSESSMENT("Regulatory and technical assessment", "","21"), // 法规技术评估 ; String name; + String nameCn; String value; - private MessageTypeEnum(String name, String value) { + private MessageTypeEnum(String name,String nameCn, String value) { this.name = name; + this.nameCn = nameCn; this.value = value; } @@ -52,4 +54,12 @@ public enum MessageTypeEnum { public void setValue(String value) { this.value = value; } + + public String getNameCn() { + return nameCn; + } + + public void setNameCn(String nameCn) { + this.nameCn = nameCn; + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index f1effd533..4353c9894 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -2213,7 +2213,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl Date: Wed, 26 Oct 2022 17:19:32 +0800 Subject: [PATCH 139/298] =?UTF-8?q?=E9=97=AE=E9=A2=98=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93=E8=BD=AC=E5=8F=91=E6=8E=A8=E9=80=81--=E5=8F=91?= =?UTF-8?q?=E9=80=81=E9=A3=9E=E4=B9=A6=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProblemKnowledgeBaseEOServiceImpl.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java index 9ab7619ea..79bbdb54d 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java @@ -18,6 +18,7 @@ import com.jero.modules.document.enums.SearchEnum; import com.jero.modules.document.utils.ReadPdfUtil; import com.jero.modules.document.utils.ReadWordUtil; import com.jero.modules.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.message.websocket.WebSocket; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; @@ -886,7 +887,20 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl Date: Wed, 26 Oct 2022 17:41:28 +0800 Subject: [PATCH 140/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/views/system/PermissionList.vue | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/jero-web/src/views/system/PermissionList.vue b/jero-web/src/views/system/PermissionList.vue index d87517f89..a47e4a910 100644 --- a/jero-web/src/views/system/PermissionList.vue +++ b/jero-web/src/views/system/PermissionList.vue @@ -56,7 +56,7 @@
{{$t('DataRules')}} - + {{$t('delete')}} @@ -187,6 +187,16 @@ } }, methods: { + isTrue(record) { + if (record.id == '1580735287309119489' || + record.id == '1580735611793059842' || + record.id == '1580735965892980738' || + record.id == '1580734309507805185' || + record.id == '1580762600394469378') { + return false + } + return true + }, loadData() { this.dataSource = [] getPermissionList().then((res) => { From 737305c62615b3d44004a557346119d0002bf7b2 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Wed, 26 Oct 2022 17:44:04 +0800 Subject: [PATCH 141/298] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=8A=80=E6=9C=AF?= =?UTF-8?q?=E8=AF=84=E4=BC=B0=E6=B6=88=E6=81=AF(=E4=B8=8D=E5=8C=85?= =?UTF-8?q?=E5=90=AB=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ParamsCollectManifestEOServiceImpl.java | 4 +- ...LawsTechnologyEvaluationEOServiceImpl.java | 121 ++++++++++++++---- 2 files changed, 98 insertions(+), 27 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 8e105fc78..3a03f22b5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -2939,9 +2939,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl userIdList = new ArrayList<>(); - String msgContentEN = ""; - String msgTitle = ""; + //String msgContentEN = ""; + //String msgTitle = ""; String initiator = ""; + String evaluationTitle= jsonObject.getString("title"); + String endTime = jsonObject.getString("endTime"); //截止日期 + String title = MessageType2Enum.REGULATION_TECHNICAL_ASSESSMENT.getCn() + "/" + MessageType2Enum.REGULATION_TECHNICAL_ASSESSMENT.getEn(); + String cnContentUpper = ""; + String cnContentLower = ""; + String enContentUpper = ""; + String enContentLower = ""; if(StringUtils.equals(msgType, MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_START_MSG.getValue())){ userIdList.add(jsonObject.getString("evaluationId")); - String endTime = jsonObject.getString("endTime"); //截止日期 + //String endTime = jsonObject.getString("endTime"); //截止日期 //您收到GB 7258 的法规技术评估流程任务,请及时查看处理。 - msgContentEN = "You recieved the Regulatory and technical assessment of "+serialNumber+" . The due date is "+endTime+". Please check and address it in a timely manner."; - msgTitle = "You have a Regulatory and technical assessment task to complete"; + //msgContentEN = "You recieved the Regulatory and technical assessment of "+serialNumber+" . The due date is "+endTime+". Please check and address it in a timely manner."; + //msgTitle = "You have a Regulatory and technical assessment task to complete"; String currentUserId = jsonObject.getString("currentUserId"); //当前操作用户id SysUser currentUser = sysUserService.getBaseMapper().selectOne(new QueryWrapper().lambda().eq(SysUser::getId, currentUserId)); initiator = currentUser.getUsername(); + cnContentUpper = "您好,请及时查看处理此项任务,谢谢!"; + cnContentLower = "编号:" + serialNumber + + "\n标题: " + evaluationTitle + + "\n发起人: " + initiator + + "\n截止时间: " + endTime; + enContentUpper = "Hello! Please check and address the task in a timely manner. Thank you!"; + enContentLower = "Regulation No :" + serialNumber + + "\nTitle: " + evaluationTitle + + "\nInitiator: " + initiator + + "\nDue Date: " + endTime; }else if(StringUtils.equals(msgType,MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_ENALUATOR_SUBMIT_MSG.getValue())){ String currentUserId = jsonObject.getString("currentUserId"); //当前操作用户id SysUser currentUser = this.sysUserService.getBaseMapper().selectOne(new QueryWrapper().lambda().eq(SysUser::getId, currentUserId)); userIdList.add(jsonObject.getString("initiatorUserId")); //XXX(人员账号)已提交GB 7258 的法规意见收集流程,请及时查看审核。 - msgContentEN = currentUser.getUsername() + " has submitted the collection process of Regulatory and technical assessment of "+serialNumber+", Please check and address it in time."; - msgTitle = "You have a Regulatory and technical assessment task to complete"; + //msgContentEN = currentUser.getUsername() + " has submitted the collection process of Regulatory and technical assessment of "+serialNumber+", Please check and address it in time."; + //msgTitle = "You have a Regulatory and technical assessment task to complete"; initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + cnContentUpper = "您好,"+ currentUser.getUsername() +"已提交评估结果,请审核"; + cnContentLower = "编号:" + serialNumber + + "\n标题: " + evaluationTitle + + "\n发起人: " + initiator + + "\n截止时间: " + endTime; + enContentUpper = "Hello! "+ currentUser.getUsername() +" has submitted the assessment result. Please review it"; + enContentLower = "Regulation No :" + serialNumber + + "\nTitle: " + evaluationTitle + + "\nInitiator: " + initiator + + "\nDue Date: " + endTime; }else if(StringUtils.equals(msgType, MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_AUDIT_ACCEPTED_MSG.getValue())){ userIdList.add(jsonObject.getString("evaluationId")); //您提交的GB 7258 的法规技术评估流程已通过。 - msgContentEN = "The regulatory and technical assessment process for "+serialNumber+" you submitted has passed."; - msgTitle = "You have a Regulatory and technical assessment task completed"; + //msgContentEN = "The regulatory and technical assessment process for "+serialNumber+" you submitted has passed."; + //msgTitle = "You have a Regulatory and technical assessment task completed"; initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + cnContentUpper = "您好,您提交的评估结果已通过"; + cnContentLower = "编号:" + serialNumber + + "\n标题: " + evaluationTitle + + "\n发起人: " + initiator + + "\n截止时间: " + endTime; + enContentUpper = "Hello! The assessment result you submitted has passed"; + enContentLower = "Regulation No :" + serialNumber + + "\nTitle: " + evaluationTitle + + "\nInitiator: " + initiator + + "\nDue Date: " + endTime; }else if(StringUtils.equals(msgType, MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_AUDIT_REJECTED_MSG.getValue())){ userIdList.add(jsonObject.getString("evaluationId")); //您提交的GB 7258 的法规技术评估流程已被退回,请及时查看处理。 - msgContentEN = "The regulatory and technical assessment process of "+serialNumber+" you submitted has been returned, Please check and address it in time."; - msgTitle = "You have a Regulatory and technical assessment task to complete"; + //msgContentEN = "The regulatory and technical assessment process of "+serialNumber+" you submitted has been returned, Please check and address it in time."; + //msgTitle = "You have a Regulatory and technical assessment task to complete"; initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); - }else if(StringUtils.equals(msgType, MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_MSG.getValue())){ + cnContentUpper = "您好,您提交的评估结果被退回,请及时查看处理"; + cnContentLower = "编号:" + serialNumber + + "\n标题: " + evaluationTitle + + "\n发起人: " + initiator + + "\n截止时间: " + endTime; + enContentUpper = "\n" + + "Hello! The assessment result you submitted has been rejected. Please check and address it in a timely manner"; + enContentLower = "Regulation No :" + serialNumber + + "\nTitle: " + evaluationTitle + + "\nInitiator: " + initiator + + "\nDue Date: " + endTime; + }/*else if(StringUtils.equals(msgType, MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_MSG.getValue())){ userIdList = (List) jsonObject.get("userIdList"); //您GB 7258的法规技术评估流程将于明天结束,请及时查看处理 - msgContentEN = "The the Regulatory and technical assessment of "+serialNumber+" will expire tomorrow. Please check and address it in time."; - msgTitle = "You have a Regulatory and technical assessment task to complete"; + //msgContentEN = "The the Regulatory and technical assessment of "+serialNumber+" will expire tomorrow. Please check and address it in time."; + //msgTitle = "You have a Regulatory and technical assessment task to complete"; initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); - } + }*/ + List thirdIdList = new ArrayList<>(); + List sysUsers = sysUserService.listByIds(userIdList); + if (ObjectUtils.isNotEmpty(sysUsers)) { + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } //飞书跳转链接 String hrefFeishu = backUrl + JumpLinkEnum.TASK_AFFIRM_LINK.getLink(); + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(title); + feishuMsgVo.setCnContentUpper(cnContentUpper); + feishuMsgVo.setCnContentLower(cnContentLower); + feishuMsgVo.setEnContentUpper(enContentUpper); + feishuMsgVo.setEnContentLower(enContentLower); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); - SendMessageUtils.sendMessage(msgTitle,msgContentEN,userIdList,lawsTechnologyEvaluationId,sendMessageMap,null, MessageTypeEnum.REGULATORY_AND_TECHNICAL_ASSESSMENT,initiator); + //SendMessageUtils.sendMessage(msgTitle,msgContentEN,userIdList,lawsTechnologyEvaluationId,sendMessageMap,null, MessageTypeEnum.REGULATORY_AND_TECHNICAL_ASSESSMENT,initiator); } @Override From e61dadc20f4b83be38276a8c81513487f39680a1 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Wed, 26 Oct 2022 17:47:20 +0800 Subject: [PATCH 142/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/components/menu/index.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/jero-web/src/components/menu/index.js b/jero-web/src/components/menu/index.js index 6255cfdd4..f4cf57561 100644 --- a/jero-web/src/components/menu/index.js +++ b/jero-web/src/components/menu/index.js @@ -109,8 +109,10 @@ export default { props = { to: { path: menu.path } } } - const attrs = { href: menu.path, target: menu.meta.target , title:menu.meta.title } - + const attrs = { href: menu.path, target: menu.meta.target, title: menu.meta.title } + if (menu.meta && menu.meta.existTask) { + attrs.style = 'color:red' + } if (menu.children && menu.alwaysShow) { // 把有子菜单的 并且 父菜单是要隐藏子菜单的 // 都给子菜单增加一个 hidden 属性 @@ -162,7 +164,8 @@ export default { span slot = 'title' > { this.renderIcon(menu.meta.icon) } - < span title={menu.meta.title}> { menu.meta.title } < /span> + < span + title = { menu.meta.title } > { menu.meta.title } < /span> < /span> { itemArr From 0a84706ece8c11c18614c553e5f8096ca3ca72ea Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Wed, 26 Oct 2022 19:47:56 +0800 Subject: [PATCH 143/298] =?UTF-8?q?=E7=BC=96=E5=8F=B7=E6=A0=87=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...echnologyEvaluationFlowDetailEOMapper.java | 2 + ...TechnologyEvaluationFlowDetailEOMapper.xml | 9 +++- ...LawsTechnologyEvaluationEOServiceImpl.java | 47 +++++++++++-------- 3 files changed, 38 insertions(+), 20 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/LawsTechnologyEvaluationFlowDetailEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/LawsTechnologyEvaluationFlowDetailEOMapper.java index da6be153c..f2c103e1f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/LawsTechnologyEvaluationFlowDetailEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/LawsTechnologyEvaluationFlowDetailEOMapper.java @@ -14,4 +14,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface LawsTechnologyEvaluationFlowDetailEOMapper extends BaseMapper { + LawsTechnologyEvaluationFlowDetailEO queryByEvaluationId(@Param("lawsTechnologyEvaluationId") String lawsTechnologyEvaluationId); + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/xml/LawsTechnologyEvaluationFlowDetailEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/xml/LawsTechnologyEvaluationFlowDetailEOMapper.xml index 72cc2a9f6..c1fdf969b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/xml/LawsTechnologyEvaluationFlowDetailEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/mapper/xml/LawsTechnologyEvaluationFlowDetailEOMapper.xml @@ -14,4 +14,11 @@ - \ No newline at end of file + + + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java index df2810139..145ff7e00 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java @@ -20,6 +20,7 @@ import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum; import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO; import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO; import com.jero.modules.lawsTechnologyEvaluation.mapper.LawsTechnologyEvaluationEOMapper; +import com.jero.modules.lawsTechnologyEvaluation.mapper.LawsTechnologyEvaluationFlowDetailEOMapper; import com.jero.modules.lawsTechnologyEvaluation.service.*; import com.jero.modules.project.enums.JumpLinkEnum; import com.jero.modules.project.enums.MsgTypeEnum; @@ -55,6 +56,7 @@ import org.springframework.stereotype.Service; import java.io.File; import java.io.IOException; import java.io.OutputStream; +import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -109,6 +111,8 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl userIdList = new ArrayList<>(); //String msgContentEN = ""; //String msgTitle = ""; String initiator = ""; - String evaluationTitle= jsonObject.getString("title"); - String endTime = jsonObject.getString("endTime"); //截止日期 + String lawsTechnologyEvaluationId = jsonObject.getString("lawsTechnologyEvaluationId"); + LawsTechnologyEvaluationEO lawsTechnologyEvaluationEO = queryById(lawsTechnologyEvaluationId); + LawsTechnologyEvaluationFlowDetailEO flowDetailEO = flowDetailEOMapper.queryByEvaluationId(lawsTechnologyEvaluationId); + String number = flowDetailEO.getPrcNum(); + String name = flowDetailEO.getPrcName(); + String endTime = new SimpleDateFormat("yyyy-MM-dd").format(lawsTechnologyEvaluationEO.getEndTime()); + String title = MessageType2Enum.REGULATION_TECHNICAL_ASSESSMENT.getCn() + "/" + MessageType2Enum.REGULATION_TECHNICAL_ASSESSMENT.getEn(); String cnContentUpper = ""; String cnContentLower = ""; @@ -641,13 +650,13 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl Date: Thu, 27 Oct 2022 09:05:09 +0800 Subject: [PATCH 144/298] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/modules/feishu/vo/FeishuMsgVo.java | 9 +++++++++ .../modules/warn/service/LawsWarnService.java | 17 +++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/vo/FeishuMsgVo.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/vo/FeishuMsgVo.java index 63c74a9a6..3544db025 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/vo/FeishuMsgVo.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/feishu/vo/FeishuMsgVo.java @@ -28,5 +28,14 @@ public class FeishuMsgVo { private String assignee; //评估人 适用范围:责任人提交通知发起人(设计符合性,pre-homo符合性,验证符合性) + private String RegulationNo; //编号 + + private String documentTitle; //文档标题 + + private String NewTypeExecutionDate; //新车型实施日期 + + private String NewVehicleExecutionDate; //在产车实施日期 + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/service/LawsWarnService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/service/LawsWarnService.java index beab9d1eb..b33146b0c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/service/LawsWarnService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/warn/service/LawsWarnService.java @@ -13,6 +13,7 @@ import com.jero.modules.document.enums.FieldTypeEnum; import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper; import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl; import com.jero.modules.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.system.entity.SysAnnouncement; import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysDictItem; @@ -453,6 +454,22 @@ public class LawsWarnService { } }); String contentTemp = sysUser.getUsername() + " has pushed " + StringUtils.join(list, ",") + ", Please be reminded to check it out."; + + //XXX向您分享了法规预警信息。 + //XXX shared Regulation Early Warning infomation with you. + String contentInfoFei = sysUser.getUsername() +" shared Regulation Early Warning infomation with you.."; + String contentInfoFeiCn = sysUser.getUsername() +"向您分享了法规预警信息"; + FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + feishuMsgVo.setTitle(MessageTypeEnum.READ.getNameCn()+"/"+MessageTypeEnum.READ.getName()); + feishuMsgVo.setUrl(encode); + feishuMsgVo.setContentEn(contentInfoFei); + feishuMsgVo.setContent(contentInfoFeiCn); +// feishuMsgVo.setRegulationNo(); +// feishuMsgVo.setDocumentTitle(); +// feishuMsgVo.setNewTypeExecutionDate(); +// feishuMsgVo.setNewVehicleExecutionDate(); + +// iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentTemp, MessageTypeEnum.PUSH.getName(), encode); iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentTemp, MessageTypeEnum.PUSH.getName(), encode); } } catch (IOException e) { From 78f7d3e00898cc817d23aeb5e4ae436bf1d0f11f Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Thu, 27 Oct 2022 10:04:36 +0800 Subject: [PATCH 145/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/processCenter/components/feedbackInformation.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jero-web/src/views/processCenter/components/feedbackInformation.vue b/jero-web/src/views/processCenter/components/feedbackInformation.vue index 070169538..5b427777a 100644 --- a/jero-web/src/views/processCenter/components/feedbackInformation.vue +++ b/jero-web/src/views/processCenter/components/feedbackInformation.vue @@ -33,6 +33,7 @@ }]"> @@ -53,6 +54,7 @@ }]">
From 04e6792f0b3c83fde46a40f9236eaaf92bb6b2e5 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 27 Oct 2022 10:07:13 +0800 Subject: [PATCH 146/298] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=9C=88=E6=8A=A5?= =?UTF-8?q?=E5=A1=AB=E5=86=99=201.=20=E4=B8=BB=E9=A1=B5=E9=9D=A2=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E4=B8=BB=E8=A6=81=E5=86=85=E5=AE=B9=E8=A1=8C=202.=20?= =?UTF-8?q?=E6=96=B0=E8=BD=A6=E5=9E=8B=E5=AE=9E=E6=96=BD=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=EF=BC=8C=E5=9C=A8=E4=BA=A7=E8=BD=A6=E5=AE=9E=E6=96=BD=E6=97=A5?= =?UTF-8?q?=E6=9C=9F=EF=BC=8C=E6=94=B9=E4=B8=BA=E3=80=80=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=EF=BC=8C=E5=AE=9E=E6=96=BD=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=203.=20=E6=95=B0=E6=8D=AE=E5=AD=97=E5=85=B8=E5=AF=B9=E9=BD=90(?= =?UTF-8?q?=E4=B8=AD=E6=96=87)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/enums/DictCodeReportEnum.java | 1 + .../LawsMonthlyReportWriteEOServiceImpl.java | 6 ++--- .../jero/modules/report/util/WordUtil.java | 26 +++++++++---------- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/DictCodeReportEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/DictCodeReportEnum.java index 5e6d09401..edb196464 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/DictCodeReportEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/DictCodeReportEnum.java @@ -10,6 +10,7 @@ public enum DictCodeReportEnum { APPLYCAR("适用车型","car_type"), APPLYSCOPE("适用范围","fa3_gui1_yue4_bao4_-_shi4_yong4_fan4_wei2"), STATE("状态","state"), + STATE_REPORT("状态","fa3_gui1_yue4_bao4_tian2_xie3_-_-_zhuang4_tai4"), USEMETHOD("用法","yong4_fa3"); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java index d2abd92d2..8da692939 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -891,9 +891,9 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl Date: Thu, 27 Oct 2022 10:14:41 +0800 Subject: [PATCH 147/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B3=95=E8=A7=84?= =?UTF-8?q?=E6=9C=88=E6=8A=A5=E7=9A=84=E5=AD=97=E6=AE=B5=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/modules/defaultTemplate.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/jero-web/src/views/businessSupport/regulationReport/components/modules/defaultTemplate.vue b/jero-web/src/views/businessSupport/regulationReport/components/modules/defaultTemplate.vue index 1bca8ea51..e9fb33a95 100644 --- a/jero-web/src/views/businessSupport/regulationReport/components/modules/defaultTemplate.vue +++ b/jero-web/src/views/businessSupport/regulationReport/components/modules/defaultTemplate.vue @@ -164,7 +164,7 @@
{{$t('ImplementationDate')}} + :title="$t('releaseDate')">{{$t('releaseDate')}}
@@ -179,7 +179,7 @@
{{$t('vehicleInProductionDate')}} + :title="$t('implemenDate')">{{$t('implemenDate')}}
@@ -340,14 +340,14 @@ productionCarImplementTime: [ { max: 500, - message: this.$t('vehicleInProductionDate') + this.$t('cannotExceed') + 500 + this.$t('Characters'), + message: this.$t('implemenDate') + this.$t('cannotExceed') + 500 + this.$t('Characters'), trigger: 'blur' } ], newCarImplementTime: [ { max: 500, - message: this.$t('ImplementationDate') + this.$t('cannotExceed') + 500 + this.$t('Characters'), + message: this.$t('releaseDate') + this.$t('cannotExceed') + 500 + this.$t('Characters'), trigger: 'blur' } ], From 835c005f6c59bf6fdec29f1f7ee95e6811b3a2c0 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Thu, 27 Oct 2022 10:30:23 +0800 Subject: [PATCH 148/298] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=8A=80=E6=9C=AF?= =?UTF-8?q?=E8=AF=84=E4=BC=B0=E6=A8=A1=E5=9D=97=E6=B6=88=E6=81=AF=E5=AE=8C?= =?UTF-8?q?=E6=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LawsTechnologyEvaluationRemindJob.java | 65 +++++++++++++++++-- ...LawsTechnologyEvaluationEOServiceImpl.java | 31 +++++++-- .../modules/project/enums/MsgTypeEnum.java | 2 + 3 files changed, 88 insertions(+), 10 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationRemindJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationRemindJob.java index 66cc0531d..e2cdfab4b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationRemindJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationRemindJob.java @@ -2,6 +2,7 @@ package com.jero.modules.lawsTechnologyEvaluation.job; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.exception.JeroBootException; import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum; import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO; import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO; @@ -52,14 +53,16 @@ public class LawsTechnologyEvaluationRemindJob implements Job { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //获取后一天的时间 - Calendar calendar=new GregorianCalendar(); - calendar.setTime(new Date()); - calendar.add(Calendar.DATE,1); - Date nextDay = calendar.getTime(); + //Calendar calendar=new GregorianCalendar(); + //calendar.setTime(new Date()); + //calendar.add(Calendar.DATE,1); + //Date nextDay = calendar.getTime(); - String nextDayStr = sdf.format(nextDay); + //String nextDayStr = sdf.format(nextDay); + + String now = sdf.format(new Date()); LawsTechnologyEvaluationEOList.forEach(lawsTechnologyEvaluationEO -> { - if(StringUtils.equals(nextDayStr,sdf.format(lawsTechnologyEvaluationEO.getEndTime()))){ + /*if(StringUtils.equals(nextDayStr,sdf.format(lawsTechnologyEvaluationEO.getEndTime()))){ String actiProcInstIds = flowDetailList.stream().filter(flowDetail -> { boolean flag = false; @@ -80,6 +83,56 @@ public class LawsTechnologyEvaluationRemindJob implements Job { this.lawsTechnologyEvaluationEOService.workFlowSendMsg(sendJsonObject); } } + }*/ + String endTime = sdf.format(lawsTechnologyEvaluationEO.getEndTime()); + int days = 0; + try { + days = (int) (sdf.parse(endTime).getTime() - sdf.parse(now).getTime()) / (24 * 60 * 60 * 1000); + } catch (Exception e) { + e.printStackTrace(); + throw new JeroBootException("日期转换错误"); + } + + if (days == 3) { + //到期前3天 + String actiProcInstIds = flowDetailList.stream().filter(flowDetail -> { + boolean flag = false; + if (StringUtils.equals(lawsTechnologyEvaluationEO.getId(), flowDetail.getLawsTechnologyEvaluationId())) { + flag = true; + } + return flag; + }).map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(",")); + + if(StringUtils.isNotEmpty(actiProcInstIds)){ + List userIdList = this.workFlowFeignClient.getTaskAssigneeListByPrcIds(actiProcInstIds); + if(CollectionUtils.isNotEmpty(userIdList)){ + JSONObject sendJsonObject = new JSONObject(); + sendJsonObject.put("msgType", MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_THREE_DAYS_BEFORE_MSG.getValue()); + sendJsonObject.put("lawsTechnologyEvaluationId",lawsTechnologyEvaluationEO.getId()); + sendJsonObject.put("userIdList",userIdList); + this.lawsTechnologyEvaluationEOService.workFlowSendMsg(sendJsonObject); + } + } + } else if (endTime.equals(now)){ + //当天 + String actiProcInstIds = flowDetailList.stream().filter(flowDetail -> { + boolean flag = false; + if (StringUtils.equals(lawsTechnologyEvaluationEO.getId(), flowDetail.getLawsTechnologyEvaluationId())) { + flag = true; + } + return flag; + }).map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(",")); + + if(StringUtils.isNotEmpty(actiProcInstIds)){ + List userIdList = this.workFlowFeignClient.getTaskAssigneeListByPrcIds(actiProcInstIds); + if(CollectionUtils.isNotEmpty(userIdList)){ + JSONObject sendJsonObject = new JSONObject(); + sendJsonObject.put("msgType", MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_TODAY_MSG.getValue()); + sendJsonObject.put("lawsTechnologyEvaluationId",lawsTechnologyEvaluationEO.getId()); + sendJsonObject.put("userIdList",userIdList); + this.lawsTechnologyEvaluationEOService.workFlowSendMsg(sendJsonObject); + } + } } }); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java index 145ff7e00..2b0022548 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java @@ -708,20 +708,43 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl) jsonObject.get("userIdList"); + + } else if (StringUtils.equals(msgType, MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_TODAY_MSG.getValue())) { + initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + cnContentUpper = "您好,该任务将于今天到期,请尽快查看处理,谢谢!"; + cnContentLower = "编号:" + number + + "\n标题: " + name + + "\n发起人: " + initiator; + enContentUpper = "Hello! This task will expire today. Please check and address the task ASAP. Thank you!"; + enContentLower = "Regulation No :" + number + + "\nTitle: " + name + + "\nInitiator: " + initiator; + userIdList = (List) jsonObject.get("userIdList"); + + } /*else if (StringUtils.equals(msgType, MsgTypeEnum.LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_MSG.getValue())) { userIdList = (List) jsonObject.get("userIdList"); //您GB 7258的法规技术评估流程将于明天结束,请及时查看处理 //msgContentEN = "The the Regulatory and technical assessment of "+serialNumber+" will expire tomorrow. Please check and address it in time."; //msgTitle = "You have a Regulatory and technical assessment task to complete"; initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); - }*/ + } */ List thirdIdList = new ArrayList<>(); List sysUsers = sysUserService.listByIds(userIdList); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/MsgTypeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/MsgTypeEnum.java index c78462df3..da4cfd16b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/MsgTypeEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/MsgTypeEnum.java @@ -40,6 +40,8 @@ public enum MsgTypeEnum { LAWS_TECHNOLOGY_EVALUATION_AUDIT_ACCEPTED_MSG("法规技术评估,发起人审核通过消息","lawsTechnologyEvaluationAuditAcceptedMsg"), LAWS_TECHNOLOGY_EVALUATION_AUDIT_REJECTED_MSG("法规技术评估,发起人审核拒绝消息","lawsTechnologyEvaluationAuditRejectedMsg"), LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_MSG("法规技术评估到期前一天消息","lawsTechnologyEvaluationExpireRemindMsg"), + LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_THREE_DAYS_BEFORE_MSG("法规技术评估到期前三天消息","lawsTechnologyEvaluationExpireRemindThreeDaysBeforeMsg"), + LAWS_TECHNOLOGY_EVALUATION_EXPIRE_REMIND_TODAY_MSG("法规技术评估到期当天消息","lawsTechnologyEvaluationExpireRemindTodayMsg"), ; String name; From ddc97405ccc05f56e8b665fcc89f28ad138fae9a Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 27 Oct 2022 10:57:00 +0800 Subject: [PATCH 149/298] =?UTF-8?q?=E9=A1=B5=E7=9C=89=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=9C=9F=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/LawsMonthlyReportWriteEOServiceImpl.java | 2 +- .../java/com/jero/modules/report/util/WordUtil.java | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java index 8da692939..a2ac6c7c5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -1257,7 +1257,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl Date: Thu, 27 Oct 2022 11:01:20 +0800 Subject: [PATCH 150/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../processCenter/components/evaluatorFeedbackList.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jero-web/src/views/processCenter/components/evaluatorFeedbackList.vue b/jero-web/src/views/processCenter/components/evaluatorFeedbackList.vue index e3cdc3930..f611b6cbc 100644 --- a/jero-web/src/views/processCenter/components/evaluatorFeedbackList.vue +++ b/jero-web/src/views/processCenter/components/evaluatorFeedbackList.vue @@ -373,7 +373,11 @@ antTableHeader[0].style = 'margin-bottom: -8px;padding-bottom: 0px;min-width: 8px;overflow: hidden' }) } - if (this.$route.query.taskDefinitionKey != 'pgrqr') { + let disabled = false + if (this.$route.query.isDisabled) { + disabled = JSON.parse(this.$route.query.isDisabled) + } + if (this.$route.query.taskDefinitionKey != 'pgrqr' && !disabled) { this.dataSource.forEach(res => { res.sponsorFeedback = '' }) From 54a63160b54080a5b83d7cf8fbe26479f4b59ac6 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Thu, 27 Oct 2022 11:09:33 +0800 Subject: [PATCH 151/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../regulationReport/components/RegulationMonthlyFill.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jero-web/src/views/businessSupport/regulationReport/components/RegulationMonthlyFill.vue b/jero-web/src/views/businessSupport/regulationReport/components/RegulationMonthlyFill.vue index 2be197f75..7ea6a4afa 100644 --- a/jero-web/src/views/businessSupport/regulationReport/components/RegulationMonthlyFill.vue +++ b/jero-web/src/views/businessSupport/regulationReport/components/RegulationMonthlyFill.vue @@ -92,14 +92,14 @@ @click="viewClick(record)"> {{$t('view')}} + {{$t('edit')}} + {{$t('deleteLib')}} From 6580ac32acc400a5589c4313496853388547eee9 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 27 Oct 2022 11:10:03 +0800 Subject: [PATCH 152/298] =?UTF-8?q?=E6=9C=88=E6=8A=A5=E5=A1=AB=E5=86=99?= =?UTF-8?q?=E4=B8=8D=E8=AE=BE=E7=BD=AE=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LawsMonthlyReportWriteEOServiceImpl.java | 139 ++---------------- 1 file changed, 14 insertions(+), 125 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java index a2ac6c7c5..2e6fb60b0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -296,14 +296,14 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl queryWrapper = QueryGenerator.initQueryWrapper(lawsMonthlyReportWriteEOTemp, req.getParameterMap()); queryWrapper.orderByDesc("memories_chapter_one","memories_chapter","create_time"); + //新需求月报填写不设置去权限, 所有的人都可以查看-------------------------------------------------------------------------------------- //管理员查看全部数据,其余人只能查看自己的数据 - LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); - List rolesList = sysBaseApi.getRolesByUsername(currentUser.getUsername()); - if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){ - queryWrapper.in("create_by",currentUser.getUsername()); - } -// Page page = new Page(pageNo, pageSize); -// Page pageInfo = this.page(page, queryWrapper); +// LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// List rolesList = sysBaseApi.getRolesByUsername(currentUser.getUsername()); +// if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){ +// queryWrapper.in("create_by",currentUser.getUsername()); +// } + //------------------------------------------------------------------------------------- //所有的月报 @@ -439,119 +439,6 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp, -// Integer pageNo, -// Integer pageSize, -// HttpServletRequest req) { -// QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(lawsMonthlyReportWriteEOTemp, req.getParameterMap()); -// queryWrapper.orderByDesc("memories_chapter_one","memories_chapter","create_time"); -// //管理员查看全部数据,其余人只能查看自己的数据 -// LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); -// List rolesList = sysBaseApi.getRolesByUsername(currentUser.getUsername()); -// if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){ -// queryWrapper.in("create_by",currentUser.getUsername()); -// } -// Page page = new Page(pageNo, pageSize); -// Page pageInfo = this.page(page, queryWrapper); -// //法规月报id -// List lawsMonthlyReportIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList()); -// List userIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList()); -// List userIds = new ArrayList<>(); -// for (String s : userIdList) { -// if(StringUtils.isNotBlank(s)){ -// if(s.contains(",")){ -// userIds.addAll(Arrays.asList(s.split(","))); -// }else{ -// userIds.add(s); -// } -// } -// } -// List jsonObjects = sysBaseApi.queryUsersByIds(StringUtils.join(userIds, ",")); -// List userList = new ArrayList<>(); -// for (JSONObject jsonObject : jsonObjects) { -// LoginUser loginUser = JSONObject.parseObject(jsonObject.toJSONString(), LoginUser.class); -// userList.add(loginUser); -// } -// -// //获取章节目录 -// List lawsMonthlyReportTitleTemplateEOList = lawsMonthlyReportTitleTemplateEOService.list(); -// -// //新征求意见清单模板 -// List newOpinionTemplateEOList = new ArrayList<>(); -// if(lawsMonthlyReportIdList.size() != 0){ -// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); -// wrapper.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList); -// newOpinionTemplateEOList = iNewOpinionTemplateEOService.list(wrapper); -// } -// -// -// //新发布标准清单模板 -// List newStandardTemplateEOList = new ArrayList<>(); -// if(lawsMonthlyReportIdList.size() != 0){ -// LambdaQueryWrapper qrapperTemp = new LambdaQueryWrapper<>(); -// qrapperTemp.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList); -// newStandardTemplateEOList = iNewStandardTemplateEOService.list(qrapperTemp); -// } -// -// -// for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : pageInfo.getRecords()) { -// //处理法规联系人 -// lawsContact(userList, lawsMonthlyReportWriteEO,lawsMonthlyReportWriteEOTemp.getCut()); -// //处理章节目录 -// if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapter())){ -// List lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream() -// .filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapter().equals(e.getId())).collect(Collectors.toList()); -// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ -// lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn()); -// }else if(CutEnum.EN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ -// lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn()); -// } -// } -// //处理章节目录对应的一级目录 -// if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapterOne())){ -// List lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream() -// .filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapterOne().equals(e.getId())).collect(Collectors.toList()); -// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ -// lawsMonthlyReportWriteEO.setMemoriesChapterOneName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn()); -// }else if(CutEnum.EN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ -// lawsMonthlyReportWriteEO.setMemoriesChapterOneName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn()); -// } -// } -// -// if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ -// //新征求意见清单模板 -// List collect = newOpinionTemplateEOList.stream() -// .filter(e -> lawsMonthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList()); -// lawsMonthlyReportWriteEO.setNewOpinionTemplateEOList(collect); -// -// }else if(ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ -// //新发布标准清单模板 -// List collect = newStandardTemplateEOList.stream() -// .filter(e -> lawsMonthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList()); -// lawsMonthlyReportWriteEO.setNewStandardTemplateEOList(collect); -// } -// -// //处理导出状态 -// String exportState = lawsMonthlyReportWriteEO.getExportState(); -// if(StringUtils.isNotBlank(exportState)){ -// if(ExportStateEnum.NOT_EXPORT.getValue().equals(exportState)){ -// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut())){ -// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getName()); -// }else{ -// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getNameEn()); -// } -// }else if(ExportStateEnum.HAS_BEEN_EXPORT.getValue().equals(exportState)){ -// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut())){ -// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getName()); -// }else{ -// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getNameEn()); -// } -// } -// } -// } -// return pageInfo; -// } private void lawsContact(List userList, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,String cut) { String lawsContact = lawsMonthlyReportWriteEO.getLawsContact(); @@ -588,12 +475,14 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl rolesList = sysBaseApi.getRolesByUsername(currentUser.getUsername()); - if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){ - wrapper.in(LawsMonthlyReportWriteEO::getCreateBy,currentUser.getUsername()); - } +// LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// List rolesList = sysBaseApi.getRolesByUsername(currentUser.getUsername()); +// if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){ +// wrapper.in(LawsMonthlyReportWriteEO::getCreateBy,currentUser.getUsername()); +// } + //---------------------------------------------------------------------------------------- List lawsMonthlyReportWriteEOS = this.list(wrapper); if(lawsMonthlyReportWriteEOS.size() == 0){ From 55f74e8b6485cf64f3fff84dffe658e1a9bcd0d1 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Thu, 27 Oct 2022 11:11:16 +0800 Subject: [PATCH 153/298] =?UTF-8?q?1.=E6=94=B6=E9=9B=86=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E6=9F=B1=E7=8A=B6=E5=9B=BE=EF=BC=8C=E6=94=B6=E9=9B=86=E6=B8=85?= =?UTF-8?q?=E5=8D=95=E4=B8=8B=E6=8B=89=E6=A1=86=E5=AE=BD=E5=BA=A6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=202.=E5=8F=82=E6=95=B0=E9=A1=B9=E6=94=B6=E9=9B=86?= =?UTF-8?q?=E6=B8=85=E5=8D=95=E5=A1=AB=E5=86=99=E4=BA=BA=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=AF=BC=E5=87=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/ImportFileOnlyList/index.vue | 6 +++ .../components/ParameterCollectionEchart.vue | 2 +- .../ParameterItemCollectionList.vue | 47 +++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/jero-web/src/components/ImportFileOnlyList/index.vue b/jero-web/src/components/ImportFileOnlyList/index.vue index 7caf6dabd..a0e0b4709 100644 --- a/jero-web/src/components/ImportFileOnlyList/index.vue +++ b/jero-web/src/components/ImportFileOnlyList/index.vue @@ -54,6 +54,10 @@ export default { type: String, default: '' }, + paramsManifestId: { + type: String, + default: '' + }, projectLibraryId: { type: String, default: '' @@ -76,6 +80,8 @@ export default { return window._CONFIG['domianURL'] + '/' + this.url.importZipUrl + '?cut=' + this.cut + '¶msTemplateId=' + this.paramsTemplateId } else if (this.projectLibraryId) { return window._CONFIG['domianURL'] + '/' + this.url.importZipUrl + '?cut=' + this.cut + '&projectLibraryId=' + this.projectLibraryId + } else if (this.paramsManifestId) { + return window._CONFIG['domianURL'] + '/' + this.url.importZipUrl + '?cut=' + this.cut + '¶msManifestId=' + this.paramsManifestId } return window._CONFIG['domianURL'] + '/' + this.url.importZipUrl + '?cut=' + this.cut } diff --git a/jero-web/src/views/projectManagement/components/ParameterCollectionEchart.vue b/jero-web/src/views/projectManagement/components/ParameterCollectionEchart.vue index 13c144e6e..89a4db7c1 100644 --- a/jero-web/src/views/projectManagement/components/ParameterCollectionEchart.vue +++ b/jero-web/src/views/projectManagement/components/ParameterCollectionEchart.vue @@ -5,7 +5,7 @@ - + {{ d.label }} diff --git a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue index 1fb2a099e..5d05a0cb0 100644 --- a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue +++ b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue @@ -210,6 +210,16 @@ {{$t('sendBack')}}
+ +
+ +
+ +
+ + {{$t('export')}} +
@@ -453,6 +463,7 @@ import AdjustareaSofrespon from '@/components/AdjustareaSofrespon/index' import ReferenceParameter from '@/components/ReferenceParameter/index' import AssignedBy from '@/components/AssignedBy/index' + import ImportFileOnlyList from '@/components/ImportFileOnlyList/index' import axios from 'axios' import { ACCESS_TOKEN } from '@/store/mutation-types' import Vue from 'vue' @@ -465,6 +476,7 @@ ParameterLibraryAdd, AssignedBy, AdjustareaSofrespon, + ImportFileOnlyList, TaskCutOffTime, ReferenceParameter, SynchronousSubmissionLibrary, @@ -603,6 +615,7 @@ getLoginUserType: 'params/collectManifest/getLoginUserType', // 获取当前登陆人 getquerySdtList: 'params/collectManifest/querySdtList', // 获取工程接口人的列表 updateSdt: 'params/collectManifest/updateSdt', // 提交工程接口人 + importZipUrl: 'params/collectManifest/importDre', // 导入 deleteBatch: 'params/collectManifest/deleteBatch' }, loading: false, @@ -619,6 +632,7 @@ rowId: '', version: 0, confirmLoading: false, + importsVisible: false, itemId: '', selectedRowKeysValue: [], // table列表所选得数据 token: Vue.ls.get(ACCESS_TOKEN), @@ -873,6 +887,39 @@ this.textLoading = false }) }, + //填写人导出 + handleExportDre(){ + console.log(this.selectedRowKeys) + this.$message.success(this.$t('Intheexport')) + let long = localStorage.getItem('language') + this.cut = '' + if (long && long === 'zh-cn') { + this.cut = 'cn' + } else if (long && long === 'en-us') { + this.cut = 'en' + } + let query = { + paramsManifestId: this.paramsManifest.id, + cut: this.cut, + ids: this.selectedRowKeys.join(','), + exportName:this.$route.query.projectName + '(' + this.$route.query.title + ')' + } + getAction('/params/collectManifest/exportDre', query).then((res) => { + if (res && !res.success) { + this.$message.error(res.message) + } + this.textLoading = false + }) + }, + getList(){ + this.$refs.CollectionTabel.getTableList(this.queryParamQuery) + }, + iVisible(val,num) { + this.importsVisible = val + if (num == 1){ + eventBUs.$emit('searchGetData') + } + }, // 高级搜索 handleSuperQuery(params, matchType) { let sqp = {} From b2100c360f9169d0f4442ee8f19d072574849ca3 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Thu, 27 Oct 2022 11:26:59 +0800 Subject: [PATCH 154/298] =?UTF-8?q?61842-=E5=BE=85=E5=8A=9E=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E5=B7=B2=E5=8A=9E/=E5=B7=B2=E5=8F=91=20=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=E6=8C=89=E7=85=A7=E6=88=AA=E6=AD=A2=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=80=92=E5=BA=8F=E6=8E=92=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todoCenter/mapper/xml/ProcessInfoEOMapper.xml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml index 72a3b386a..5cd218e78 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml @@ -92,7 +92,7 @@ left join project_laws_inventory pli on pi.project_laws_inventory_id = pli.id LEFT JOIN sys_user createBy on createBy.id = pi.create_by - order by pi.end_time asc + order by pi.end_time desc From 60e585043f72ab20eb72af801594446634c00caa Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Thu, 27 Oct 2022 11:35:45 +0800 Subject: [PATCH 155/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/evaluatorFeedback.vue | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/jero-web/src/views/processCenter/components/evaluatorFeedback.vue b/jero-web/src/views/processCenter/components/evaluatorFeedback.vue index 66b4c56aa..85420a896 100644 --- a/jero-web/src/views/processCenter/components/evaluatorFeedback.vue +++ b/jero-web/src/views/processCenter/components/evaluatorFeedback.vue @@ -15,7 +15,15 @@ {{$t('complianceResults')}}
- {{formInline.complianceResult == 'Compliance'?$t('accord'):$t('nonConformity')}} + + {{$t('accord')}} + + + {{$t('nonConformity')}} + + + -- +
{{$t('relevantSections')}}
- {{item.relatedSection}} + {{item.relatedSection ?item.relatedSection : '--'}}
{{$t('problemDescription')}}
- {{item.issueOrSuggest}} + {{item.issueOrSuggest ? item.issueOrSuggest :'--'}}
{{$t('relevantSections')}}
- {{item.relatedSection}} + {{item.relatedSection?item.relatedSection : '--'}}
@@ -132,7 +140,7 @@ :title="$t('problemDescription')">{{$t('problemDescription')}}
- {{item.issueOrSuggest}} + {{item.issueOrSuggest ? item.issueOrSuggest:'--'}}
From e7258052d116a56fe7318330d278ca29e30c35af Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Thu, 27 Oct 2022 11:55:48 +0800 Subject: [PATCH 156/298] =?UTF-8?q?=E6=94=B6=E9=9B=86=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E6=9F=B1=E7=8A=B6=E5=9B=BE=EF=BC=8C=E6=94=B6=E9=9B=86=E6=B8=85?= =?UTF-8?q?=E5=8D=95=E4=B8=8B=E6=8B=89=E6=A1=86=E5=AE=BD=E5=BA=A6=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/ParameterCollectionEchart.vue | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/jero-web/src/views/projectManagement/components/ParameterCollectionEchart.vue b/jero-web/src/views/projectManagement/components/ParameterCollectionEchart.vue index 89a4db7c1..d26e925f3 100644 --- a/jero-web/src/views/projectManagement/components/ParameterCollectionEchart.vue +++ b/jero-web/src/views/projectManagement/components/ParameterCollectionEchart.vue @@ -5,8 +5,12 @@ - - {{ d.label }} + + + + {{ d.label }} + + @@ -366,6 +370,12 @@ box-sizing: border-box; } } + .box-input { + display: inline-block; + width: calc(70% - 100px); + height: 38px; + margin-top: 2px; + } .box-content-right { width: calc(50% - 12px); From 7dc56839b4d018fe101d17de7ee8c7878cc434d7 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Thu, 27 Oct 2022 14:09:46 +0800 Subject: [PATCH 157/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../processCenter/processForm/regulatoryProcess/index.vue | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/jero-web/src/views/processCenter/processForm/regulatoryProcess/index.vue b/jero-web/src/views/processCenter/processForm/regulatoryProcess/index.vue index dfb95253c..181c1f247 100644 --- a/jero-web/src/views/processCenter/processForm/regulatoryProcess/index.vue +++ b/jero-web/src/views/processCenter/processForm/regulatoryProcess/index.vue @@ -124,10 +124,16 @@ }) }, lawsOpinionAssessmentResult() { + let createBy = '' + if (this.$route.query.taskDefinitionKey == 'gcsfq' && this.disabled){ + createBy = '' + }else{ + createBy = this.userInfo().username + } getAction(this.url.list, { lawsOpinionGatherId: this.queryProject.id, actiProcInstId: this.$route.query.prcId, - createBy: this.userInfo().username + createBy: createBy }).then((res) => { if (res.success) { this.feedbackDataList = res.result || [] From 99364d52f34d0e4c74e59fdd374e4fb186fdff77 Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Thu, 27 Oct 2022 14:11:33 +0800 Subject: [PATCH 158/298] =?UTF-8?q?=E6=B3=95=E8=A7=84=E8=AF=84=E4=BC=B0?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=A4=84=E7=90=86=E6=A0=87=E5=87=86=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=B1=95=E7=A4=BA=E3=80=82=E6=8B=BC=E6=8E=A5=E4=B8=AD?= =?UTF-8?q?=E8=8B=B1=E6=96=87=E5=B1=95=E7=A4=BA=20=E4=B8=8E=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=A4=84=E7=90=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/ProcessInfoEOMapper.xml | 147 ++++++++++-------- .../modules/todoCenter/vo/ProcessInfoVO.java | 7 +- 2 files changed, 85 insertions(+), 69 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml index 5cd218e78..57501c8f3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml @@ -73,6 +73,7 @@ pyni.year_name, pli.serial_number, pli.title, + plb.title_en, pi.flow_type, createBy.username as "create_by", pi.end_time, @@ -106,6 +107,7 @@ pyni.year_name, pli.serial_number, pli.title, + plb.title_en, pi.flow_type, createBy.username AS "create_by", pi.end_time, @@ -150,6 +152,7 @@ pyni.year_name, '--' as serial_number, '' as title, + '' as title_en, pi.flow_type, createBy.username AS "create_by", (select pid.end_time from process_info_detail pid where pid.process_info_id = pi.id and pid.STATUS = 'NotDone' order by pid.end_time asc limit 1) as end_time, @@ -206,85 +209,93 @@ order by temp.end_time asc diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ProcessInfoVO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ProcessInfoVO.java index 75577e278..94a903a45 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ProcessInfoVO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/vo/ProcessInfoVO.java @@ -80,8 +80,10 @@ public class ProcessInfoVO implements Serializable { /**标准编号*/ private String serialNumber; - /**标准标题*/ + /**标准标题-中文*/ private String title; + /**标准标题-英文*/ + private String titleEn; /**项目名称*/ private String projectName; /**年份*/ @@ -102,4 +104,7 @@ public class ProcessInfoVO implements Serializable { private String personChargeFeedback; /**截止日期 过期标识:true为已经过期 false为没有过期**/ private boolean endTimePastDueFlag = false; + + /**标准信息**/ + private String standardInfo; } From ed5354b8a6cdd177f213767d314a90b0c91b5587 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Thu, 27 Oct 2022 14:15:39 +0800 Subject: [PATCH 159/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectRegulationTasks/components/SentList.vue | 6 +++--- .../projectRegulationTasks/components/dealtWith.vue | 11 ++++++----- .../projectRegulationTasks/components/doneList.vue | 6 +++--- .../views/toDoCenter/projectRegulationTasks/index.vue | 2 +- .../regulatoryAssessmentTasks/components/SentList.vue | 6 +++--- .../components/dealtWith.vue | 6 +++--- .../regulatoryAssessmentTasks/components/doneList.vue | 6 +++--- .../toDoCenter/regulatoryAssessmentTasks/index.vue | 2 +- 8 files changed, 23 insertions(+), 22 deletions(-) diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue index 2e445401c..a282c6bd0 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue @@ -21,8 +21,8 @@ {{text}} - - {{text+'、'+record.title}} + + {{text}} -- @@ -63,7 +63,7 @@ { title: this.$t('standardInformation'), align: 'center', - dataIndex: 'serialNumber', + dataIndex: 'standardInfo', scopedSlots: { customRender: 'standardInformation' }, ellipsis: true, width: 170 diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue index 7e7b36dc4..118d34cae 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue @@ -22,8 +22,8 @@ {{text}} - - {{text+'、'+record.title}} + + {{text}} -- @@ -64,7 +64,7 @@ { title: this.$t('standardInformation'), align: 'center', - dataIndex: 'serialNumber', + dataIndex: 'standardInfo', ellipsis: true, scopedSlots: { customRender: 'standardInformation' }, width: 170 @@ -331,7 +331,8 @@ text-align: right; margin-top: 20px; } - .activeRed{ - color: red; + + .activeRed { + color: red; } \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue index 559e9f016..ec3a33458 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue @@ -23,8 +23,8 @@ - - {{text+'、'+record.title}} + + {{text}} -- @@ -69,7 +69,7 @@ { title: this.$t('standardInformation'), align: 'center', - dataIndex: 'serialNumber', + dataIndex: 'standardInfo', ellipsis: true, scopedSlots: { customRender: 'standardInformation' }, width: 170 diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue index a97b542c2..bd405bd48 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue @@ -18,7 +18,7 @@ {{$t('standardInformation')}}
+ v-model="queryParam.standardInfo">
diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue index fb13eae0c..03459bc80 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/SentList.vue @@ -18,8 +18,8 @@ @click="viewClick(record)">{{$t('view')}} - - {{text+'、'+record.title}} + + {{text}} @@ -54,7 +54,7 @@ { title: this.$t('standardInformation'), align: 'center', - dataIndex: 'serialNumber', + dataIndex: 'standardInfo', scopedSlots: { customRender: 'standardInformation' }, ellipsis: true, width: 170 diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue index eba3c634c..f37f9d6b6 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/dealtWith.vue @@ -19,8 +19,8 @@ {{text}} - - {{text+'、'+record.title}} + + {{text}} @@ -52,7 +52,7 @@ { title: this.$t('standardInformation'), align: 'center', - dataIndex: 'serialNumber', + dataIndex: 'standardInfo', scopedSlots: { customRender: 'standardInformation' }, ellipsis: true, width: 170 diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue index efc218fae..febfb2bf7 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/components/doneList.vue @@ -18,8 +18,8 @@ @click="viewClick(record)">{{$t('view')}} - - {{text+'、'+record.title}} + + {{text}} @@ -51,7 +51,7 @@ { title: this.$t('standardInformation'), align: 'center', - dataIndex: 'serialNumber', + dataIndex: 'standardInfo', ellipsis: true, scopedSlots: { customRender: 'standardInformation' }, width: 170 diff --git a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/index.vue b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/index.vue index 3b8ff22f4..7849db357 100644 --- a/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/index.vue +++ b/jero-web/src/views/toDoCenter/regulatoryAssessmentTasks/index.vue @@ -9,7 +9,7 @@ {{$t('standardInformation')}}
+ v-model="queryParam.standardInfo">
From b511a20216dff73808f5baec0548be4c2daa2101 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 27 Oct 2022 14:19:30 +0800 Subject: [PATCH 160/298] =?UTF-8?q?=E6=9C=88=E6=8A=A5=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E4=B8=8E=E6=A0=87=E9=A2=98=E6=A8=A1=E6=9D=BF=E9=A1=BA=E5=BA=8F?= =?UTF-8?q?=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LawsMonthlyReportWriteEOServiceImpl.java | 28 +++++++++++++------ .../jero/modules/report/util/WordUtil.java | 2 +- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java index 2e6fb60b0..cd0701450 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -611,10 +611,11 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsMonthlyReportWriteEOS, @@ -763,7 +764,15 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl lawsMonthlyReportWriteEOS, List lawsMonthlyReportTitleTemplateEOS, List reportTitleOneList, @@ -799,12 +808,13 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl reportTitleTwoList = lawsMonthlyReportTitleTemplateEOS.stream().filter(e -> e.getParentId().equals(lawsMonthlyReportTitleTemplateEO.getId())).collect(Collectors.toList()); - + //二级目录按sort正序排序 + Collections.sort(reportTitleTwoList);//正序排序 for (LawsMonthlyReportTitleTemplateEO monthlyReportTitleTemplateEO : reportTitleTwoList) { int reportCount = 1; @@ -822,7 +832,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl reportTitleTwoList = lawsMonthlyReportTitleTemplateEOS.stream().filter(e -> e.getParentId().equals(lawsMonthlyReportTitleTemplateEO.getId())).collect(Collectors.toList()); - + Collections.sort(reportTitleTwoList);//正序排序 for (LawsMonthlyReportTitleTemplateEO monthlyReportTitleTemplateEO : reportTitleTwoList) { int reportCount = 1; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java index f4678b253..93fddedfd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java @@ -406,7 +406,7 @@ public class WordUtil { paragraph.setAlignment(ParagraphAlignment.CENTER); XWPFRun run = paragraph.createRun(); run.setText("NIO Internal"); - run.setFontSize(18); + run.setFontSize(12); run.setFontFamily("Blue Sky Standard Regular"); // run.setFontFamily("Blue Sky Noto Regular"); run.setBold(true); From 0b1313372089ce8a19e1122d8e799abc6d59dae2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=B5=A9?= Date: Thu, 27 Oct 2022 14:23:10 +0800 Subject: [PATCH 161/298] =?UTF-8?q?=E7=A9=BA=E6=8C=87=E9=92=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SarFileCompareItemCommentServiceImpl.java | 104 +++++++++--------- 1 file changed, 54 insertions(+), 50 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemCommentServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemCommentServiceImpl.java index 2a5b0ced8..f7268d40f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemCommentServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/compare/service/impl/SarFileCompareItemCommentServiceImpl.java @@ -314,36 +314,38 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl 1) { - for (int j = 0; j < leftSplit.length; j++) { - if (ObjectUtils.isNotEmpty(leftSplit[j])) { - ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); - if (j > 0) { - Row row2 = sheet.getRow(j + i); - if (ObjectUtils.isEmpty(row2)) { - row2 = sheet.createRow(j + i); + if (StringUtils.isNotEmpty(text)){ + log.info("-------------- 开始开始拆分左侧图片、文字、表格 :" + text + "-----------------"); + String rowDataAndPath = getSplitContent(request, text); + log.info("-------------- 左侧图片、文字、表格 拆分成功 :"+ rowDataAndPath +"-----------------"); + leftSplit = rowDataAndPath.split("---"); + if (leftSplit.length > 1) { + for (int j = 0; j < leftSplit.length; j++) { + if (ObjectUtils.isNotEmpty(leftSplit[j])) { + ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); + if (j > 0) { + Row row2 = sheet.getRow(j + i); + if (ObjectUtils.isEmpty(row2)) { + row2 = sheet.createRow(j + i); + } + log.info("-------------- 开始开始处理左侧图片、表格 -----------------"); + handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row2, i, j, leftSplit[j], 3); + log.info("-------------- 左侧图片、表格 处理成功 -----------------"); + } else { + log.info("-------------- 开始开始处理左侧图片、表格 -----------------"); + handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row, i, j, leftSplit[j], 3); + log.info("-------------- 左侧图片、表格 处理成功 -----------------"); } - log.info("-------------- 开始开始处理左侧图片、表格 -----------------"); - handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row2, i, j, leftSplit[j], 3); - log.info("-------------- 左侧图片、表格 处理成功 -----------------"); - } else { - log.info("-------------- 开始开始处理左侧图片、表格 -----------------"); - handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row, i, j, leftSplit[j], 3); - log.info("-------------- 左侧图片、表格 处理成功 -----------------"); } } + sarFileCompareExcelMergeCell.setLeftStart(i); + sarFileCompareExcelMergeCell.setLeftEnd(i + leftSplit.length - 1); + sarFileCompareExcelMergeCell.setRightStart(0); + sarFileCompareExcelMergeCell.setRightEnd(0); + mergeCells.add(sarFileCompareExcelMergeCell); + } else { + row.createCell(3).setCellValue(rowDataAndPath); } - sarFileCompareExcelMergeCell.setLeftStart(i); - sarFileCompareExcelMergeCell.setLeftEnd(i + leftSplit.length - 1); - sarFileCompareExcelMergeCell.setRightStart(0); - sarFileCompareExcelMergeCell.setRightEnd(0); - mergeCells.add(sarFileCompareExcelMergeCell); - } else { - row.createCell(3).setCellValue(rowDataAndPath); } } } @@ -354,34 +356,36 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl 1) { - for (int j = 0; j < rightSplit.length; j++) { - if (ObjectUtils.isNotEmpty(rightSplit[j])) { - ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); - if (j > 0) { - Row row2 = sheet.getRow(j + i); - if (ObjectUtils.isEmpty(row2)) { - row2 = sheet.createRow(j + i); + if (StringUtils.isNotEmpty(text)) { + log.info("-------------- 开始开始拆分右侧图片、文字、表格 :"+ text +" -----------------"); + String rowDataAndPath = getSplitContent(request, text); + log.info("-------------- 右侧图片、文字、表格 拆分成功 :"+ rowDataAndPath +" -----------------"); + rightSplit = rowDataAndPath.split("---"); + if (rightSplit.length > 1) { + for (int j = 0; j < rightSplit.length; j++) { + if (ObjectUtils.isNotEmpty(rightSplit[j])) { + ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); + if (j > 0) { + Row row2 = sheet.getRow(j + i); + if (ObjectUtils.isEmpty(row2)) { + row2 = sheet.createRow(j + i); + } + log.info("-------------- 开始处理右侧图片、表格 -----------------"); + handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row2, i, j, rightSplit[j], 7); + log.info("-------------- 右侧图片、表格 处理成功 -----------------"); + } else { + log.info("-------------- 开始处理右侧图片、表格 -----------------"); + handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row, i, j, rightSplit[j], 7); + log.info("-------------- 右侧图片、表格 处理成功 -----------------"); } - log.info("-------------- 开始处理右侧图片、表格 -----------------"); - handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row2, i, j, rightSplit[j], 7); - log.info("-------------- 右侧图片、表格 处理成功 -----------------"); - } else { - log.info("-------------- 开始处理右侧图片、表格 -----------------"); - handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row, i, j, rightSplit[j], 7); - log.info("-------------- 右侧图片、表格 处理成功 -----------------"); } } + sarFileCompareExcelMergeCell.setRightStart(i); + sarFileCompareExcelMergeCell.setRightEnd(i + rightSplit.length - 1); + mergeCells.add(sarFileCompareExcelMergeCell); + } else { + row.createCell(7).setCellValue(rowDataAndPath); } - sarFileCompareExcelMergeCell.setRightStart(i); - sarFileCompareExcelMergeCell.setRightEnd(i + rightSplit.length - 1); - mergeCells.add(sarFileCompareExcelMergeCell); - } else { - row.createCell(7).setCellValue(rowDataAndPath); } } } From 73f67a1d3b4fdbfc138070dd26689ce5f717c908 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 27 Oct 2022 14:51:43 +0800 Subject: [PATCH 162/298] =?UTF-8?q?=E6=9C=88=E6=8A=A5=E5=AF=BC=E5=87=BA--?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AD=97=E5=85=B8=E6=8D=A2=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jero/modules/report/util/WordUtil.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java index 93fddedfd..f74979de8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/util/WordUtil.java @@ -1292,7 +1292,7 @@ public class WordUtil { blank = ""; break; case "Enterprise": - blank = " "; + blank = " "; break; case "Vehicle": blank = " "; @@ -1301,7 +1301,7 @@ public class WordUtil { blank = "\r\n"; break; case "New Car Model": - blank = " "; + blank = " "; break; case "Models In Production": blank = ""; @@ -1316,10 +1316,10 @@ public class WordUtil { blank = ""; break; case "Draft": - blank = " "; + blank = " "; break; case "Public Notice": - blank = " "; + blank = " "; break; case "Release": blank = ""; @@ -1334,10 +1334,10 @@ public class WordUtil { blank = ""; break; case "Mandatory": - blank = " "; + blank = " "; break; case "Voluntary": - blank = " "; + blank = "\r\n"; break; case "Mandatory if fitted": blank = ""; From 5701e0e59f8682301d378d90a96edc169e8985aa Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 27 Oct 2022 15:06:16 +0800 Subject: [PATCH 163/298] =?UTF-8?q?=E4=B8=BB=E8=A6=81=E5=86=85=E5=AE=B9--?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=A1=B5=E8=BE=B9=E8=B7=9D,=20=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E9=A2=84=E7=95=99=E7=A9=BA=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/LawsMonthlyReportWriteEOServiceImpl.java | 4 ++-- .../src/main/java/com/jero/modules/report/util/WordUtil.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java index cd0701450..877e7d373 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -832,7 +832,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl Date: Thu, 27 Oct 2022 15:13:39 +0800 Subject: [PATCH 164/298] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=AE=8C=E5=96=84=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/ProcessInfoEOMapper.xml | 225 +++++++++--------- .../impl/ProcessInfoEOServiceImpl.java | 1 + 2 files changed, 120 insertions(+), 106 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml index 57501c8f3..546b830d8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/mapper/xml/ProcessInfoEOMapper.xml @@ -19,81 +19,102 @@ - ( - pi.id IN ( - SELECT - pid.process_info_id - FROM - process_info_detail pid - - pid.user_id = #{params.currentUserId} - - and pid.status = #{params.taskStatus} - - - ) - ) and ( - pni.project_name like CONCAT(CONCAT('%',#{params.projectName}),'%') - or pyni.year_name like CONCAT(CONCAT('%',#{params.projectName}),'%') + temp.project_name like CONCAT(CONCAT('%',#{params.projectName}),'%') + or temp.year_name like CONCAT(CONCAT('%',#{params.projectName}),'%') ) - - and ( - pli.serial_number like CONCAT(CONCAT('%',#{params.serialNumber}),'%') - ) + + and temp.standard_info like CONCAT(CONCAT('%',#{params.standardInfo}),'%') - and pi.flow_type = #{params.flowType} + and temp.flow_type = #{params.flowType} - and pi.status = #{params.status} - - - and pi.flow_type in - - #{item} - - - - and pi.create_by = #{params.createBy} + and temp.status = #{params.status} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java index 16249bc07..8fd0da033 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java @@ -2,11 +2,14 @@ package com.jero.modules.cert.collect.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.common.api.vo.Result; import com.jero.modules.cert.collect.entity.ParamsCollectManifestEO; import com.jero.modules.cert.collect.vo.ParamsCollectManifestVO; +import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -162,6 +165,17 @@ public interface IParamsCollectManifestEOService extends IService importDre(MultipartFile file, String cut, String paramsManifestId) throws IOException; + + Result importData(List> dataList, + String unzipfilepath, + String cut, + String paramsManifestId) throws IOException; + // 调整责任领域 List updateBatchDutyTerritory(ParamsCollectManifestVO paramsCollectManifestVO); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 34349bfc1..0d38f314a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.modules.cert.collect.service.impl; +import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ZipUtil; @@ -9,12 +10,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; +import com.jero.common.api.vo.Result; import com.jero.common.constant.CommonConstant; import com.jero.common.constant.WebsocketConst; -import com.jero.common.constant.enums.CutEnum; -import com.jero.common.constant.enums.MessageTypeEnum; -import com.jero.common.constant.enums.ModuleEnum; -import com.jero.common.constant.enums.YesOrNoEnum; +import com.jero.common.constant.enums.*; import com.jero.common.exception.JeroBootException; import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; @@ -34,8 +33,10 @@ import com.jero.modules.cert.collect.vo.ParamsManifestVO; import com.jero.modules.cert.report.entity.*; import com.jero.modules.cert.report.service.*; import com.jero.modules.cert.template.entity.CertCategoryParamsInfoPublishEO; +import com.jero.modules.cert.template.entity.ParamsInfoEO; import com.jero.modules.cert.template.entity.ParamsInfoPublishEO; import com.jero.modules.cert.template.enums.ControlTypeEnum; +import com.jero.modules.cert.template.enums.ControlVerifyEnum; import com.jero.modules.cert.template.enums.ParamsIsMustEnum; import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOService; import com.jero.modules.cert.template.service.IParamsInfoPublishEOService; @@ -50,6 +51,8 @@ import com.jero.modules.project.entity.ProjectLibraryBase; import com.jero.modules.project.entity.ProjectRelatedPersonnel; import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; import com.jero.modules.project.service.IProjectRelatedPersonnelService; +import com.jero.modules.split.common.FileUnZip; +import com.jero.modules.split.common.ReadExcel; import com.jero.modules.system.entity.SysAnnouncement; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; @@ -58,9 +61,12 @@ import com.jero.modules.system.service.ISysAnnouncementService; import com.jero.modules.system.service.ISysDictItemService; import com.jero.modules.system.service.ISysUserRoleService; import com.jero.modules.system.service.ISysUserService; +import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.util.HSSFColor; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.util.IOUtils; import org.apache.poi.xssf.usermodel.*; import org.apache.shiro.SecurityUtils; @@ -88,6 +94,8 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; +import static com.jero.modules.split.util.ExcelUtil.checkObjAllFieldsIsNull; + /** * @Description: 参数项收集清单 * @Author: jero-boot @@ -2317,6 +2325,375 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl fieldList = Arrays.asList(field.split(",")); // list形式 + + // 查询导出数据 + List> allParamsInfoList = queryForExportDre(paramsCollectManifestVO); // id记得去掉 + + // 在excel表中添加表头 + XSSFRow row = sheetItems.createRow(0); + for (int i = 0; i < headers.length; i++) { + XSSFCell cell = row.createCell(i); + XSSFRichTextString text = new XSSFRichTextString(headers[i]); + cell.setCellValue(text); + cell.setCellStyle(cellStyle1); + sheetItems.setColumnWidth(i, 20 * 256); // 设置单元格宽度 + } + // 在excel表中添加添加填写说明 + String explanation = ""; + if (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) { + explanation = "Filling explanation\n" + + "1.Import data starts at the third line, the first line is the header, the second line is the description, the third line is the example, and the fourth line is the official data\n" + + "2.All fields is filled in according to Validate Component and Component Value\n" + + "3.If the control type is drop-down multi-selection, multiple entries are separated by English or Chinese exclamation points\n" + + "4.Configuration data is filled in according to the control type, and if there are multiple control types, it needs to be separated by \"#\"\n" + + "5.When filling in, start in column G and do not modify information such as NIO number and parameter name\n" + + "6.File fields are file type, must create a folder in the directory of the same level as the file with the name of the nio number and place the file in the folder. Assume that the file is saved in the A number B.pdf,Should fill in A/B.pdf\n" + + "7.When importing into the system, you need to put the Excel into a folder, place other attachment files correctly as required, and finally compress the folder into zip format for import\n"; + } else { + explanation = "填写说明\n" + + "1.导入数据从第三行开始,第一行为表头,第二行为填写说明,第三行是示例数据,需要从第四行开始填写\n" + + "2.填写时需按照控件校验和控件备选值进行填写\n" + + "3.控件类型为下拉多选时,填写多个时采用英文或中文感叹号分割\n" + + "4.配置数据按照控件类型进行填写,若存在多种控件类型填写时需要通过“#”隔开\n" + + "5.填写时从G列开始,请勿修改NIO编号和参数名称等信息\n" + + "6.上传附件为文件属性,填写时需要在本文件同级目录下以NIO编号为名称建立文件夹,并在文件夹下放置文件且该文件夹下只能有一层级,假设在NIO.XXXX下放置了B.pdf,则应填写NIO.XXXX/B.pdf\n" + + "7.导入系统时,需要将该Excel放入文件夹内,并按照要求正确放置其他附件文件,最后将文件夹压缩为zip格式进行导入\n"; + } + XSSFRow row2 = sheetItems.createRow(1); + row2.setHeight((short) 1000); + Cell cell2 = row2.createCell(0); + cell2.setCellStyle(cellStyle); + cell2.setCellValue(new XSSFRichTextString(explanation)); + + // 在excel表中添加添加填写示例 + String[] exampleRow = titles[2].split(","); + XSSFRow row3 = sheetItems.createRow(2); + for (int i = 0; i < exampleRow.length; i++) { + XSSFCell cell3 = row3.createCell(i); + XSSFRichTextString text = new XSSFRichTextString(exampleRow[i]); + cell3.setCellValue(text); + cell3.setCellStyle(cellStyle1); + sheetItems.setColumnWidth(i, 20 * 256); // 设置单元格宽度 + } + + //放文字内容 + int allRow = 2; + for(int rowNum = 0;rowNum < allParamsInfoList.size(); rowNum++){ + Map exportDto = allParamsInfoList.get(rowNum); + + allRow++; + XSSFRow row1 = sheetItems.createRow(allRow); + for(int cellNum = 0; cellNum < fieldList.size(); cellNum++){ + if (ObjectUtils.isNotEmpty(exportDto.get(fieldList.get(cellNum)))) { + row1.createCell(cellNum).setCellValue(exportDto.get(fieldList.get(cellNum)).toString()); + row1.getCell(cellNum).setCellStyle(cellStyle); + + } + } + + } + + String repFileName = fileName.replaceAll("/","_"); + excelOS = new FileOutputStream(fileNowPath + File.separator + repFileName); + response.setHeader("Content-Disposition", + "attachment; filename=\""+ ReadExcel.encodeFileName(fileOriName+".zip", request) +"\""); + response.setContentType("application/force-download"); + response.flushBuffer(); + os = response.getOutputStream(); + workbook.write(excelOS); + excelOS.flush(); + excelOS.close(); + ZipUtil.zip(fileNowPath,fileNowPath+".zip"); + FileInputStream fis = new FileInputStream(fileNowPath+".zip"); + int len = 0; + while ((len = fis.read()) != -1) { + os.write(len); + } + os.flush(); + os.close(); // 后开先关 + fis.close(); // 先开后关 + } catch (Exception e) { + if (e instanceof JeroBootException){ + throw new JeroBootException(e.getMessage()); + } else { + log.error(e.getMessage(), e); + if (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) { + throw new JeroBootException("Failed to download file, please try again"); + } else { + throw new JeroBootException("下载文件失败,请重试"); + } + + } + } finally { +// IOUtils.closeQuietly(os); + IOUtils.closeQuietly(excelOS); + File tempZipFile = new File(uploadpath + "/tempZip"); + FileUtil.deleteContents(tempZipFile); + } + } + + @Override + public Result importDre(MultipartFile file, String cut, String paramsManifestId) throws IOException { + //验证文件名是否合格 + /* 截取后缀名 */ + int pos = file.getOriginalFilename().lastIndexOf("."); + String str = file.getOriginalFilename().substring(pos+1).toLowerCase(); + String filenameorg = file.getOriginalFilename().substring(0,pos); + String resultMsg = ""; + //判断上传文件必须是zip + if (!str.equals("zip")) { + if(CutEnum.CN.getValue().equals(cut)){ + resultMsg = "请上传zip文件"; + }else{ + resultMsg = "Please upload a zip file"; + } + return Result.error(resultMsg); + } + String path = uploadpath + File.separator + "modal" + File.separator + filenameorg + System.currentTimeMillis(); + File saveDirectory = new File(path); + if(!saveDirectory.isDirectory()){ + saveDirectory.mkdir(); + } + FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path +File.separator+ file.getOriginalFilename())); + try{ + //解压缩 + String zipEntryName = FileUnZip.unZipFiles2(path +File.separator+ file.getOriginalFilename(), path); + // 数据相关处理, + // 1.获取其中的Excel, + List excelfilelist = FileUnZip.readExcelFile(zipEntryName); + if(excelfilelist.size()<1){ + //删除原上传文件 + FileUnZip.deleteDir(saveDirectory); + if(CutEnum.CN.getValue().equals(cut)){ + resultMsg = "压缩包内没有上传Excel数据"; + }else{ + resultMsg = "In the cabinet did not upload the Excel data"; + } + return Result.error(1, resultMsg); + + } else if (excelfilelist.size()>1) { + //删除原上传文件 + FileUnZip.deleteDir(saveDirectory); + if(CutEnum.CN.getValue().equals(cut)){ + resultMsg = "压缩包根目录下仅能存在一个excel为导入数据"; + }else{ + resultMsg = "Only one Excel file can be imported in the compressed package root directory"; + } + return Result.error(1, resultMsg); + } + File excelfile = excelfilelist.get(0); + // 导入参数设置,默认即可 + ImportParams params = new ImportParams(); + try { + // 导入表头 + ParamsCollectManifestVO paramsCollectManifestVO = new ParamsCollectManifestVO(); + paramsCollectManifestVO.setCut(cut); + paramsCollectManifestVO.setParamsManifestId(paramsManifestId); + String titles[] = getWorkbookTitleForExportDre(paramsCollectManifestVO); // 有顺序 + String headers[] = titles[1].split(","); + params.setImportFields(headers); + + List> result = new ArrayList<>(); + List dbfieldList = Arrays.asList(titles[0].split(",")); // 有顺序 + + // 解析excel + result = read(excelfile, dbfieldList, headers, cut); + + //excel读取到的数据 + List> datas = result; + if(datas!=null &&!datas.isEmpty()){ + try { + //获取全部sheet页中表格 + XSSFWorkbook workbook=new XSSFWorkbook(new FileInputStream(excelfile)); + int i = 0 ; + List> datasUpdate = new ArrayList<>(); + //处理空行数据,当读取exceL出现空行过多时,空行数为20以上时中断读取,将数据清洗为新的list + for(Map importDto :datas){ + if(i>20){ + break; + } + //判断此行数据是否全部为空 + if(checkObjAllFieldsIsNull(importDto)){ + i++; + //是则不读取 + continue; + } + i = 0; + datasUpdate.add(importDto); + } + String unzipfilepath = zipEntryName; + Result message = importData(datasUpdate,unzipfilepath,cut,paramsManifestId); + //删除原上传文件 + FileUnZip.deleteDir(saveDirectory); + return message; + } catch (Exception e) { + //删除原上传文件 + FileUnZip.deleteDir(saveDirectory); + return Result.error(e.getMessage()); + } + }else{ + //删除原上传文件 + FileUnZip.deleteDir(saveDirectory); + if(CutEnum.CN.getValue().equals(cut)){ + resultMsg = "没有可导入的数据,请检查!"; + }else{ + resultMsg = "No data to import, please check"; + } + return Result.error(1, resultMsg); + } + } catch (NoSuchElementException e){ + FileUnZip.deleteDir(saveDirectory); + if(CutEnum.CN.getValue().equals(cut)){ + resultMsg = "没有可导入的数据,请检查!"; + }else{ + resultMsg = "No data to import, please check"; + } + return Result.error(1, resultMsg); + } catch (JeroBootException e){ + FileUnZip.deleteDir(saveDirectory); + return Result.error(1, e.getMessage()); + } catch (Exception e) { + //删除原上传文件 + FileUnZip.deleteDir(saveDirectory); + if(CutEnum.CN.getValue().equals(cut)){ + resultMsg = "读取失败,请严格按照模板文件导入数据"; + }else{ + resultMsg = "The data fails to be read. Import data strictly according to the template file"; + } + return Result.error(1, resultMsg); + } + } catch (Exception e) { + //删除原上传文件 + FileUnZip.deleteDir(saveDirectory); + if(CutEnum.CN.getValue().equals(cut)){ + resultMsg = "读取失败,请严格按照模板文件导入数据"; + }else{ + resultMsg = "The data fails to be read. Import data strictly according to the template file"; + } + return Result.error(1, resultMsg); + } + } + + @Override + public Result importData(List> dataList, + String unzipfilepath, + String cut, + String paramsManifestId) throws IOException { + //验证导入数据是否符合规则 + Map map = validateImportDatas(dataList,unzipfilepath,cut,paramsManifestId); + boolean isOk = (boolean) map.get("result"); + if (!isOk) { + //验证没有通过 + String message = (String) map.get("message"); + return Result.error(message); + } + //将导入数据循环合并整理后 新增至相应表 + List configDataList = (List) map.get("configDataList"); + + + + List paramsInfoEOS = new ArrayList<>(); + for (ParamsConfigDataEO importDto : configDataList) { + //判断此行数据是否全部为空,是则不读取 + if (checkObjAllFieldsIsNull(importDto)) { + continue; + } + // 处理文件 + if (StringUtils.isNotBlank(importDto.getFileConnectId())) { // 判空,否则报空指针异常 + List nowFileList = FileUnZip.readFileByFilename(unzipfilepath, importDto.getFileConnectId(), null, null, null, null, null); + + FileInputStream input = new FileInputStream(nowFileList.get(0)); + MultipartFile multipartFile = + new MockMultipartFile(nowFileList.get(0).getName(), nowFileList.get(0).getName(), "text/plain", input); + //文件存入文件表 + OSSFile ossFile = ossFileService.uploadLocalOfCos(multipartFile, "", null, null); + if (ObjectUtils.isNotEmpty(ossFile)) { + String connectId = UUID.randomUUID().toString().replace("-", ""); + OSSFile ossFileUpdate = new OSSFile(); + ossFileUpdate.setId(ossFile.getId()); + ossFileUpdate.setConnectId(connectId); + ossFileService.updateById(ossFileUpdate); + + importDto.setFileConnectId(connectId); + } + } + + // 处理下拉值 + String newPullData = importDto.getPullData().replaceAll("!", "!").replaceAll("!",","); + importDto.setPullData(newPullData); + } + + // 批量新增参数项 + Boolean isSuccess = paramsConfigDataEOService.saveOrUpdateBatch(configDataList); + + String msg = ""; + if (isSuccess) { + int countSuccess = paramsInfoEOS.size(); + if (CutEnum.CN.getValue().equals(cut)) { + msg = "成功导入" + countSuccess + "条"; + } else { + msg = "import " + countSuccess + " datas successfully"; + } + return Result.OK(msg, null); + } else { + if (CutEnum.CN.getValue().equals(cut)) { + msg = "导入失败"; + } else { + msg = "import failed"; + } + return Result.error(1, msg); + } + } + @Override public List updateBatchDutyTerritory(ParamsCollectManifestVO paramsCollectManifestVO) { if (StringUtils.isEmpty(paramsCollectManifestVO.getIds()) @@ -2457,6 +2834,88 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl fieldList = onlCgformFieldService.getFieldList(ModuleEnum.PARAMS_COLLECT_MANIFEST.getValue()); + + List dbFieldNameList = new LinkedList<>(); + List dbFieldList = new LinkedList<>(); + List dbFieldExampleList = new LinkedList<>(); + + // 固定列 + for (int i = 0; i < fieldList.size(); i++) { + OnlCgformField onlCgformField = fieldList.get(i); + String dbFieldName = onlCgformField.getDbFieldName(); + if ("nio_number".equals(dbFieldName) || "params_name".equals(dbFieldName) || "description".equals(dbFieldName) + || "control_type".equals(dbFieldName) || "control_verify".equals(dbFieldName) || "control_values".equals(dbFieldName)) { + dbFieldList.add(dbFieldName); + + if(CutEnum.CN.getValue().equals(cut)){ + dbFieldNameList.add(onlCgformField.getDbFieldTxt()); // 字段中文名 + if("nio_number".equals(dbFieldName)) { + dbFieldExampleList.add("例NIO.XXXX"); + } else if("params_name".equals(dbFieldName) || "description".equals(dbFieldName)) { + dbFieldExampleList.add("XXXXX"); + + } else if("control_verify".equals(dbFieldName)) { + dbFieldExampleList.add("数据来源于参数模版管理中控件校验数据"); + + } else if("control_values".equals(dbFieldName)) { + dbFieldExampleList.add("数据来源于参数模版管理中控件备选值数据"); + + } else { + dbFieldExampleList.add("下拉多选#文本"); + } + }else{ + dbFieldNameList.add(onlCgformField.getDbFieldEnName()); // 字段英文名 + if("nio_number".equals(dbFieldName)) { + dbFieldExampleList.add("Example:NIO.XXXX"); + } else if("params_name".equals(dbFieldName) || "description".equals(dbFieldName)) { + dbFieldExampleList.add("XXXXX"); + + } else if("control_verify".equals(dbFieldName)) { + dbFieldExampleList.add("The data comes from Validate Component in the parameter template management"); + + } else if("control_values".equals(dbFieldName)) { + dbFieldExampleList.add("The data comes from Component Value in the parameter template management"); + + } else { + dbFieldExampleList.add("Pull more+File"); + } + } + + + } + } + + // 配置列 + List dbFieldNameListConfig = new LinkedList<>(); + List dbFieldListConfig = new LinkedList<>(); + List paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId); + for (ParamsConfigEO paramsConfigEO : paramsConfigEOList) { + if (ConfigLockEnum.NO.getValue().equals(paramsConfigEO.getIsLock())) { // 只导出未冻结的配置列 + dbFieldListConfig.add(paramsConfigEO.getId()); + dbFieldNameListConfig.add(paramsConfigEO.getConfigName()); + } + } + + // 插入配置列 + dbFieldList.addAll(dbFieldListConfig); + dbFieldNameList.addAll(dbFieldNameListConfig); + + String[] title = new String[3]; + String dbFieldStr = StringUtils.join(dbFieldList, ","); + String dbFieldNameStr = StringUtils.join(dbFieldNameList, ","); + String dbFieldExampleStr = StringUtils.join(dbFieldExampleList, ","); + + title[0] = dbFieldStr; + title[1] = dbFieldNameStr; + title[2] = dbFieldExampleStr; + return title; + } + private List> queryForExportAll(ParamsCollectManifestVO paramsCollectManifestVO) { String paramsManifestId = paramsCollectManifestVO.getParamsManifestId(); String paramsTemplateId = paramsCollectManifestVO.getParamsTemplateId(); @@ -2474,7 +2933,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> dataList = paramsCollectManifestEOMapper.listInfoForExport(queryEO); // 查询导出数据 + List> dataList = paramsCollectManifestEOMapper.listInfoForExport(queryEO, null); // 查询导出数据 if (dataList == null || dataList.isEmpty()){ // 没有查到数据,进行提示 if (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) { @@ -2567,6 +3026,51 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> queryForExportDre(ParamsCollectManifestVO paramsCollectManifestVO) { + String paramsManifestId = paramsCollectManifestVO.getParamsManifestId(); +// String paramsTemplateId = paramsCollectManifestVO.getParamsTemplateId(); +// Integer paramsTemplatePublishVersion = paramsCollectManifestVO.getParamsTemplatePublishVersion(); + String cut = paramsCollectManifestVO.getCut(); + String ids = paramsCollectManifestVO.getIds(); + + LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + ParamsCollectManifestEO queryEO = new ParamsCollectManifestEO(); + queryEO.setParamsManifestId(paramsManifestId); + +// String userTypes = paramsCollectManifestVO.getUserTypes(); + queryEO.setUserTypes(CollectManifestUserTypeEnum.DRE.getValue()); + queryEO.setDreForAuth(loginUser.getUsername()); + queryEO.setState(CollectManifestStateEnum.WAIT_FILL.getValue() + "," + CollectManifestStateEnum.CERT_BACK.getValue()); + + List> dataList = paramsCollectManifestEOMapper.listInfoForExport(queryEO, ids); // 查询导出数据 + if (dataList == null || dataList.isEmpty()){ + // 没有查到数据,进行提示 + if (CutEnum.EN.getValue().equals(paramsCollectManifestVO.getCut())) { + throw new JeroBootException("No data, unable to export"); + } else { + throw new JeroBootException("无数据,无法导出"); + } + } + + Map isMustMap = ParamsIsMustEnum.toMapForExport(cut); + Map controlVerifyMap = ControlVerifyEnum.toMapForExport(cut); + Map controlTypeMap = ControlTypeEnum.toMapForExport(cut); + // 插入配置列和认证类别列数据 + for (Map record1 : dataList) { + String controlType = (String) record1.get("control_type"); + String controlVerify = (String) record1.get("control_verify"); + String isMust = (String) record1.get("is_must"); + + record1.put("is_must", isMustMap.get(isMust)); + record1.put("control_type", controlTypeMap.get(controlType)); + record1.put("control_verify", controlVerifyMap.get(controlVerify)); + + } + return dataList; + } + private void downLoadFileList(List fileTemplateList,Map fileNowPathMap) { for(OSSFile fileExportDto : fileTemplateList){ String fileNowPath = fileNowPathMap.get(fileExportDto.getId()); @@ -2735,6 +3239,621 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> read(File file, List dbfieldList, String[] titles, String cut) throws Exception { + + //最终返回数据 + List> list = new ArrayList<>(); + + Workbook workbook = null; + InputStream is = new FileInputStream(file); + String name = file.getName().toLowerCase(); + // 创建excel操作对象 + if (name.contains(".xlsx")) { + workbook = WorkbookFactory.create(is); + } else { + if(CutEnum.CN.getValue().equals(cut)){ + throw new JeroBootException("请导入正确模板!"); + } else { + throw new JeroBootException("Please import the correct template"); + } + } + //得到一个工作表 + Sheet sheet = workbook.getSheetAt(0); + + //获得数据的总行数 + int totalRowNum = sheet.getLastRowNum(); + + //获得总列数 + int cellLength = sheet.getRow(0).getPhysicalNumberOfCells(); + // 验证模板表头是否正确 + Row rowTitle = sheet.getRow(0); + for (int i = 0; i < cellLength; i++) { + if (rowTitle != null) { + Cell cell = rowTitle.getCell(i); + if(ObjectUtil.isNotNull(cell)){ + //设置单元格类型 + cell.setCellType(CellType.STRING); + String cellValue = cell.getStringCellValue().substring(cell.getStringCellValue().indexOf("*")+1); + if(!cellValue.equals(titles[i])){ + if(CutEnum.CN.getValue().equals(cut)){ + throw new JeroBootException("请导入正确模板!"); + } else { + throw new JeroBootException("Please import the correct template"); + } + } + } else{ + if(CutEnum.CN.getValue().equals(cut)){ + throw new JeroBootException("请导入正确模板!"); + } else { + throw new JeroBootException("Please import the correct template"); + } + } + }else{ + if(CutEnum.CN.getValue().equals(cut)){ + throw new JeroBootException("请导入正确模板!"); + } else { + throw new JeroBootException("Please import the correct template"); + } + } + } + Row rowDescription= sheet.getRow(1); + if (rowDescription != null) { + Cell cell = rowDescription.getCell(0); + if(ObjectUtil.isNotNull(cell)){ + //设置单元格类型 + cell.setCellType(CellType.STRING); + String cellValue = cell.getStringCellValue(); + if(!cellValue.startsWith("填写说明") || !cellValue.startsWith("Filling explanation")){ + if(CutEnum.CN.getValue().equals(cut)){ + throw new JeroBootException("请导入正确模板!"); + } else { + throw new JeroBootException("Please import the correct template"); + } + } + } else{ + if(CutEnum.CN.getValue().equals(cut)){ + throw new JeroBootException("请导入正确模板!"); + } else { + throw new JeroBootException("Please import the correct template"); + } + } + }else{ + if(CutEnum.CN.getValue().equals(cut)){ + throw new JeroBootException("请导入正确模板!"); + } else { + throw new JeroBootException("Please import the correct template"); + } + } + Row rowExample= sheet.getRow(2); + if (rowExample != null) { + Cell cell = rowExample.getCell(0); + if(ObjectUtil.isNotNull(cell)){ + //设置单元格类型 + cell.setCellType(CellType.STRING); + String cellValue = cell.getStringCellValue(); + if(!cellValue.startsWith("例") || !cellValue.startsWith("Example")){ + if(CutEnum.CN.getValue().equals(cut)){ + throw new JeroBootException("请导入正确模板!"); + } else { + throw new JeroBootException("Please import the correct template"); + } + } + } else{ + if(CutEnum.CN.getValue().equals(cut)){ + throw new JeroBootException("请导入正确模板!"); + } else { + throw new JeroBootException("Please import the correct template"); + } + } + }else{ + if(CutEnum.CN.getValue().equals(cut)){ + throw new JeroBootException("请导入正确模板!"); + } else { + throw new JeroBootException("Please import the correct template"); + } + } + + Map map = null; + //获得所有数据 + //从第4行开始获取,第一行是表头,第二行是填写说明, 第三行是填写示例 + for (int x = 3; x <= totalRowNum; x++) { + map = new HashMap(); + //获得第i行对象 + Row row= sheet.getRow(x); + //如果一行里的所有单元格都为空则不放进list里面 + int a = 0; + for (int y = 0; y < cellLength; y++) { + if (!(row == null)) { + Cell cell = row.getCell(y); // cell 为空时会抛空指针异常 + if(ObjectUtil.isNull(cell)) { + map.put(dbfieldList.get(y), ""); + continue; + } + + cell.setCellType(CellType.STRING); //设置单元格类型 + String cellValue = cell.getStringCellValue(); + + // + map.put(dbfieldList.get(y), cellValue); + if (map.get(dbfieldList.get(y)) == null || "".equals(map.get(dbfieldList.get(y)))) { + a++; + } + } + } + // 当前行所有单元格均不为空时 + if (a != cellLength && row != null) { + list.add(map); + } + } + return list; + } + + private Map validateImportDatas(List> dataList, + String unzipfilepath, + String cut, + String paramsManifestId) { + // 查询清单的配置列信息 + List paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId); + Map configMap = paramsConfigEOList.stream().collect(Collectors.toMap(ParamsConfigEO::getConfigName, ParamsConfigEO::getId)); + // 查询清单参数项 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(ParamsCollectManifestEO::getParamsManifestId, paramsManifestId); + List paramsCollectManifestEOList = paramsCollectManifestEOMapper.selectList(queryWrapper); + Map collectManifestMap = paramsCollectManifestEOList.stream().collect(Collectors.toMap(ParamsCollectManifestEO::getNioNumber, ParamsCollectManifestEO::getId)); + // 查询清单的配置数据 + List configIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); + List paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(configIdList); + + Map controlTypeMap = ControlTypeEnum.toMapForImport(cut); + Map controlVerifyMap = ControlVerifyEnum.toMapForImport(cut); + Map paramsIsMustMap = ParamsIsMustEnum.toMapForImport(cut); + + //存放数据验证结果信息 + List configDataList = new ArrayList<>(); + List stringMessage = new ArrayList<>(); + int i = 2; //记录行号 + int num = 0; //记录是第几条数据 + //循环验证数据 + for (Map dto : dataList) { + i++; + int countError = 0; //记录失败数据数量 + String errorMsg = ""; + if (CutEnum.CN.getValue().equals(cut)) { + errorMsg = "第" + i + "行:"; + } else { + errorMsg = i + " line:"; + } + + Map resultMap = new HashMap<>(); + String nioNumber = (String) dto.get("nio_number"); + String controlType = controlTypeMap.get((String) dto.get("control_type")); + String controlVerify = controlVerifyMap.get((String) dto.get("control_verify")); + String controlValues = (String) dto.get("control_values"); + String isMust = paramsIsMustMap.get((String) dto.get("is_must")); + for (Map.Entry entry : dto.entrySet()) { + String key = entry.getKey(); + String value = (String) entry.getValue(); + + if ("nio_number".equals(key) || "params_name".equals(key) || "description".equals(key) + || "control_type".equals(key) || "control_verify".equals(key) || "control_values".equals(key)) { + continue; + } + // + ParamsConfigDataEO configDataEO = new ParamsConfigDataEO(); + List list = paramsConfigDataEOList.stream().filter(e-> collectManifestMap.get(nioNumber).equals(e.getParamsCollectManifestId()) + && configMap.get(key).equals(e.getParamsConfigId())).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(list)) { + configDataEO.setId(list.get(0).getId()); + } + configDataEO.setParamsCollectManifestId(collectManifestMap.get(nioNumber)); + configDataEO.setParamsConfigId(configMap.get(key)); + + + // 校验配置列 + if (ControlTypeEnum.TEXT.getValue().equals(value)) { + resultMap = validateText(key, controlVerify, value, isMust, "1000", cut); + errorMsg += (String)resultMap.get("errorMsg"); + countError += (int)resultMap.get("countError"); + + configDataEO.setTextData(value); + + } else if (ControlTypeEnum.PULL_SINGLE.getValue().equals(value)) { + resultMap = validatePull(key, controlValues, value, isMust, true, cut); + errorMsg += (String)resultMap.get("errorMsg"); + countError += (int)resultMap.get("countError"); + + configDataEO.setPullData(value); + + } else if (ControlTypeEnum.PULL_MORE.getValue().equals(value)) { + resultMap = validatePull(key, controlValues, value, isMust, false, cut); + errorMsg += (String)resultMap.get("errorMsg"); + countError += (int)resultMap.get("countError"); + + configDataEO.setPullData(value); + + } else if (ControlTypeEnum.FILE.getValue().equals(value)) { + resultMap = validateFile(key, unzipfilepath, value, isMust , cut); + errorMsg += (String)resultMap.get("errorMsg"); + countError += (int)resultMap.get("countError"); + + configDataEO.setFileConnectId(value); + + } else if (ControlTypeEnum.TEXT_PULL_SINGLE.getValue().equals(value)) { + // 校验必填 + if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) { + if(CutEnum.CN.getValue().equals(cut)) { + errorMsg += key + "为必填项,不能为空;"; + } else { + errorMsg += key + " is mandatory and cannot be empty; "; + } + countError++; + } else { + resultMap = validatePull(key, controlValues, value.split("#")[0], isMust, true, cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setPullData(value.split("#")[0]); + + if (value.split("#").length > 1) { + resultMap = validateText(key, controlVerify, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), "1000", cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setTextData(value.split("#")[1]); + } + } + + } else if (ControlTypeEnum.TEXT_PULL_MORE.getValue().equals(value)) { + // 校验必填 + if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) { + if(CutEnum.CN.getValue().equals(cut)) { + errorMsg += key + "为必填项,不能为空;"; + } else { + errorMsg += key + " is mandatory and cannot be empty; "; + } + countError++; + } else { + resultMap = validatePull(key, controlValues, value.split("#")[0], isMust, false, cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setPullData(value.split("#")[0]); + + if (value.split("#").length > 1) { + resultMap = validateText(key, controlVerify, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), "1000", cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setTextData(value.split("#")[1]); + } + } + + } else if (ControlTypeEnum.TEXT_FILE.getValue().equals(value)) { + // 校验必填 + if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) { + if(CutEnum.CN.getValue().equals(cut)) { + errorMsg += key + "为必填项,不能为空;"; + } else { + errorMsg += key + " is mandatory and cannot be empty; "; + } + countError++; + } else { + resultMap = validateText(key, controlVerify, value.split("#")[0], isMust, "1000", cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setTextData(value.split("#")[0]); + + if (value.split("#").length > 1) { + resultMap = validateFile(key, unzipfilepath, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setFileConnectId(value.split("#")[1]); + } + } + + } else if (ControlTypeEnum.PULL_SINGLE_FILE.getValue().equals(value)) { + // 校验必填 + if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) { + if(CutEnum.CN.getValue().equals(cut)) { + errorMsg += key + "为必填项,不能为空;"; + } else { + errorMsg += key + " is mandatory and cannot be empty; "; + } + countError++; + } else { + resultMap = validatePull(key, controlValues, value.split("#")[0], isMust, true, cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setPullData(value.split("#")[0]); + + if (value.split("#").length > 1) { + resultMap = validateFile(key, unzipfilepath, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setFileConnectId(value.split("#")[1]); + } + } + + } else if (ControlTypeEnum.PULL_MORE_FILE.getValue().equals(value)) { + // 校验必填 + if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) { + if(CutEnum.CN.getValue().equals(cut)) { + errorMsg += key + "为必填项,不能为空;"; + } else { + errorMsg += key + " is mandatory and cannot be empty; "; + } + countError++; + } else { + resultMap = validatePull(key, controlValues, value.split("#")[0], isMust, false, cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setPullData(value.split("#")[0]); + + if (value.split("#").length > 1) { + resultMap = validateFile(key, unzipfilepath, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setFileConnectId(value.split("#")[1]); + } + } + + } else if (ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue().equals(value)) { + // 校验必填 + if (ParamsIsMustEnum.YES.getValue().equals(isMust) && StringUtils.isEmpty(value)) { + if(CutEnum.CN.getValue().equals(cut)) { + errorMsg += key + "为必填项,不能为空;"; + } else { + errorMsg += key + " is mandatory and cannot be empty; "; + } + countError++; + } else { + resultMap = validatePull(key, controlValues, value.split("#")[0], isMust, false, cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setPullData(value.split("#")[0]); + + if (value.split("#").length > 1) { + resultMap = validateText(key, controlVerify, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), "1000", cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setTextData(value.split("#")[1]); + } + + if (value.split("#").length > 2) { + resultMap = validateFile(key, unzipfilepath, value.split("#")[2], ParamsIsMustEnum.NO.getValue(), cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setFileConnectId(value.split("#")[2]); + } + } + + } else { + + if (CutEnum.EN.getValue().equals(cut)) { + errorMsg += key + "did not match the Control Component in the system; "; + countError ++; + } else { + errorMsg += key + "未匹配到系统中的控件类型"; + countError ++; + } + } + configDataList.add(configDataEO); + } + + if (countError > 0) { + stringMessage.add(errorMsg); + } + + } + Map map = new HashMap(); + if (stringMessage.isEmpty()) { + map.put("result", true); + map.put("configDataList", configDataList); + map.put("message", ""); + } else { + map.put("result", false); + String html = ""; + for (String message : stringMessage) { + html += message + "
"; + } + map.put("message", html); + } + return map; + + } + + private Map validateFile(String configName, String unzipfilepath, String value, String mustInput, String cut) { + String errorMsg = ""; + int countError= 0; + Map resultMap = new HashMap<>(); + + // 校验必填 + if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isEmpty(value)) { + if(CutEnum.CN.getValue().equals(cut)) { + errorMsg += configName + "为必填项,不能为空;"; + } else { + errorMsg += configName + " is mandatory and cannot be empty; "; + } + countError++; + } + + String fileName = value; + if (StringUtils.isNotBlank(fileName)) { + fileName = fileName.replace(",", ","); + if (fileName.contains(",")) { + if (CutEnum.CN.getValue().equals(cut)) { + errorMsg += "附件模板只能上传一个文件;"; + } else { + errorMsg += "File template only can upload one; "; + } + } + List nowFileList = FileUnZip.readFileByFilename(unzipfilepath, fileName, null, null, null, null, null); +// List nowFileList = FileUnZip.readFileByFilename(filepath, fileName); + if (nowFileList.size() == 0) { + if (CutEnum.CN.getValue().equals(cut)) { + errorMsg += "附件模板压缩包中没有" + fileName + "文件; "; + } else { + errorMsg += "File template " + fileName + "isn't present in the cabinet; "; + } + countError++; + } + } + + resultMap.put("errorMsg", errorMsg); + resultMap.put("countError", countError); + return resultMap; + } + + private Map validatePull(String configName, String controlValues, String value, String mustInput, Boolean isSingle, String cut) { + String errorMsg = ""; + int countError= 0; + List controlValueList = Arrays.asList(controlValues.split(",")); + Map resultMap = new HashMap<>(); +// StringBuilder newValue = new StringBuilder(); + + // 校验必填 + if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isEmpty(value)) { + if(CutEnum.CN.getValue().equals(cut)) { + errorMsg += configName + "为必填项,不能为空;"; + } else { + errorMsg += configName + " is mandatory and cannot be empty; "; + } + countError++; + } + + //判断是否是单选 + if (isSingle) { + if (StringUtils.isNotBlank(value) && value.contains(",")) { + if (CutEnum.CN.getValue().equals(cut)) { + errorMsg += configName + "为单选项;"; + } else { + errorMsg += configName + " is single type; "; + } + countError++; + } else { + // 判断是否符合备选值 + if (!controlValueList.contains(value)) { + if (CutEnum.CN.getValue().equals(cut)) { + errorMsg += configName + "中的" + value + "不正确;"; + } else { + errorMsg += configName + " " + value + " is not correct; "; + } + countError++; + } + } + } else { + // 判断是否符合备选值 + value = value.replaceAll("!", "!"); + List valueList = Arrays.asList(value.split("!")); + for(String v : valueList) { + if (!controlValueList.contains(v)) { + if (CutEnum.CN.getValue().equals(cut)) { + errorMsg += configName + "中的" + value + "不正确;"; + } else { + errorMsg += configName + " " + value + " is not correct; "; + } + countError++; + } +// else { +// +// newValue.append(v).append(","); +// } + } + } + +// resultMap.put("value", newValue.toString()); + resultMap.put("errorMsg", errorMsg); + resultMap.put("countError", countError); + return resultMap; + } + + private Map validateText(String configName, String controlVerify, String value, String mustInput, String dbLength, String cut) { + String errorMsg = ""; + int countError= 0; + Map resultMap = new HashMap<>(); + + // 校验必填 + if (IsMustEnum.YES.getValue().equals(mustInput) && StringUtils.isEmpty(value)) { + if(CutEnum.CN.getValue().equals(cut)) { + errorMsg += configName + "为必填项,不能为空;"; + } else { + errorMsg += configName + " is mandatory and cannot be empty; "; + } + countError++; + } + + // 校验长度 + if (StringUtils.isNotBlank(value) && value.length() > Long.parseLong(dbLength)) { + if(CutEnum.CN.getValue().equals(cut)) { + errorMsg += configName + "不能超过" + dbLength + "个字符;"; + } else { + errorMsg += configName + " can not be more than " + dbLength + " char; "; + } + countError++; + } + + String regex = ""; + Boolean result = false; + Boolean flag = false; + if (ControlVerifyEnum.CHINESE.getValue().equals(controlVerify)) { + regex = "^[\\u4e00-\\u9fa5]{0,}$"; + result = value.matches(regex); + + } else if (ControlVerifyEnum.POSITIVE_INTEGER.getValue().equals(controlVerify)) { + regex = "^[0-9]*$"; + result = value.matches(regex); + + } else if (ControlVerifyEnum.POSITIVE_FLOAT.getValue().equals(controlVerify)) { + regex = "^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*$ 或 ^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"; + result = value.matches(regex); + + } else if (ControlVerifyEnum.INTEGER_DECIMAL.getValue().equals(controlVerify)) { + regex = "^(\\-|\\+)?\\d+(\\.\\d+)?$"; + result = value.matches(regex); + + } else if (ControlVerifyEnum.DECIMAL_ONE.getValue().equals(controlVerify)) { + regex = "^(\\-)?\\d+(\\.\\d{1})$"; + result = value.matches(regex); + + } else if (ControlVerifyEnum.DECIMAL_TWO.getValue().equals(controlVerify)) { + regex = "^(\\-)?\\d+(\\.\\d{2})$"; + result = value.matches(regex); + + } else if (ControlVerifyEnum.DECIMAL_THREE.getValue().equals(controlVerify)) { + regex = "^(\\-)?\\d+(\\.\\d{3})$"; + result = value.matches(regex); + + } else if (ControlVerifyEnum.DECIMAL_FOUR.getValue().equals(controlVerify)) { + regex = "^(\\-)?\\d+(\\.\\d{4})$"; + result = value.matches(regex); + + } else { + flag = true; + } + + if (CutEnum.EN.getValue().equals(cut)) { + if (flag) { + errorMsg += configName + " did not match the Validate Component in the system; "; + countError++; + } else { + if(result) { + errorMsg += configName + " Validate Component is wrong; "; + countError++; + } + } + + } else { + if (flag) { + errorMsg += configName + "未匹配到系统中的控件校验;"; + countError++; + } else { + if(result) { + errorMsg += configName + "文本的控件校验不正确;"; + countError++; + } + } + } + + resultMap.put("errorMsg", errorMsg); + resultMap.put("countError", countError); + return resultMap; + } /** * 实体对象转成Map * @param obj 实体对象 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java index 114509fbc..90ac5c6ba 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java @@ -693,7 +693,7 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl> listAll = paramsCollectManifestEOMapper.listInfoForExport(paramsCollectManifestEO); + List> listAll = paramsCollectManifestEOMapper.listInfoForExport(paramsCollectManifestEO, null); // 循环责任领域,计算每个责任领域中的四种状态数据 for (DictModel item : dutyTerritoryDictList) { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/enums/ControlTypeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/enums/ControlTypeEnum.java index 9304ce180..a6948d07d 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/enums/ControlTypeEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/enums/ControlTypeEnum.java @@ -70,4 +70,18 @@ public enum ControlTypeEnum { } return map; } + + public static Map toMapForExport(String cut){ + Map map = new HashMap<>(); + if (CutEnum.CN.getValue().equals(cut)) { + for (ControlTypeEnum controlTypeEnum : ControlTypeEnum.values()) { + map.put(controlTypeEnum.getValue(), controlTypeEnum.getName()); + } + } else if (CutEnum.EN.getValue().equals(cut)) { + for (ControlTypeEnum controlTypeEnum : ControlTypeEnum.values()) { + map.put(controlTypeEnum.getValue(), controlTypeEnum.getEnName()); + } + } + return map; + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/enums/ControlVerifyEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/enums/ControlVerifyEnum.java index 8bb6ccc20..d51ff4bef 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/enums/ControlVerifyEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/enums/ControlVerifyEnum.java @@ -68,4 +68,18 @@ public enum ControlVerifyEnum { } return map; } + + public static Map toMapForExport(String cut){ + Map map = new HashMap<>(); + if (CutEnum.CN.getValue().equals(cut)) { + for (ControlVerifyEnum controlVerifyEnum : ControlVerifyEnum.values()) { + map.put(controlVerifyEnum.getValue(), controlVerifyEnum.getName()); + } + } else if (CutEnum.EN.getValue().equals(cut)) { + for (ControlVerifyEnum controlVerifyEnum : ControlVerifyEnum.values()) { + map.put(controlVerifyEnum.getValue(), controlVerifyEnum.getEnName()); + } + } + return map; + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/enums/ParamsIsMustEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/enums/ParamsIsMustEnum.java index 5c8ea1caf..630579765 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/enums/ParamsIsMustEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/template/enums/ParamsIsMustEnum.java @@ -62,4 +62,18 @@ public enum ParamsIsMustEnum { return map; } + public static Map toMapForExport(String cut){ + Map map = new HashMap<>(); + if (CutEnum.CN.getValue().equals(cut)) { + for (ParamsIsMustEnum paramsIsMustEnum : ParamsIsMustEnum.values()) { + map.put(paramsIsMustEnum.getValue(), paramsIsMustEnum.getName()); + } + } else if (CutEnum.EN.getValue().equals(cut)) { + for (ParamsIsMustEnum paramsIsMustEnum : ParamsIsMustEnum.values()) { + map.put(paramsIsMustEnum.getValue(), paramsIsMustEnum.getEnName()); + } + } + return map; + } + } From e3e14194e9c4ee1e4b4b4887eac425e840020950 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Fri, 28 Oct 2022 09:41:59 +0800 Subject: [PATCH 170/298] =?UTF-8?q?=E5=8F=82=E6=95=B0=E9=A1=B9=E6=94=B6?= =?UTF-8?q?=E9=9B=86=E6=B8=85=E5=8D=95=E5=A1=AB=E5=86=99=E4=BA=BA=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/ParameterItemCollectionList.vue | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue index 5d05a0cb0..97c3e5546 100644 --- a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue +++ b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue @@ -453,7 +453,7 @@ + + \ No newline at end of file From c145f18ad1d7709755eadd0216ea5192e7c4f792 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Wed, 2 Nov 2022 10:08:41 +0800 Subject: [PATCH 228/298] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=82=AC=E5=8A=9E=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/en-us.js | 1 + jero-web/src/common/lang/zh-cn.js | 1 + .../projectManagement/components/TaskList.vue | 22 +- .../components/cuibanModel.vue | 188 ++++++++++++++++++ 4 files changed, 208 insertions(+), 4 deletions(-) create mode 100644 jero-web/src/views/projectManagement/components/cuibanModel.vue diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index a8968126c..71d3e0940 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -1359,4 +1359,5 @@ module.exports = { Topping:'Topping', cancelTopping:'Cancel Topping', relatedProjectVersion:'Related project version', + CuiBan:'CuiBan', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 75ccb1096..b059e001a 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1460,4 +1460,5 @@ module.exports = { Topping:'置顶', cancelTopping:'取消置顶', relatedProjectVersion:'相关项目版本', + CuiBan:'催办', } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/TaskList.vue b/jero-web/src/views/projectManagement/components/TaskList.vue index 5e0142614..f5162293b 100644 --- a/jero-web/src/views/projectManagement/components/TaskList.vue +++ b/jero-web/src/views/projectManagement/components/TaskList.vue @@ -76,10 +76,10 @@
- - - - +
+ + {{ $t('CuiBan') }} +
{{$t('BatchMaintenanceProgress')}} @@ -190,6 +190,7 @@ + + + + + + \ No newline at end of file From 7ae9f2de696966c599fc8e0359b8d4dda6e01fe2 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Wed, 2 Nov 2022 10:46:32 +0800 Subject: [PATCH 229/298] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=82=AC=E5=8A=9E=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/projectManagement/components/cuibanModel.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/jero-web/src/views/projectManagement/components/cuibanModel.vue b/jero-web/src/views/projectManagement/components/cuibanModel.vue index af5c8550b..5e5e1542d 100644 --- a/jero-web/src/views/projectManagement/components/cuibanModel.vue +++ b/jero-web/src/views/projectManagement/components/cuibanModel.vue @@ -15,12 +15,13 @@
{{$t('CertificationProgress')}} + :title="$t('taskType')">{{$t('taskType')}}
@@ -51,7 +52,7 @@ export default { type: [ { required: true, - message: this.$t('PleaseSelect') + this.$t('CertificationProgress'), + message: this.$t('PleaseSelect') + this.$t('taskType'), trigger: 'change' } ] @@ -118,7 +119,7 @@ export default { }) ProjectTaskUrgVo = { projectLawsInventoryIds: projectLawsInventoryId.join(','), - type: this.formInline.type + type: this.formInline.type, } this.confirmLoading = true postAction('/project/projectLawsInventoryEO/taskUrg', ProjectTaskUrgVo).then((res) => { From 53bae2d6d160a4abdd55e57fedb495f8168e4b8d Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Wed, 2 Nov 2022 11:44:41 +0800 Subject: [PATCH 230/298] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=82=AC=E5=8A=9E=E9=94=99=E8=AF=AF=E6=8F=90?= =?UTF-8?q?=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/views/projectManagement/components/cuibanModel.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-web/src/views/projectManagement/components/cuibanModel.vue b/jero-web/src/views/projectManagement/components/cuibanModel.vue index 5e5e1542d..f8d522483 100644 --- a/jero-web/src/views/projectManagement/components/cuibanModel.vue +++ b/jero-web/src/views/projectManagement/components/cuibanModel.vue @@ -129,7 +129,7 @@ export default { this.$message.success(this.$t('OperationSuccessful')) this.$emit('cibanModel') } else { - this.$message.warning(this.$t('operationFailed')) + this.$message.warning(res.message) this.confirmLoading = false } }) From 02a8dcca28cf655362797c99ce8fe1da8b311622 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Wed, 2 Nov 2022 14:15:16 +0800 Subject: [PATCH 231/298] =?UTF-8?q?=E8=AE=BE=E8=AE=A1=E7=AC=A6=E5=90=88?= =?UTF-8?q?=E6=80=A7=E7=A1=AE=E8=AE=A4=E5=AE=9A=E6=97=B6=E5=99=A8+?= =?UTF-8?q?=E5=82=AC=E5=8A=9E=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLawsInventoryEOController.java | 2 +- .../modules/project/job/TaskAffirmJob.java | 8 +- .../project/job/designComplianceJob.java | 330 +++++++++++++----- .../ProjectLawsInventoryEOServiceImpl.java | 61 +++- .../modules/project/vo/ProjectTaskUrgVo.java | 3 +- 5 files changed, 302 insertions(+), 102 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java index 3f950e953..39d77a213 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectLawsInventoryEOController.java @@ -461,7 +461,7 @@ public class ProjectLawsInventoryEOController extends JeroController taskUrg(ProjectTaskUrgVo projectTaskUrgVo) { + public Result taskUrg(@RequestBody ProjectTaskUrgVo projectTaskUrgVo) { return this.projectLawsInventoryEOService.taskUrg(projectTaskUrgVo); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java index 1a7bfc260..c12b42c6b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java @@ -155,13 +155,9 @@ public class TaskAffirmJob implements Job { } //飞书跳转链接 + String hrefFeishu = backUrl - + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() - + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName() + "-" - + projectYearNameInfoEO.getYearName() - + "&targetMarket=" + projectLibraryBase.getTargetMarket(); + + JumpLinkEnum.TASK_AFFIRM_LINK.getLink(); //项目名称 String projectVersion = (com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId()) && com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getProjectVersion())) ? "00" : projectLibraryBase.getProjectVersion(); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java index 1ea8abeb1..aa151598c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java @@ -1,7 +1,13 @@ package com.jero.modules.project.job; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.MessageType2Enum; import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.common.constant.enums.MsgColorEnum; +import com.jero.modules.document.entity.BussDocumentLibraryEO; +import com.jero.modules.document.service.IBussDocumentLibraryEOService; +import com.jero.modules.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsg2Vo; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.DesignComplianceStatusEnum; @@ -13,8 +19,11 @@ import com.jero.modules.project.mapper.ProjectNameInfoEOMapper; import com.jero.modules.project.mapper.ProjectYearNameInfoEOMapper; import com.jero.modules.project.service.IProjectLawsInventoryEOService; import com.jero.modules.project.service.IProjectTaskInventoryEOService; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -22,6 +31,7 @@ import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -52,13 +62,20 @@ public class designComplianceJob implements Job { @Value(value = "${jero.backUrl}") private String backUrl; + @Autowired + private IBussDocumentLibraryEOService bussDocumentLibraryEOService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private IFeishuService feishuService; + @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { log.info("设计符合性确认流程,定时任务开启 ====================================================="); //查询出已经启动了设计符合性流程的数据。 并且流程没有结束。 QueryWrapper queryProjectTaskInventoryWrapper = new QueryWrapper<>(); queryProjectTaskInventoryWrapper.isNotNull("design_p_id"); - queryProjectTaskInventoryWrapper.lambda().ne(ProjectTaskInventoryEO::getDesignStatus, DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + queryProjectTaskInventoryWrapper.lambda().eq(ProjectTaskInventoryEO::getDesignStatus, DesignComplianceStatusEnum.TO_SUBMIT.getValue()); List projectTaskInventoryEOList = projectTaskInventoryEOService.getBaseMapper().selectList(queryProjectTaskInventoryWrapper); if(CollectionUtils.isNotEmpty(projectTaskInventoryEOList)){ @@ -79,15 +96,24 @@ public class designComplianceJob implements Job { Date currentDate = new Date(); - //获取后三天前的时间 - Calendar calendar=new GregorianCalendar(); - calendar.setTime(new Date()); - calendar.add(Calendar.DATE,3); - Date threeDays = calendar.getTime(); - - String threeDaysStr = sdf.format(threeDays); + //两周 + Calendar twoWeeksLaterCalendar=new GregorianCalendar(); + twoWeeksLaterCalendar.setTime(new Date()); + twoWeeksLaterCalendar.add(Calendar.DATE,14); + Date twoWeeksLaterDays = twoWeeksLaterCalendar.getTime(); + String twoWeeksLaterDaysStr = sdf.format(twoWeeksLaterDays); + //一周 + Calendar oneWeekLaterCalendar=new GregorianCalendar(); + oneWeekLaterCalendar.setTime(new Date()); + oneWeekLaterCalendar.add(Calendar.DATE,7); + Date oneWeekLaterDays = oneWeekLaterCalendar.getTime(); + String oneWeekLaterDaysStr = sdf.format(oneWeekLaterDays); + //当天 String currentDateStr = sdf.format(currentDate); + + String msgTitle = MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getEn(); + for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) { QueryWrapper projectNameInfoEOQueryWrapper = new QueryWrapper<>(); projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId()); @@ -97,109 +123,249 @@ public class designComplianceJob implements Job { projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBase.getYearNameId()); ProjectYearNameInfoEO projectYearNameInfoEO = projectYearNameInfoEOMapper.selectOne(projectYearInfoEOQueryWrapper); + //项目名称 + String projectVersion = (com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId()) && com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getProjectVersion())) ? "00" : projectLibraryBase.getProjectVersion(); + String projectName = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + "-" + projectLibraryBase.getTargetMarket() + "-" + projectVersion; + + for (ProjectLawsInventoryEO projectLawsInventoryEO: projectLawsInventoryEOList) { - List threeDaysUserIdList = new ArrayList<>(); + + //法规中英文 + String LAW_CN = projectLawsInventoryEO.getSerialNumber() + " " + projectLawsInventoryEO.getTitle();//法规 + BussDocumentLibraryEO bussDocumentLibraryEO = bussDocumentLibraryEOService.queryById(projectLawsInventoryEO.getStandId()); + String LAW_EN = ""; + if (ObjectUtils.isEmpty(bussDocumentLibraryEO)) { + LAW_EN = LAW_CN; + } else { + LAW_EN = projectLawsInventoryEO.getSerialNumber() + " " + bussDocumentLibraryEO.getTitleEn();//法规 + } + + + List twoWeeksLaterUserIdList = new ArrayList<>(); + List oneWeeksLaterUserIdList = new ArrayList<>(); List currentDaysUserIdList = new ArrayList<>(); + List dueUserIdList = new ArrayList<>(); - for (ProjectTaskInventoryEO projectTaskInventoryEO : projectTaskInventoryEOList) { - if(StringUtils.equals(projectTaskInventoryEO.getProjectLawsInventoryId(),projectLawsInventoryEO.getId())){ - //如果设计符合性 - 结束日期是当前日期 - if(projectLawsInventoryEO.getDesignDueDate() != null){ - if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getDesignDueDate()))){ - if(StringUtils.isEmpty(projectTaskInventoryEO.getDesignSendMsgFlag())){ - if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ - currentDaysUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); - }if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignInitiatorId())){ - currentDaysUserIdList.add(projectLawsInventoryEO.getDesignInitiatorId()); - } - projectTaskInventoryEO.setDesignSendMsgFlag(SendMsgFlagEnum.FALSE.getValue()); - projectTaskInventoryEOService.updateById(projectTaskInventoryEO); - } + if(StringUtils.equals(projectLawsInventoryEO.getProjectLibraryId(),projectLibraryBase.getId())){ + //如果设计符合性 - 结束日期是当前日期 + if(projectLawsInventoryEO.getDesignDueDate() != null){ + if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getDesignDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ + currentDaysUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); } + } - //如果设计符合性 - 结束日期是三天后的日期 - if(StringUtils.equals(threeDaysStr,sdf.format(projectLawsInventoryEO.getDesignDueDate()))){ - if(StringUtils.isEmpty(projectTaskInventoryEO.getDesignSendMsgCurrentFlag())){ - if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ - threeDaysUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); - }if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignInitiatorId())){ - threeDaysUserIdList.add(projectLawsInventoryEO.getDesignInitiatorId()); - } - projectTaskInventoryEO.setDesignSendMsgCurrentFlag(SendMsgFlagEnum.FALSE.getValue()); - projectTaskInventoryEOService.updateById(projectTaskInventoryEO); - } + //如果设计符合性 - 结束日期是两周后的日期 + if(StringUtils.equals(twoWeeksLaterDaysStr,sdf.format(projectLawsInventoryEO.getDesignDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ + twoWeeksLaterUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); + } + } + + //如果设计符合性 - 结束日期是一周后的日期 + if(StringUtils.equals(oneWeekLaterDaysStr,sdf.format(projectLawsInventoryEO.getDesignDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ + oneWeeksLaterUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); + } + } + //逾期三天、七天、十四天 + Calendar due3Days = new GregorianCalendar(); + due3Days.setTime(projectLawsInventoryEO.getDesignDueDate()); + due3Days.add(Calendar.DATE, 3); + Date overdue3Days = due3Days.getTime(); + + Calendar due7Days = new GregorianCalendar(); + due7Days.setTime(projectLawsInventoryEO.getDesignDueDate()); + due7Days.add(Calendar.DATE, 7); + Date overdue7Days = due7Days.getTime(); + + Calendar due14Days = new GregorianCalendar(); + due14Days.setTime(projectLawsInventoryEO.getDesignDueDate()); + due14Days.add(Calendar.DATE, 14); + Date overdue14Days = due14Days.getTime(); + if (StringUtils.equals(sdf.format(overdue3Days), currentDateStr) + || StringUtils.equals(sdf.format(overdue7Days), currentDateStr) + || StringUtils.equals(sdf.format(overdue14Days), currentDateStr)) { + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ + dueUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); } } } + } - if(CollectionUtils.isNotEmpty(threeDaysUserIdList)){ - threeDaysUserIdList = threeDaysUserIdList.stream().distinct().collect(Collectors.toList()); + String hrefFeishu = backUrl + + JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() + + projectLibraryBase.getId() + + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType() + + "&projectName=" + projectNameInfoEO.getProjectName(); + + if (ObjectUtils.isNotEmpty(dueUserIdList)) { + dueUserIdList = dueUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(dueUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务已逾期,请尽快处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"+ + "\n截止时间: "+ sdf.format(projectLawsInventoryEO.getDesignDueDate())); + feishuMsgVo.setEnContentUpper("Hello! Your task is overdue. Please check and address it ASAP"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()+ + "\nDue Date: "+ sdf.format(projectLawsInventoryEO.getDesignDueDate())); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.YELLOW.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + if (ObjectUtils.isNotEmpty(oneWeeksLaterUserIdList)) { + oneWeeksLaterUserIdList = oneWeeksLaterUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(oneWeeksLaterUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于7天后结束,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will end in 7 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + if(CollectionUtils.isNotEmpty(twoWeeksLaterUserIdList)){ + twoWeeksLaterUserIdList = twoWeeksLaterUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(twoWeeksLaterUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于14天后结束,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will end in 14 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //您XXX(项目名称)中GB 7258的设计符合性确认剩余处理时间还有3天,请及时查看处理 - String msgContentEN = "The remaining processing time for the design compliance confirmation for " - + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() - + projectYearNameInfoEO.getYearName()+ " " - + projectLibraryBase.getTargetMarket() - + " are 3 days. Please check and address it in a timely manner."; - String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() - + ": You have a design compliance task to complete"; + //String msgContentEN = "The remaining processing time for the design compliance confirmation for " + // + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + // + projectYearNameInfoEO.getYearName()+ " " + // + projectLibraryBase.getTargetMarket() + // + " are 3 days. Please check and address it in a timely manner."; + //String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() + // + ": You have a design compliance task to complete"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner."); - feishuMsgVo.setTaskType("Design Compliance Confirmation"); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); - feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + //FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + //feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner."); + //feishuMsgVo.setTaskType("Design Compliance Confirmation"); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); //飞书跳转链接 - String hrefFeishu = backUrl + JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType(); + //String hrefFeishu = backUrl + JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() + projectLibraryBase.getId() + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType(); //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){ currentDaysUserIdList = currentDaysUserIdList.stream().distinct().collect(Collectors.toList()); - + List sysUsers = sysUserService.listByIds(currentDaysUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于今天到期,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will expire today. Please check and address it ASAP"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //您XXX(项目名称)中GB 7258的设计符合性确认任务今天即将结束,请及时查看处理 - String msgContentEN = "The design compliance confirmation of " - + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() - + " will expire today. Please check and address it in time."; - String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() - + ": You have a design compliance task to complete"; + //String msgContentEN = "The design compliance confirmation of " + // + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + // + " will expire today. Please check and address it in time."; + //String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() + // + ": You have a design compliance task to complete"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); - feishuMsgVo.setTaskType("Design Compliance Confirmation"); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); - feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + //FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + //feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); + //feishuMsgVo.setTaskType("Design Compliance Confirmation"); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); //飞书跳转链接 - String hrefFeishu = backUrl - + JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() - + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName(); + //String hrefFeishu = backUrl + // + JumpLinkEnum.DESIGN_AFFIRM_LINK.getLink() + // + projectLibraryBase.getId() + // + JumpLinkEnum.DESIGN_AFFIRM_LINK.getType() + // + "&projectName=" + projectNameInfoEO.getProjectName(); + + //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 181c7ac18..1f77c6fce 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -9035,19 +9035,28 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl taskUrg(ProjectTaskUrgVo projectTaskUrgVo) { if (ObjectUtils.isEmpty(projectTaskUrgVo.getProjectLawsInventoryIds())) { - throw new JeroBootException("请选择至少一条数据"); + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException("请选择至少一条数据"); + } else { + throw new JeroBootException("Please select at least one piece of data"); + } + } if (ObjectUtils.isEmpty(projectTaskUrgVo.getType())) { - throw new JeroBootException("请选择催办类型"); + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException("请选择催办类型"); + } else { + throw new JeroBootException("Please select the type of reminder"); + } } String title = ""; - if (FlowTypeEnum.SJFHXSHLC.getValue().equals(projectTaskUrgVo.getCut())) { + if (FlowTypeEnum.SJFHXSHLC.getValue().equals(projectTaskUrgVo.getType())) { title = MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getEn(); - } else if (FlowTypeEnum.PREHOMOQRLC.getValue().equals(projectTaskUrgVo.getCut())) { + } else if (FlowTypeEnum.PREHOMOQRLC.getValue().equals(projectTaskUrgVo.getType())) { title = MessageType2Enum.PRE_HOMO_CONFIRMATION.getCn() + "/" + MessageType2Enum.PRE_HOMO_CONFIRMATION.getEn(); - } else if (FlowTypeEnum.YZFHXSCLC.getValue().equals(projectTaskUrgVo.getCut())) { + } else if (FlowTypeEnum.YZFHXSCLC.getValue().equals(projectTaskUrgVo.getType())) { title = MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getEn(); } else { if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { @@ -9056,8 +9065,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl queryProjectTaskInventoryWrapper = new QueryWrapper<>(); + queryProjectTaskInventoryWrapper.isNotNull("design_p_id"); + queryProjectTaskInventoryWrapper.lambda().eq(ProjectTaskInventoryEO::getProjectLawsInventoryId, projectLawsInventoryId); + List list = projectTaskInventoryEOService.list(queryProjectTaskInventoryWrapper); + + if (FlowTypeEnum.SJFHXSHLC.getValue().equals(projectTaskUrgVo.getType())) { dueDate = sdf.format(lawsInventoryEO.getDesignDueDate()); + if (DesignComplianceStatusEnum.TO_REVIEW.getValue().equals(list.get(0).getDesignStatus()) + ||DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue().equals(list.get(0).getDesignStatus())) { + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException(LAW_CN + "已提交,无法催办"); + } else { + throw new JeroBootException(LAW_EN + "is committed,can't be urged"); + } + } if (ObjectUtils.isNotEmpty(lawsInventoryEO.getDesignDutyId())) { userId = lawsInventoryEO.getDesignDutyId(); } - } else if (FlowTypeEnum.PREHOMOQRLC.getValue().equals(projectTaskUrgVo.getCut())) { + } else if (FlowTypeEnum.PREHOMOQRLC.getValue().equals(projectTaskUrgVo.getType())) { dueDate = sdf.format(lawsInventoryEO.getPrehomoDueDate()); + if (DesignComplianceStatusEnum.TO_REVIEW.getValue().equals(list.get(0).getDesignStatus()) + ||DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue().equals(list.get(0).getDesignStatus())) { + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException(LAW_CN + "已提交,无法催办"); + } else { + throw new JeroBootException(LAW_EN + "is committed,can't be urged"); + } + } if (ObjectUtils.isNotEmpty(lawsInventoryEO.getPrehomoDutyId())) { userId = lawsInventoryEO.getPrehomoDutyId(); } - } else if (FlowTypeEnum.YZFHXSCLC.getValue().equals(projectTaskUrgVo.getCut())) { + } else if (FlowTypeEnum.YZFHXSCLC.getValue().equals(projectTaskUrgVo.getType())) { dueDate = sdf.format(lawsInventoryEO.getVerifyDueDate()); + if (DesignComplianceStatusEnum.TO_REVIEW.getValue().equals(list.get(0).getDesignStatus()) + ||DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue().equals(list.get(0).getDesignStatus())) { + if (CutEnum.CN.getValue().equals(projectTaskUrgVo.getCut())) { + throw new JeroBootException(LAW_CN + "已提交,无法催办"); + } else { + throw new JeroBootException(LAW_EN + "is committed,can't be urged"); + } + } if (ObjectUtils.isNotEmpty(lawsInventoryEO.getVerifyDutyId())) { userId = lawsInventoryEO.getVerifyDutyId(); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectTaskUrgVo.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectTaskUrgVo.java index 1a74a5139..571268627 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectTaskUrgVo.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/vo/ProjectTaskUrgVo.java @@ -2,14 +2,13 @@ package com.jero.modules.project.vo; import lombok.Data; -import java.util.List; @Data public class ProjectTaskUrgVo { private String cut; - private List projectLawsInventoryIds; + private String projectLawsInventoryIds; private String type; From 0f0c2d3633b153bf62db5b97349f5c21da28d93e Mon Sep 17 00:00:00 2001 From: wangzhijiang <12345678> Date: Wed, 2 Nov 2022 14:34:13 +0800 Subject: [PATCH 232/298] =?UTF-8?q?=E9=97=AE=E9=A2=98=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93=E6=96=B0=E5=A2=9E=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ProblemKnowledgeBaseEOServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java index 81cdbe91c..474832c10 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java @@ -114,6 +114,8 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl Date: Wed, 2 Nov 2022 15:18:00 +0800 Subject: [PATCH 233/298] =?UTF-8?q?preHomo=E3=80=81=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E7=AC=A6=E5=90=88=E6=80=A7=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/modules/project/job/PrehomoJob.java | 322 ++++++++++++----- .../project/job/VerifyComplianceJob.java | 326 +++++++++++++----- .../project/job/designComplianceJob.java | 7 +- .../ProjectLawsInventoryEOServiceImpl.java | 12 +- 4 files changed, 484 insertions(+), 183 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java index ac17549ce..352110c00 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java @@ -1,7 +1,13 @@ package com.jero.modules.project.job; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.MessageType2Enum; import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.common.constant.enums.MsgColorEnum; +import com.jero.modules.document.entity.BussDocumentLibraryEO; +import com.jero.modules.document.service.IBussDocumentLibraryEOService; +import com.jero.modules.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsg2Vo; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.DesignComplianceStatusEnum; @@ -14,8 +20,11 @@ import com.jero.modules.project.mapper.ProjectNameInfoEOMapper; import com.jero.modules.project.mapper.ProjectYearNameInfoEOMapper; import com.jero.modules.project.service.IProjectLawsInventoryEOService; import com.jero.modules.project.service.IProjectTaskInventoryEOService; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -23,6 +32,7 @@ import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -53,6 +63,13 @@ public class PrehomoJob implements Job { @Value(value = "${jero.backUrl}") private String backUrl; + @Autowired + private IBussDocumentLibraryEOService bussDocumentLibraryEOService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private IFeishuService feishuService; + @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { log.info("prehomo流程,定时任务开启 ====================================================="); @@ -60,7 +77,10 @@ public class PrehomoJob implements Job { //查询出已经启动了prehomo流程的数据。 并且流程没有结束。 QueryWrapper queryProjectTaskInventoryWrapper = new QueryWrapper<>(); queryProjectTaskInventoryWrapper.isNotNull("prehomo_p_id"); - queryProjectTaskInventoryWrapper.lambda().ne(ProjectTaskInventoryEO::getPrehomoStatus, DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + List status = new ArrayList<>(); + status.add(DesignComplianceStatusEnum.TO_SUBMIT.getValue()); + status.add(DesignComplianceStatusEnum.REVIEW_THE_RETURN.getValue()); + queryProjectTaskInventoryWrapper.lambda().in(ProjectTaskInventoryEO::getPrehomoStatus, status); List projectTaskInventoryEOList = projectTaskInventoryEOService.getBaseMapper().selectList(queryProjectTaskInventoryWrapper); if(CollectionUtils.isNotEmpty(projectTaskInventoryEOList)){ @@ -81,15 +101,24 @@ public class PrehomoJob implements Job { Date currentDate = new Date(); - //获取后三天前的时间 - Calendar calendar=new GregorianCalendar(); - calendar.setTime(new Date()); - calendar.add(Calendar.DATE,3); - Date threeDays = calendar.getTime(); - - String threeDaysStr = sdf.format(threeDays); + //两周 + Calendar twoWeeksLaterCalendar=new GregorianCalendar(); + twoWeeksLaterCalendar.setTime(new Date()); + twoWeeksLaterCalendar.add(Calendar.DATE,14); + Date twoWeeksLaterDays = twoWeeksLaterCalendar.getTime(); + String twoWeeksLaterDaysStr = sdf.format(twoWeeksLaterDays); + //一周 + Calendar oneWeekLaterCalendar=new GregorianCalendar(); + oneWeekLaterCalendar.setTime(new Date()); + oneWeekLaterCalendar.add(Calendar.DATE,7); + Date oneWeekLaterDays = oneWeekLaterCalendar.getTime(); + String oneWeekLaterDaysStr = sdf.format(oneWeekLaterDays); + //当天 String currentDateStr = sdf.format(currentDate); + String msgTitle = MessageType2Enum.PRE_HOMO_CONFIRMATION.getCn() + "/" + MessageType2Enum.PRE_HOMO_CONFIRMATION.getEn(); + + for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) { QueryWrapper projectNameInfoEOQueryWrapper = new QueryWrapper<>(); projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId()); @@ -99,115 +128,234 @@ public class PrehomoJob implements Job { projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBase.getYearNameId()); ProjectYearNameInfoEO projectYearNameInfoEO = projectYearNameInfoEOMapper.selectOne(projectYearInfoEOQueryWrapper); + //项目名称 + String projectVersion = (com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId()) && com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getProjectVersion())) ? "00" : projectLibraryBase.getProjectVersion(); + String projectName = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + "-" + projectLibraryBase.getTargetMarket() + "-" + projectVersion; for (ProjectLawsInventoryEO projectLawsInventoryEO: projectLawsInventoryEOList) { - List threeDaysUserIdList = new ArrayList<>(); - List currentDaysUserIdList = new ArrayList<>(); - for (ProjectTaskInventoryEO projectTaskInventoryEO : projectTaskInventoryEOList) { - if(StringUtils.equals(projectTaskInventoryEO.getProjectLawsInventoryId(),projectLawsInventoryEO.getId())){ - if(projectLawsInventoryEO.getPrehomoDueDate() != null){ - //如果prehomo - 结束日期是当前日期 - if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getPrehomoDueDate()))){ - if(StringUtils.isEmpty(projectTaskInventoryEO.getPrehomoSendMsgFlag())){ - if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())){ - currentDaysUserIdList.add(projectLawsInventoryEO.getPrehomoDutyId()); - }if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoInitiatorId())){ - currentDaysUserIdList.add(projectLawsInventoryEO.getPrehomoInitiatorId()); - } - projectTaskInventoryEO.setPrehomoSendMsgFlag(SendMsgFlagEnum.FALSE.getValue()); - projectTaskInventoryEOService.updateById(projectTaskInventoryEO); - } + //法规中英文 + String LAW_CN = projectLawsInventoryEO.getSerialNumber() + " " + projectLawsInventoryEO.getTitle();//法规 + BussDocumentLibraryEO bussDocumentLibraryEO = bussDocumentLibraryEOService.queryById(projectLawsInventoryEO.getStandId()); + String LAW_EN = ""; + if (ObjectUtils.isEmpty(bussDocumentLibraryEO)) { + LAW_EN = LAW_CN; + } else { + LAW_EN = projectLawsInventoryEO.getSerialNumber() + " " + bussDocumentLibraryEO.getTitleEn();//法规 + } + + List twoWeeksLaterUserIdList = new ArrayList<>(); + List oneWeeksLaterUserIdList = new ArrayList<>(); + List currentDaysUserIdList = new ArrayList<>(); + List dueUserIdList = new ArrayList<>(); + + if(StringUtils.equals(projectLawsInventoryEO.getProjectLibraryId(),projectLibraryBase.getId())){ + if(projectLawsInventoryEO.getPrehomoDueDate() != null){ + //如果prehomo - 结束日期是当前日期 + if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getPrehomoDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())){ + currentDaysUserIdList.add(projectLawsInventoryEO.getPrehomoDutyId()); } - //如果prehomo - 结束日期是三天后的日期 - if(StringUtils.equals(threeDaysStr,sdf.format(projectLawsInventoryEO.getPrehomoDueDate()))){ - if(StringUtils.isEmpty(projectTaskInventoryEO.getPrehomoSendMsgCurrentFlag())){ - if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())){ - threeDaysUserIdList.add(projectLawsInventoryEO.getPrehomoDutyId()); - }if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoInitiatorId())){ - threeDaysUserIdList.add(projectLawsInventoryEO.getPrehomoInitiatorId()); - } - projectTaskInventoryEO.setPrehomoSendMsgCurrentFlag(SendMsgFlagEnum.FALSE.getValue()); - projectTaskInventoryEOService.updateById(projectTaskInventoryEO); - } + } + //如果prehomo - 结束日期是两周后的日期 + if(StringUtils.equals(twoWeeksLaterDaysStr,sdf.format(projectLawsInventoryEO.getPrehomoDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getPrehomoDutyId())){ + twoWeeksLaterUserIdList.add(projectLawsInventoryEO.getPrehomoDutyId()); + } + } + //如果prehomo - 结束日期是一周后的日期 + if(StringUtils.equals(oneWeekLaterDaysStr,sdf.format(projectLawsInventoryEO.getDesignDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ + oneWeeksLaterUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); + } + } + //如果prehomo - 逾期后每天通知 + if (projectLawsInventoryEO.getDesignDueDate().before(currentDate)) { + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ + dueUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); } } } } - if(CollectionUtils.isNotEmpty(threeDaysUserIdList)){ - threeDaysUserIdList = threeDaysUserIdList.stream().distinct().collect(Collectors.toList()); + + String hrefFeishu = backUrl + + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() + + projectLibraryBase.getId() + + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType() + + "&projectName=" + projectNameInfoEO.getProjectName(); + + if (ObjectUtils.isNotEmpty(dueUserIdList)) { + dueUserIdList = dueUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(dueUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务已逾期,请尽快查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"+ + "\n截止时间: "+ sdf.format(projectLawsInventoryEO.getDesignDueDate())); + feishuMsgVo.setEnContentUpper("Hello! Your task is overdue. Please check and address it ASAP"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()+ + "\nDue Date: "+ sdf.format(projectLawsInventoryEO.getDesignDueDate())); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.YELLOW.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + if (ObjectUtils.isNotEmpty(oneWeeksLaterUserIdList)) { + oneWeeksLaterUserIdList = oneWeeksLaterUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(oneWeeksLaterUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于7天后结束,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will end in 7 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + if(CollectionUtils.isNotEmpty(twoWeeksLaterUserIdList)){ + twoWeeksLaterUserIdList = twoWeeksLaterUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(twoWeeksLaterUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于14天后结束,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will end in 14 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //您XXX(项目名称)中GB 7258的Pre-Homo确认剩余处理时间还有3天,请及时查看处理 //The remaining processing time for the Pre-Homo confirmation of GB 7258 in XXX (project name) is 3 days. Please check and handle it in time. - String msgContentEN = "The remaining processing time for the Pre-Homo confirmation of " - + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" - + projectYearNameInfoEO.getYearName()+ " " - + projectLibraryBase.getTargetMarket() - + " are 3 days. Please check and handle it in time."; - String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() - + ": You have a Pre-Homo task to complete"; + //String msgContentEN = "The remaining processing time for the Pre-Homo confirmation of " + // + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + // + projectYearNameInfoEO.getYearName()+ " " + // + projectLibraryBase.getTargetMarket() + // + " are 3 days. Please check and handle it in time."; + //String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() + // + ": You have a Pre-Homo task to complete"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner."); - feishuMsgVo.setTaskType("Pre-Homo Confirmation"); - feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + //feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner."); + //feishuMsgVo.setTaskType("Pre-Homo Confirmation"); + //feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); //飞书跳转链接 - String hrefFeishu = backUrl - + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() - + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName(); + //String hrefFeishu = backUrl + // + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() + // + projectLibraryBase.getId() + // + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType() + // + "&projectName=" + projectNameInfoEO.getProjectName(); //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + // Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){ currentDaysUserIdList = currentDaysUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(currentDaysUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于今天到期,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will expire today. Please check and address it ASAP"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //您XXX(项目名称)中GB 7258的Pre-Homo确认任务今天即将结束,请及时查看处理 //The the Pre-Homo confirmation of GB 7258 in XXX (project name) is coming to an end today. Please check and deal with it in time - String msgContentEN = "The the Pre-Homo confirmation of " - + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() - + " will expire today. Please check and address it in time."; - String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() - + ": You have a Pre-Homo task to complete"; + //String msgContentEN = "The the Pre-Homo confirmation of " + // + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() + // + " will expire today. Please check and address it in time."; + //String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() + // + ": You have a Pre-Homo task to complete"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); - feishuMsgVo.setTaskType("Pre-Homo Confirmation"); - feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + //feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); + //feishuMsgVo.setTaskType("Pre-Homo Confirmation"); + //feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); //飞书跳转链接 - String hrefFeishu = backUrl - + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() - + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName(); + // String hrefFeishu = backUrl + // + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() + // + projectLibraryBase.getId() + // + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType() + // + "&projectName=" + projectNameInfoEO.getProjectName(); //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java index 7acc1e185..b96f9c712 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java @@ -1,7 +1,13 @@ package com.jero.modules.project.job; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.MessageType2Enum; import com.jero.common.constant.enums.MessageTypeEnum; +import com.jero.common.constant.enums.MsgColorEnum; +import com.jero.modules.document.entity.BussDocumentLibraryEO; +import com.jero.modules.document.service.IBussDocumentLibraryEOService; +import com.jero.modules.feishu.service.IFeishuService; +import com.jero.modules.feishu.vo.FeishuMsg2Vo; import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.DesignComplianceStatusEnum; @@ -13,8 +19,11 @@ import com.jero.modules.project.mapper.ProjectNameInfoEOMapper; import com.jero.modules.project.mapper.ProjectYearNameInfoEOMapper; import com.jero.modules.project.service.IProjectLawsInventoryEOService; import com.jero.modules.project.service.IProjectTaskInventoryEOService; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -22,6 +31,7 @@ import org.quartz.JobExecutionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -52,13 +62,23 @@ public class VerifyComplianceJob implements Job { @Value(value = "${jero.backUrl}") private String backUrl; + @Autowired + private IBussDocumentLibraryEOService bussDocumentLibraryEOService; + @Autowired + private ISysUserService sysUserService; + @Autowired + private IFeishuService feishuService; + @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { log.info("验证符合性流程,定时任务开启 ====================================================="); //查询出已经启动了验证符合性流程的数据。 并且流程没有结束。 QueryWrapper queryProjectTaskInventoryWrapper = new QueryWrapper<>(); queryProjectTaskInventoryWrapper.isNotNull("verify_p_id"); - queryProjectTaskInventoryWrapper.lambda().ne(ProjectTaskInventoryEO::getVerifyStatus, DesignComplianceStatusEnum.REVIEW_COMPLETED.getValue()); + List status = new ArrayList<>(); + status.add(DesignComplianceStatusEnum.TO_SUBMIT.getValue()); + status.add(DesignComplianceStatusEnum.REVIEW_THE_RETURN.getValue()); + queryProjectTaskInventoryWrapper.lambda().in(ProjectTaskInventoryEO::getVerifyStatus, status); List projectTaskInventoryEOList = projectTaskInventoryEOService.getBaseMapper().selectList(queryProjectTaskInventoryWrapper); if(CollectionUtils.isNotEmpty(projectTaskInventoryEOList)){ @@ -79,15 +99,24 @@ public class VerifyComplianceJob implements Job { Date currentDate = new Date(); - //获取后三天前的时间 - Calendar calendar=new GregorianCalendar(); - calendar.setTime(new Date()); - calendar.add(Calendar.DATE,3); - Date threeDays = calendar.getTime(); - - String threeDaysStr = sdf.format(threeDays); + //两周 + Calendar twoWeeksLaterCalendar=new GregorianCalendar(); + twoWeeksLaterCalendar.setTime(new Date()); + twoWeeksLaterCalendar.add(Calendar.DATE,14); + Date twoWeeksLaterDays = twoWeeksLaterCalendar.getTime(); + String twoWeeksLaterDaysStr = sdf.format(twoWeeksLaterDays); + //一周 + Calendar oneWeekLaterCalendar=new GregorianCalendar(); + oneWeekLaterCalendar.setTime(new Date()); + oneWeekLaterCalendar.add(Calendar.DATE,7); + Date oneWeekLaterDays = oneWeekLaterCalendar.getTime(); + String oneWeekLaterDaysStr = sdf.format(oneWeekLaterDays); + //当天 String currentDateStr = sdf.format(currentDate); + String msgTitle = MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getEn(); + + for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) { QueryWrapper projectNameInfoEOQueryWrapper = new QueryWrapper<>(); projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId()); @@ -97,114 +126,235 @@ public class VerifyComplianceJob implements Job { projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBase.getYearNameId()); ProjectYearNameInfoEO projectYearNameInfoEO = projectYearNameInfoEOMapper.selectOne(projectYearInfoEOQueryWrapper); - for (ProjectLawsInventoryEO projectLawsInventoryEO: projectLawsInventoryEOList) { - List threeDaysUserIdList = new ArrayList<>(); - List currentDaysUserIdList = new ArrayList<>(); + //项目名称 + String projectVersion = (com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId()) && com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getProjectVersion())) ? "00" : projectLibraryBase.getProjectVersion(); + String projectName = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + "-" + projectLibraryBase.getTargetMarket() + "-" + projectVersion; - for (ProjectTaskInventoryEO projectTaskInventoryEO : projectTaskInventoryEOList) { - if(StringUtils.equals(projectTaskInventoryEO.getProjectLawsInventoryId(),projectLawsInventoryEO.getId())){ - if(projectLawsInventoryEO.getVerifyDueDate() != null){ - //如果验证符合性 - 结束日期是当前日期 - if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getVerifyDueDate()))){ - if(StringUtils.isEmpty(projectTaskInventoryEO.getVerifySendMsgFlag())){ - if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ - currentDaysUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); - }if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyInitiatorId())){ - currentDaysUserIdList.add(projectLawsInventoryEO.getVerifyInitiatorId()); - } - projectTaskInventoryEO.setVerifySendMsgFlag(SendMsgFlagEnum.FALSE.getValue()); - projectTaskInventoryEOService.updateById(projectTaskInventoryEO); - } + + for (ProjectLawsInventoryEO projectLawsInventoryEO: projectLawsInventoryEOList) { + + //法规中英文 + String LAW_CN = projectLawsInventoryEO.getSerialNumber() + " " + projectLawsInventoryEO.getTitle();//法规 + BussDocumentLibraryEO bussDocumentLibraryEO = bussDocumentLibraryEOService.queryById(projectLawsInventoryEO.getStandId()); + String LAW_EN = ""; + if (ObjectUtils.isEmpty(bussDocumentLibraryEO)) { + LAW_EN = LAW_CN; + } else { + LAW_EN = projectLawsInventoryEO.getSerialNumber() + " " + bussDocumentLibraryEO.getTitleEn();//法规 + } + + List twoWeeksLaterUserIdList = new ArrayList<>(); + List oneWeeksLaterUserIdList = new ArrayList<>(); + List currentDaysUserIdList = new ArrayList<>(); + List dueUserIdList = new ArrayList<>(); + + if(StringUtils.equals(projectLawsInventoryEO.getProjectLibraryId(),projectLibraryBase.getId())){ + if(projectLawsInventoryEO.getVerifyDueDate() != null){ + //如果验证符合性 - 结束日期是当前日期 + if(StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getVerifyDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ + currentDaysUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); } - //如果验证符合性 - 结束日期是三天后的日期 - if(StringUtils.equals(threeDaysStr,sdf.format(projectLawsInventoryEO.getVerifyDueDate()))){ - if(StringUtils.isEmpty(projectTaskInventoryEO.getVerifySendMsgCurrentFlag())){ - if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ - threeDaysUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); - }if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyInitiatorId())){ - threeDaysUserIdList.add(projectLawsInventoryEO.getVerifyInitiatorId()); - } - projectTaskInventoryEO.setVerifySendMsgCurrentFlag(SendMsgFlagEnum.FALSE.getValue()); - projectTaskInventoryEOService.updateById(projectTaskInventoryEO); - } + } + //如果验证符合性 - 结束日期是两周后的日期 + if(StringUtils.equals(twoWeeksLaterDaysStr,sdf.format(projectLawsInventoryEO.getVerifyDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ + currentDaysUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); + } + } + //如果验证符合性 - 结束日期是一周后的日期 + if(StringUtils.equals(oneWeekLaterDaysStr,sdf.format(projectLawsInventoryEO.getVerifyDueDate()))){ + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ + oneWeeksLaterUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); + } + } + //如果验证符合性 - 逾期后每天通知 + if (projectLawsInventoryEO.getVerifyDueDate().before(currentDate)) { + if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ + dueUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); } } } } - if(CollectionUtils.isNotEmpty(threeDaysUserIdList)){ - threeDaysUserIdList = threeDaysUserIdList.stream().distinct().collect(Collectors.toList()); + + String hrefFeishu = backUrl + + JumpLinkEnum.VERIFY_AFFIRM_LINK.getLink() + + projectLibraryBase.getId() + + JumpLinkEnum.VERIFY_AFFIRM_LINK.getType() + + "&projectName=" + projectNameInfoEO.getProjectName(); + + if (ObjectUtils.isNotEmpty(dueUserIdList)) { + dueUserIdList = dueUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(dueUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务已逾期,请尽快查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"+ + "\n截止时间: "+ sdf.format(projectLawsInventoryEO.getDesignDueDate())); + feishuMsgVo.setEnContentUpper("Hello! Your task is overdue. Please check and address it ASAP"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()+ + "\nDue Date: "+ sdf.format(projectLawsInventoryEO.getDesignDueDate())); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.YELLOW.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + if (ObjectUtils.isNotEmpty(oneWeeksLaterUserIdList)) { + oneWeeksLaterUserIdList = oneWeeksLaterUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(oneWeeksLaterUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于7天后结束,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will end in 7 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + + if(CollectionUtils.isNotEmpty(twoWeeksLaterUserIdList)){ + twoWeeksLaterUserIdList = twoWeeksLaterUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(twoWeeksLaterUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于14天后结束,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will end in 14 days. Please check and address it in a timely manner"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //您XXX(项目名称)中GB 7258的验证符合性确认剩余处理时间还有3天,请及时查看处理 //The remaining processing time for the Verify compliance confirmation of GB 7258 in XXX (project name) is 3 days. Please check and handle it in time. - String msgContentEN = "The remaining processing time for the validation compliance confirmation of " - + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" - + projectYearNameInfoEO.getYearName()+ " " - + projectLibraryBase.getTargetMarket() - + " are 3 days. Please check and handle it in time."; - String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() - + ": You have a validation compliance task to complete"; + //String msgContentEN = "The remaining processing time for the validation compliance confirmation of " + // + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + // + projectYearNameInfoEO.getYearName()+ " " + // + projectLibraryBase.getTargetMarket() + // + " are 3 days. Please check and handle it in time."; + //String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() + // + ": You have a validation compliance task to complete"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner."); - feishuMsgVo.setTaskType("Validation Compliance Confirmation"); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); - feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + // FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + //feishuMsgVo.setContent("Hello! The remaining processing time for the task are 3 days. Please check and address it in a timely manner."); + //feishuMsgVo.setTaskType("Validation Compliance Confirmation"); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); //飞书跳转链接 - String hrefFeishu = backUrl - + JumpLinkEnum.VERIFY_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() - + JumpLinkEnum.VERIFY_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName(); + //String hrefFeishu = backUrl + // + JumpLinkEnum.VERIFY_AFFIRM_LINK.getLink() + // + projectLibraryBase.getId() + // + JumpLinkEnum.VERIFY_AFFIRM_LINK.getType() + // + "&projectName=" + projectNameInfoEO.getProjectName(); //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,threeDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } if(CollectionUtils.isNotEmpty(currentDaysUserIdList)){ currentDaysUserIdList = currentDaysUserIdList.stream().distinct().collect(Collectors.toList()); + List sysUsers = sysUserService.listByIds(currentDaysUserIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper("您好,您的任务将于今天到期,请及时查看处理"); + feishuMsgVo.setCnContentLower("项目: " + projectName + + "\n法规: " + LAW_CN + + "\n发起人: 系统通知"); + feishuMsgVo.setEnContentUpper("Hello! Your task will expire today. Please check and address it ASAP"); + feishuMsgVo.setEnContentLower("Project: " + projectName + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " + MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //您XXX(项目名称)中GB 7258的验证符合性确认任务今天即将结束,请及时查看处理 //The the Verify compliance confirmation of GB 7258 in XXX (project name) is coming to an end today. Please check and deal with it in time - String msgContentEN = "The the validation compliance confirmation of " - + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() - + " will expire today. Please check and address it in time."; - String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() - + ": You have a validation compliance task to complete"; + //String msgContentEN = "The the validation compliance confirmation of " + // + projectLawsInventoryEO.getSerialNumber() + " in " + projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket() + // + " will expire today. Please check and address it in time."; + //String msgTitle = projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName()+ " " + projectLibraryBase.getTargetMarket() + // + ": You have a validation compliance task to complete"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); - feishuMsgVo.setTaskType("Validation Compliance Confirmation"); - feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); - feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + //FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + //feishuMsgVo.setContent("Hello! The task will expire today. Please check and address it in a timely manner."); + //feishuMsgVo.setTaskType("Validation Compliance Confirmation"); + // feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + //feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); //飞书跳转链接 - String hrefFeishu = backUrl - + JumpLinkEnum.VERIFY_AFFIRM_LINK.getLink() - + projectLibraryBase.getId() - + JumpLinkEnum.VERIFY_AFFIRM_LINK.getType() - + "&projectName=" + projectNameInfoEO.getProjectName(); + // String hrefFeishu = backUrl + // + JumpLinkEnum.VERIFY_AFFIRM_LINK.getLink() + // + projectLibraryBase.getId() + // + JumpLinkEnum.VERIFY_AFFIRM_LINK.getType() + // + "&projectName=" + projectNameInfoEO.getProjectName(); //系统内部跳转链接 - String href = "" + " View details" + ""; - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String href = "" + " View details" + ""; + // String contentInfo = msgContentEN + " " + href; + // Map sendMessageMap = new HashMap<>(); + // sendMessageMap.put("hrefFeishu",hrefFeishu); + // sendMessageMap.put("contentInfo",contentInfo); //发送消息 - projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + // projectLawsInventoryEOService.sendMessage(msgTitle, msgContentEN,currentDaysUserIdList,projectLawsInventoryEO.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.COMPLIANCE_CONFIRMATION,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java index aa151598c..129d65395 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/designComplianceJob.java @@ -75,7 +75,10 @@ public class designComplianceJob implements Job { //查询出已经启动了设计符合性流程的数据。 并且流程没有结束。 QueryWrapper queryProjectTaskInventoryWrapper = new QueryWrapper<>(); queryProjectTaskInventoryWrapper.isNotNull("design_p_id"); - queryProjectTaskInventoryWrapper.lambda().eq(ProjectTaskInventoryEO::getDesignStatus, DesignComplianceStatusEnum.TO_SUBMIT.getValue()); + List status = new ArrayList<>(); + status.add(DesignComplianceStatusEnum.TO_SUBMIT.getValue()); + status.add(DesignComplianceStatusEnum.REVIEW_THE_RETURN.getValue()); + queryProjectTaskInventoryWrapper.lambda().in(ProjectTaskInventoryEO::getDesignStatus, status); List projectTaskInventoryEOList = projectTaskInventoryEOService.getBaseMapper().selectList(queryProjectTaskInventoryWrapper); if(CollectionUtils.isNotEmpty(projectTaskInventoryEOList)){ @@ -211,7 +214,7 @@ public class designComplianceJob implements Job { try { FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); feishuMsgVo.setTitle(msgTitle); - feishuMsgVo.setCnContentUpper("您好,您的任务已逾期,请尽快处理"); + feishuMsgVo.setCnContentUpper("您好,您的任务已逾期,请尽快查看处理"); feishuMsgVo.setCnContentLower("项目: " + projectName + "\n法规: " + LAW_CN + "\n发起人: 系统通知"+ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 1f77c6fce..e2956e7ae 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -9129,9 +9129,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl Date: Wed, 2 Nov 2022 15:29:54 +0800 Subject: [PATCH 234/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/views/system/UserAnnouncementList.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/jero-web/src/views/system/UserAnnouncementList.vue b/jero-web/src/views/system/UserAnnouncementList.vue index 1c0262c0b..eb6183d14 100644 --- a/jero-web/src/views/system/UserAnnouncementList.vue +++ b/jero-web/src/views/system/UserAnnouncementList.vue @@ -66,6 +66,7 @@ :expandIconAsCell='false' :expandIconColumnIndex="5" :expandIcon="expandIcon" + :expandRowByClick="true" :loading="loading" @expand="expandChange" @change="handleTableChange"> From 94152bb38bbbad6aba183782abfa5f750082e4a1 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 2 Nov 2022 15:44:10 +0800 Subject: [PATCH 235/298] =?UTF-8?q?=E5=B0=8F=E9=93=83=E9=93=9B=E6=9C=AA?= =?UTF-8?q?=E8=AF=BB=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/system/mapper/xml/SysAnnouncementSendMapper.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml index e8572c2ad..c47d88995 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysAnnouncementSendMapper.xml @@ -92,7 +92,9 @@ sa.open_type as open_type, sa.open_page as open_page, sa.msg_abstract, - sa.document_id as document_id + sa.document_id as document_id, + sa.msg_content_cn as msg_content_cn, + sa.msg_content_info_cn as msg_content_info_cn from sys_announcement_send sas left join sys_announcement sa ON sas.annt_id = sa.id where sa.del_flag = '0' From 30acdf38e771ab9da417af7c17ef1333e4e9516a Mon Sep 17 00:00:00 2001 From: liyawei Date: Wed, 2 Nov 2022 15:44:16 +0800 Subject: [PATCH 236/298] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0-=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E6=A0=87=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysPermissionController.java | 1 + .../system/mapper/TodoCenterMapper.java | 7 + .../system/mapper/xml/TodoCenterMapper.xml | 35 ++ .../system/service/ISysPermissionService.java | 8 +- .../impl/SysPermissionServiceImpl.java | 51 ++- .../mapper/ParamsCollectManifestEOMapper.java | 2 +- .../xml/ParamsCollectManifestEOMapper.xml | 4 + .../mapper/xml/ParamsManifestEOMapper.xml | 16 + .../ParamsManifestTodoCenterServiceImpl.java | 317 +++--------------- .../vo/ParamsManifestTodoCenterEOPage.java | 4 + 10 files changed, 151 insertions(+), 294 deletions(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java index f9b86374a..fcb31c6e8 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysPermissionController.java @@ -684,6 +684,7 @@ public class SysPermissionController { //项目参数任务 if(StringUtils.equals(permission.getId(), SysPermissionEnum.PROJECT_PARAMETER_TASKS.getId())){ boolean existTaskFlag = false; + existTaskFlag = sysPermissionService.judgeToDo(); meta.put("existTask",existTaskFlag); } json.put("meta", meta); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/TodoCenterMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/TodoCenterMapper.java index b6e0e59ca..d5b9363e4 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/TodoCenterMapper.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/TodoCenterMapper.java @@ -2,6 +2,7 @@ package com.jero.modules.system.mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -11,4 +12,10 @@ import java.util.Map; **/ public interface TodoCenterMapper { int todoCenterTaskCount(@Param("params") Map params); + + List listInfoHomo(@Param("userId") String userId, @Param("state") String state); + + Integer countSdtDre(@Param("userName") String userName); + + Integer countState(@Param("manifestId") String manifestId); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml index 29d53a4d9..a3a40b79c 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml @@ -18,4 +18,39 @@ + + + + + + diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysPermissionService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysPermissionService.java index 8f48db4f1..f9ab61583 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysPermissionService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysPermissionService.java @@ -1,13 +1,11 @@ package com.jero.modules.system.service; -import java.util.List; - -import org.apache.ibatis.annotations.Param; +import com.baomidou.mybatisplus.extension.service.IService; import com.jero.common.exception.JeroBootException; import com.jero.modules.system.entity.SysPermission; import com.jero.modules.system.model.TreeModel; -import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; /** *

@@ -61,4 +59,6 @@ public interface ISysPermissionService extends IService { * @return */ public boolean hasPermission(String username, String url); + + boolean judgeToDo(); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysPermissionServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysPermissionServiceImpl.java index 042ce05df..af4973242 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysPermissionServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysPermissionServiceImpl.java @@ -1,33 +1,32 @@ package com.jero.modules.system.service.impl; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.annotation.Resource; - +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.CacheConstant; import com.jero.common.constant.CommonConstant; import com.jero.common.exception.JeroBootException; +import com.jero.common.system.vo.LoginUser; import com.jero.common.util.oConvertUtils; import com.jero.modules.system.entity.SysPermission; import com.jero.modules.system.entity.SysPermissionDataRule; -import com.jero.modules.system.mapper.SysDepartPermissionMapper; -import com.jero.modules.system.mapper.SysDepartRolePermissionMapper; -import com.jero.modules.system.mapper.SysPermissionMapper; -import com.jero.modules.system.mapper.SysRolePermissionMapper; +import com.jero.modules.system.mapper.*; import com.jero.modules.system.model.TreeModel; import com.jero.modules.system.service.ISysPermissionDataRuleService; import com.jero.modules.system.service.ISysPermissionService; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import javax.annotation.Resource; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** *

@@ -55,6 +54,9 @@ public class SysPermissionServiceImpl extends ServiceImpl queryListByParentId(String parentId) { return sysPermissionMapper.queryListByParentId(parentId); @@ -263,4 +265,25 @@ public class SysPermissionServiceImpl extends ServiceImpl 0) { + return true; + } + + List manifestIdList = todoCenterMapper.listInfoHomo(loginUser.getId(),"收集中"); + if(CollectionUtil.isNotEmpty(manifestIdList)) { + for (int i = 0; i < manifestIdList.size(); i++) { + int coutState = todoCenterMapper.countState(manifestIdList.get(i)); + if (coutState > 0) { + return true; + } + } + } + + return false; + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java index 76eedb79c..a59ccabfb 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/ParamsCollectManifestEOMapper.java @@ -18,7 +18,7 @@ public interface ParamsCollectManifestEOMapper extends BaseMapper listInfo(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO); - List listInfoOfTodoCenter(); + List listInfoOfTodoCenter(@Param("manifestIdList") List manifestIdList); List> listInfoForExport(@Param("paramsCollectManifestEO") ParamsCollectManifestEO paramsCollectManifestEO); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml index 026244f6a..8230233d7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml @@ -82,6 +82,10 @@ + + \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ParamsManifestTodoCenterServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ParamsManifestTodoCenterServiceImpl.java index c3fa55d10..8c4a807f0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ParamsManifestTodoCenterServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/todoCenter/service/impl/ParamsManifestTodoCenterServiceImpl.java @@ -58,6 +58,7 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC return page; } + List manifestIdListHomo = paramsManifestEOMapper.listInfoHomo(loginUser.getId(), ManifestStateEnum.COLLECTING.getValue());// 获取当前登录人 拥有认证工程师角色的清单 for(ParamsManifestTodoCenterEO paramsManifestEO : paramsManifestEOListAll) { // 查询清单的所有参数项 List pcmList = pcmListAll.stream().filter(e->paramsManifestEO.getId().equals(e.getParamsManifestId())).collect(Collectors.toList()); @@ -68,26 +69,48 @@ public class ParamsManifestTodoCenterServiceImpl implements IParamsManifestTodoC } int count = 0; - // 统计待发起数量 包括状态:待发起收集,变更,工程接口人退回 - count = (int) pcmList.stream().filter(e-> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState()) - || CollectManifestStateEnum.SDT_BACK.getValue().equals(e.getState()) - || CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count(); - if (count > 0) { - paramsManifestEO.setWaitCollectNum(count); - } - // 统计待分配数量 包括状态:待工程接口人处理,填写人退回 - count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState()) - || CollectManifestStateEnum.DRE_BACK.getValue().equals(e.getState()))).count(); - if (count > 0) { - paramsManifestEO.setWaitSdtNum(count); - } - // 统计待填写数量 包括状态:待填写,认证工程师退回 - count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState()) - || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState()))).count(); - if (count > 0) { - paramsManifestEO.setWaitFillNum(count); + + if(CollectionUtil.isNotEmpty(manifestIdListHomo) && manifestIdListHomo.contains(paramsManifestEO.getId())) { // 认证工程师 可以看到三种数量 + // 统计待发起数量 包括状态:待发起收集,变更,工程接口人退回 + count = (int) pcmList.stream().filter(e -> CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState()) + || CollectManifestStateEnum.SDT_BACK.getValue().equals(e.getState()) + || CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count(); + if (count > 0) { + paramsManifestEO.setWaitCollectNum(count); + } + + // 统计待分配数量 包括状态:待工程接口人处理,填写人退回 + count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState()) + || CollectManifestStateEnum.DRE_BACK.getValue().equals(e.getState()))).count(); + if (count > 0) { + paramsManifestEO.setWaitSdtNum(count); + } + + // 统计待填写数量 包括状态:待填写,认证工程师退回 + count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState()) + || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState()))).count(); + if (count > 0) { + paramsManifestEO.setWaitFillNum(count); + } + } else { // 工程接口人和填写人 只能看到 工程接口人是自己 或 填写人是自己 的数量 + // 统计待分配数量 包括状态:待工程接口人处理,填写人退回 + count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_SDT.getValue().equals(e.getState()) + || CollectManifestStateEnum.DRE_BACK.getValue().equals(e.getState())) + && loginUser.getUsername().equals(e.getSdt())).count(); + if (count > 0) { + paramsManifestEO.setWaitSdtNum(count); + } + + // 统计待填写数量 包括状态:待填写,认证工程师退回 + count = (int) pcmList.stream().filter(e-> (CollectManifestStateEnum.WAIT_FILL.getValue().equals(e.getState()) + || CollectManifestStateEnum.CERT_BACK.getValue().equals(e.getState())) + && loginUser.getUsername().equals(e.getDre())).count(); + if (count > 0) { + paramsManifestEO.setWaitFillNum(count); + } } + } // 分页 From 847d5ec52768b3d84427a4fcb901b752ba9adfce Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Wed, 2 Nov 2022 17:02:55 +0800 Subject: [PATCH 239/298] =?UTF-8?q?1=E3=80=81=E5=AE=9A=E6=97=B6=E5=99=A8?= =?UTF-8?q?=E5=88=86=E9=A1=B5=E6=9C=89=E9=97=AE=E9=A2=98=20=E6=9A=82?= =?UTF-8?q?=E6=97=B6=E5=85=88=E6=94=B9=E6=88=90=E8=BF=99=E6=A0=B7=20?= =?UTF-8?q?=E7=94=A8=E4=BA=8E=E6=B5=8B=E8=AF=95=202=E3=80=81=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=85=A8=E9=83=A8=E5=A4=84=E7=90=86=E5=AE=8C=E6=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLawsInventoryEOServiceImpl.java | 180 +++++++++++++----- .../ProjectTaskInventoryEOServiceImpl.java | 173 +++++++++++------ jero-web/src/views/system/QuartzJobList.vue | 7 + 3 files changed, 258 insertions(+), 102 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index f492b4be3..91357f86b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -2495,19 +2495,19 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId()) - ); - initiatorLark = initiatorLarkInfo.getUsername(); + //initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + //SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( + // new QueryWrapper().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId()) + //); + //initiatorLark = initiatorLarkInfo.getUsername(); msgTitle = MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getEn(); cnContentUpper = "您好,请及时查看处理此项任务,谢谢!"; @@ -2687,22 +2687,22 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId()) - ); - initiatorLark = initiatorLarkInfo.getUsername(); + //SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( + // new QueryWrapper().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId()) + //); + //initiatorLark = initiatorLarkInfo.getUsername(); msgTitle = MessageType2Enum.PRE_HOMO_CONFIRMATION.getCn() + "/" + MessageType2Enum.PRE_HOMO_CONFIRMATION.getEn(); cnContentUpper = "您好,请及时查看处理此项任务,谢谢!"; cnContentLower = "项目: " + PRN + "\n法规: " + LAW_CN + - "\n发起人: " + initiatorLark + + "\n发起人: " + sysUser.getUsername() + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getPrehomoDueDate()); enContentUpper = "Hello! Please check and address the task in a timely manner. Thank you!"; enContentLower = "Project: " + PRN + "\nRegulation No: " + LAW_EN + - "\nInitiator: " + initiatorLark + + "\nInitiator: " + sysUser.getUsername() + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getPrehomoDueDate()); color = MsgColorEnum.GREEN.getValue(); @@ -2719,22 +2719,22 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId()) - ); - initiatorLark = initiatorLarkInfo.getUsername(); + //initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + //SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( + // new QueryWrapper().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId()) + //); + //initiatorLark = initiatorLarkInfo.getUsername(); msgTitle = MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getEn(); cnContentUpper = "您好,请及时查看处理此项任务,谢谢!"; cnContentLower = "项目: " + PRN + "\n法规: " + LAW_CN + - "\n发起人: " + initiatorLark + + "\n发起人: " + sysUser.getUsername() + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getVerifyDueDate()); enContentUpper = "Hello! Please check and address the task in a timely manner. Thank you!"; enContentLower = "Project: " + PRN + "\nRegulation No: " + LAW_EN + - "\nInitiator: " + initiatorLark + + "\nInitiator: " + sysUser.getUsername() + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getVerifyDueDate()); color = MsgColorEnum.GREEN.getValue(); @@ -2751,7 +2751,21 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId()) @@ -2770,7 +2784,21 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId()) @@ -2789,7 +2817,21 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId()) @@ -2808,11 +2850,25 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId()) - ); - initiatorLark = initiatorLarkInfo.getUsername(); + //initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + //SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( + // new QueryWrapper().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId()) + //); + //initiatorLark = initiatorLarkInfo.getUsername(); + + msgTitle = MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.DESIGN_COMPLIANCE_CONFIRMATION.getEn(); + cnContentUpper = "您好,该任务被发起人审查通过"; + cnContentLower = "项目: " + PRN + + "\n法规: " + LAW_CN + + "\n发起人: " +sysUser.getUsername() + + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getTaskAffirmDueDate()); + enContentUpper = "Hello! The task has been approved by initiator"; + enContentLower = "Project: " + PRN + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " +sysUser.getUsername() + + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getTaskAffirmDueDate()); + color = MsgColorEnum.GREEN.getValue(); + } else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_INITIATOR_ACCEPTED_MSG.getValue())){ String prehomoDutyId = jsonObject.getString("prehomoDutyId"); //pre-Home责任人id userIdList.add(prehomoDutyId); @@ -2826,11 +2882,24 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId()) - ); - initiatorLark = initiatorLarkInfo.getUsername(); + //initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + //SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( + // new QueryWrapper().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId()) + //); + //initiatorLark = initiatorLarkInfo.getUsername(); + msgTitle = MessageType2Enum.PRE_HOMO_CONFIRMATION.getCn() + "/" + MessageType2Enum.PRE_HOMO_CONFIRMATION.getEn(); + cnContentUpper = "您好,该任务被发起人审查通过"; + cnContentLower = "项目: " + PRN + + "\n法规: " + LAW_CN + + "\n发起人: " +sysUser.getUsername() + + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getTaskAffirmDueDate()); + enContentUpper = "Hello! The task has been approved by initiator"; + enContentLower = "Project: " + PRN + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " +sysUser.getUsername() + + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getTaskAffirmDueDate()); + color = MsgColorEnum.GREEN.getValue(); + } else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_INITIATOR_ACCEPTED_MSG.getValue())){ String verifyDutyId = jsonObject.getString("verifyDutyId"); //验证符合性责任人id userIdList.add(verifyDutyId); @@ -2844,11 +2913,24 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId()) - ); - initiatorLark = initiatorLarkInfo.getUsername(); + //initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); + //SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( + // new QueryWrapper().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId()) + //); + //initiatorLark = initiatorLarkInfo.getUsername(); + + msgTitle = MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getCn() + "/" + MessageType2Enum.VALIDATION_COMPLIANCE_CONFIRMATION.getEn(); + cnContentUpper = "您好,该任务被发起人审查通过"; + cnContentLower = "项目: " + PRN + + "\n法规: " + LAW_CN + + "\n发起人: " +sysUser.getUsername() + + "\n截止时间: " + sdf.format(projectLawsInventoryEO.getTaskAffirmDueDate()); + enContentUpper = "Hello! The task has been approved by initiator"; + enContentLower = "Project: " + PRN + + "\nRegulation No: " + LAW_EN + + "\nInitiator: " +sysUser.getUsername() + + "\nDue Date: " + sdf.format(projectLawsInventoryEO.getTaskAffirmDueDate()); + color = MsgColorEnum.GREEN.getValue(); } if(CollectionUtils.isNotEmpty(userIdList) && StringUtils.isNotEmpty(msgTitle)){ diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java index 535c324df..07223eb90 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryEOServiceImpl.java @@ -1009,7 +1009,7 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl sysUsers = sysUserService.listByIds(userIdList); + List thirdIdList = new ArrayList<>(); + if(CollectionUtils.isNotEmpty(sysUsers)){ + thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + } + try { + FeishuMsg2Vo feishuMsgVo = new FeishuMsg2Vo(); + feishuMsgVo.setTitle(msgTitle); + feishuMsgVo.setCnContentUpper(cnContentUpper); + feishuMsgVo.setCnContentLower(cnContentLower); + feishuMsgVo.setEnContentUpper(enContentUpper); + feishuMsgVo.setEnContentLower(enContentLower); + feishuMsgVo.setUrl(hrefFeishu); + feishuMsgVo.setColor(MsgColorEnum.GREEN.getValue()); // 颜色 + feishuService.sendCard(thirdIdList.toArray(new String[thirdIdList.size()]), feishuMsgVo); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } //系统内部跳转链接 - String href = "" + " View details" + ""; + //String href = "" + " View details" + ""; //飞书跳转链接 拼接跳转至任务详情页参数 /*String hrefFeishu = backUrl @@ -1224,13 +1291,13 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl" + " View details" + "";*/ - String contentInfo = msgContentEN + " " + href; - Map sendMessageMap = new HashMap<>(); - sendMessageMap.put("hrefFeishu",hrefFeishu); - sendMessageMap.put("contentInfo",contentInfo); + //String contentInfo = msgContentEN + " " + href; + //Map sendMessageMap = new HashMap<>(); + //sendMessageMap.put("hrefFeishu",hrefFeishu); + //sendMessageMap.put("contentInfo",contentInfo); //发送消息 - SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,id,sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + //SendMessageUtils.sendMessage(msgTitle, msgContentEN,userIdList,id,sendMessageMap, feishuMsgVo, messageTypeEnum,MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); } } diff --git a/jero-web/src/views/system/QuartzJobList.vue b/jero-web/src/views/system/QuartzJobList.vue index cd54b0701..db0d65e90 100644 --- a/jero-web/src/views/system/QuartzJobList.vue +++ b/jero-web/src/views/system/QuartzJobList.vue @@ -126,6 +126,13 @@ description: '定时任务在线管理', // 查询条件 queryParam: {}, + ipagination: { + total: 0, + pageSize: 20,//每页中显示10条数据 + showSizeChanger: true, + pageSizeOptions: ["10", "20", "50", "100"],//每页中显示的数据 + showTotal: total => `共有 ${total} 条数据`, //分页中显示总的数据 + }, // 表头 columns: [ { From 340bc851ea432cf5c6374a14cca1373ebabd2981 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Wed, 2 Nov 2022 17:12:01 +0800 Subject: [PATCH 240/298] =?UTF-8?q?=E8=8B=B1=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/service/impl/ProjectLawsInventoryEOServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 91357f86b..1ee4f3151 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -2475,7 +2475,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl Date: Wed, 2 Nov 2022 17:56:11 +0800 Subject: [PATCH 241/298] bug --- .../service/impl/LawsOpinionGatherEOServiceImpl.java | 6 ++---- .../java/com/jero/modules/project/job/TaskAffirmJob.java | 2 +- .../service/impl/ProjectLawsInventoryEOServiceImpl.java | 9 +++++---- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java index c4ca69f25..2d490d9f3 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java @@ -360,13 +360,11 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl) jsonObject.get("userIdList"); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java index c12b42c6b..a865ab379 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/TaskAffirmJob.java @@ -157,7 +157,7 @@ public class TaskAffirmJob implements Job { //飞书跳转链接 String hrefFeishu = backUrl - + JumpLinkEnum.TASK_AFFIRM_LINK.getLink(); + + "/projectRegulationTasks"; //项目名称 String projectVersion = (com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getParentId()) && com.jero.modules.system.util.StringUtils.isBlank(projectLibraryBase.getProjectVersion())) ? "00" : projectLibraryBase.getProjectVersion(); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 1ee4f3151..27fc6c861 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -8675,6 +8675,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl().lambda().eq(SysUser::getId, projectLibraryBase.getStudioEngineer()) ); + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); projectLawsInventoryEOList.forEach(projectLawsInventoryEO -> { //如果清单确认状态为待确认的,进行催办 @@ -8753,11 +8754,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl Date: Wed, 2 Nov 2022 18:00:57 +0800 Subject: [PATCH 242/298] =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/service/impl/ProjectLawsInventoryEOServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java index 27fc6c861..658151bf5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLawsInventoryEOServiceImpl.java @@ -8756,7 +8756,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl Date: Wed, 2 Nov 2022 18:16:04 +0800 Subject: [PATCH 243/298] =?UTF-8?q?=E5=8F=82=E6=95=B0=E6=94=B6=E9=9B=86?= =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=BB=BB=E5=8A=A1=E8=B7=B3=E8=BD=AC=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ParameterItemCollectionList.vue | 11 +- .../projectParameterTasks/index.vue | 109 +++++++++++++----- 2 files changed, 87 insertions(+), 33 deletions(-) diff --git a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue index 3ce895f7f..643c7897c 100644 --- a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue +++ b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue @@ -670,12 +670,11 @@ // } }, mounted() { - console.log(this.$route.query) + this.GetgetLoginUserType() + console.log(this.currentPersonRole) if(this.$route.query.type == '1'){ this.handleOkRoleSwitching() } - this.GetgetLoginUserType() - console.log(this.currentPersonRole) setTimeout(() => { if (this.currentPersonRole == 'dre') { this.handlePreservation() @@ -710,7 +709,7 @@ handleOkRoleSwitching() { if(this.$route.query.type == '1'){ let query = { - userType:this.$route.query.userType, + userType:this.formInlineRoleSwitching.roleSwitchingCode ? this.formInlineRoleSwitching.roleSwitchingCode : this.$route.query.userType, paramsManifestId: this.$route.query.id, projectId: this.$route.query.projectId, userId: this.userInfo().id @@ -718,10 +717,10 @@ this.confirmLoadingRoleSwitching = true postAction('/params/userTypeLog/edit', query).then((res) => { if (res.success) { - this.currentPersonRole = this.$route.query.userType + this.currentPersonRole = this.formInlineRoleSwitching.roleSwitchingCode ? this.formInlineRoleSwitching.roleSwitchingCode : this.$route.query.userType this.visibleRoleSwitching = false this.confirmLoadingRoleSwitching = false - localStorage.setItem('currentPersonRole', JSON.stringify(this.$route.query.userType)) + localStorage.setItem('currentPersonRole', JSON.stringify(this.formInlineRoleSwitching.roleSwitchingCode ? this.formInlineRoleSwitching.roleSwitchingCode : this.$route.query.userType)) this.RoleType.forEach((item,index) => { if(item.value == this.currentPersonRole){ this.rolename = item.label diff --git a/jero-web/src/views/toDoCenter/projectParameterTasks/index.vue b/jero-web/src/views/toDoCenter/projectParameterTasks/index.vue index 0216f842b..33e86e093 100644 --- a/jero-web/src/views/toDoCenter/projectParameterTasks/index.vue +++ b/jero-web/src/views/toDoCenter/projectParameterTasks/index.vue @@ -167,42 +167,97 @@ }, //待填写数量 waitFillClick(item) { - let _this = this - item.type = '1' - item.userType = 'dre' - console.log(item) - let newUrl = _this.$router.resolve({ - path: '/ParameterItemCollection', - query: item - // projectName:this.$route.query.projectName + let query = { + paramsManifestId: item.id, + projectId: item.projectId + } + this.loading = true + let userType = '' + let valueList = [] + getAction('params/collectManifest/getLoginUserType', query).then((res) => { + if(res.result){ + res.result.find((item,index) => { + if(item.value){ + valueList.push(item.value) + } + }) + let flag = valueList.find((item,index) => { + return item == 'dre' + }) + let _this = this + item.type = '1' + item.userType = _this.flag == undefined ? valueList[0] : 'dre' + let newUrl = _this.$router.resolve({ + path: '/ParameterItemCollection', + query: item + // projectName:this.$route.query.projectName + }) + window.open(newUrl.href, '_blank') + } }) - window.open(newUrl.href, '_blank') }, //待分配填写人数量 waitSdtClick(item) { - let _this = this - item.type = '1' - item.userType = 'sdt' - console.log(item) - let newUrl = _this.$router.resolve({ - path: '/ParameterItemCollection', - query: item - // projectName:this.$route.query.projectName + let query = { + paramsManifestId: item.id, + projectId: item.projectId + } + this.loading = true + let userType = '' + let valueList = [] + getAction('params/collectManifest/getLoginUserType', query).then((res) => { + if(res.result){ + res.result.find((item,index) => { + if(item.value){ + valueList.push(item.value) + } + }) + let flag = valueList.find((item,index) => { + return item == 'sdt' + }) + let _this = this + item.type = '1' + item.userType = _this.flag == undefined ? valueList[0] : 'sdt' + let newUrl = _this.$router.resolve({ + path: '/ParameterItemCollection', + query: item + // projectName:this.$route.query.projectName + }) + window.open(newUrl.href, '_blank') + } }) - window.open(newUrl.href, '_blank') + }, //参数待发起数量 waitCollectClick(item) { - let _this = this - item.type = '1' - item.userType = 'homo' - console.log(item) - let newUrl = _this.$router.resolve({ - path: '/ParameterItemCollection', - query: item - // projectName:this.$route.query.projectName + let query = { + paramsManifestId: item.id, + projectId: item.projectId + } + this.loading = true + let userType = '' + let valueList = [] + getAction('params/collectManifest/getLoginUserType', query).then((res) => { + if(res.result){ + res.result.find((item,index) => { + if(item.value){ + valueList.push(item.value) + } + }) + let flag = valueList.find((item,index) => { + return item == 'homo' + }) + let _this = this + item.type = '1' + item.userType = _this.flag == undefined ? valueList[0] : 'homo' + let newUrl = _this.$router.resolve({ + path: '/ParameterItemCollection', + query: item + // projectName:this.$route.query.projectName + }) + window.open(newUrl.href, '_blank') + } }) - window.open(newUrl.href, '_blank') }, SizeChange(page, pageSize) { this.pageNo = 1 From 67b18a48a42413953aaf9d118300f8a354c3a62c Mon Sep 17 00:00:00 2001 From: liyawei Date: Wed, 2 Nov 2022 19:53:12 +0800 Subject: [PATCH 244/298] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0-=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E6=B7=BB=E5=8A=A0=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E6=A0=87=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BussDocumentLibraryEOController.java | 15 +++++++++++++++ .../components/RetrieveFilesList.vue | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/controller/BussDocumentLibraryEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/controller/BussDocumentLibraryEOController.java index 4227e3341..e2864dc65 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/controller/BussDocumentLibraryEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/controller/BussDocumentLibraryEOController.java @@ -90,6 +90,21 @@ public class BussDocumentLibraryEOController extends JeroController transPageInfo(@RequestBody Map parameter) { + IPage infoPage = bussDocumentLibraryEOService.ocrPageInfo(parameter); + return Result.OK(infoPage); + } + /** * 列表查询 * diff --git a/jero-web/src/views/documentTools/documentTranslation/components/RetrieveFilesList.vue b/jero-web/src/views/documentTools/documentTranslation/components/RetrieveFilesList.vue index 4f8a942ee..69a95a94e 100644 --- a/jero-web/src/views/documentTools/documentTranslation/components/RetrieveFilesList.vue +++ b/jero-web/src/views/documentTools/documentTranslation/components/RetrieveFilesList.vue @@ -223,7 +223,7 @@ ...this.queryParam } this.loading = true - postAction('document/bussDocumentLibraryEO/ocrPageInfo', query).then((res) => { + postAction('document/bussDocumentLibraryEO/transPageInfo', query).then((res) => { if (res.success) { this.dataList = res.result.records || [] this.total = res.result.total From aeb09cede59b9d63220060acfc43641a46aab6ed Mon Sep 17 00:00:00 2001 From: liyawei Date: Wed, 2 Nov 2022 19:56:34 +0800 Subject: [PATCH 245/298] =?UTF-8?q?=E6=B7=BB=E5=8A=A0sql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-boot/db/蔚来标准sql/dev_2nd_period.sql | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql index 08b8f007e..3a32c5b11 100644 --- a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql +++ b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql @@ -22,3 +22,8 @@ ADD COLUMN `explanation` varchar(2000) NULL COMMENT '说明' AFTER `project_vers ALTER TABLE `laws_weilai`.`project_library_base` MODIFY COLUMN `software_version` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '软件版本' AFTER `explanation`; +-- 认证参数历史列表添加字段--------2022-11-02 未同步生产环境 +ALTER TABLE `laws_weilai`.`params_manifest_history` +ADD COLUMN `project_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '相关项目版本' AFTER `params_template_name`, +ADD COLUMN `explanation` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '说明' AFTER `project_version`; + From c9fef8fc22613f4a6e10312939cae31c78075c50 Mon Sep 17 00:00:00 2001 From: liyawei Date: Wed, 2 Nov 2022 22:11:37 +0800 Subject: [PATCH 246/298] =?UTF-8?q?=E8=AE=A4=E8=B4=A6-=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E9=A1=B9=E6=94=B6=E9=9B=86-=E5=A1=AB=E5=86=99=E4=BA=BA?= =?UTF-8?q?=E5=AF=BC=E5=87=BA-bug62129?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ParamsCollectManifestEOServiceImpl.java | 90 ++++++++++++++++++- 1 file changed, 87 insertions(+), 3 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index e81538248..782b75725 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -41,7 +41,6 @@ import com.jero.modules.cert.template.service.ICertCategoryParamsInfoPublishEOSe import com.jero.modules.cert.template.service.IParamsInfoPublishEOService; import com.jero.modules.feishu.service.IFeishuService; import com.jero.modules.feishu.vo.FeishuMsg2Vo; -import com.jero.modules.feishu.vo.FeishuMsgVo; import com.jero.modules.message.websocket.WebSocket; import com.jero.modules.ocr.service.WebSocketServer; import com.jero.modules.ocr.util.LineHumpUtil; @@ -2443,6 +2442,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl allRelevFileList = new ArrayList<>(); + Map fileNowPathMap = new HashMap<>(); + //放文字内容 int allRow = 2; for(int rowNum = 0;rowNum < allParamsInfoList.size(); rowNum++){ Map exportDto = allParamsInfoList.get(rowNum); + // 处理文件 + List fileList = (List) exportDto.get("fileList"); + if (CollectionUtil.isNotEmpty(fileList)) { + allRelevFileList.addAll(fileList); + fileList.forEach(file -> { + fileNowPathMap.put(file.getId(), fileNowPath + File.separator + exportDto.get("nio_number")); + }); + + } + allRow++; XSSFRow row1 = sheetItems.createRow(allRow); for(int cellNum = 0; cellNum < fieldList.size(); cellNum++){ @@ -2548,13 +2568,29 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId); // 查询所有配置列 + + List paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); + List paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据 + Map isMustMap = ParamsIsMustEnum.toMapForExport(cut); Map controlVerifyMap = ControlVerifyEnum.toMapForExport(cut); Map controlTypeMap = ControlTypeEnum.toMapForExport(cut); @@ -3178,11 +3220,53 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl fileList = new ArrayList<>(); + + paramsConfigEOList.forEach(paramsConfigEO -> { // 参数配置 + + String paramsConfigId = paramsConfigEO.getId(); + List paramsConfigDataEOS = paramsConfigDataEOList.stream().filter(e-> paramsConfigId.equals(e.getParamsConfigId()) && paramsCollectManifestId.equals(e.getParamsCollectManifestId())).collect(Collectors.toList()); // 参数配置数据 + StringBuilder configDataBuilder = new StringBuilder(); // 重新组合配置数据 + if (CollectionUtil.isNotEmpty(paramsConfigDataEOS)) { + ParamsConfigDataEO paramsConfigDataEO = paramsConfigDataEOS.get(0); + if (StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { + configDataBuilder.append(paramsConfigDataEO.getTextData()).append("#"); + } + if (StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { + configDataBuilder.append(paramsConfigDataEO.getPullData().replaceAll(",", "!")).append("#"); + } + if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { + List ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId()); + if (CollectionUtil.isNotEmpty(ossFileList)) { + configDataBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()).append("#"); + + fileList.addAll(ossFileList); + } + } + + } + + String configData = configDataBuilder.toString(); + if (configData.contains("#")) { + configData = configData.substring(0, configData.lastIndexOf("#")); + } + + record1.put(paramsConfigEO.getId(), configData); + }); + + record1.put("fileList", fileList); + } + + result.add(record1); } return result; From bed54d7869f4ca18171d7d8505d717111489efa1 Mon Sep 17 00:00:00 2001 From: "zyx.net" Date: Thu, 3 Nov 2022 09:52:37 +0800 Subject: [PATCH 247/298] =?UTF-8?q?=E5=8F=82=E6=95=B0=E9=A1=B9=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=96=B0=E5=A2=9E=20=E6=8E=A7=E4=BB=B6=E5=A4=87?= =?UTF-8?q?=E9=80=89=E5=80=BC=E4=B8=8D=E8=83=BD=E8=BE=93=E5=85=A5=EF=BC=81?= =?UTF-8?q?=E5=92=8C#?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../parameter/parameterlist/components/addModel.vue | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/jero-web/src/views/parameter/parameterlist/components/addModel.vue b/jero-web/src/views/parameter/parameterlist/components/addModel.vue index 5eb433eda..9fe7a3502 100644 --- a/jero-web/src/views/parameter/parameterlist/components/addModel.vue +++ b/jero-web/src/views/parameter/parameterlist/components/addModel.vue @@ -415,6 +415,7 @@ export default { controlValues: [ { required: true, message: this.$t('PleaseEnter')+this.$t('controlAlternatives'), trigger: 'blur' }, { min:1, max: 500, message: this.$t('cantExeed')+'500'+this.$t('characters'), trigger: 'blur' }, + { validator: this.test } ], titleDefaultValue: [ { required: true, message: this.$t('PleaseEnter')+this.$t('DefaultValue'), trigger: 'blur' }, @@ -452,6 +453,14 @@ export default { } }, methods: { + test(rule, value, callback) { + var money = /^[^##!!]*$/ + if (money.test(value)) { + callback() + } else { + callback(new Error(this.$t('disableInput') + '!#')) + } + }, getcontentListedEdit() { getAction('sys/dict/getDictItems/cert_category', { }).then((res) => { if (res.success) { From da1effd003554a1306c1aba448d59a1f68f61163 Mon Sep 17 00:00:00 2001 From: liyawei Date: Thu, 3 Nov 2022 10:14:18 +0800 Subject: [PATCH 248/298] =?UTF-8?q?=E8=AE=A4=E8=B4=A6-=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E9=A1=B9=E6=94=B6=E9=9B=86-=E5=A1=AB=E5=86=99=E4=BA=BA?= =?UTF-8?q?=E5=AF=BC=E5=85=A5-bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ParamsCollectManifestEOServiceImpl.java | 117 +++++++++++++----- 1 file changed, 85 insertions(+), 32 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 782b75725..5e8efa641 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -1887,13 +1887,20 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl").append(nioNumber).append("").append("工程接口人没有填写,请填写完工程接口人再进行下发收集。"); } - } else { + } else if ("2".equals(type)) { if (CutEnum.EN.getValue().equals(cut)) { stringBuilder.append("NIO number is ").append(nioNumber).append(",state is ").append("").append(stateName).append("").append(",no operation permission for this button."); } else { stringBuilder.append("NIO编号为").append(nioNumber).append(",状态为").append("").append(stateName).append("").append(",没有此按钮的操作权限。"); } + } else if ("3".equals(type)) { + if (CutEnum.EN.getValue().equals(cut)) { + stringBuilder.append("NIO number is ").append(nioNumber).append(",state is ").append("").append(stateName).append("").append(", fail to import."); + } else { + stringBuilder.append("NIO编号为").append(nioNumber).append(",状态为").append("").append(stateName).append("").append(",导入失败。"); + } + } msgList.add(stringBuilder.toString()); @@ -2687,24 +2694,24 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> datas = result; if(datas!=null &&!datas.isEmpty()){ try { - int i = 0 ; - List> datasUpdate = new ArrayList<>(); +// int i = 0 ; +// List> datasUpdate = new ArrayList<>(); //处理空行数据,当读取exceL出现空行过多时,空行数为20以上时中断读取,将数据清洗为新的list - for(Map importDto :datas){ - if(i>20){ - break; - } - //判断此行数据是否全部为空 - if(checkObjAllFieldsIsNull(importDto)){ - i++; - //是则不读取 - continue; - } - i = 0; - datasUpdate.add(importDto); - } +// for(Map importDto :datas){ +// if(i>20){ +// break; +// } +// //判断此行数据是否全部为空 +// if(checkObjAllFieldsIsNull(importDto)){ +// i++; +// //是则不读取 +// continue; +// } +// i = 0; +// datasUpdate.add(importDto); +// } String unzipfilepath = zipEntryName; - Result message = importData(datasUpdate,unzipfilepath,cut,paramsManifestId); + Result message = importData(datas,unzipfilepath,cut,paramsManifestId); //删除原上传文件 FileUnZip.deleteDir(saveDirectory); return message; @@ -2771,6 +2778,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl configDataList = (List) map.get("configDataList"); + List> notImportNioNumberList = (List>) map.get("notImportNioNumberList"); for (ParamsConfigDataEO importDto : configDataList) { //判断此行数据是否全部为空,是则不读取 @@ -2809,13 +2817,19 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl msgList = getMsgOfIssueCollection(notImportNioNumberList, cut, "3"); + return Result.OK(null, msgList); + } else { - msg = "import " + countSuccess + " datas successfully"; + int countSuccess = configDataList.size(); + if (CutEnum.CN.getValue().equals(cut)) { + msg = "成功导入" + countSuccess + "条"; + } else { + msg = "import " + countSuccess + " datas successfully"; + } + return Result.OK(msg, null); } - return Result.OK(msg, null); } else { if (CutEnum.CN.getValue().equals(cut)) { msg = "导入失败"; @@ -3654,9 +3668,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl configIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); List paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(configIdList); - Map controlTypeMap = ControlTypeEnum.toMapForImport(cut); - Map controlVerifyMap = ControlVerifyEnum.toMapForImport(cut); - Map paramsIsMustMap = ParamsIsMustEnum.toMapForImport(cut); - //存放数据验证结果信息 List configDataList = new ArrayList<>(); + List verifyNioNumber = new ArrayList<>(); + List> notImportNioNumberList = new ArrayList<>(); List stringMessage = new ArrayList<>(); int i = 3; //记录行号 //循环验证数据 @@ -3698,10 +3710,50 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl resultMap = new HashMap<>(); String nioNumber = (String) dto.get("nio_number"); - String controlType = controlTypeMap.get((String) dto.get("control_type")); - String controlVerify = controlVerifyMap.get((String) dto.get("control_verify")); - String controlValues = (String) dto.get("control_values"); - String isMust = paramsIsMustMap.get((String) dto.get("is_must")); + if (StringUtils.isBlank(nioNumber)) { + continue; + } + + List listPCM = paramsCollectManifestEOList.stream().filter(e-> nioNumber.equals(e.getNioNumber())).collect(Collectors.toList()); + if (CollectionUtil.isEmpty(listPCM)) { + if (CutEnum.EN.getValue().equals(cut)) { + errorMsg += "NIO Number can not find; "; + } else{ + errorMsg += "NIO编号不存在;"; + } + countError++; + stringMessage.add(errorMsg); + continue; + } + + if (!verifyNioNumber.contains(nioNumber)) { + verifyNioNumber.add(nioNumber); + } else{ + if (CutEnum.EN.getValue().equals(cut)) { + errorMsg += "NIO Number is repeat; "; + } else{ + errorMsg += "NIO编号重复;"; + } + countError ++; + stringMessage.add(errorMsg); + continue; + } + + ParamsCollectManifestEO paramsCollectManifestEO = listPCM.get(0); + String state = paramsCollectManifestEO.getState(); + if (!CollectManifestStateEnum.WAIT_FILL.getValue().equals(state) && !CollectManifestStateEnum.CERT_BACK.getValue().equals(state)) { + Map msgMap = new HashMap<>(); + msgMap.put("nioNumber", nioNumber); + msgMap.put("state", state); + msgMap.put("type", "3"); + notImportNioNumberList.add(msgMap); + continue; + } + + String controlType = paramsCollectManifestEO.getControlType(); + String controlVerify = paramsCollectManifestEO.getControlVerify(); + String controlValues = paramsCollectManifestEO.getControlValues(); + String isMust = paramsCollectManifestEO.getIsMust(); for (Map.Entry entry : dto.entrySet()) { String key = entry.getKey(); String value = (String) entry.getValue(); @@ -3935,6 +3987,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl Date: Thu, 3 Nov 2022 10:41:44 +0800 Subject: [PATCH 249/298] =?UTF-8?q?=E5=8F=82=E6=95=B0=E9=A1=B9=E6=94=B6?= =?UTF-8?q?=E9=9B=86=E6=B8=85=E5=8D=95=E5=AF=BC=E5=85=A5=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/en-us.js | 1 + jero-web/src/common/lang/zh-cn.js | 1 + .../ImportFileOnlyListtag/index.vue | 284 ++++++++++++++++++ .../ParameterItemCollectionList.vue | 4 +- 4 files changed, 288 insertions(+), 2 deletions(-) create mode 100644 jero-web/src/components/ImportFileOnlyListtag/index.vue diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index a8968126c..21cd990a2 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -1359,4 +1359,5 @@ module.exports = { Topping:'Topping', cancelTopping:'Cancel Topping', relatedProjectVersion:'Related project version', + Importfailure:'Import failure', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 75ccb1096..0f950c1f5 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1460,4 +1460,5 @@ module.exports = { Topping:'置顶', cancelTopping:'取消置顶', relatedProjectVersion:'相关项目版本', + Importfailure:'导入失败', } \ No newline at end of file diff --git a/jero-web/src/components/ImportFileOnlyListtag/index.vue b/jero-web/src/components/ImportFileOnlyListtag/index.vue new file mode 100644 index 000000000..86a679cfa --- /dev/null +++ b/jero-web/src/components/ImportFileOnlyListtag/index.vue @@ -0,0 +1,284 @@ + + + + + + \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue index 88b5dc8a0..fa67d111c 100644 --- a/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue +++ b/jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue @@ -463,7 +463,7 @@ import AdjustareaSofrespon from '@/components/AdjustareaSofrespon/index' import ReferenceParameter from '@/components/ReferenceParameter/index' import AssignedBy from '@/components/AssignedBy/index' - import ImportFileOnlyList from '@/components/ImportFileOnlyList/index' + import ImportFileOnlyList from '@/components/ImportFileOnlyListtag/index' import axios from 'axios' import { ACCESS_TOKEN } from '@/store/mutation-types' import Vue from 'vue' @@ -935,7 +935,7 @@ ids: this.selectedRowKeys.join(','), exportName:this.$route.query.projectName + '(' + this.$route.query.title + ')' } - let name = this.$route.query.projectName + '(' + this.$route.query.title + ')' + '.xlsx' + let name = this.$route.query.projectName + '(' + this.$route.query.title + ')' + '.zip' downloadFile('/params/collectManifest/exportDre', name , query , this.selectClear) }, getList(){ From f0f977ebaa8f5a021010927a0fccefa34c12ce86 Mon Sep 17 00:00:00 2001 From: liyawei Date: Thu, 3 Nov 2022 11:28:30 +0800 Subject: [PATCH 250/298] =?UTF-8?q?=E8=AE=A4=E8=AF=81-=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E9=A1=B9=E6=94=B6=E9=9B=86-=E5=A1=AB=E5=86=99=E4=BA=BA?= =?UTF-8?q?=E5=AF=BC=E5=85=A5-bug62116?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ParamsCollectManifestEOServiceImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 5e8efa641..ddc059247 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -2645,8 +2645,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl Date: Thu, 3 Nov 2022 14:15:08 +0800 Subject: [PATCH 251/298] bug --- .../src/main/java/com/jero/modules/project/job/PrehomoJob.java | 2 +- .../java/com/jero/modules/project/job/VerifyComplianceJob.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java index 352110c00..915893fa7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/PrehomoJob.java @@ -170,7 +170,7 @@ public class PrehomoJob implements Job { } } //如果prehomo - 逾期后每天通知 - if (projectLawsInventoryEO.getDesignDueDate().before(currentDate)) { + if (!StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getPrehomoDueDate()))&&projectLawsInventoryEO.getDesignDueDate().before(currentDate)) { if(StringUtils.isNotEmpty(projectLawsInventoryEO.getDesignDutyId())){ dueUserIdList.add(projectLawsInventoryEO.getDesignDutyId()); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java index b96f9c712..65b071784 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/job/VerifyComplianceJob.java @@ -169,7 +169,7 @@ public class VerifyComplianceJob implements Job { } } //如果验证符合性 - 逾期后每天通知 - if (projectLawsInventoryEO.getVerifyDueDate().before(currentDate)) { + if (!StringUtils.equals(currentDateStr,sdf.format(projectLawsInventoryEO.getVerifyDueDate()))&&projectLawsInventoryEO.getVerifyDueDate().before(currentDate)) { if(StringUtils.isNotEmpty(projectLawsInventoryEO.getVerifyDutyId())){ dueUserIdList.add(projectLawsInventoryEO.getVerifyDutyId()); } From b5cbb527175258b217a7d756092f0eb90a4e4d05 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 3 Nov 2022 14:49:07 +0800 Subject: [PATCH 252/298] =?UTF-8?q?=E9=97=AE=E9=A2=98=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93=E8=AF=84=E8=AE=BA=E6=B6=88=E6=81=AF=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...blemKnowledgeBaseCommentEOServiceImpl.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java index a5a6e52ac..82050c16a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseCommentEOServiceImpl.java @@ -88,28 +88,33 @@ public class ProblemKnowledgeBaseCommentEOServiceImpl extends ServiceImpl"+ problemKnowledgeBaseEO.getTitle() + ""; + String contentINfoCNNo = "您发布的问题知识库信息"+href+"有新评论,请注意查看."; + String contentInfoENNo = "In the Q&A knowledge "+href+" you created, a new comment has been added. Please be reminded to check it out."; + + //发送消息(站内和飞书) //您发布的问题知识库信息XXXXXXXX有新评论,请注意查看。 //In the Q&A knowledge xxxxxxxx you created, a new comment has been added. Please be reminded to check it out. SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(Arrays.asList(sysUser.getId().split(",")), "msgTitle", contentENNo, - contentENNo, + contentInfoENNo, MessageTypeEnum.PUSH.getValue(), MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(), contentCNNo, - contentCNNo); + contentINfoCNNo); this.sysAnnouncementService.saveAnnouncement(sysAnnouncement); bussDocumentLibraryEOService.sendWebsocket(com.jero.modules.system.util.StringUtils.join(sysUser.getThirdId(), ","), sysUser.getThirdId()); - String href = backUrl +"/problemknowledgeBase"; +// String href = backUrl +"/problemknowledgeBase"; FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); feishuMsgVo.setTitle(MessageTypeEnum.PUSH.getNameCn()+"/"+MessageTypeEnum.PUSH.getName()); - feishuMsgVo.setUrl(href); + feishuMsgVo.setUrl(url); feishuMsgVo.setContentEn(contentENNo); feishuMsgVo.setContent(contentCNNo); From 906ee96ad07df0034419e21a02a4d6b724d932a4 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 3 Nov 2022 15:27:28 +0800 Subject: [PATCH 253/298] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DummyInventoryBaseEOServiceImpl.java | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java index f457388b6..123aea86b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java @@ -455,10 +455,14 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl" + baseEO.getName() + ""; + //消息英文--不带标签 String contentNo = "The "+ baseEO.getName()+" virtual list you subscribed to has been updated as follows:" + sbContentNo; //消息英文--带标签 - String contentYes = "The "+ baseEO.getName()+" virtual list you subscribed to has been updated as follows:"+ "
" + sbContentYes;; + String contentYes = "The "+ hrefTemp+" virtual list you subscribed to has been updated as follows:"+ "
" + sbContentYes;; int countInfoNo = 1; StringBuilder sbContentINfoNo = new StringBuilder(); @@ -483,9 +487,7 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl"+sbContentInfoYes; - - + String contentInfoYes = "您所订阅的"+hrefTemp+"虚拟清单已更新,更新内容如下:"+"
"+sbContentInfoYes; List userNameList = dummyReadEOService.queryReadUserInfo(dummyInventoryBaseEO.getId()); List thirdIdList = new ArrayList<>(); @@ -548,20 +550,25 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl userIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getId()).collect(Collectors.toList()); thirdIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getThirdId()).collect(Collectors.toList()); if(userIdList.size() != 0){ + String hrefTemp = "" + baseEO.getName() + ""; //封装消息的实体类 The XX virtual list you subscribed to has been withdrawn String title = "The "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn."; //Please note that the XX virtual list you subscribed to has been withdrawn. String contentLog = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn."; - String contentCn = "您订阅的虚拟清单"+ baseEO.getName()+"已被撤回."; - String contentInfoEn = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn."; + String contentCnNo = "您订阅的虚拟清单"+ baseEO.getName()+"已被撤回."; + String contentCnYes = "您订阅的虚拟清单"+ hrefTemp+"已被撤回."; + String contentInfoEnNo = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn."; + String contentInfoEnYes = "Please note that the "+ hrefTemp+" virtual list you subscribed to has been withdrawn."; SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, title, - contentInfoEn, - contentInfoEn, + contentInfoEnNo, + contentInfoEnYes, MessageTypeEnum.READ.getValue(), MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(), - contentCn,contentCn); + contentCnNo,contentCnYes); sysAnnouncementService.saveAnnouncement(sysAnnouncement); bussDocumentLibraryEOService.sendWebsocket(dummyInventoryBaseEO.getId(), title); } From aed6f2388022cd40a3ea9ba63e6b38ef7535463e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=B5=A9?= Date: Thu, 3 Nov 2022 15:32:47 +0800 Subject: [PATCH 254/298] =?UTF-8?q?=E5=90=88=E5=B9=B6=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/views/projectManagement/components/TaskList.vue | 2 -- 1 file changed, 2 deletions(-) diff --git a/jero-web/src/views/projectManagement/components/TaskList.vue b/jero-web/src/views/projectManagement/components/TaskList.vue index c33c24de9..9c409e443 100644 --- a/jero-web/src/views/projectManagement/components/TaskList.vue +++ b/jero-web/src/views/projectManagement/components/TaskList.vue @@ -191,7 +191,6 @@ - Date: Thu, 3 Nov 2022 16:06:07 +0800 Subject: [PATCH 255/298] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=BA=93--=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=91=98=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ProjectLibraryBaseServiceImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index 19caa49cd..f6ad08d25 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -41,6 +41,7 @@ import com.jero.modules.system.enums.DicCodeEnum; import com.jero.modules.system.mapper.SysDictItemMapper; import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.service.ISysDictService; +import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.util.StringUtils; import org.apache.commons.collections4.CollectionUtils; @@ -129,6 +130,9 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl projectLibraryBases = this.queryById(id,null); - if(!loginUser.getUsername().equals(projectLibraryBases.get(0).getCreateBy())){ + //管理员和创建人可以删除,其余人不能删除 + boolean administrator = sysUserService.isAdministrator(); + if(!loginUser.getUsername().equals(projectLibraryBases.get(0).getCreateBy()) && !administrator){ if(CutEnum.CN.getValue().equals(cut)){ throw new JeroBootException("该条项目非本人创建,不能删除"); }else{ From 895b13b57dd76d60edfb8e988cb83968136b3838 Mon Sep 17 00:00:00 2001 From: liyawei Date: Thu, 3 Nov 2022 17:10:08 +0800 Subject: [PATCH 256/298] =?UTF-8?q?=E8=AE=A4=E8=AF=81-=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E9=A1=B9=E6=94=B6=E9=9B=86-=E5=A1=AB=E5=86=99=E4=BA=BA?= =?UTF-8?q?=E5=AF=BC=E5=85=A5-bug62119?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IParamsCollectManifestEOService.java | 2 +- .../ParamsCollectManifestEOServiceImpl.java | 384 +++++++++++++----- 2 files changed, 293 insertions(+), 93 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java index 7a20536f8..9ab78c99b 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsCollectManifestEOService.java @@ -169,7 +169,7 @@ public interface IParamsCollectManifestEOService extends IService importDre(MultipartFile file, String cut, String paramsManifestId) throws IOException; + Result importDre(MultipartFile file, String cut, String paramsManifestId); Result importData(List> dataList, String unzipfilepath, diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 5b39498e7..032cb0d1e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -2518,7 +2518,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl importDre(MultipartFile file, String cut, String paramsManifestId) throws IOException { + public Result importDre(MultipartFile file, String cut, String paramsManifestId) { //验证文件名是否合格 /* 截取后缀名 */ int pos = file.getOriginalFilename().lastIndexOf("."); @@ -3265,26 +3265,101 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId()); - if (CollectionUtil.isNotEmpty(ossFileList)) { - configDataBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()).append("#"); - fileList.addAll(ossFileList); + if (ControlTypeEnum.TEXT.getValue().equals(controlType)) { + if (StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { + configDataBuilder.append(paramsConfigDataEO.getTextData()); } + + } else if (ControlTypeEnum.PULL_SINGLE.getValue().equals(controlType) + || ControlTypeEnum.PULL_MORE.getValue().equals(controlType)) { + if (StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { + configDataBuilder.append(paramsConfigDataEO.getPullData().replaceAll(",", "!")); + } + + } else if (ControlTypeEnum.FILE.getValue().equals(controlType)) { + if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { + List ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId()); + if (CollectionUtil.isNotEmpty(ossFileList)) { + configDataBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()); + + fileList.addAll(ossFileList); + } + + } + + } else if (ControlTypeEnum.TEXT_PULL_SINGLE.getValue().equals(controlType) + || ControlTypeEnum.TEXT_PULL_MORE.getValue().equals(controlType)) { + + if (StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { + configDataBuilder.append(paramsConfigDataEO.getTextData()); + } + + configDataBuilder.append("#"); + + if (StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { + configDataBuilder.append(paramsConfigDataEO.getPullData().replaceAll(",", "!")); + } + + } else if (ControlTypeEnum.TEXT_FILE.getValue().equals(controlType)) { + if (StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { + configDataBuilder.append(paramsConfigDataEO.getTextData()); + } + + configDataBuilder.append("#"); + if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { + List ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId()); + if (CollectionUtil.isNotEmpty(ossFileList)) { + configDataBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()); + + fileList.addAll(ossFileList); + } + + } + + } else if (ControlTypeEnum.PULL_SINGLE_FILE.getValue().equals(controlType) + || ControlTypeEnum.PULL_MORE_FILE.getValue().equals(controlType)) { + if (StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { + configDataBuilder.append(paramsConfigDataEO.getPullData().replaceAll(",", "!")); + } + + configDataBuilder.append("#"); + if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { + List ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId()); + if (CollectionUtil.isNotEmpty(ossFileList)) { + configDataBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()); + + fileList.addAll(ossFileList); + } + + } + + } else if (ControlTypeEnum.TEXT_PULL_SINGLE_FILE.getValue().equals(controlType)) { + if (StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) { + configDataBuilder.append(paramsConfigDataEO.getTextData()); + } + configDataBuilder.append("#"); + if (StringUtils.isNotEmpty(paramsConfigDataEO.getPullData())) { + configDataBuilder.append(paramsConfigDataEO.getPullData().replaceAll(",", "!")); + } + configDataBuilder.append("#"); + if (StringUtils.isNotEmpty(paramsConfigDataEO.getFileConnectId())) { + List ossFileList = ossFileService.getFileInfosByConnectId(paramsConfigDataEO.getFileConnectId()); + if (CollectionUtil.isNotEmpty(ossFileList)) { + configDataBuilder.append(nioNumber).append("/").append(ossFileList.get(0).getFileName()); + + fileList.addAll(ossFileList); + } + + } + } } String configData = configDataBuilder.toString(); - if (configData.contains("#")) { - configData = configData.substring(0, configData.lastIndexOf("#")); + if (StringUtils.isNotEmpty(configData) && "".equals(configData.replace("#", ""))) { + configData = configData.replace("#", ""); } record1.put(paramsConfigEO.getId(), configData); @@ -3826,22 +3901,43 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl 1) { - resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[1], isMust, true, cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setPullData(value.split("#")[1]); + if (StringUtils.isNotEmpty(value)) { + if (countChar(value, "#") != 1) { + if (CutEnum.CN.getValue().equals(cut)) { + errorMsg += configMap.get(key) + "控件类型顺序填写不正确;"; + } else { + errorMsg += configMap.get(key) + "'s control type order is filled in incorrectly; "; + } + countError++; + } else { + if (value.split("#").length > 1) { + resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[1], isMust, true, cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setPullData(value.split("#")[1]); - resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setTextData(value.split("#")[0]); + resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setTextData(value.split("#")[0]); - } else { - resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[0], isMust, true, cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setPullData(value.split("#")[0]); + } else if (value.split("#").length == 1 && value.endsWith("#")) { + // 校验必填 + if (IsMustEnum.YES.getValue().equals(isMust)) { + if (CutEnum.CN.getValue().equals(cut)) { + errorMsg += configMap.get(key) + "下拉单选为必填项,不能为空;"; + } else { + errorMsg += configMap.get(key) + " is mandatory and cannot be empty; "; + } + countError++; + } + resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setTextData(value.split("#")[0]); + + } + } } } @@ -3855,21 +3951,42 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl 1) { - resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[1], isMust, false, cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setPullData(value.split("#")[1]); + if (StringUtils.isNotEmpty(value)) { + if (countChar(value, "#") != 1) { + if (CutEnum.CN.getValue().equals(cut)) { + errorMsg += configMap.get(key) + "控件类型顺序填写不正确;"; + } else { + errorMsg += configMap.get(key) + "'s control type order is filled in incorrectly; "; + } + countError++; + } else { + if (value.split("#").length > 1) { + resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[1], isMust, false, cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setPullData(value.split("#")[1]); - resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setTextData(value.split("#")[0]); - } else { - resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[0], isMust, false, cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setPullData(value.split("#")[0]); + resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setTextData(value.split("#")[0]); + } else if (value.split("#").length == 1 && value.endsWith("#")) { + // 校验必填 + if (IsMustEnum.YES.getValue().equals(isMust)) { + if (CutEnum.CN.getValue().equals(cut)) { + errorMsg += configMap.get(key) + "下拉多选为必填项,不能为空;"; + } else { + errorMsg += configMap.get(key) + " is mandatory and cannot be empty; "; + } + countError++; + } + resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setTextData(value.split("#")[0]); + + } + } } } @@ -3882,18 +3999,35 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl 1) { + resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], isMust, "1000", cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setTextData(value.split("#")[0]); - if (value.split("#").length > 1) { - resultMap = validateFile(configMap.get(key), unzipfilepath, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setFileConnectId(value.split("#")[1]); - } + resultMap = validateFile(configMap.get(key), unzipfilepath, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setFileConnectId(value.split("#")[1]); + } else if (value.split("#").length == 1 && value.endsWith("#")) { + resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], isMust, "1000", cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setTextData(value.split("#")[0]); + + } + } + } } } else if (ControlTypeEnum.PULL_SINGLE_FILE.getValue().equals(controlType)) { @@ -3906,16 +4040,32 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl 1) { + resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[0], isMust, true, cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setPullData(value.split("#")[0]); - if (value.split("#").length > 1) { - resultMap = validateFile(configMap.get(key), unzipfilepath, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setFileConnectId(value.split("#")[1]); + resultMap = validateFile(configMap.get(key), unzipfilepath, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setFileConnectId(value.split("#")[1]); + } else if (value.split("#").length == 1 && value.endsWith("#")) { + resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[0], isMust, true, cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setPullData(value.split("#")[0]); + } + } } } @@ -3929,16 +4079,33 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl 1) { + resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[0], isMust, false, cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setPullData(value.split("#")[0]); - if (value.split("#").length > 1) { - resultMap = validateFile(configMap.get(key), unzipfilepath, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setFileConnectId(value.split("#")[1]); + resultMap = validateFile(configMap.get(key), unzipfilepath, value.split("#")[1], ParamsIsMustEnum.NO.getValue(), cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setFileConnectId(value.split("#")[1]); + } else if (value.split("#").length == 1 && value.endsWith("#")) { + resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[0], isMust, false, cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setPullData(value.split("#")[0]); + + } + } } } @@ -3952,28 +4119,51 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl 1) { - resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[1], isMust, true, cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setPullData(value.split("#")[1]); + if(StringUtils.isNotEmpty(value)) { + if (countChar(value, "#") != 2) { + if (CutEnum.CN.getValue().equals(cut)) { + errorMsg += configMap.get(key) + "控件类型顺序填写不正确;"; + } else { + errorMsg += configMap.get(key) + "'s control type order is filled in incorrectly; "; + } + countError++; + } else { + if (value.split("#").length > 1) { + resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[1], isMust, true, cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setPullData(value.split("#")[1]); - resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setTextData(value.split("#")[0]); + resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setTextData(value.split("#")[0]); - if (value.split("#").length > 2) { - resultMap = validateFile(configMap.get(key), unzipfilepath, value.split("#")[2], ParamsIsMustEnum.NO.getValue(), cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setFileConnectId(value.split("#")[2]); + if (!value.endsWith("#")) { //3 + resultMap = validateFile(configMap.get(key), unzipfilepath, value.split("#")[2], ParamsIsMustEnum.NO.getValue(), cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setFileConnectId(value.split("#")[2]); + + } + + } else if (value.split("#").length == 1 && value.endsWith("#")) { + // 校验必填 + if (IsMustEnum.YES.getValue().equals(isMust)) { + if (CutEnum.CN.getValue().equals(cut)) { + errorMsg += configMap.get(key) + "下拉单选为必填项,不能为空;"; + } else { + errorMsg += configMap.get(key) + " is mandatory and cannot be empty; "; + } + countError++; + } + + resultMap = validateText(configMap.get(key), controlVerify, value.split("#")[0], ParamsIsMustEnum.NO.getValue(), "1000", cut); + errorMsg += (String) resultMap.get("errorMsg"); + countError += (int) resultMap.get("countError"); + configDataEO.setTextData(value.split("#")[0]); + } } - } else { - resultMap = validatePull(configMap.get(key), controlValues, value.split("#")[0], isMust, false, cut); - errorMsg += (String) resultMap.get("errorMsg"); - countError += (int) resultMap.get("countError"); - configDataEO.setPullData(value.split("#")[0]); } } @@ -4389,4 +4579,14 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl Date: Thu, 3 Nov 2022 17:11:16 +0800 Subject: [PATCH 257/298] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E6=92=A4=E5=9B=9E=E4=B8=8D=E9=9C=80=E8=A6=81=E5=8F=91=E6=B6=88?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/DummyInventoryBaseEOServiceImpl.java | 88 +++++++++---------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java index 21787ed53..e7692c4c6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java @@ -547,52 +547,52 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl userNameList = dummyReadEOService.queryReadUserInfo(dummyInventoryBaseEO.getId()); - List thirdIdList = new ArrayList<>(); - if(userNameList.size() != 0){ - List userIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getId()).collect(Collectors.toList()); - thirdIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getThirdId()).collect(Collectors.toList()); - if(userIdList.size() != 0){ - String hrefTemp = "" + baseEO.getName() + ""; - //封装消息的实体类 The XX virtual list you subscribed to has been withdrawn - String title = "The "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn."; - //Please note that the XX virtual list you subscribed to has been withdrawn. - String contentLog = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn."; +// try { +// List userNameList = dummyReadEOService.queryReadUserInfo(dummyInventoryBaseEO.getId()); +// List thirdIdList = new ArrayList<>(); +// if(userNameList.size() != 0){ +// List userIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getId()).collect(Collectors.toList()); +// thirdIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getThirdId()).collect(Collectors.toList()); +// if(userIdList.size() != 0){ +// String hrefTemp = "" + baseEO.getName() + ""; +// //封装消息的实体类 The XX virtual list you subscribed to has been withdrawn +// String title = "The "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn."; +// //Please note that the XX virtual list you subscribed to has been withdrawn. +// String contentLog = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn."; - String contentCnNo = "您订阅的虚拟清单"+ baseEO.getName()+"已被撤回."; - String contentCnYes = "您订阅的虚拟清单"+ hrefTemp+"已被撤回."; - String contentInfoEnNo = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn."; - String contentInfoEnYes = "Please note that the "+ hrefTemp+" virtual list you subscribed to has been withdrawn."; - SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, - title, - contentInfoEnNo, - contentInfoEnYes, - MessageTypeEnum.READ.getValue(), - MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(), - contentCnNo,contentCnYes); - sysAnnouncementService.saveAnnouncement(sysAnnouncement); - bussDocumentLibraryEOService.sendWebsocket(dummyInventoryBaseEO.getId(), title); - } - } +// String contentCnNo = "您订阅的虚拟清单"+ baseEO.getName()+"已被撤回."; +// String contentCnYes = "您订阅的虚拟清单"+ hrefTemp+"已被撤回."; +// String contentInfoEnNo = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn."; +// String contentInfoEnYes = "Please note that the "+ hrefTemp+" virtual list you subscribed to has been withdrawn."; +// SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, +// title, +// contentInfoEnNo, +// contentInfoEnYes, +// MessageTypeEnum.READ.getValue(), +// MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(), +// contentCnNo,contentCnYes); +// sysAnnouncementService.saveAnnouncement(sysAnnouncement); +// bussDocumentLibraryEOService.sendWebsocket(dummyInventoryBaseEO.getId(), title); +// } +// } //飞书 - if(thirdIdList.size() != 0){ - String contentInfoTemp = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn."; - String contentInfoFeiCn = "您订阅的虚拟清单"+ baseEO.getName()+"已被撤回."; - String href = backUrl + "/virtualListDetails?name=" + baseEO.getName() + "&useExplain=" + baseEO.getUseExplain() +"&id=" + baseEO.getId() +"&title=维护虚拟清单"; - FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); - feishuMsgVo.setTitle(MessageTypeEnum.READ.getNameCn()+"/"+MessageTypeEnum.READ.getName()); - feishuMsgVo.setUrl(href); - feishuMsgVo.setContentEn(contentInfoTemp); - feishuMsgVo.setContent(contentInfoFeiCn); - iFeishuService.sendCardMsgVirtua(thirdIdList.toArray(new String[]{}), feishuMsgVo,null,null); -// iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentInfoTemp, MessageTypeEnum.PUSH.getName(), href); - } - }catch (Exception e){ - e.printStackTrace(); - } +// if(thirdIdList.size() != 0){ +// String contentInfoTemp = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn."; +// String contentInfoFeiCn = "您订阅的虚拟清单"+ baseEO.getName()+"已被撤回."; +// String href = backUrl + "/virtualListDetails?name=" + baseEO.getName() + "&useExplain=" + baseEO.getUseExplain() +"&id=" + baseEO.getId() +"&title=维护虚拟清单"; +// FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); +// feishuMsgVo.setTitle(MessageTypeEnum.READ.getNameCn()+"/"+MessageTypeEnum.READ.getName()); +// feishuMsgVo.setUrl(href); +// feishuMsgVo.setContentEn(contentInfoTemp); +// feishuMsgVo.setContent(contentInfoFeiCn); +// iFeishuService.sendCardMsgVirtua(thirdIdList.toArray(new String[]{}), feishuMsgVo,null,null); +//// iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentInfoTemp, MessageTypeEnum.PUSH.getName(), href); +// } +// }catch (Exception e){ +// e.printStackTrace(); +// } } } // /** From 3f19a27246f61e3a800e1fa30d5fb9f85cff06bd Mon Sep 17 00:00:00 2001 From: liyawei Date: Thu, 3 Nov 2022 22:03:07 +0800 Subject: [PATCH 258/298] =?UTF-8?q?=E8=AE=A4=E8=AF=81-=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E9=A1=B9=E6=94=B6=E9=9B=86-=E5=A1=AB=E5=86=99=E4=BA=BA?= =?UTF-8?q?=E5=AF=BC=E5=85=A5-bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ParamsCollectManifestEOServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 032cb0d1e..85ff6e8d9 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -2806,7 +2806,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl Date: Fri, 4 Nov 2022 09:05:36 +0800 Subject: [PATCH 259/298] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0-=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=E6=A0=87=E8=AE=B0bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/modules/system/mapper/xml/TodoCenterMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml index a3a40b79c..75a7e43c2 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/TodoCenterMapper.xml @@ -49,8 +49,8 @@ From 66ed688f79a75308dccca3531a27fa74a76bb1c2 Mon Sep 17 00:00:00 2001 From: CD <1103614279@qq.com> Date: Fri, 4 Nov 2022 09:11:20 +0800 Subject: [PATCH 260/298] bug62162 --- ...ectTaskInventoryFeedbackEOServiceImpl.java | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryFeedbackEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryFeedbackEOServiceImpl.java index 5d96f809a..96b769351 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryFeedbackEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectTaskInventoryFeedbackEOServiceImpl.java @@ -477,13 +477,13 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl queryOneWrapper = new QueryWrapper<>(); - queryOneWrapper.lambda().eq(SysUser::getId,initiatorId); - SysUser sysUser = this.sysUserService.getBaseMapper().selectOne(queryOneWrapper); - initiator = sysUser.getUsername(); - } + //String initiator = ""; + //if (StringUtils.isNotEmpty(initiatorId)) { + // QueryWrapper queryOneWrapper = new QueryWrapper<>(); + // queryOneWrapper.lambda().eq(SysUser::getId,initiatorId); + // SysUser sysUser = this.sysUserService.getBaseMapper().selectOne(queryOneWrapper); + // initiator = sysUser.getUsername(); + //} //feishuMsgVo.setInitiator(initiator); //MessageTypeEnum messageTypeEnum = null; @@ -518,12 +518,12 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl Date: Fri, 4 Nov 2022 09:23:18 +0800 Subject: [PATCH 261/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A6=85=E9=81=93?= =?UTF-8?q?=E5=B7=B2=E7=9F=A5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../splitting/modules/SplitDetail.vue | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/jero-web/src/views/documentManage/splitting/modules/SplitDetail.vue b/jero-web/src/views/documentManage/splitting/modules/SplitDetail.vue index 043fd45b1..d5bd07ddc 100644 --- a/jero-web/src/views/documentManage/splitting/modules/SplitDetail.vue +++ b/jero-web/src/views/documentManage/splitting/modules/SplitDetail.vue @@ -42,7 +42,7 @@ {{title && title.length > 18?title.slice(0,17)+'...':title}} diff --git a/jero-web/src/views/dashboard/components/monthlyReportRegulations.vue b/jero-web/src/views/dashboard/components/monthlyReportRegulations.vue index 7955c1749..a6caefcff 100644 --- a/jero-web/src/views/dashboard/components/monthlyReportRegulations.vue +++ b/jero-web/src/views/dashboard/components/monthlyReportRegulations.vue @@ -17,7 +17,7 @@

- {{$t('dataLoading')}} + {{$t('dataLoading')}}
diff --git a/jero-web/src/views/dashboard/components/myList.vue b/jero-web/src/views/dashboard/components/myList.vue index b3e9180d5..6e92d7091 100644 --- a/jero-web/src/views/dashboard/components/myList.vue +++ b/jero-web/src/views/dashboard/components/myList.vue @@ -30,7 +30,7 @@
- {{$t('dataLoading')}} + {{$t('dataLoading')}}
diff --git a/jero-web/src/views/dashboard/components/myNews.vue b/jero-web/src/views/dashboard/components/myNews.vue index 3d693062a..fe22a2d10 100644 --- a/jero-web/src/views/dashboard/components/myNews.vue +++ b/jero-web/src/views/dashboard/components/myNews.vue @@ -26,7 +26,7 @@
- {{$t('dataLoading')}} + {{$t('dataLoading')}}
diff --git a/jero-web/src/views/projectManagement/components/ProjectDetails.vue b/jero-web/src/views/projectManagement/components/ProjectDetails.vue index f4e32f59c..1a5bf7a42 100644 --- a/jero-web/src/views/projectManagement/components/ProjectDetails.vue +++ b/jero-web/src/views/projectManagement/components/ProjectDetails.vue @@ -308,7 +308,7 @@ .text-field-content { width: 100%; - margin-bottom: 8px; + margin-bottom: 34px; .text-field-left { width: 124px; From b785097622cf19b8b02f8027de32eec1b8c79f44 Mon Sep 17 00:00:00 2001 From: liyawei Date: Fri, 4 Nov 2022 17:25:58 +0800 Subject: [PATCH 276/298] =?UTF-8?q?=E5=BE=85=E5=8A=9E=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E5=8F=82=E6=95=B0-bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/xml/ParamsCollectManifestEOMapper.xml | 2 +- .../impl/ParamsCollectManifestEOServiceImpl.java | 14 ++++++++------ .../impl/SarFileSplitMenuEOServiceImpl.java | 5 ++++- .../impl/ParamsManifestTodoCenterServiceImpl.java | 2 +- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml index f26174908..de267b0bb 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml @@ -86,7 +86,7 @@ diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysAnnouncementSendService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysAnnouncementSendService.java index d80d113d5..c58cc1973 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysAnnouncementSendService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysAnnouncementSendService.java @@ -23,7 +23,7 @@ public interface ISysAnnouncementSendService extends IService getMyAnnouncementSendPage(Page page,AnnouncementSendModel announcementSendModel); + public Page getMyAnnouncementSendPage(Page page,AnnouncementSendModel announcementSendModel,String cut); List getMessageUnreadList(); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysAnnouncementSendServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysAnnouncementSendServiceImpl.java index c9f62b243..d6e3fbc3b 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysAnnouncementSendServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysAnnouncementSendServiceImpl.java @@ -4,6 +4,7 @@ import java.util.List; import javax.annotation.Resource; +import com.jero.common.constant.enums.CutEnum; import com.jero.common.system.vo.LoginUser; import com.jero.modules.system.entity.SysAnnouncementSend; import com.jero.modules.system.mapper.SysAnnouncementSendMapper; @@ -34,7 +35,11 @@ public class SysAnnouncementSendServiceImpl extends ServiceImpl getMyAnnouncementSendPage(Page page, - AnnouncementSendModel announcementSendModel) { + AnnouncementSendModel announcementSendModel,String cut) { + if(CutEnum.CN.getValue().equals(cut)){ + announcementSendModel.setMsgContentCn(announcementSendModel.getMsgContent()); + announcementSendModel.setMsgContent(null); + } return page.setRecords(sysAnnouncementSendMapper.getMyAnnouncementSendList(page, announcementSendModel)); } From 92618c37b825932a5a51797f33df3ffa80d729da Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Wed, 9 Nov 2022 13:50:03 +0800 Subject: [PATCH 289/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E6=A0=87=E9=A2=98=E5=B1=95=E7=A4=BA=20=E6=B3=95=E8=A7=84?= =?UTF-8?q?=E9=A2=84=E8=AD=A6=E5=A2=9E=E5=8A=A0=E8=B7=B3=E8=BD=AC=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/components/tools/HeaderNotice.vue | 4 ++-- jero-web/src/views/dashboard/components/myNews.vue | 4 ++-- .../src/views/regulatoryEarlyWarning/index.vue | 14 +++++++++++++- jero-web/src/views/system/UserAnnouncementList.vue | 6 +++--- 4 files changed, 20 insertions(+), 8 deletions(-) diff --git a/jero-web/src/components/tools/HeaderNotice.vue b/jero-web/src/components/tools/HeaderNotice.vue index 0233fec30..52298ebb1 100644 --- a/jero-web/src/components/tools/HeaderNotice.vue +++ b/jero-web/src/components/tools/HeaderNotice.vue @@ -15,9 +15,9 @@ diff --git a/jero-web/src/views/dashboard/components/myNews.vue b/jero-web/src/views/dashboard/components/myNews.vue index fe22a2d10..a41bfc74b 100644 --- a/jero-web/src/views/dashboard/components/myNews.vue +++ b/jero-web/src/views/dashboard/components/myNews.vue @@ -11,8 +11,8 @@
-
- {{language == 'zh-cn'?item.msgContentCn:item.msgContent}} +
+ {{language == 'zh-cn' && item.msgContentCn?item.msgContentCn:item.msgContent}}
{{item.sendTime}} diff --git a/jero-web/src/views/regulatoryEarlyWarning/index.vue b/jero-web/src/views/regulatoryEarlyWarning/index.vue index 1d39b7282..2e38e9c4e 100644 --- a/jero-web/src/views/regulatoryEarlyWarning/index.vue +++ b/jero-web/src/views/regulatoryEarlyWarning/index.vue @@ -38,6 +38,9 @@ :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :columns="columns" > + + {{text}} + {{text}} @@ -164,7 +167,7 @@ dataIndex: 'title', ellipsis: true, width: 170, - scopedSlots: { customRender: 'titleName' } + scopedSlots: { customRender: 'serial_number' } }, { title: this.$t('status'), @@ -244,6 +247,15 @@ eventBUs.$off('searchQuery') }, methods: { + standClick(val){ + let newUrl = this.$router.resolve({ + path: '/docManage/library/detail', + query: { + id: val.id + } + }) + window.open(newUrl.href, '_blank') + }, callback(tab) { this.selectedRowKeys = [] this.activeTab = tab diff --git a/jero-web/src/views/system/UserAnnouncementList.vue b/jero-web/src/views/system/UserAnnouncementList.vue index eb6183d14..019721871 100644 --- a/jero-web/src/views/system/UserAnnouncementList.vue +++ b/jero-web/src/views/system/UserAnnouncementList.vue @@ -73,8 +73,8 @@ - {{language == 'zh-cn' ? scope.msgContentCn : scope.msgContent}} + :title="language == 'zh-cn' && scope.msgContentCn? scope.msgContentCn : scope.msgContent"> + {{language == 'zh-cn' && scope.msgContentCn? scope.msgContentCn : scope.msgContent}} @@ -84,7 +84,7 @@

- +

From 6eaba7770fe4b11e000991e312ee2e146dd0bc87 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Wed, 9 Nov 2022 17:28:27 +0800 Subject: [PATCH 290/298] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../businessSupport/problemKnowledgeBase/index.vue | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/index.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/index.vue index 61d4e96ee..7c008db5a 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/index.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/index.vue @@ -4,7 +4,7 @@ - + @@ -13,6 +13,7 @@ diff --git a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue index 511849faa..cd452ed81 100644 --- a/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue +++ b/jero-web/src/views/businessSupport/problemKnowledgeBase/components/problemKnowledgeBaseListView.vue @@ -34,8 +34,10 @@ {{queryForm.createBy}}
- - {{queryForm.standNumber}} +
+ + {{value}} +
@@ -447,6 +449,14 @@ this.queryForm = row this.$refs.SelectedByRef.getPush() }, + detailClick(item,key) { + this.$router.push({ + path: '/docManage/library/detail', + query: { + id: item.bussDocumentLibraryId.split(',')[key] + }, + }) + }, SelectedByForm(userIds) { let query = { userIds: userIds, From db04a93b4078d7eb296469a8b914532e5b70e57e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=B5=A9?= Date: Fri, 11 Nov 2022 09:17:59 +0800 Subject: [PATCH 296/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E6=90=9C=E7=B4=A2=E4=B8=AD=E5=BF=83?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E7=9F=A5=E8=AF=86=E5=88=86=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ProblemKnowledgeBaseEOServiceImpl.java | 8 ++++---- .../modules/searchcenter/enums/ModuleTypeFlagEnum.java | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java index 474832c10..03c26a557 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/ProblemKnowledgeBaseEOServiceImpl.java @@ -196,15 +196,15 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl stringMapEn = new HashMap<>(); this.problemKnowledgeBaseEOConvertMapByCut(problemKnowledgeBaseEO,CutEnum.EN.getValue(),stringMapEn); - this.putMap(problemKnowledgeBaseId,sbCn.toString(),CutEnum.CN.getValue(),stringMapCn,SEARCH_FLAG,"问题知识库"); - this.putMap(problemKnowledgeBaseId,sbEn.toString(),CutEnum.EN.getValue(),stringMapEn,SEARCH_FLAG,"Problem knowledge base"); + this.putMap(problemKnowledgeBaseId,sbCn.toString(),CutEnum.CN.getValue(),stringMapCn,SEARCH_FLAG,"知识分享"); + this.putMap(problemKnowledgeBaseId,sbEn.toString(),CutEnum.EN.getValue(),stringMapEn,SEARCH_FLAG,"Knowledge Sharing"); Map stringMapCnBase = new HashMap<>(); this.problemKnowledgeBaseEOConvertMapByCut(problemKnowledgeBaseEO,CutEnum.EN.getValue(),stringMapCnBase); Map stringMapEnBase = new HashMap<>(); this.problemKnowledgeBaseEOConvertMapByCut(problemKnowledgeBaseEO,CutEnum.EN.getValue(),stringMapEnBase); - this.putMap(problemKnowledgeBaseId,sbCn.toString(),CutEnum.CN.getValue(),stringMapCnBase,null,"问题知识库"); - this.putMap(problemKnowledgeBaseId,sbEn.toString(),CutEnum.EN.getValue(),stringMapEnBase,null,"Problem knowledge base"); + this.putMap(problemKnowledgeBaseId,sbCn.toString(),CutEnum.CN.getValue(),stringMapCnBase,null,"知识分享"); + this.putMap(problemKnowledgeBaseId,sbEn.toString(),CutEnum.EN.getValue(),stringMapEnBase,null,"Knowledge Sharing"); mapListTempCn.add(stringMapCn); mapListTempEn.add(stringMapEn); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/enums/ModuleTypeFlagEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/enums/ModuleTypeFlagEnum.java index dd0b61d4b..fd9c7f0e6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/enums/ModuleTypeFlagEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/enums/ModuleTypeFlagEnum.java @@ -3,7 +3,7 @@ package com.jero.modules.searchcenter.enums; public enum ModuleTypeFlagEnum { DOCUMENT_LIBRARY("文档库","WDK"), LAWS_MONTHLY_REPORT("法规月报","FGYB"), - PROBLEM_KNOWLEDGE_BASE_CLASSIFY("问题知识库","WTZSK"); + PROBLEM_KNOWLEDGE_BASE_CLASSIFY("知识分享","WTZSK"); String name; String value; From dc967e7066a8fe3b8c0e4a3caf7bfe6947071880 Mon Sep 17 00:00:00 2001 From: sunFlower <787203167@qq.com> Date: Fri, 11 Nov 2022 10:37:03 +0800 Subject: [PATCH 297/298] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/views/dashboard/components/myList.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jero-web/src/views/dashboard/components/myList.vue b/jero-web/src/views/dashboard/components/myList.vue index 7a62e70d5..a3f743475 100644 --- a/jero-web/src/views/dashboard/components/myList.vue +++ b/jero-web/src/views/dashboard/components/myList.vue @@ -94,7 +94,7 @@ }, moreClick() { this.$router.push({ - path: '/ProcessCenter' + path: '/projectRegulationTasks' }) }, prcClick(row) { From 9c88a2b6154d88c16a7a726cd212cc40873f99b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=B5=A9?= Date: Fri, 11 Nov 2022 12:31:19 +0800 Subject: [PATCH 298/298] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E7=9F=A5=E8=AF=86=E5=BA=93=E6=90=9C=E7=B4=A2null=E7=9A=84id?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DocumentSearchServiceImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java index 1be72fe12..03e90bafc 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/searchcenter/service/impl/DocumentSearchServiceImpl.java @@ -1488,7 +1488,13 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService { List problemKnowledgeBaseUserEOList = this.problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper); if(CollectionUtils.isNotEmpty(problemKnowledgeBaseUserEOList)){ - List problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList()); + List problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().filter(e->{ + boolean flag = false; + if(StringUtils.isNotEmpty(e.getProblemKnowledgeBaseId())){ + flag = true; + } + return flag; + }).map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList()); //in查询该用户拥有权限的问题知识库id。 Map fieldKeyMap2 = new HashMap<>();