diff --git a/jero-boot/db/蔚来标准sql/first_bug_fix_record.sql b/jero-boot/db/蔚来标准sql/first_bug_fix_record.sql index 22b43150c..8cd569344 100644 --- a/jero-boot/db/蔚来标准sql/first_bug_fix_record.sql +++ b/jero-boot/db/蔚来标准sql/first_bug_fix_record.sql @@ -8,3 +8,5 @@ ALTER TABLE `dummy_inventory_info` ADD COLUMN `verify_remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '验证备注' AFTER `applicable_supplement`, ADD COLUMN `prehomo_remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'pre备注' AFTER `verify_remark`, ADD COLUMN `design_remark` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '设计备注' AFTER `prehomo_remark`; + +-- 2022年7月2日部署到正式环境 diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java index 6cc8feeff..88cada6f2 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java @@ -10,6 +10,7 @@ import com.jero.common.system.base.controller.JeroController; import com.jero.modules.cert.collect.entity.ParamsConfigEO; import com.jero.modules.cert.collect.entity.ParamsManifestEO; import com.jero.modules.cert.collect.enums.ManifestStateEnum; +import com.jero.modules.cert.collect.service.IParamsCollectManifestEOService; import com.jero.modules.cert.collect.service.IParamsConfigEOService; import com.jero.modules.cert.collect.service.IParamsManifestEOService; import com.jero.modules.cert.collect.vo.ParamsManifestHistoryVO; @@ -21,6 +22,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; +import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -48,6 +50,9 @@ public class ParamsManifestEOController extends JeroController queryPageList(ParamsManifestEO paramsManifestEO, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @@ -123,6 +128,21 @@ public class ParamsManifestEOController extends JeroController getManifestConfigFlag(@RequestParam(name="paramsManifestId", required = true) String paramsManifestId) { + boolean configFlag = paramsCollectManifestEOService.getManifestConfigFlag(paramsManifestId); + return Result.OK(configFlag); + } + /** * 添加 * @@ -132,7 +152,7 @@ public class ParamsManifestEOController extends JeroController add(@Validated @RequestBody ParamsManifestEO paramsManifestEO) { boolean isSuccess = paramsManifestEOService.add(paramsManifestEO); if (isSuccess) { @@ -151,7 +171,7 @@ public class ParamsManifestEOController extends JeroController edit(@Validated @RequestBody ParamsManifestEO paramsManifestEO) { boolean isSuccess = paramsManifestEOService.editById(paramsManifestEO); if (isSuccess) { @@ -170,7 +190,7 @@ public class ParamsManifestEOController extends JeroController delete(@RequestParam(name="id",required=true) String id, @RequestParam(name="cut",required=true) String cut) { boolean isSuccess = paramsManifestEOService.deleteById(id, cut); if (isSuccess) { @@ -189,7 +209,7 @@ public class ParamsManifestEOController extends JeroController deleteBatch(@RequestBody ParamsManifestVO paramsManifestVO) { if (StringUtils.isEmpty(paramsManifestVO.getIds()) || StringUtils.isEmpty(paramsManifestVO.getCut())) { return Result.error("参数不能为空!"); @@ -211,7 +231,7 @@ public class ParamsManifestEOController extends JeroController changeExtension(@RequestParam(name="id",required=true) String id, @RequestParam(name="cut",required=true) String cut) { boolean isSuccess = paramsManifestEOService.changeExtension(id, cut); if(isSuccess) { @@ -230,7 +250,7 @@ public class ParamsManifestEOController extends JeroController history(@RequestParam(name="title",required=true) String title) { List historyVersionList = paramsManifestEOService.getHistoryVersionList(title); return Result.OK(historyVersionList); @@ -245,7 +265,7 @@ public class ParamsManifestEOController extends JeroController getAllManifest(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @RequestParam(name="projectName",required=false) String projectName) { @@ -262,7 +282,7 @@ public class ParamsManifestEOController extends JeroController getParamsTemplatePageOfCopy(ParamsTemplateEO paramsTemplateEO, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, @@ -281,7 +301,7 @@ public class ParamsManifestEOController extends JeroController copy(@RequestBody ParamsManifestVO paramsManifestVO) { ParamsManifestEO paramsManifestEO = new ParamsManifestEO(); BeanUtils.copyProperties(paramsManifestVO, paramsManifestEO); @@ -297,7 +317,7 @@ public class ParamsManifestEOController extends JeroController queryList(@RequestParam(name = "paramsManifestId") String paramsManifestId) { List list = paramsConfigEOService.queryList(paramsManifestId); if (CollectionUtil.isNotEmpty(list)) { diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java index 68430dd6e..4862bf93f 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java @@ -97,9 +97,6 @@ public class ParamsManifestEO implements Serializable { @TableField(exist = false) private String paramsTemplateName; - @TableField(exist = false) - private Boolean configFlag; // true-可添加配置;false-不可添加配置 - @TableField(exist = false) private String cut; diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml index 3b63ab594..0952a335f 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsCollectManifestEOMapper.xml @@ -62,9 +62,6 @@ AND (sdt = #{paramsCollectManifestEO.sdt} or dre = #{paramsCollectManifestEO.dreForAuth}) AND state in ('2','4','5','6','7','8') - - AND (sdt = #{paramsCollectManifestEO.sdt} or dre = #{paramsCollectManifestEO.dreForAuth}) - diff --git a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 55655c56c..d3b92f15d 100644 --- a/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-module-certification/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -36,6 +36,7 @@ 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.FeishuMsgVo; +import com.jero.modules.ocr.service.WebSocketServer; import com.jero.modules.ocr.util.LineHumpUtil; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; @@ -115,7 +116,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl list = pageInfo.getRecords(); // 查询固定列 @@ -886,31 +887,29 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> userTypeList = new ArrayList<>(); // 一个用户可以有多个用户类型 LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录用户 - // 查询项目下所有责任领域下的 homo,sdt人员 + // 查询项目下所有责任领域下的 homo人员 + List projectLibraryBaseList = projectLibraryBaseMapper.queryById(projectId); + List homoList = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(projectLibraryBaseList)) { + String homoIdStr = projectLibraryBaseList.get(0).getCertificationEngineer(); + if (StringUtils.isNotEmpty(homoIdStr)) { + List homoIdList = Arrays.asList(homoIdStr.split(",")).stream().distinct().collect(Collectors.toList()); + homoList = sysUserService.listByIds(homoIdList).stream().map(SysUser::getUsername).collect(Collectors.toList()); + } + } + + // 查询项目下所有责任领域下的 sdt人员 + List sdtList = new ArrayList<>(); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(ProjectRelatedPersonnel::getProjectId, projectId); List prpList = projectRelatedPersonnelService.list(queryWrapper); - - String homoIdStr = prpList.stream().map(e -> e.getCertificationEngineer()).collect(Collectors.joining(",")); +// String homoIdStr = prpList.stream().map(e -> e.getCertificationEngineer()).collect(Collectors.joining(",")); String sdtIdStr = prpList.stream().map(e -> e.getEngineeringInterfacePerson()).collect(Collectors.joining(",")); - List homoList = new ArrayList<>(); - if (StringUtils.isNotEmpty(homoIdStr)) { - List homoIdList = Arrays.asList(homoIdStr.split(",")).stream().distinct().collect(Collectors.toList()); - homoList = sysUserService.listByIds(homoIdList).stream().map(SysUser::getUsername).collect(Collectors.toList()); - } else { - Map map = new HashMap<>(); - if (CutEnum.CN.getValue().equals(cut)) { - map.put("label", CollectManifestUserTypeEnum.GUEST.getName()); - } else { - map.put("label", CollectManifestUserTypeEnum.GUEST.getEnName()); - } - map.put("value", CollectManifestUserTypeEnum.GUEST.getValue()); - userTypeList.add(map); - return userTypeList; + // 项目下有homo-->不一定有sdt + if(StringUtils.isNotBlank(sdtIdStr)) { + List sdtIdList = Arrays.asList(sdtIdStr.split(",")).stream().distinct().collect(Collectors.toList()); + sdtList = sysUserService.listByIds(sdtIdList).stream().map(SysUser::getUsername).collect(Collectors.toList()); } - // 项目下有homo-->必定有sdt - List sdtIdList = Arrays.asList(sdtIdStr.split(",")).stream().distinct().collect(Collectors.toList()); - List sdtList = sysUserService.listByIds(sdtIdList).stream().map(SysUser::getUsername).collect(Collectors.toList()); // 查询项目下参数清单下收集参数项中的 sdt,dre人员 ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO(); @@ -921,7 +920,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl dreListOfPCM = pcmList.stream() .filter(e->StringUtils.isNotEmpty(e.getDre())) @@ -937,11 +936,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl userRoleIdList = userRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()); userRoleIds = roleIdList.stream().filter(e->userRoleIdList.contains(e)).collect(Collectors.toList()); } - // TODO 查询当前登录用户角色 是否是当前项目的studio + // 查询当前登录用户角色 是否是当前项目的studio List studioList = new ArrayList<>(); - List projectLibraryBaseList = projectLibraryBaseMapper.queryById(projectId); if (CollectionUtil.isNotEmpty(projectLibraryBaseList)) { - studioList = projectLibraryBaseList.stream().map(ProjectLibraryBase::getStudioEngineerName).collect(Collectors.toList()); + studioList = projectLibraryBaseList.stream().map(ProjectLibraryBase::getStudioEngineerName).collect(Collectors.toList()); // studio 一个项目只有一个 } if (CollectionUtil.isEmpty(userRoleIds) && !studioList.contains(loginUser.getUsername()) @@ -1552,8 +1550,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl paramsManifestEOList = rows.getRecords(); - if (CollectionUtil.isNotEmpty(paramsManifestEOList)) { - List manifestIdList = paramsManifestEOList.stream().map(ParamsManifestEO::getId).collect(Collectors.toList()); - Map> manifestMap = paramsCollectManifestEOService.queryByManifestIdList(manifestIdList); - - paramsManifestEOList.forEach(manifestEO -> { - /*Map map = paramsCollectManifestEOService.isCollectFinished(manifestEO.getId()); - Boolean finish = (Boolean) map.get("finish"); - Date time = (Date) map.get("time"); - if (finish) { - manifestEO.setState(ManifestStateEnum.FINISHED.getValue()); - manifestEO.setFinishTime(time); - - // 更新清单状态和完成时间 - ParamsManifestEO updateParamsManifestEO = new ParamsManifestEO(); - updateParamsManifestEO.setId(manifestEO.getId()); - updateParamsManifestEO.setState(ManifestStateEnum.FINISHED.getValue()); - updateParamsManifestEO.setFinishTime(time); - updateById(updateParamsManifestEO); - - } else { - if (ManifestStateEnum.FINISHED.getValue().equals(manifestEO.getState())) { - // 更新清单状态和完成时间 - ParamsManifestEO updateParamsManifestEO = new ParamsManifestEO(); - updateParamsManifestEO.setId(manifestEO.getId()); - updateParamsManifestEO.setState(ManifestStateEnum.COLLECTING.getValue()); - updateParamsManifestEO.setFinishTime(null); - updateById(updateParamsManifestEO); - } - manifestEO.setState(ManifestStateEnum.COLLECTING.getValue()); - manifestEO.setFinishTime(null); - - }*/ - - // 添加配置标识,清单参数项状态为 待发起、变更时,可添加配置 - boolean configFlag = getManifestConfigFlag(manifestMap.get(manifestEO.getId())); - manifestEO.setConfigFlag(configFlag); - - }); - } return rows; } - private boolean getManifestConfigFlag(List list) { - int number = (int) list.stream().filter(e->CollectManifestStateEnum.WAIT_COLLECT.getValue().equals(e.getState()) - || CollectManifestStateEnum.CHANGE.getValue().equals(e.getState())).count(); - if (number == list.size() && list.size() > 0) { - return true; - } else { - return false; - } - } - /** * 变更扩展 * 仅能选择一条进行变更扩展 diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java index e34041afb..8f4b0c151 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/enums/ProjectRoleEnum.java @@ -7,7 +7,7 @@ public enum ProjectRoleEnum { STUDIO_ENGINEER("studio工程师","0","R&H Studio"), REGULATI_ENGINEER("法规工程师","1","studio"), HOMOLOGATION_ENGINEER("认证工程师","2","homo"), - REGULATI_AND_HOMOLOGATION_ENGINEER("法规工程师/认证工程师","4",""), + REGULATI_AND_HOMOLOGATION_ENGINEER("法规工程师/认证工程师","4","Regulatory Engineer/Certification Engineer"), MANAGER("领导角色","11","R&H Manager"), ADMIN("系统管理员","12","admin"), ; 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 e6344e7f8..704c077f0 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 @@ -443,9 +443,9 @@ public class ProjectLawsInventoryEOController extends JeroController> getRoleByUserId(String projectLibraryId) { + public Result> getRoleByUserId(String projectLibraryId,String cut) { Result> result = new Result<>(); - List list = projectLawsInventoryEOService.getRoleByUserId(projectLibraryId); + List list = projectLawsInventoryEOService.getRoleByUserId(projectLibraryId,cut); if(list==null||list.size()<=0) { result.error500("未找到角色信息"); }else { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryFeedbackEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryFeedbackEO.java index a7d172da4..9b90ffa39 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryFeedbackEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/entity/ProjectTaskInventoryFeedbackEO.java @@ -107,4 +107,5 @@ public class ProjectTaskInventoryFeedbackEO implements Serializable { @ApiModelProperty(value = "序号") private String serialNumber; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/InventoryAffirmStatusEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/InventoryAffirmStatusEnum.java index b44f8662c..3978f6c87 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/InventoryAffirmStatusEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/InventoryAffirmStatusEnum.java @@ -16,6 +16,11 @@ public enum InventoryAffirmStatusEnum { LIST_TO_CONFIRM("待确认","List to confirm"), ACCEPTED("接受","Accepted"), REJECTED("拒绝","Rejected"), + + REG_ENG_TO_CONFIRM("法规工程师待确认","To be confirmed by Reg Eng."), + HOMO_ENG_TO_CONFIRM("认证工程师待确认","To be confirmed by Homo Eng."), + REG_ENG_REJECTED("法规工程师拒绝 ","Reg Eng. rejected"), + HOMO_ENG_REJECTED("认证工程师拒绝 ","Homo Eng. rejected"), ; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectRoleEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectRoleEnum.java index 4f6ee04d2..e51aac31f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectRoleEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/enums/ProjectRoleEnum.java @@ -1,30 +1,35 @@ package com.jero.modules.project.enums; +import com.jero.common.constant.enums.CutEnum; +import com.jero.modules.system.util.StringUtils; + /** * 项目角色枚举类 */ public enum ProjectRoleEnum { - STUDIO_ENGINEER("studio工程师","0"), - REGULATI_ENGINEER("法规工程师","1"), - HOMOLOGATION_ENGINEER("认证工程师","2"), - ENGINEERING_INTERFACE_PERSON("工程接口人","3"), - REGULATI_AND_HOMOLOGATION_ENGINEER("法规与认证工程师","4"), - DESIGNINITIATOR("设计符合性确认-发起人","5"), - DESIGNDUTY("设计符合性确认-责任人","6"), - PREHOMOINITIATOR("prehomo确认-发起人","7"), - PREHOMODUTY("prehomo确认-责任人","8"), - VERIFYINITIATOR("验证符合性确认-发起人","9"), - VERIFYDUTY("验证符合性确认-责任人","10"), - MANAGER("验证符合性确认-责任人","11"), - ADMIN("系统管理员","12"), + STUDIO_ENGINEER("studio工程师","0","R&H Studio"), + REGULATI_ENGINEER("法规工程师","1","Regulatory Engineer"), + HOMOLOGATION_ENGINEER("认证工程师","2","Certification Engineer"), + ENGINEERING_INTERFACE_PERSON("工程接口人","3","Engineering interface person"), + REGULATI_AND_HOMOLOGATION_ENGINEER("法规与认证工程师","4","Regulatory and certification engineer"), + DESIGNINITIATOR("设计符合性确认-发起人","5",""), + DESIGNDUTY("设计符合性确认-责任人","6",""), + PREHOMOINITIATOR("prehomo确认-发起人","7",""), + PREHOMODUTY("prehomo确认-责任人","8",""), + VERIFYINITIATOR("验证符合性确认-发起人","9",""), + VERIFYDUTY("验证符合性确认-责任人","10",""), + MANAGER("验证符合性确认-责任人","11",""), + ADMIN("系统管理员","12",""), ; String name; String value; + String enName; - private ProjectRoleEnum(String name, String value) { + private ProjectRoleEnum(String name, String value,String enName) { this.name = name; this.value = value; + this.enName = enName; } public String getName() { @@ -43,11 +48,23 @@ public enum ProjectRoleEnum { this.value = value; } - public static String getTextByValue(String value) { + public String getEnName() { + return enName; + } + + public void setEnName(String enName) { + this.enName = enName; + } + + public static String getTextByValue(String value,String cut) { ProjectRoleEnum[] values = values(); for (ProjectRoleEnum projectRoleEnum : values) { if (projectRoleEnum.value.equals(value)) { - return projectRoleEnum.name; + if(StringUtils.equals(cut, CutEnum.CN.getValue())){ + return projectRoleEnum.name; + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + return projectRoleEnum.enName; + } } } return null; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java index 61e4e02af..5d5161245 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectLawsInventoryEOService.java @@ -148,5 +148,5 @@ public interface IProjectLawsInventoryEOService extends IService expediting(JSONObject json); - List getRoleByUserId(String projectLibraryId); + List getRoleByUserId(String projectLibraryId,String cut); } 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 b352000fd..dca30e633 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 @@ -1015,15 +1015,78 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl() + .lambda().eq(ProjectLibraryBase::getId, projectLibraryId)); + + QueryWrapper projectNameInfoEOQueryWrapper = new QueryWrapper<>(); + projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId()); + ProjectNameInfoEO projectNameInfoEO = projectNameInfoEOMapper.selectOne(projectNameInfoEOQueryWrapper); + + QueryWrapper projectYearInfoEOQueryWrapper = new QueryWrapper<>(); + projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBase.getYearNameId()); + ProjectYearNameInfoEO projectYearNameInfoEO = projectYearNameInfoEOMapper.selectOne(projectYearInfoEOQueryWrapper); //TODO 切换成枚举,不要在代码里出现魔数 if(StringUtils.equals(operatorType, OperatorTypeEnum.INVENTORY_AFFIRM.getValue())){ String ids = json.getString("ids"); @@ -1224,8 +1297,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectLawsInventoryEOS = this.baseMapper.selectList(queryWrapper); - ProjectLibraryBase projectLibraryBase = projectLibraryBaseMapper.selectOne(new QueryWrapper() - .lambda().eq(ProjectLibraryBase::getId, projectLibraryId)); + List userIdList = new ArrayList<>(); for (ProjectLawsInventoryEO projectLawsInventoryEO : projectLawsInventoryEOS) { @@ -1254,13 +1326,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl projectNameInfoEOQueryWrapper = new QueryWrapper<>(); - projectNameInfoEOQueryWrapper.lambda().eq(ProjectNameInfoEO::getId,projectLibraryBase.getProjectNameId()); - ProjectNameInfoEO projectNameInfoEO = projectNameInfoEOMapper.selectOne(projectNameInfoEOQueryWrapper); - QueryWrapper projectYearInfoEOQueryWrapper = new QueryWrapper<>(); - projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBase.getYearNameId()); - ProjectYearNameInfoEO projectYearNameInfoEO = projectYearNameInfoEOMapper.selectOne(projectYearInfoEOQueryWrapper); //消息内容 String msgContentEN = currentUser.getUsername() + " initiated the regulation list confirmation for " @@ -1378,9 +1444,94 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl" + "Jump link" + ""; + String contentInfo = msgContentEN + " " + href; + Map sendMessageMap = new HashMap<>(); + sendMessageMap.put("hrefFeishu",hrefFeishu); + sendMessageMap.put("contentInfo",contentInfo); + + //发送消息 + List userIdList = new ArrayList<>(); + userIdList.add(projectLibraryBase.getStudioEngineer()); + sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); + + } + if(isProjectRole == Integer.parseInt(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue()) || isProjectRole == Integer.parseInt(ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue())){ + msgContentEN = "The regulation list confirmation of "+projectLawsInventoryEO.getSerialNumber() + " for " + + projectNameInfoEO.getProjectName() +" is rejected by " + currentUser.getUsername() +". Please check and address it in a timely manner."; + + // 飞书消息封装 + FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + feishuMsgVo.setContent("Hello! This task is rejected by "+currentUser.getUsername()+". Please check and address it in a timely manner."); + feishuMsgVo.setTaskType("Regulation List Confirmation"); + feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); + feishuMsgVo.setInitiator(currentUser.getUsername()); + feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getInventoryAffirmDueDate())); + + //飞书跳转链接 + String hrefFeishu = backUrl + + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getLink() + + projectLibraryId + JumpLinkEnum.INVENTORY_AFFIRM_LINK.getType() + + "&projectName=" + projectNameInfoEO.getProjectName() + "-" + + projectYearNameInfoEO.getYearName() + + "&targetMarket=" + projectLibraryBase.getTargetMarket(); + //系统内部跳转链接 + String href = "" + "Jump link" + ""; + String contentInfo = msgContentEN + " " + href; + Map sendMessageMap = new HashMap<>(); + sendMessageMap.put("hrefFeishu",hrefFeishu); + sendMessageMap.put("contentInfo",contentInfo); + + //发送消息 + List userIdList = new ArrayList<>(); + userIdList.add(projectLibraryBase.getStudioEngineer()); + sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); } } @@ -1388,6 +1539,48 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl" + "Jump link" + ""; + String contentInfo = msgContentEN + " " + href; + Map sendMessageMap = new HashMap<>(); + sendMessageMap.put("hrefFeishu",hrefFeishu); + sendMessageMap.put("contentInfo",contentInfo); + + //发送消息 + List userIdList = new ArrayList<>(); + userIdList.add(projectLibraryBase.getStudioEngineer()); + sendMessage(msgContentEN,userIdList,projectLibraryId,sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); + } } } }else { @@ -2176,8 +2369,13 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl attestationRank = sysDictItemMapper.selectItemsByDictCode(ProjectInventoryFieldEnum.ATTESTATION_RANK.getValue()); - String attestationRankName = attestationRank.stream().filter(e -> e.getItemValue().equals(projectLawsInventoryEO.getAttestationRank())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - projectLawsInventoryEO.setAttestationRank(attestationRankName); + List attestationRankList = Arrays.asList(projectLawsInventoryEO.getAttestationRank().split(",")); + StringBuilder attestationRankBuilder = new StringBuilder(); + for (String midAttestationRank : attestationRankList) { + String dutyTerritoryName = attestationRank.stream().filter(e -> e.getItemValue().equals(midAttestationRank)).map(f -> f.getItemText()).collect(Collectors.joining(",")); + attestationRankBuilder.append(dutyTerritoryName).append(","); + } + projectLawsInventoryEO.setAttestationRank(attestationRankBuilder.substring(0, attestationRankBuilder.toString().length() - 1)); } else { projectLawsInventoryEO.setAttestationRank("空"); } @@ -2538,13 +2736,17 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl attestationRank = sysDictItemMapper.selectItemsByDictCode(ProjectInventoryFieldEnum.ATTESTATION_RANK.getValue()); - String attestationRankName = attestationRank.stream().filter(e -> e.getItemValue().equals(projectLawsInventoryEO.getAttestationRank())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - projectLawsInventoryEO.setAttestationRank(attestationRankName); + List attestationRankList = Arrays.asList(projectLawsInventoryEO.getAttestationRank().split(",")); + StringBuilder attestationRankBuilder = new StringBuilder(); + for (String midAttestationRank : attestationRankList) { + String dutyTerritoryName = attestationRank.stream().filter(e -> e.getItemValue().equals(midAttestationRank)).map(f -> f.getItemText()).collect(Collectors.joining(",")); + attestationRankBuilder.append(dutyTerritoryName).append(","); + } + projectLawsInventoryEO.setAttestationRank(attestationRankBuilder.substring(0, attestationRankBuilder.toString().length() - 1)); } else { projectLawsInventoryEO.setAttestationRank("null"); } - //责任领域 if (StringUtils.isNotBlank(projectLawsInventoryEO.getDutyTerritory())) { List dutyTerritory = sysDictItemMapper.selectItemsByDictCode(ProjectInventoryFieldEnum.DUTY_TERRITORY.getValue()); @@ -3117,8 +3319,14 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl getRoleByUserId(String projectLibraryId) { + public List getRoleByUserId(String projectLibraryId,String cut) { List sysRoles = new LinkedList<>(); LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); //项目详情中取R&H Studio和认证工程师 @@ -6095,7 +6314,12 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl manager = roleList.stream().filter(e -> com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getCode().equals(e.getRoleCode())).collect(Collectors.toList()); List admin = roleList.stream().filter(e -> com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getCode().equals(e.getRoleCode())).collect(Collectors.toList()); - if (manager.size() != 0) { - manager.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getValue()); - sysRoles.addAll(manager); - } - if (admin.size() != 0) { - admin.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getValue()); - sysRoles.addAll(admin); + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + if (manager.size() != 0) { + manager.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getValue()); + sysRoles.addAll(manager); + } + if (admin.size() != 0) { + admin.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getValue()); + sysRoles.addAll(admin); + } + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + if (manager.size() != 0) { + manager.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getCode()); + manager.get(0).setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.MANAGER.getCode()); + sysRoles.addAll(manager); + } + if (admin.size() != 0) { + admin.get(0).setRoleCode(com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getCode()); + admin.get(0).setRoleName(com.jero.modules.system.enums.ProjectRoleEnum.ADMIN.getCode()); + sysRoles.addAll(admin); + } } + } return sysRoles; } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java index b9108ffba..455dd593e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectRelatedPersonnelServiceImpl.java @@ -845,23 +845,38 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl可以 - if(StringUtils.isNotBlank(lawEngineerName) && StringUtils.isNotBlank(engineeringInterfacePersonName) && StringUtils.isNotBlank(certificationEngineerName)) { - projectRelatedPersonnel.setLawEngineerName(lawEngineerName); - projectRelatedPersonnel.setEngineeringInterfacePersonName(engineeringInterfacePersonName); - projectRelatedPersonnel.setCertificationEngineerName(certificationEngineerName); - }else if(StringUtils.isBlank(lawEngineerName) && StringUtils.isBlank(engineeringInterfacePersonName) && StringUtils.isBlank(certificationEngineerName)) { - //除了责任领域,其他的可以全为空->可以 + if(StringUtils.isBlank(lawEngineerName)){ projectRelatedPersonnel.setLawEngineerName(""); - projectRelatedPersonnel.setEngineeringInterfacePersonName(""); - projectRelatedPersonnel.setCertificationEngineerName(""); - }else {//除了责任领域,备注,有一个为空都报错 - if(CutEnum.CN.getValue().equals(cut)){ - throw new JeroBootException("法规工程师、工程接口人、认证工程师三个为必填字段.请检查第 "+ (i+1) + "行"); - }else{ - throw new JeroBootException("Regulation Engineer,Engineering Interface and Homologation Engineer are required fields..Please check line" + (i+1)); - } + }else{ + projectRelatedPersonnel.setLawEngineerName(lawEngineerName); } + if(StringUtils.isBlank(engineeringInterfacePersonName)){ + projectRelatedPersonnel.setEngineeringInterfacePersonName(""); + }else{ + projectRelatedPersonnel.setEngineeringInterfacePersonName(engineeringInterfacePersonName); + } + if(StringUtils.isBlank(certificationEngineerName)){ + projectRelatedPersonnel.setCertificationEngineerName(""); + }else{ + projectRelatedPersonnel.setCertificationEngineerName(certificationEngineerName); + } +// //除了责任领域全有值->可以 +// if(StringUtils.isNotBlank(lawEngineerName) && StringUtils.isNotBlank(engineeringInterfacePersonName) && StringUtils.isNotBlank(certificationEngineerName)) { +// projectRelatedPersonnel.setLawEngineerName(lawEngineerName); +// projectRelatedPersonnel.setEngineeringInterfacePersonName(engineeringInterfacePersonName); +// projectRelatedPersonnel.setCertificationEngineerName(certificationEngineerName); +// }else if(StringUtils.isBlank(lawEngineerName) && StringUtils.isBlank(engineeringInterfacePersonName) && StringUtils.isBlank(certificationEngineerName)) { +// //除了责任领域,其他的可以全为空->可以 +// projectRelatedPersonnel.setLawEngineerName(""); +// projectRelatedPersonnel.setEngineeringInterfacePersonName(""); +// projectRelatedPersonnel.setCertificationEngineerName(""); +// }else {//除了责任领域,备注,有一个为空都报错 +// if(CutEnum.CN.getValue().equals(cut)){ +// throw new JeroBootException("法规工程师、工程接口人、认证工程师三个为必填字段.请检查第 "+ (i+1) + "行"); +// }else{ +// throw new JeroBootException("Regulation Engineer,Engineering Interface and Homologation Engineer are required fields..Please check line" + (i+1)); +// } +// } //导入的备注为数字,被识别成小数点后一位 Cell remarkCell = row.getCell(4, Row.MissingCellPolicy.CREATE_NULL_AS_BLANK); 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 57113bcd0..6041bbcbf 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 @@ -1,27 +1,31 @@ package com.jero.modules.project.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.jero.common.constant.enums.MessageTypeEnum; import com.jero.common.system.vo.LoginUser; -import com.jero.modules.project.entity.FeedbackHistory; -import com.jero.modules.project.entity.ProjectTaskInventoryDetailEO; -import com.jero.modules.project.entity.ProjectTaskInventoryFeedbackEO; +import com.jero.modules.feishu.vo.FeishuMsgVo; +import com.jero.modules.project.entity.*; import com.jero.modules.project.enums.FeedBackHistoryDataStatusEnum; +import com.jero.modules.project.enums.JumpLinkEnum; import com.jero.modules.project.mapper.FeedbackHistoryMapper; import com.jero.modules.project.mapper.ProjectTaskInventoryDetailEOMapper; import com.jero.modules.project.mapper.ProjectTaskInventoryFeedbackEOMapper; -import com.jero.modules.project.service.IProjectTaskInventoryFeedbackEOService; +import com.jero.modules.project.service.*; +import com.jero.modules.project.util.SendMessageUtils; +import com.jero.modules.system.entity.SysUser; +import com.jero.modules.system.service.ISysUserService; +import com.jero.modules.wkflow.enums.DesignComplianceNodeEnum; +import com.jero.modules.wkflow.enums.FlowTypeEnum; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; -import java.util.List; -import java.util.Date; -import java.util.Map; -import java.util.UUID; +import java.util.*; import java.util.stream.Collectors; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -41,6 +45,24 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl sysUserQueryWrapper = new QueryWrapper<>(); + sysUserQueryWrapper.lambda().eq(SysUser::getUsername,projectTaskInventoryFeedbackEO.getCreateBy()); + List sysUserList = this.sysUserService.list(sysUserQueryWrapper); + if (CollectionUtils.isNotEmpty(sysUserList)) { + List userIdList = sysUserList.stream().map(SysUser::getId).distinct().collect(Collectors.toList()); + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + ProjectTaskInventoryDetailEO projectTaskInventoryDetailEO = this.projectTaskInventoryDetailEOMapper.selectOne( + new QueryWrapper().lambda().eq(ProjectTaskInventoryDetailEO::getId, projectTaskInventoryFeedbackEO.getProjectTaskInventoryId()) + ); + + ProjectLawsInventoryEO projectLawsInventoryEO = this.projectLawsInventoryEOService.getOne( + new QueryWrapper().lambda().eq(ProjectLawsInventoryEO::getId, projectTaskInventoryDetailEO.getProjectTaskInventoryId()) + ); + + ProjectLibraryBase projectLibraryBaseInfo = this.projectLibraryBaseService.getOne( + new QueryWrapper().lambda().eq(ProjectLibraryBase::getId, projectLawsInventoryEO.getProjectLibraryId()) + ); + + ProjectNameInfoEO projectNameInfoEO = this.projectNameInfoEOService.getOne( + new QueryWrapper().lambda().eq(ProjectNameInfoEO::getId, projectLibraryBaseInfo.getProjectNameId()) + ); + + QueryWrapper projectYearInfoEOQueryWrapper = new QueryWrapper<>(); + projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBaseInfo.getYearNameId()); + ProjectYearNameInfoEO projectYearNameInfoEO = this.projectYearNameInfoEOService.getOne(projectYearInfoEOQueryWrapper); + + // 飞书消息封装 + FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + + feishuMsgVo.setContent("Hello! " + currentUser.getUsername() + " has reply to your engineering deliverable information. Please check and address it in a timely manner."); + feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBaseInfo.getTargetMarket()); + feishuMsgVo.setInitiator(currentUser.getUsername()); + + //消息内容 + String msgContentEN = ""; + String flowType = projectTaskInventoryFeedbackEO.getFlowType(); + if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue())){ + msgContentEN = currentUser.getUsername() + " has reply to your engineering deliverable information of " + + projectLawsInventoryEO.getSerialNumber() + " in " + + projectNameInfoEO.getProjectName() + " for design compliance confirmation. Please check and address it in time."; + + feishuMsgVo.setTaskType("Design Compliance Confirmation"); + feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getDesignDueDate())); + }else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue())){ + msgContentEN = currentUser.getUsername() + " has reply to your engineering deliverable information of " + + projectLawsInventoryEO.getSerialNumber() + " in " + + projectNameInfoEO.getProjectName() + " for Pre-Homo compliance confirmation. Please check and address it in time."; + + feishuMsgVo.setTaskType("Pre-Homo Confirmation"); + feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getPrehomoDueDate())); + }else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){ + msgContentEN = currentUser.getUsername() + " has reply to your engineering deliverable information of " + + projectLawsInventoryEO.getSerialNumber() + " in " + + projectNameInfoEO.getProjectName() + " for validation compliance confirmation. Please check and address it in time."; + + feishuMsgVo.setTaskType("Validation Compliance Confirmation"); + feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getVerifyDueDate())); + } + + //飞书跳转链接 + String hrefFeishu = backUrl + + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() + + projectLibraryBaseInfo.getId() + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType() + + "&projectName=" + projectNameInfoEO.getProjectName() + "-" + + projectYearNameInfoEO.getYearName() + + "&targetMarket=" + projectLibraryBaseInfo.getTargetMarket(); + //系统内部跳转链接 + String href = "" + "Jump link" + ""; + String contentInfo = msgContentEN + " " + href; + Map sendMessageMap = new HashMap<>(); + sendMessageMap.put("hrefFeishu",hrefFeishu); + sendMessageMap.put("contentInfo",contentInfo); + + //发送消息 + SendMessageUtils.sendMessage(msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); + } } /** @@ -193,6 +302,94 @@ public class ProjectTaskInventoryFeedbackEOServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getActiProcInstId,projectTaskInventoryFeedbackEO.getActiProcInstId()); + queryWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getFlowType,projectTaskInventoryFeedbackEO.getFlowType()); + queryWrapper.lambda().eq(ProjectTaskInventoryDetailEO::getTaskDefinitionKey, DesignComplianceNodeEnum.THE_RESPONSIBLE_PERSON_HANDLES_THE_TASK.getKey()); + List projectTaskInventoryDetailEOS = this.projectTaskInventoryDetailEOMapper.selectList(queryWrapper); + if(CollectionUtils.isNotEmpty(projectTaskInventoryDetailEOS)){ + List userIdList = projectTaskInventoryDetailEOS.stream().map(ProjectTaskInventoryDetailEO::getUserId).distinct().collect(Collectors.toList()); + if(CollectionUtils.isNotEmpty(userIdList)){ + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + ProjectLawsInventoryEO projectLawsInventoryEO = this.projectLawsInventoryEOService.getOne( + new QueryWrapper().lambda().eq(ProjectLawsInventoryEO::getId, projectTaskInventoryDetailEOS.get(0).getProjectTaskInventoryId()) + ); + + ProjectLibraryBase projectLibraryBaseInfo = this.projectLibraryBaseService.getOne( + new QueryWrapper().lambda().eq(ProjectLibraryBase::getId, projectLawsInventoryEO.getProjectLibraryId()) + ); + + ProjectNameInfoEO projectNameInfoEO = this.projectNameInfoEOService.getOne( + new QueryWrapper().lambda().eq(ProjectNameInfoEO::getId, projectLibraryBaseInfo.getProjectNameId()) + ); + + QueryWrapper projectYearInfoEOQueryWrapper = new QueryWrapper<>(); + projectYearInfoEOQueryWrapper.lambda().eq(ProjectYearNameInfoEO::getId,projectLibraryBaseInfo.getYearNameId()); + ProjectYearNameInfoEO projectYearNameInfoEO = this.projectYearNameInfoEOService.getOne(projectYearInfoEOQueryWrapper); + + // 飞书消息封装 + FeishuMsgVo feishuMsgVo = new FeishuMsgVo(); + + feishuMsgVo.setContent("Hello! " + currentUser.getUsername() + " has submitted the engineering deliverable information. Please check and address it in a timely manner."); + feishuMsgVo.setRegulationNo(projectLawsInventoryEO.getSerialNumber()); + feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBaseInfo.getTargetMarket()); + feishuMsgVo.setInitiator(currentUser.getUsername()); + + //消息内容 + String msgContentEN = ""; + String flowType = projectTaskInventoryFeedbackEO.getFlowType(); + if(StringUtils.equals(flowType,FlowTypeEnum.SJFHXSHLC.getValue())){ + msgContentEN = currentUser.getUsername() + " has submitted the engineering deliverable information of " + + projectLawsInventoryEO.getSerialNumber() + " in " + + projectNameInfoEO.getProjectName() + "for design compliance confirmation. Please check and address it in time."; + + feishuMsgVo.setTaskType("Design Compliance Confirmation"); + feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getDesignDueDate())); + }else if(StringUtils.equals(flowType,FlowTypeEnum.PREHOMOQRLC.getValue())){ + msgContentEN = currentUser.getUsername() + " has submitted the engineering deliverable information of " + + projectLawsInventoryEO.getSerialNumber() + " in " + + projectNameInfoEO.getProjectName() + " for Pre-Homo confirmation. Please check and address it in time."; + + feishuMsgVo.setTaskType("Pre-Homo Confirmation"); + feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getPrehomoDueDate())); + }else if(StringUtils.equals(flowType,FlowTypeEnum.YZFHXSCLC.getValue())){ + msgContentEN = currentUser.getUsername() + " has submitted the engineering deliverable information of " + + projectLawsInventoryEO.getSerialNumber() + " in " + + projectNameInfoEO.getProjectName() + " for validation compliance confirmation. Please check and address it in time."; + + feishuMsgVo.setTaskType("Validation Compliance Confirmation"); + feishuMsgVo.setDueDate(sdf.format(projectLawsInventoryEO.getVerifyDueDate())); + } + + //飞书跳转链接 + String hrefFeishu = backUrl + + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getLink() + + projectLibraryBaseInfo.getId() + JumpLinkEnum.PREHOMO_AFFIRM_LINK.getType() + + "&projectName=" + projectNameInfoEO.getProjectName() + "-" + + projectYearNameInfoEO.getYearName() + + "&targetMarket=" + projectLibraryBaseInfo.getTargetMarket(); + //系统内部跳转链接 + String href = "" + "Jump link" + ""; + String contentInfo = msgContentEN + " " + href; + Map sendMessageMap = new HashMap<>(); + sendMessageMap.put("hrefFeishu",hrefFeishu); + sendMessageMap.put("contentInfo",contentInfo); + + //发送消息 + SendMessageUtils.sendMessage(msgContentEN,userIdList,projectLibraryBaseInfo.getId(),sendMessageMap, feishuMsgVo, MessageTypeEnum.TASK); + } + } } /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java new file mode 100644 index 000000000..aef3b081d --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java @@ -0,0 +1,175 @@ +package com.jero.modules.report.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.system.base.controller.JeroController; +import com.jero.modules.report.entity.LawsMonthlyReportWriteEO; +import com.jero.modules.report.service.ILawsMonthlyReportWriteEOService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + + + /** + * @Description: 月报填写 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +@Api(tags="月报填写") +@RestController +@RequestMapping("/report/lawsMonthlyReportWriteEO") +@Slf4j +public class LawsMonthlyReportWriteEOController extends JeroController { + @Autowired + private ILawsMonthlyReportWriteEOService lawsMonthlyReportWriteEOService; + + /** + * 分页列表查询 + * + * @param lawsMonthlyReportWriteEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "月报填写-分页列表查询") + @ApiOperation(value="月报填写-分页列表查询", notes="月报填写-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + IPage pageList = lawsMonthlyReportWriteEOService.getPageInfo(lawsMonthlyReportWriteEO, pageNo,pageSize,req); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "月报填写-列表查询") + @ApiOperation(value="月报填写-列表查询", notes="月报填写-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = lawsMonthlyReportWriteEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param lawsMonthlyReportWriteEO + * @return + */ + @AutoLog(value = "月报填写-添加") + @ApiOperation(value="月报填写-添加", notes="月报填写-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) { + lawsMonthlyReportWriteEOService.add(lawsMonthlyReportWriteEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param lawsMonthlyReportWriteEO + * @return + */ + @AutoLog(value = "月报填写-编辑") + @ApiOperation(value="月报填写-编辑", notes="月报填写-编辑") + @PostMapping(value = "/edit") + public Result edit(@Validated @RequestBody LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) { + lawsMonthlyReportWriteEOService.editById(lawsMonthlyReportWriteEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "月报填写-通过id删除") + @ApiOperation(value="月报填写-通过id删除", notes="月报填写-通过id删除") + @GetMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + lawsMonthlyReportWriteEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "月报填写-批量删除") + @ApiOperation(value="月报填写-批量删除", notes="月报填写-批量删除") + @GetMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.lawsMonthlyReportWriteEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "月报填写-通过id查询") + @ApiOperation(value="月报填写-通过id查询", notes="月报填写-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id,String cut) { + LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO = lawsMonthlyReportWriteEOService.queryById(id,cut); + if(lawsMonthlyReportWriteEO==null) { + return Result.error("未找到对应数据"); + } + List lawsMonthlyReportWriteEOList = new ArrayList<>(); + lawsMonthlyReportWriteEOList.add(lawsMonthlyReportWriteEO); + return Result.OK(lawsMonthlyReportWriteEOList); + } + + /** + * 导出excel + * + * @param request + * @param lawsMonthlyReportWriteEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) { + return super.exportXls(request, lawsMonthlyReportWriteEO, LawsMonthlyReportWriteEO.class, "月报填写"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, LawsMonthlyReportWriteEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/NewOpinionTemplateEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/NewOpinionTemplateEOController.java new file mode 100644 index 000000000..af8e55437 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/NewOpinionTemplateEOController.java @@ -0,0 +1,170 @@ +package com.jero.modules.report.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.report.entity.NewOpinionTemplateEO; +import com.jero.modules.report.service.INewOpinionTemplateEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 新征求意见清单模板 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +@Api(tags="新征求意见清单模板") +@RestController +@RequestMapping("/report/newOpinionTemplateEO") +@Slf4j +public class NewOpinionTemplateEOController extends JeroController { + @Autowired + private INewOpinionTemplateEOService newOpinionTemplateEOService; + + /** + * 分页列表查询 + * + * @param newOpinionTemplateEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "新征求意见清单模板-分页列表查询") + @ApiOperation(value="新征求意见清单模板-分页列表查询", notes="新征求意见清单模板-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(NewOpinionTemplateEO newOpinionTemplateEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(newOpinionTemplateEO, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = newOpinionTemplateEOService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "新征求意见清单模板-列表查询") + @ApiOperation(value="新征求意见清单模板-列表查询", notes="新征求意见清单模板-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = newOpinionTemplateEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param newOpinionTemplateEO + * @return + */ + @AutoLog(value = "新征求意见清单模板-添加") + @ApiOperation(value="新征求意见清单模板-添加", notes="新征求意见清单模板-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody NewOpinionTemplateEO newOpinionTemplateEO) { + newOpinionTemplateEOService.add(newOpinionTemplateEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param newOpinionTemplateEO + * @return + */ + @AutoLog(value = "新征求意见清单模板-编辑") + @ApiOperation(value="新征求意见清单模板-编辑", notes="新征求意见清单模板-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody NewOpinionTemplateEO newOpinionTemplateEO) { + newOpinionTemplateEOService.editById(newOpinionTemplateEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "新征求意见清单模板-通过id删除") + @ApiOperation(value="新征求意见清单模板-通过id删除", notes="新征求意见清单模板-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + newOpinionTemplateEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "新征求意见清单模板-批量删除") + @ApiOperation(value="新征求意见清单模板-批量删除", notes="新征求意见清单模板-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.newOpinionTemplateEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "新征求意见清单模板-通过id查询") + @ApiOperation(value="新征求意见清单模板-通过id查询", notes="新征求意见清单模板-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + NewOpinionTemplateEO newOpinionTemplateEO = newOpinionTemplateEOService.queryById(id); + if(newOpinionTemplateEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(newOpinionTemplateEO); + } + + /** + * 导出excel + * + * @param request + * @param newOpinionTemplateEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, NewOpinionTemplateEO newOpinionTemplateEO) { + return super.exportXls(request, newOpinionTemplateEO, NewOpinionTemplateEO.class, "新征求意见清单模板"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, NewOpinionTemplateEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/NewStandardTemplateEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/NewStandardTemplateEOController.java new file mode 100644 index 000000000..9dfdc1ded --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/NewStandardTemplateEOController.java @@ -0,0 +1,170 @@ +package com.jero.modules.report.controller; + +import java.util.Arrays; +import java.util.List; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import com.jero.common.api.vo.Result; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.report.entity.NewStandardTemplateEO; +import com.jero.modules.report.service.INewStandardTemplateEOService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import com.jero.common.system.base.controller.JeroController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.jero.common.aspect.annotation.AutoLog; + + + /** + * @Description: 新发布标准清单模板 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +@Api(tags="新发布标准清单模板") +@RestController +@RequestMapping("/report/newStandardTemplateEO") +@Slf4j +public class NewStandardTemplateEOController extends JeroController { + @Autowired + private INewStandardTemplateEOService newStandardTemplateEOService; + + /** + * 分页列表查询 + * + * @param newStandardTemplateEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "新发布标准清单模板-分页列表查询") + @ApiOperation(value="新发布标准清单模板-分页列表查询", notes="新发布标准清单模板-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(NewStandardTemplateEO newStandardTemplateEO, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(newStandardTemplateEO, req.getParameterMap()); + Page page = new Page(pageNo, pageSize); + IPage pageList = newStandardTemplateEOService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 列表查询 + * + * @return + */ + @AutoLog(value = "新发布标准清单模板-列表查询") + @ApiOperation(value="新发布标准清单模板-列表查询", notes="新发布标准清单模板-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { + List list = newStandardTemplateEOService.queryList(); + return Result.OK(list); + } + + /** + * 添加 + * + * @param newStandardTemplateEO + * @return + */ + @AutoLog(value = "新发布标准清单模板-添加") + @ApiOperation(value="新发布标准清单模板-添加", notes="新发布标准清单模板-添加") + @PostMapping(value = "/add") + public Result add(@Validated @RequestBody NewStandardTemplateEO newStandardTemplateEO) { + newStandardTemplateEOService.add(newStandardTemplateEO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + * + * @param newStandardTemplateEO + * @return + */ + @AutoLog(value = "新发布标准清单模板-编辑") + @ApiOperation(value="新发布标准清单模板-编辑", notes="新发布标准清单模板-编辑") + @PutMapping(value = "/edit") + public Result edit(@Validated @RequestBody NewStandardTemplateEO newStandardTemplateEO) { + newStandardTemplateEOService.editById(newStandardTemplateEO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @AutoLog(value = "新发布标准清单模板-通过id删除") + @ApiOperation(value="新发布标准清单模板-通过id删除", notes="新发布标准清单模板-通过id删除") + @DeleteMapping(value = "/delete") + public Result delete(@RequestParam(name="id",required=true) String id) { + newStandardTemplateEOService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @AutoLog(value = "新发布标准清单模板-批量删除") + @ApiOperation(value="新发布标准清单模板-批量删除", notes="新发布标准清单模板-批量删除") + @DeleteMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.newStandardTemplateEOService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @AutoLog(value = "新发布标准清单模板-通过id查询") + @ApiOperation(value="新发布标准清单模板-通过id查询", notes="新发布标准清单模板-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name="id",required=true) String id) { + NewStandardTemplateEO newStandardTemplateEO = newStandardTemplateEOService.queryById(id); + if(newStandardTemplateEO==null) { + return Result.error("未找到对应数据"); + } + return Result.OK(newStandardTemplateEO); + } + + /** + * 导出excel + * + * @param request + * @param newStandardTemplateEO + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, NewStandardTemplateEO newStandardTemplateEO) { + return super.exportXls(request, newStandardTemplateEO, NewStandardTemplateEO.class, "新发布标准清单模板"); + } + + /** + * 通过excel导入数据 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, NewStandardTemplateEO.class); + } + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportWriteEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportWriteEO.java new file mode 100644 index 000000000..92462c36b --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportWriteEO.java @@ -0,0 +1,199 @@ +package com.jero.modules.report.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.List; + + +/** + * @Description: 月报填写 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +@Data +@TableName("laws_monthly_report_write") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="laws_monthly_report_write对象", description="月报填写") +public class LawsMonthlyReportWriteEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**月份*/ + @Excel(name = "月份", width = 15) + @ApiModelProperty(value = "月份") + private java.lang.String month; + + /**章节目录*/ + @Excel(name = "章节目录", width = 15) + @ApiModelProperty(value = "章节目录") + private java.lang.String memoriesChapter; + + //章节目录名称 + @TableField(exist = false) + private java.lang.String memoriesChapterName; + + /**内容模板*/ + @Excel(name = "内容模板", width = 15) + @ApiModelProperty(value = "内容模板") + private java.lang.String contentTemplate; + + /**中文标题*/ + @Excel(name = "中文标题", width = 15) + @ApiModelProperty(value = "中文标题") + private java.lang.String titleCn; + + /**英文标题*/ + @Excel(name = "英文标题", width = 15) + @ApiModelProperty(value = "英文标题") + private java.lang.String titleEn; + + /**相关领域*/ + @Excel(name = "相关领域", width = 15) + @ApiModelProperty(value = "相关领域") + private java.lang.String technologyTerritory; + + @TableField(exist = false) + private java.lang.String technologyTerritoryName; + + /**适用车型*/ + @Excel(name = "适用车型", width = 15) + @ApiModelProperty(value = "适用车型") + @Dict(dicCode ="car_type") + private java.lang.String applyCar; + + /**适用范围*/ + @Excel(name = "适用范围", width = 15) + @ApiModelProperty(value = "适用范围") + @Dict(dicCode ="apply_scope") + private java.lang.String applyScope; + + /**状态*/ + @Excel(name = "状态", width = 15) + @ApiModelProperty(value = "状态") + @Dict(dicCode = "state") + private java.lang.String state; + + /**用法*/ + @Excel(name = "用法", width = 15) + @ApiModelProperty(value = "用法") + @Dict(dicCode ="yong4_fa3") + private java.lang.String useMethod; + + /**实施车型*/ + @Excel(name = "实施车型", width = 15) + @ApiModelProperty(value = "实施车型") + private java.lang.String implementCar; + + /**发布日期*/ + @Excel(name = "发布日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "发布日期") + private java.util.Date issueTime; + + /**新车型实施日期*/ + @Excel(name = "新车型实施日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "新车型实施日期") + private java.util.Date newCarImplementTime; + + /**在产车实施日期*/ + @Excel(name = "在产车实施日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "在产车实施日期") + private java.util.Date productionCarImplementTime; + + /**主要内容中文*/ + @Excel(name = "主要内容中文", width = 15) + @ApiModelProperty(value = "主要内容中文") + private java.lang.String contentCn; + + /**主要内容英文*/ + @Excel(name = "主要内容英文", width = 15) + @ApiModelProperty(value = "主要内容英文") + private java.lang.String contentEn; + + /**NIO工作进展中文*/ + @Excel(name = "NIO工作进展中文", width = 15) + @ApiModelProperty(value = "NIO工作进展中文") + private java.lang.String workProgressCn; + + /**NIO工作进展英文*/ + @Excel(name = "NIO工作进展英文", width = 15) + @ApiModelProperty(value = "NIO工作进展英文") + private java.lang.String workProgressEn; + + /**法规联系人*/ + @Excel(name = "法规联系人", width = 15) + @ApiModelProperty(value = "法规联系人") + private java.lang.String lawsContact; + + /**链接*/ + @Excel(name = "链接", width = 15) + @ApiModelProperty(value = "链接") + private java.lang.String link; + + /**导出状态*/ + @ApiModelProperty(value = "导出状态") + private java.lang.String exportState; + + @TableField(exist = false) + private java.lang.String exportStateName; + + //新征求意见清单模板 + @TableField(exist = false) + private List newOpinionTemplateEOList; + + //新发布标准清单模板 + @TableField(exist = false) + private List newStandardTemplateEOList; + + @TableField(exist = false) + private String cut; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/NewOpinionTemplateEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/NewOpinionTemplateEO.java new file mode 100644 index 000000000..fcd2ec8d8 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/NewOpinionTemplateEO.java @@ -0,0 +1,91 @@ +package com.jero.modules.report.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 新征求意见清单模板 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +@Data +@TableName("new_opinion_template") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="new_opinion_template对象", description="新征求意见清单模板") +public class NewOpinionTemplateEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**月报填写表id*/ + @Excel(name = "月报填写表id", width = 15) + @ApiModelProperty(value = "月报填写表id") + private java.lang.String lawsMonthlyReportWriteId; + + /**计划号中文*/ + @Excel(name = "计划号中文", width = 15) + @ApiModelProperty(value = "计划号中文") + private java.lang.String planNumberCn; + + /**标准名称中文*/ + @Excel(name = "标准名称中文", width = 15) + @ApiModelProperty(value = "标准名称中文") + private java.lang.String standardNameCn; + + /**标准名称英文*/ + @Excel(name = "标准名称英文", width = 15) + @ApiModelProperty(value = "标准名称英文") + private java.lang.String standardNameEn; + + /**征求意见截止日期*/ + @Excel(name = "征求意见截止日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "征求意见截止日期") + private java.util.Date expirationDate; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/NewStandardTemplateEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/NewStandardTemplateEO.java new file mode 100644 index 000000000..ca7363247 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/NewStandardTemplateEO.java @@ -0,0 +1,98 @@ +package com.jero.modules.report.entity; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; + + +/** + * @Description: 新发布标准清单模板 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +@Data +@TableName("new_standard_template") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="new_standard_template对象", description="新发布标准清单模板") +public class NewStandardTemplateEO implements Serializable { + private static final long serialVersionUID = 1L; + + /**主键*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "主键") + private java.lang.String id; + + /**创建人*/ + @ApiModelProperty(value = "创建人") + private java.lang.String createBy; + + /**创建日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建日期") + private java.util.Date createTime; + + /**更新人*/ + @ApiModelProperty(value = "更新人") + private java.lang.String updateBy; + + /**更新日期*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "更新日期") + private java.util.Date updateTime; + + /**所属部门*/ + @ApiModelProperty(value = "所属部门") + private java.lang.String sysOrgCode; + + /**月报填写表id*/ + @Excel(name = "月报填写表id", width = 15) + @ApiModelProperty(value = "月报填写表id") + private java.lang.String lawsMonthlyReportWriteId; + + /**标准编号*/ + @Excel(name = "标准编号", width = 15) + @ApiModelProperty(value = "标准编号") + private java.lang.String standardNumber; + + /**标准名称中文*/ + @Excel(name = "标准名称中文", width = 15) + @ApiModelProperty(value = "标准名称中文") + private java.lang.String standardNameCn; + + /**标准名称英文*/ + @Excel(name = "标准名称英文", width = 15) + @ApiModelProperty(value = "标准名称英文") + private java.lang.String standardNameEn; + + /**发布日期*/ + @Excel(name = "发布日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "发布日期") + private java.util.Date issueTime; + + /**实施日期*/ + @Excel(name = "实施日期", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "实施日期") + private java.util.Date implementTime; + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/ContentTemplateEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/ContentTemplateEnum.java new file mode 100644 index 000000000..7fb5ff88c --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/ContentTemplateEnum.java @@ -0,0 +1,39 @@ +package com.jero.modules.report.enums; + + +/** + * @description + * @date 2022/1/21 15:22 + * @auth zhn + */ +public enum ContentTemplateEnum { + DEFAULT_TEMPLATE("默认模板","1"), + NEW_REQUEST_LIST_TEMPLATE("新征求意见清单模板","2"), + NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE("新发布标准清单模板","3"); + + + + String name; + String value; + + private ContentTemplateEnum(String name, String value) { + this.name = name; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/ExportStateEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/ExportStateEnum.java new file mode 100644 index 000000000..b4802d3f1 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/enums/ExportStateEnum.java @@ -0,0 +1,48 @@ +package com.jero.modules.report.enums; + + +/** + * @description + * @date 2022/1/21 15:22 + * @auth zhn + */ +public enum ExportStateEnum { + NOT_EXPORT("未导出","Not export","1"), + HAS_BEEN_EXPORT("已导出","Has been export","2"); + + + String name; + String nameEn; + String value; + + + + private ExportStateEnum(String name, String nameEn, String value) { + this.name = name; + this.nameEn = nameEn; + this.value = value; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + public String getNameEn() { + return nameEn; + } + + public void setNameEn(String nameEn) { + this.nameEn = nameEn; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/LawsMonthlyReportWriteEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/LawsMonthlyReportWriteEOMapper.java new file mode 100644 index 000000000..71197a5af --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/LawsMonthlyReportWriteEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.report.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.report.entity.LawsMonthlyReportWriteEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 月报填写 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +public interface LawsMonthlyReportWriteEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/NewOpinionTemplateEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/NewOpinionTemplateEOMapper.java new file mode 100644 index 000000000..441b6351d --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/NewOpinionTemplateEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.report.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.report.entity.NewOpinionTemplateEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 新征求意见清单模板 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +public interface NewOpinionTemplateEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/NewStandardTemplateEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/NewStandardTemplateEOMapper.java new file mode 100644 index 000000000..33b248d73 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/NewStandardTemplateEOMapper.java @@ -0,0 +1,17 @@ +package com.jero.modules.report.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import com.jero.modules.report.entity.NewStandardTemplateEO; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * @Description: 新发布标准清单模板 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +public interface NewStandardTemplateEOMapper extends BaseMapper { + +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/LawsMonthlyReportWriteEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/LawsMonthlyReportWriteEOMapper.xml new file mode 100644 index 000000000..17fc90742 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/LawsMonthlyReportWriteEOMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/NewOpinionTemplateEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/NewOpinionTemplateEOMapper.xml new file mode 100644 index 000000000..ddd0bdae5 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/NewOpinionTemplateEOMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/NewStandardTemplateEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/NewStandardTemplateEOMapper.xml new file mode 100644 index 000000000..c41c66e29 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/NewStandardTemplateEOMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java new file mode 100644 index 000000000..82c461d68 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java @@ -0,0 +1,77 @@ +package com.jero.modules.report.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.report.entity.LawsMonthlyReportWriteEO; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +/** + * @Description: 月报填写 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +public interface ILawsMonthlyReportWriteEOService extends IService { + + /** + * 保存 + * + * @param lawsMonthlyReportWriteEO + * @return + */ + void add(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO); + + /** + * 编辑 + * + * @param lawsMonthlyReportWriteEO + * @return + */ + void editById(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + LawsMonthlyReportWriteEO queryById(String id,String cut); + + /** + * 列表查询 + * + * @return + */ + List queryList(); + + /** + * 分页 + * @param lawsMonthlyReportWriteEO + * @param pageNo + * @param pageSize + * @param req + * @return + */ + IPage getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, + Integer pageNo, + Integer pageSize, + HttpServletRequest req); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/INewOpinionTemplateEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/INewOpinionTemplateEOService.java new file mode 100644 index 000000000..401a0c9f6 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/INewOpinionTemplateEOService.java @@ -0,0 +1,61 @@ +package com.jero.modules.report.service; + +import com.jero.modules.report.entity.NewOpinionTemplateEO; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 新征求意见清单模板 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +public interface INewOpinionTemplateEOService extends IService { + + /** + * 保存 + * + * @param newOpinionTemplateEO + * @return + */ + void add(NewOpinionTemplateEO newOpinionTemplateEO); + + /** + * 更新 + * + * @param newOpinionTemplateEO + * @return + */ + void editById(NewOpinionTemplateEO newOpinionTemplateEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + NewOpinionTemplateEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/INewStandardTemplateEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/INewStandardTemplateEOService.java new file mode 100644 index 000000000..357b739f4 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/INewStandardTemplateEOService.java @@ -0,0 +1,61 @@ +package com.jero.modules.report.service; + +import com.jero.modules.report.entity.NewStandardTemplateEO; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * @Description: 新发布标准清单模板 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +public interface INewStandardTemplateEOService extends IService { + + /** + * 保存 + * + * @param newStandardTemplateEO + * @return + */ + void add(NewStandardTemplateEO newStandardTemplateEO); + + /** + * 更新 + * + * @param newStandardTemplateEO + * @return + */ + void editById(NewStandardTemplateEO newStandardTemplateEO); + + /** + * 通过id删除 + * + * @param id + * @return + */ + void deleteById(String id); + + /** + * 批量删除 + * + * @param ids + * @return + */ + void deleteByIds(List ids); + + /** + * 通过id查询 + * + * @param id + * @return + */ + NewStandardTemplateEO queryById(String id); + + /** + * 列表查询 + * + * @return + */ + List queryList(); +} 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 new file mode 100644 index 000000000..2377af0f0 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -0,0 +1,292 @@ +package com.jero.modules.report.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jero.common.constant.enums.CutEnum; +import com.jero.common.system.query.QueryGenerator; +import com.jero.modules.report.entity.LawsMonthlyReportTitleTemplateEO; +import com.jero.modules.report.entity.LawsMonthlyReportWriteEO; +import com.jero.modules.report.entity.NewOpinionTemplateEO; +import com.jero.modules.report.entity.NewStandardTemplateEO; +import com.jero.modules.report.enums.ContentTemplateEnum; +import com.jero.modules.report.enums.ExportStateEnum; +import com.jero.modules.report.mapper.LawsMonthlyReportWriteEOMapper; +import com.jero.modules.report.service.ILawsMonthlyReportTitleTemplateEOService; +import com.jero.modules.report.service.ILawsMonthlyReportWriteEOService; +import com.jero.modules.report.service.INewOpinionTemplateEOService; +import com.jero.modules.report.service.INewStandardTemplateEOService; +import com.jero.modules.system.entity.SysCategory; +import com.jero.modules.system.service.impl.SysCategoryServiceImpl; +import com.jero.modules.system.util.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +/** + * @Description: 月报填写 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +@Service +public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl implements ILawsMonthlyReportWriteEOService { + + @Autowired + private INewOpinionTemplateEOService iNewOpinionTemplateEOService; + @Autowired + private INewStandardTemplateEOService iNewStandardTemplateEOService; + @Autowired + private ILawsMonthlyReportTitleTemplateEOService lawsMonthlyReportTitleTemplateEOService; + @Autowired + private SysCategoryServiceImpl sysCategoryService; + /** + * 保存 + * + * @param lawsMonthlyReportWriteEO + * @return + */ + @Override + public void add(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) { + Date now = new Date(); + lawsMonthlyReportWriteEO.setCreateTime(now); + lawsMonthlyReportWriteEO.setUpdateTime(now); + save(lawsMonthlyReportWriteEO); + + if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ + //新征求意见清单模板 + List newOpinionTemplateEOList = lawsMonthlyReportWriteEO.getNewOpinionTemplateEOList(); + for (NewOpinionTemplateEO newOpinionTemplateEO : newOpinionTemplateEOList) { + newOpinionTemplateEO.setLawsMonthlyReportWriteId(lawsMonthlyReportWriteEO.getId()); + } + iNewOpinionTemplateEOService.saveBatch(newOpinionTemplateEOList); + + }else if (ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ + //新发布标准清单模板 + List newStandardTemplateEOList = lawsMonthlyReportWriteEO.getNewStandardTemplateEOList(); + for (NewStandardTemplateEO newStandardTemplateEO : newStandardTemplateEOList) { + newStandardTemplateEO.setLawsMonthlyReportWriteId(lawsMonthlyReportWriteEO.getId()); + } + iNewStandardTemplateEOService.saveBatch(newStandardTemplateEOList); + } + } + + /** + * 编辑 + * + * @param lawsMonthlyReportWriteEO + * @return + */ + @Override + public void editById(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) { + Date now = new Date(); + lawsMonthlyReportWriteEO.setUpdateTime(now); + saveOrUpdate(lawsMonthlyReportWriteEO); + + if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ + //新征求意见清单模板 + List newOpinionTemplateEOList = lawsMonthlyReportWriteEO.getNewOpinionTemplateEOList(); + iNewOpinionTemplateEOService.updateBatchById(newOpinionTemplateEOList); + + }else if (ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ + //新发布标准清单模板 + List newStandardTemplateEOList = lawsMonthlyReportWriteEO.getNewStandardTemplateEOList(); + iNewStandardTemplateEOService.updateBatchById(newStandardTemplateEOList); + } + + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + //删除新征求意见清单模板 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,ids); + iNewOpinionTemplateEOService.remove(wrapper); + + //删除新发布标准清单模板 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,ids); + iNewStandardTemplateEOService.remove(queryWrapper); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public LawsMonthlyReportWriteEO queryById(String id,String cut) { + LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO = getById(id); + if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ + //新征求意见清单模板 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,id); + List newOpinionTemplateEOList = iNewOpinionTemplateEOService.list(wrapper); + lawsMonthlyReportWriteEO.setNewOpinionTemplateEOList(newOpinionTemplateEOList); + + }else if(ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ + //新发布标准清单模板 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,id); + List newStandardTemplateEOList = iNewStandardTemplateEOService.list(queryWrapper); + lawsMonthlyReportWriteEO.setNewStandardTemplateEOList(newStandardTemplateEOList); + } + //数据转换(章节目录,相关领域,导出状态) + dataTransition(cut, lawsMonthlyReportWriteEO); + return lawsMonthlyReportWriteEO; + } + + private void dataTransition(String cut, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO) { + //处理章节目录 + List lawsMonthlyReportTitleTemplateEOList = lawsMonthlyReportTitleTemplateEOService.list(); + if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapter())){ + List lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream() + .filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapter().equals(e.getId())).collect(Collectors.toList()); + if(CutEnum.CN.getValue().equals(cut) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ + lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn()); + }else if(CutEnum.EN.getValue().equals(cut) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ + lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn()); + } + } + //处理相关领域 + //树形结构数据字典(技术领域) + List categoryList = sysCategoryService.queryByTreeDicCode("technology_territory"); + String technologyTerritory = lawsMonthlyReportWriteEO.getTechnologyTerritory(); + if (StringUtils.isNotBlank(technologyTerritory)) { + List technologyTerritoryList = Arrays.asList(technologyTerritory.split(",")); + StringBuilder sb = new StringBuilder(); + for (String technologyTerritoryTemp : technologyTerritoryList) { + List collect = categoryList.stream().filter(e -> technologyTerritoryTemp.equals(e.getId())).collect(Collectors.toList()); + if (collect.size() != 0) { + sb.append(collect.get(0).getEnName() + ","); + } + } + if (StringUtils.isNotBlank(sb)) { + String technologyTerritoryName = sb.substring(0, sb.length() - 1); + lawsMonthlyReportWriteEO.setTechnologyTerritoryName(technologyTerritoryName); + } + } + //处理导出状态 + String exportState = lawsMonthlyReportWriteEO.getExportState(); + if(StringUtils.isNotBlank(exportState)){ + if(ExportStateEnum.NOT_EXPORT.getValue().equals(exportState)){ + if(CutEnum.CN.getValue().equals(cut)){ + 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(cut)){ + lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getName()); + }else{ + lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getNameEn()); + } + } + } + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } + + @Override + public IPage getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp, + Integer pageNo, + Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(lawsMonthlyReportWriteEOTemp, req.getParameterMap()); + 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 lawsMonthlyReportTitleTemplateEOList = lawsMonthlyReportTitleTemplateEOService.list(); + + //新征求意见清单模板 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList); + List newOpinionTemplateEOList = iNewOpinionTemplateEOService.list(wrapper); + + //新发布标准清单模板 + LambdaQueryWrapper qrapperTemp = new LambdaQueryWrapper<>(); + qrapperTemp.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList); + List newStandardTemplateEOList = iNewStandardTemplateEOService.list(qrapperTemp); + + for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : pageInfo.getRecords()) { + //处理章节目录 + if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapter())){ + List lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream() + .filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapter().equals(e.getId())).collect(Collectors.toList()); + if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEO.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ + lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn()); + }else if(CutEnum.EN.getValue().equals(lawsMonthlyReportWriteEO.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ + lawsMonthlyReportWriteEO.setMemoriesChapterName(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; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/NewOpinionTemplateEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/NewOpinionTemplateEOServiceImpl.java new file mode 100644 index 000000000..4774386de --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/NewOpinionTemplateEOServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.report.service.impl; + +import com.jero.modules.report.entity.NewOpinionTemplateEO; +import com.jero.modules.report.mapper.NewOpinionTemplateEOMapper; +import com.jero.modules.report.service.INewOpinionTemplateEOService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 新征求意见清单模板 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +@Service +public class NewOpinionTemplateEOServiceImpl extends ServiceImpl implements INewOpinionTemplateEOService { + + /** + * 保存 + * + * @param newOpinionTemplateEO + * @return + */ + @Override + public void add(NewOpinionTemplateEO newOpinionTemplateEO) { + Date now = new Date(); + newOpinionTemplateEO.setCreateTime(now); + newOpinionTemplateEO.setUpdateTime(now); + save(newOpinionTemplateEO); + } + + /** + * 更新 + * + * @param newOpinionTemplateEO + * @return + */ + @Override + public void editById(NewOpinionTemplateEO newOpinionTemplateEO) { + Date now = new Date(); + newOpinionTemplateEO.setUpdateTime(now); + saveOrUpdate(newOpinionTemplateEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public NewOpinionTemplateEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/NewStandardTemplateEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/NewStandardTemplateEOServiceImpl.java new file mode 100644 index 000000000..ed1bcb4b8 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/NewStandardTemplateEOServiceImpl.java @@ -0,0 +1,89 @@ +package com.jero.modules.report.service.impl; + +import com.jero.modules.report.entity.NewStandardTemplateEO; +import com.jero.modules.report.mapper.NewStandardTemplateEOMapper; +import com.jero.modules.report.service.INewStandardTemplateEOService; +import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Date; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +/** + * @Description: 新发布标准清单模板 + * @Author: jero-boot + * @Date: 2022-07-02 + * @Version: V1.0 + */ +@Service +public class NewStandardTemplateEOServiceImpl extends ServiceImpl implements INewStandardTemplateEOService { + + /** + * 保存 + * + * @param newStandardTemplateEO + * @return + */ + @Override + public void add(NewStandardTemplateEO newStandardTemplateEO) { + Date now = new Date(); + newStandardTemplateEO.setCreateTime(now); + newStandardTemplateEO.setUpdateTime(now); + save(newStandardTemplateEO); + } + + /** + * 更新 + * + * @param newStandardTemplateEO + * @return + */ + @Override + public void editById(NewStandardTemplateEO newStandardTemplateEO) { + Date now = new Date(); + newStandardTemplateEO.setUpdateTime(now); + saveOrUpdate(newStandardTemplateEO); + } + + /** + * 通过id删除 + * + * @param id + * @return + */ + @Override + public void deleteById(String id) { + removeById(id); + } + + /** + * 批量删除 + * + * @param ids + * @return + */ + @Override + public void deleteByIds(List ids) { + removeByIds(ids); + } + + /** + * 通过id查询 + * + * @param id + * @return + */ + @Override + public NewStandardTemplateEO queryById(String id) { + return getById(id); + } + + /** + * 列表查询 + * + * @return + */ + @Override + public List queryList() { + return list(); + } +} diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index 3cc0b4441..420faa5b6 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -1068,4 +1068,8 @@ module.exports = { newNiONumber: 'Number', English: 'English', requiredParametersEmpty:'Required parameters cannot be empty', + PleaseTaskConfirmationRejected:'Please select the data whose list confirmation status is accepted and task confirmation status is not initiated or rejected', + theProjectContactEmpty:'The project contact person of cannot be empty', + pleaseSelectinitiatedOrRejected:'Please select the data whose list confirmation status is not initiated or rejected', + TheEngineerAndCertification:'The regulatory engineer and Certification Engineer of cannot be empty', } \ 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 d477abc5a..451c6f549 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -681,7 +681,11 @@ module.exports = { listConfirmation: '清单确认', ListConfirmationDeadline: '清单确认截止时间', dataConfirmation: '请选择清单确认状态为未发起或拒绝的数据,以及法规工程师、认证工程师不为空', + pleaseSelectinitiatedOrRejected:'请选择清单确认状态为未发起或拒绝的数据', + TheEngineerAndCertification:'的法规工程师、认证工程师不能为空', taskDataConfirmation: '请选择清单确认状态为接受及任务确认状态为未发起或拒绝的数据,以及工程接口人不为空', + theProjectContactEmpty:'的工程接口人不能为空', + PleaseTaskConfirmationRejected:'请选择清单确认状态为接受及任务确认状态为未发起或拒绝的数据', pleaseSelectPersonFirst: '请先选择人员', onlyOnePersonCanBeSelected: '只能选择一个人员', overrule: '驳回', @@ -880,7 +884,8 @@ module.exports = { yellowSchedule: '黄:不符合/待追踪,有可接受的方案和时间表', greenRequirements: '绿:确认符合或满足当前要求', blueUndeterminedState: '蓝:未判断状态', - authenticationMessage: '认证消息', + authenticationMessage: '认证参数任务', + taskRegulationComplianceTask: '法规符合性任务', accept: '接受', refuse: '拒绝', taskTermination: '任务终止', diff --git a/jero-web/src/components/AssignedBy/index.vue b/jero-web/src/components/AssignedBy/index.vue index 90bcdd144..7d6973111 100644 --- a/jero-web/src/components/AssignedBy/index.vue +++ b/jero-web/src/components/AssignedBy/index.vue @@ -178,6 +178,7 @@ export default { this.$message.warning(this.$t('OnlyOneSelected')) } else { let param = {ids: this.selectedRowKeysArray, paramsManifestId:this.$route.query.id ,projectId: this.$route.query.projectId, dre:this.selectedRowKeysDate[0].username } + this.confirmLoading = true axios({ url: '/jero-boot/params/collectManifest/updateDreBatch', method: 'post', @@ -199,14 +200,17 @@ export default { _this.$message.success(_this.$t('OperationSuccessful')) // 填写人 // 获取当前登陆人 + this.confirmLoading = false this.$emit('GetgetLoginUserType') this.$emit('GetgetTableList') this.$emit('areaVisibleAssignedbyflag', false) }else{ + this.confirmLoading = false _this.$message.warning(_this.$t('operationFailed')) } }) .catch( (error) =>{ + this.confirmLoading = false console.log(error); }); } diff --git a/jero-web/src/components/CollectionType/index.vue b/jero-web/src/components/CollectionType/index.vue index c1a98b68e..e133eb8b3 100644 --- a/jero-web/src/components/CollectionType/index.vue +++ b/jero-web/src/components/CollectionType/index.vue @@ -18,6 +18,7 @@
@@ -43,7 +44,7 @@
@@ -98,7 +99,9 @@
- @@ -113,7 +116,9 @@
- @@ -140,7 +145,9 @@
- @@ -163,6 +170,7 @@
@@ -170,6 +178,7 @@
@@ -256,6 +265,7 @@
@@ -263,6 +273,7 @@
@@ -331,7 +342,9 @@
- @@ -359,6 +372,7 @@
@@ -366,6 +380,7 @@
@@ -446,7 +461,9 @@
- @@ -468,7 +485,9 @@
- @@ -490,10 +509,12 @@
- - + {{ itemin.label }} @@ -513,6 +534,7 @@
@@ -521,6 +543,7 @@
@@ -538,7 +561,7 @@
@@ -694,6 +717,13 @@ .ant-table td { white-space: nowrap; } + .selectWid .ant-select-selection--multiple { + overflow: auto; + } + + .selectWid .ant-select-selection--multiple::-webkit-scrollbar { + display: none; /* Chrome Safari */ + } diff --git a/jero-web/src/components/ParameterLibraryAdd/index.vue b/jero-web/src/components/ParameterLibraryAdd/index.vue index 80c226ea3..f77f108c5 100644 --- a/jero-web/src/components/ParameterLibraryAdd/index.vue +++ b/jero-web/src/components/ParameterLibraryAdd/index.vue @@ -12,16 +12,44 @@ > - - - +
+
+ + {{$t('NiONumber')}} +
+ + + + + + + +
+ + + +
- - - +
+
+ + {{$t('ParameterName')}} +
+ + + + + + + +
+ + + +
{{ $t('query') }} @@ -29,15 +57,32 @@
- - - + +
+
+ + {{$t('areaOfResponsibility')}} +
+ + + + + - +
+ + + + + + + +
@@ -291,6 +336,89 @@ export default { display: flex; justify-content: center; } +.box-title-text { + line-height: 1.4; + display: flex; + /*align-items: center;*/ +} + +.title-text { + width: 114px; + text-align: right; + display: inline-block; + font-weight: 500; + font-size: 14px; + margin-right: 16px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + height: 42px; + line-height: 42px; +} + +.box-input { + display: inline-block; + height: 38px; + width: 100%; +} + +.itemModel { + width: calc(100% - 130px); + display: inline-block; + margin-top: 2px; + height: 40px; + margin-bottom: 24px; +} + +.itemModel-text { + width: calc(100% - 130px); + display: inline-block; + margin-top: 2px; +} + +.Required { + color: red; + margin-right: 4px; +} + +.title-text-text { + margin-top: 9px; +} + +.header-text { + font-size: 16px; + font-weight: bold; + margin-left: 15px; + /*border-bottom: 1px #d9d9d9 dashed;*/ + height: 30px; + margin-bottom: 30px; +} + +.formAdd { + margin-bottom: 40px; +} + +.button-text { + height: 38px; + width: calc(100% - 100px); + line-height: 38px; + background: #fff; + border: 1px #00B3BE solid; + color: #00B3BE; +} + +.button-text-text { + position: absolute; + right: -10px; + top: -21px; + display: inline-block; + padding: 6px; + border-radius: 50%; + background: red; + text-align: center; + line-height: 6px; + color: #fff; +} + \ No newline at end of file diff --git a/jero-web/src/components/PersonnelSelection/index.vue b/jero-web/src/components/PersonnelSelection/index.vue index 51c2f5a7a..086fff7ac 100644 --- a/jero-web/src/components/PersonnelSelection/index.vue +++ b/jero-web/src/components/PersonnelSelection/index.vue @@ -3,10 +3,14 @@
{{this.$t('PersonnelSelection')}} + + {{this.$t('delete')}} +
0) { @@ -151,6 +161,11 @@ }, indexclick(event) { this.$emit('input', event.target.value) + this.departId = '' + this.searchModel = '' + this.userIds = [] + this.userName = [] + this.defaultCheckedKeys = [] }, onSearch(e) { this.gData = [] diff --git a/jero-web/src/components/ReferenceParameter/index.vue b/jero-web/src/components/ReferenceParameter/index.vue index d73eaf0a2..ebaf4c6e5 100644 --- a/jero-web/src/components/ReferenceParameter/index.vue +++ b/jero-web/src/components/ReferenceParameter/index.vue @@ -6,41 +6,77 @@ ref='ruleForm' :model='formInline' :rules='rules' - :label-col='labelCol' - :wrapper-col='wrapperCol' > - -
- * -
{{ $t('from') }}   
- - - +
+
+ * + {{$t('from')}} +
+ + + + {{ item.label }} -
    {{ $t('configure') }}
-
- +     {{ $t('configure') }} + + +
+ + + + + + + + + + + + + +
- -
- * -
{{ $t('ReferenceTo') }}   
- - - +
+
+ * + {{$t('ReferenceTo')}} +
+ + + + {{ item.label }} -
    {{ $t('configure') }}
-
- +     {{ $t('configure') }} + +
+ + + + + + + + + + + + + +
@@ -53,159 +89,165 @@ \ No newline at end of file diff --git a/jero-web/src/components/SynchronousSubmissionLibrary/index.vue b/jero-web/src/components/SynchronousSubmissionLibrary/index.vue index 7edd7ad05..a3f002ce2 100644 --- a/jero-web/src/components/SynchronousSubmissionLibrary/index.vue +++ b/jero-web/src/components/SynchronousSubmissionLibrary/index.vue @@ -92,6 +92,7 @@ export default { handleSubmit() { let _this = this let param = {ids: this.selectedRowKeysArray, paramsManifestId: this.paramsManifest.id } + this.confirmLoading = true axios({ url: '/jero-boot/params/collectManifest/syncReport', method: 'post', @@ -114,12 +115,15 @@ export default { _this.$message.success(_this.$t('OperationSuccessful')) this.$emit('areaVisibsynchronous', false) this.$emit('GetgetTableList') + this.confirmLoading = false }else{ _this.$message.warning(_this.$t('operationFailed')) + this.confirmLoading = false } }) .catch( (error) =>{ console.log(error); + this.confirmLoading = false }); } } diff --git a/jero-web/src/components/TaskCutOffTime/index.vue b/jero-web/src/components/TaskCutOffTime/index.vue index 7ca73d419..c343426d7 100644 --- a/jero-web/src/components/TaskCutOffTime/index.vue +++ b/jero-web/src/components/TaskCutOffTime/index.vue @@ -107,12 +107,15 @@ export default { handleSubmit() { let _this = this let param = {ids: this.selectedRowKeysArray, deadline: `${this.pickerDate}`, } + this.confirmLoading = true postAction('/params/collectManifest/updateDeadlineBatch', param).then((res) => { if (res.success) { this.$emit('areaVisibleTaskCutOffTimeflag', false) - this.$message.success(res.message) + this.$message.success(_this.$t('OperationSuccessful')) + this.confirmLoading = false } else { - this.$message.warning(res.message) + this.$message.warning(_this.$t('operationFailed')) + this.confirmLoading = false } }) }, diff --git a/jero-web/src/components/jero/JLoading.vue b/jero-web/src/components/jero/JLoading.vue index 29a67aea8..8266f08ee 100644 --- a/jero-web/src/components/jero/JLoading.vue +++ b/jero-web/src/components/jero/JLoading.vue @@ -54,7 +54,7 @@ position: absolute; top: 0; left: 0; - z-index: 999; + z-index: 111999; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 0.9); diff --git a/jero-web/src/components/searchalonesplit/index.vue b/jero-web/src/components/searchalonesplit/index.vue index 2d51da06b..77bfd3a66 100644 --- a/jero-web/src/components/searchalonesplit/index.vue +++ b/jero-web/src/components/searchalonesplit/index.vue @@ -23,7 +23,7 @@
{{item.db_field_txt}}
-
diff --git a/jero-web/src/components/tableCollection/index.vue b/jero-web/src/components/tableCollection/index.vue index fe68141ec..b6b8b2c25 100644 --- a/jero-web/src/components/tableCollection/index.vue +++ b/jero-web/src/components/tableCollection/index.vue @@ -139,6 +139,7 @@ import axios from 'axios' import Vue from 'vue' import VueDraggableResizable from 'vue-draggable-resizable' + import { mapGetters } from 'vuex' export default { name: 'index', @@ -260,12 +261,14 @@ watch: { currentPersonRole: { handler: function() { - this.getTableList(); + console.log(123) + this.getTableList() }, immediate: true } }, methods: { + ...mapGetters(['userInfo']), rowClassName(row, index) { if (row.changeFlag == '1') { return 'rowClassRedYellow' @@ -276,11 +279,13 @@ }, pageOnChange(page, pageSize) { this.pageNo = page + this.$emit('handlePreservation') this.getTableList() }, SizeChange(page, pageSize) { this.pageNo = 1 this.pageSize = pageSize + this.$emit('handlePreservation') this.getTableList() }, // 查看配置详细信息 @@ -352,11 +357,11 @@ .then((res) => { console.log(res) if (res.data.success) { - _this.$message.success(res.data.result) + _this.$message.success(_this.$t('OperationSuccessful')) _this.areaVisible = false this.getLoginUserType() } else { - _this.$message.warning(res.data.result) + _this.$message.warning(_this.$t('operationFailed')) } }) .catch((error) => { @@ -375,10 +380,10 @@ this.areaVisible = true // this.$refs.ruleForm.clearValidate() this.$nextTick(() => { + this.Dateline = { ...this.Dateline } this.getquerySdtList(record) + this.$refs.ruleForm.clearValidate() }) - this.$refs.ruleForm.clearValidate() - }, dataValueTobeinitiated() { this.$message.warning(this.$t('certifiedEngineer') + this.$t('and') + this.$t('Statusis') + this.$t('CollectionInitiated') + this.$t('ReturnedPerson') + this.$t('alteration') + this.$t('toHavePermission')) @@ -395,10 +400,32 @@ paramsManifestId: this.$route.query.id, projectId: this.$route.query.projectId } + this.loading = true getAction(this.url.getLoginUserType, params).then((res) => { if (res.success) { - this.getTableList(res.result[0].value) - this.$emit('LoginUserType', res.result, this.currentPersonRole) + this.getAndUserId(res.result) + } + }) + }, + getAndUserId(result) { + let query = { + paramsManifestId: this.$route.query.id, + projectId: this.$route.query.projectId, + userId: this.userInfo().id + } + getAction('/params/userTypeLog/queryCurrentType', query).then((res) => { + if (res.success) { + if (res.result && res.result.userType) { + if (!(result.some(val => val.value == res.result.userType))) { + res.result.userType = result[0] ? result[0].value : '' + } + this.getTableList(res.result.userType) + } else { + this.getTableList(result[0].value) + } + this.$emit('LoginUserType', result, this.currentPersonRole, res.result.userType) + } else { + } }) }, @@ -512,7 +539,10 @@ this.dataSource = tt this.total = res.result.total this.selectedRowKeys = [] - this.loading = false + this.$emit('getDataSource', this.dataSource) + setTimeout(() => { + this.loading = false + }, 500) } else { this.loading = false } @@ -596,7 +626,10 @@ this.selectedRowrowValue = [] this.$emit('value', this.selectedRowKeys) this.$emit('rowValue', this.selectedRowrowValue) - this.loading = false + this.$emit('getDataSource', this.dataSource) + setTimeout(() => { + this.loading = false + }, 500) } else { this.loading = false } @@ -618,7 +651,7 @@ detailClick(item, index) { // this.$emit('detailClick', item) } - }, + } } diff --git a/jero-web/src/components/tools/UserMenu.vue b/jero-web/src/components/tools/UserMenu.vue index a52b3a8c9..959556614 100644 --- a/jero-web/src/components/tools/UserMenu.vue +++ b/jero-web/src/components/tools/UserMenu.vue @@ -44,8 +44,8 @@
- - + + welcome,{{ userInfo().username }} @@ -209,7 +209,7 @@ }, /* update_end author:zhaoxin date:20191129 for: 做头部菜单栏导航*/ ...mapActions(['Logout']), - ...mapGetters(['nickname', 'avatar', 'userInfo']), + ...mapGetters(['username', 'avatar', 'userInfo']), getAvatar() { return getFileAccessHttpUrl(this.avatar()) }, diff --git a/jero-web/src/main.js b/jero-web/src/main.js index f0bdff612..171fe1fb7 100644 --- a/jero-web/src/main.js +++ b/jero-web/src/main.js @@ -50,9 +50,10 @@ import { import config from '@/defaultSettings' //引入 import socketPublic from '@/utils/socketVuex.js' - +import socketPublicOne from '@/utils/socketVuexOne.js' //挂载 Vue.prototype.$socketPublic = socketPublic +Vue.prototype.$socketPublicOne = socketPublicOne import JDictSelectTag from './components/dict/index.js' import hasPermission from '@/utils/hasPermission' import vueBus from '@/utils/vueBus' diff --git a/jero-web/src/utils/socketVuexOne.js b/jero-web/src/utils/socketVuexOne.js new file mode 100644 index 000000000..5e1e6a4ae --- /dev/null +++ b/jero-web/src/utils/socketVuexOne.js @@ -0,0 +1,116 @@ +import Vue from 'vue' +import Vuex from 'vuex' +import store from '@/store/' + +Vue.use(Vuex) +// console.log(window._CONFIG['domianWebSocketURL']) + +export default new Vuex.Store({ + state: { + ws: null, //建立的连接 + lockReconnect: false, //是否真正建立连接 + timeout: 15000, //15秒一次心跳 + timeoutObj: null, //心跳心跳倒计时 + serverTimeoutObj: null, //心跳倒计时 + timeoutnum: null, //断开 重连倒计时 + msg: null //接收到的信息 + + }, + getters: { + // 获取接收的信息 + socketMsgs: state => { + return state.msg + } + }, + mutations: { + //初始化ws 用户登录后调用 + webSocketInit(state) { + let that = this + //this 创建一个state.ws对象【发送、接收、关闭socket都由这个对象操作】 + const userId = store.getters.userInfo.id + state.ws = new WebSocket(window._CONFIG['domianWebSocketURL'].replace('https://', 'wss://').replace('http://', 'ws://') + '/websocket/socketServer') + state.ws.onopen = function(res) { + console.log('Connection success...') + /** + * 启动心跳检测 + */ + that.commit('start') + } + state.ws.onmessage = function(res) { + if (res.data === 'heartCheck') { + // 收到服务器信息,心跳重置 + that.commit('reset') + } else { + state.msg = res + } + } + state.ws.onclose = function(res) { + //重连 + that.commit('reconnect') + } + state.ws.onerror = function(res) { + //重连 + that.commit('reconnect') + } + }, + reconnect(state) { + //重新连接 + let that = this + if (state.lockReconnect) { + return + } + state.lockReconnect = true + //没连接上会一直重连,30秒重试请求重连,设置延迟避免请求过多 + state.timeoutnum && + clearTimeout(state.timeoutnum) + state.timeoutnum = setTimeout(() => { + //新连接 + that.commit('webSocketInit') + state.lockReconnect = false + }, 5000) + }, + reset(state) { + //重置心跳 + let that = this + //清除时间 + clearTimeout(state.timeoutObj) + clearTimeout(state.serverTimeoutObj) + //重启心跳 + that.commit('start') + }, + start(state) { + //开启心跳 + var self = this + state.timeoutObj && + clearTimeout(state.timeoutObj) + state.serverTimeoutObj && + clearTimeout(state.serverTimeoutObj) + state.timeoutObj = setTimeout(() => { + //这里发送一个心跳,后端收到后,返回一个心跳消息, + if (state.ws.readyState === 1) { + //如果连接正常 + state.ws.send('heartCheck') + } else { + //否则重连 + self.commit('reconnect') + } + state.serverTimeoutObj = setTimeout(function() { + //超时关闭 + state.ws.close() + }, state.timeout) + }, state.timeout) + } + }, + actions: { + webSocketInit({ + commit + }, url) { + commit('webSocketInit', url) + }, + webSocketSend({ + commit + }, p) { + commit('webSocketSend', p) + } + } +}) \ No newline at end of file diff --git a/jero-web/src/views/documentManage/tags/tabs/TagContent.vue b/jero-web/src/views/documentManage/tags/tabs/TagContent.vue index 0df58f3f4..bf0488485 100644 --- a/jero-web/src/views/documentManage/tags/tabs/TagContent.vue +++ b/jero-web/src/views/documentManage/tags/tabs/TagContent.vue @@ -259,7 +259,9 @@ }, hideModal() { this.form.dictName = this.form.dictName.trim() - this.form.description = this.form.description.trim() + if (this.form.description){ + this.form.description = this.form.description.trim() + } let params = { ...this.form } diff --git a/jero-web/src/views/documentTools/searchCenter/components/whole.vue b/jero-web/src/views/documentTools/searchCenter/components/whole.vue index da08f6cd9..7c7b1e57b 100644 --- a/jero-web/src/views/documentTools/searchCenter/components/whole.vue +++ b/jero-web/src/views/documentTools/searchCenter/components/whole.vue @@ -10,7 +10,7 @@
-
+
+ v-html="item.serial_number"> - + - +
diff --git a/jero-web/src/views/parameter/ParameterTemplate/index.vue b/jero-web/src/views/parameter/ParameterTemplate/index.vue index 3929a5a96..d4bd0efed 100644 --- a/jero-web/src/views/parameter/ParameterTemplate/index.vue +++ b/jero-web/src/views/parameter/ParameterTemplate/index.vue @@ -1,6 +1,7 @@