From cdf29a8f6fb9990f82ccc1d3f47bfba48cfaf4fc Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期三, 10 一月 2024 17:24:53 +0800 Subject: [PATCH] 修改 --- web/packages/components/zt-tree-dialog-selector/src/zt-tree-dialog-selector.vue | 2 zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java | 6 zt/core/src/main/java/com/zt/modules/sys/controller/SysRoleController.java | 11 web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue | 36 zt/core/src/main/resources/mapper/log/SysLogLoginDao.xml | 13 zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java | 5 zt/core/src/main/java/com/zt/modules/workflow/dto/BizInfoDto.java | 5 zt/core/src/main/resources/mapper/workflowconfig/WfDefStepDao.xml | 1 core/src/main/java/com/zt/life/sys/controller/UserExtController.java | 3 web/packages/views/modules/sys/role-user.vue | 2 zt/core/src/main/java/com/zt/modules/workflow/service/WorkflowService.java | 64 + web/public/index.html | 4 web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue | 69 + zt/core/src/main/resources/mapper/sys/SysUserDao.xml | 29 modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java | 26 zt/core/src/main/resources/mapper/workflow/WfRunTaskDao.xml | 4 modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/service/QaAuditReportService.java | 2 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceItemController.java | 111 ++ web/packages/views/modules/sys/role.vue | 3 modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java | 48 zt/core/src/main/java/com/zt/modules/sys/dao/SysUserDao.java | 2 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskMeasureDao.java | 24 web/packages/views/modules/sys/role-user-deit.vue | 2 zt/core/src/main/java/com/zt/modules/sys/service/SysDeptService.java | 8 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceRecordService.java | 47 + zt/core/src/main/java/com/zt/modules/sys/controller/SysDeptController.java | 9 zt/core/src/main/resources/mapper/log/SysLogOperationDao.xml | 33 modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskMeasureDao.xml | 33 modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java | 6 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceRecordController.java | 96 ++ modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskMeasure.java | 133 +++ modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/model/QaAuditReport.java | 9 web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue | 22 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceRecordDao.java | 23 web/src/views/modules/qaAuditReport/QaAuditReport.vue | 8 web/src/views/modules/qaAuditReport/QaAuditReport-AddOrUpdate.vue | 186 ++-- web/src/views/modules/project/Project.vue | 124 +- modules/mainPart/src/main/java/com/zt/life/modules/project/dto/ProjectUserDto.java | 20 modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportIncongruentDao.xml | 5 web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue | 4 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskMeasureController.java | 95 ++ web/packages/components/zt-select/src/zt-select.vue | 2 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dto/RiskTraceDto.java | 35 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskMeasureService.java | 41 + modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceItemDao.xml | 20 web/src/views/modules/project/Project-AddOrUpdate.vue | 464 ++++++----- zt/common/src/main/java/com/zt/core/sys/model/SysDept.java | 2 web/src/views/modules/riskTraceRecord/RiskTraceItem.vue | 78 + web/src/views/modules/sys/task/stay-task.vue | 5 zt/core/src/main/resources/mapper/sys/SysDeptDao.xml | 48 web/vue.config.js | 2 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceItem.java | 39 modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/controller/QaAuditReportController.java | 21 web/packages/components/zt-dialog/src/zt-dialog.vue | 2 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceRecord.java | 39 modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/model/QaAuditReportIncongruent.java | 2 web/src/views/modules/sys/task/already-task.vue | 9 modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java | 10 modules/mainPart/src/main/java/com/zt/life/modules/project/model/ProjectUserName.java | 28 web/src/views/modules/sys/workflowConfig/workflow-config-add-update.vue | 13 web/packages/views/modules/sys/dict-type.vue | 2 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java | 129 +++ modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportDao.xml | 5 modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceRecordDao.xml | 20 modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceItemDao.java | 23 zt/core/src/main/java/com/zt/modules/workflow/dao/WfRunTaskDao.java | 2 zt/core/src/main/java/com/zt/modules/sys/dao/SysDeptDao.java | 1 67 files changed, 1,861 insertions(+), 514 deletions(-) diff --git a/core/src/main/java/com/zt/life/sys/controller/UserExtController.java b/core/src/main/java/com/zt/life/sys/controller/UserExtController.java index 9ac7d2d..552e9b6 100644 --- a/core/src/main/java/com/zt/life/sys/controller/UserExtController.java +++ b/core/src/main/java/com/zt/life/sys/controller/UserExtController.java @@ -2,6 +2,7 @@ import com.zt.life.sys.model.SysUserReg; import com.zt.life.sys.model.SysUserRegister; +import com.zt.modules.sys.dto.UserDto; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -91,7 +92,7 @@ @ApiOperation("杩斿洖鐢ㄦ埛鍒楄〃") @LogOperation("杩斿洖鐢ㄦ埛鍒楄〃") public Result<List<SysUser>> getUsersList() { - return Result.ok(sysUserService.getUsersList()); + return Result.ok(sysUserService.getUsersList("","")); } } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java index 9c0c365..26d1835 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java @@ -51,6 +51,32 @@ @ApiModelProperty(value = "鐥呮瘨搴撶増鏈�") private String virusLibraryVersion; + @ApiModelProperty(value = "妫�娴嬫帴鏀朵汉") + private String detectAcceptor; + + @ApiModelProperty(value = "妫�娴嬫帴鏀朵汉ID") + private String detectAcceptorId; + + @ApiModelProperty(value = "妫�娴嬫帴鏀舵椂闂�") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date detectAcceptDate; + + @ApiModelProperty(value = "妫�娴嬫帴鏀舵儏鍐佃鏄�") + private String detectAcceptSituation; + + @ApiModelProperty(value = "鍏ュ簱浜�") + private String depositor; + + @ApiModelProperty(value = "鍏ュ簱浜篒D") + private String depositorId; + + @ApiModelProperty(value = "鍏ュ簱鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date depositDate; + + @ApiModelProperty(value = "鍏ュ簱鎯呭喌璇存槑") + private String depositSituation; + @ApiModelProperty(value = "鏍″噯妫�娴嬩汉") private String calibratDetector; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java index d00575c..c47c34d 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java @@ -201,6 +201,10 @@ dataObj.getCirculatOrder().setCalibratDetector(detectorPath); String issuerPath = "鏂囦欢鍥剧墖:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCirculatOrder().getItemIssuerId())); dataObj.getCirculatOrder().setItemIssuer(issuerPath); + String depositPath = "鏂囦欢鍥剧墖:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCirculatOrder().getDepositorId())); + dataObj.getCirculatOrder().setDepositor(depositPath); + String detectAcceptorPath = "鏂囦欢鍥剧墖:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCirculatOrder().getDetectAcceptorId())); + dataObj.getCirculatOrder().setDetectAcceptor(detectAcceptorPath); //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴� String itemRequireStr = getShowDictList.getShowDictList(dataObj.getCirculatOrder().getItemRequire(), "is_or_not", false); dataObj.getCirculatOrder().setItemRequireStr(itemRequireStr); @@ -214,6 +218,12 @@ String issueSituationStr = getShowDictList.getShowDictList(dataObj.getCirculatOrder().getIssueSituation(), "is_or_not", false); dataObj.getCirculatOrder().setIssueSituationStr(issueSituationStr); + String depositSituation = getShowDictList.getShowDictList(dataObj.getCirculatOrder().getDepositSituation(), "is_or_not", false); + dataObj.getCirculatOrder().setDepositSituation(depositSituation); + + String detectAcceptSituation = getShowDictList.getShowDictList(dataObj.getCirculatOrder().getDetectAcceptSituation(), "is_or_not", false); + dataObj.getCirculatOrder().setDetectAcceptSituation(detectAcceptSituation); + for (ItemCirculatOrderTechnical technical : dataObj.getTechnicalList()) { String value = technical.getSecretClass(); String secretClassStr = getShowDictList.getShowDictList(value, "secret_class", false); diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java index ae3fd5c..ad1e21d 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/ProjectController.java @@ -13,6 +13,9 @@ import com.zt.common.validator.group.AddGroup; import com.zt.common.validator.group.DefaultGroup; import com.zt.common.validator.group.UpdateGroup; +import com.zt.core.context.UserContext; +import com.zt.core.sys.model.SysUser; +import com.zt.life.modules.project.dto.ProjectUserDto; import com.zt.life.modules.project.model.Project; import com.zt.life.modules.project.service.ProjectService; import com.zt.modules.coderule.service.SysCodeRuleService; @@ -67,10 +70,17 @@ @ApiImplicitParam(name = "pageCode", value = "椤甸潰鏍囪瘑", dataType = Constant.QT.STRING), }) public PageResult<Project> page(@ApiIgnore @QueryParam QueryFilter queryFilter) { - if (queryFilter.getParams().containsValue("baseline_release")||queryFilter.getParams().containsValue("config_item_warehouse")||queryFilter.getParams().containsValue("test_review_comment")){ - queryFilter.getParams().replace("tableName",""); + if (queryFilter.getParams().containsValue("baseline_release") || queryFilter.getParams().containsValue("config_item_warehouse") || queryFilter.getParams().containsValue("test_review_comment")) { + queryFilter.getParams().replace("tableName", ""); } - List<Project> Project =projectService.page(queryFilter); + List<Project> Project = projectService.page(queryFilter); + for (Project project2 :Project){ + String leaderName = project2.getProjectLeader(); + if (leaderName.length()>10){ + leaderName=sysUserService.getNames(leaderName); + } + project2.setProjectLeader(leaderName); + } return PageResult.ok(Project); } @@ -78,6 +88,9 @@ @ApiOperation("淇℃伅") public Result<Project> get(@PathVariable("id") Long id) { Project data = projectService.get(id); + if (data.getBizDeptId() == null) { + data.setBizDeptId(UserContext.getDeptId().toString()); + } return Result.ok(data); } @@ -94,8 +107,6 @@ map.put("year", year); project.setYear(year); project.setCode(sysCodeRuleService.getNewCode(map)); - String leaderName = sysUserService.getUsersName(project.getProjectLeader()); - project.setProjectLeader(leaderName); projectService.insert(project); return Result.ok(); } @@ -106,21 +117,6 @@ public Result update(@RequestBody Project project) { //鏁堥獙鏁版嵁 ValidatorUtils.validateEntity(project, UpdateGroup.class, DefaultGroup.class); - String leaderName = project.getProjectLeader(); - String projectTesters =project.getProjectTesters(); - String projectReviewer =project.getProjectReviewer(); - if (leaderName.length()>10){ - leaderName=sysUserService.getNames(leaderName); - } - if (projectTesters.length()>10){ - projectTesters=sysUserService.getNames(projectTesters); - } - if (projectReviewer.length()>10){ - projectReviewer=sysUserService.getNames(projectReviewer); - } - project.setProjectLeader(leaderName); - project.setProjectTesters(projectTesters); - project.setProjectReviewer(projectReviewer); projectService.update(project); return Result.ok(); } @@ -136,4 +132,16 @@ return Result.ok(); } + @GetMapping("getUsersLists") + @ApiOperation("杩斿洖鐢ㄦ埛鍒楄〃") + @LogOperation("杩斿洖鐢ㄦ埛鍒楄〃") + public Result<ProjectUserDto> getUsersLists(String deptId) { + ProjectUserDto projectUserDto = new ProjectUserDto(); + projectUserDto.setZrr(sysUserService.getUsersList("zrr", deptId)); + projectUserDto.setCsry(sysUserService.getUsersList("csry", deptId)); + projectUserDto.setShry(sysUserService.getUsersList("shry", deptId)); + projectUserDto.setPzry(sysUserService.getUsersList("pzry", deptId)); + return Result.ok(projectUserDto); + } + } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/dto/ProjectUserDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/dto/ProjectUserDto.java new file mode 100644 index 0000000..ac6a134 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/dto/ProjectUserDto.java @@ -0,0 +1,20 @@ +package com.zt.life.modules.project.dto; + +import com.zt.core.sys.model.SysUser; +import com.zt.life.modules.project.model.*; +import com.zt.life.modules.sysBaseInfo.model.TestAgencyInfo; +import com.zt.life.sys.dto.OssDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class ProjectUserDto { + private List<SysUser> zrr; + private List<SysUser> csry; + private List<SysUser> shry; + private List<SysUser> pzry; + } + diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java index 788e9ac..720c0e4 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/Project.java @@ -75,6 +75,12 @@ @ApiModelProperty(value = "椤圭洰瀹℃牳浜哄憳") private String projectReviewer; + @ApiModelProperty(value = "椤圭洰閰嶇疆浜哄憳") + private String projectConfiger; + + @ApiModelProperty(value = "涓氬姟閮ㄩ棬ID") + private String bizDeptId; + @ApiModelProperty(value = "鏄惁绛剧讲鍚堝悓") private Integer isContract; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/model/ProjectUserName.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/ProjectUserName.java new file mode 100644 index 0000000..f290382 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/model/ProjectUserName.java @@ -0,0 +1,28 @@ +package com.zt.life.modules.project.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.common.entity.BusiEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * project + * + * @author zt generator + * @since 1.0.0 2023-11-07 + */ +@Data +public class ProjectUserName { + @ApiModelProperty(value = "椤圭洰璐熻矗浜�") + private String projectLeaderName; + + @ApiModelProperty(value = "椤圭洰娴嬭瘯浜哄憳") + private String projectTestersName; + + @ApiModelProperty(value = "椤圭洰瀹℃牳浜哄憳") + private String projectReviewerName; + + @ApiModelProperty(value = "椤圭洰閰嶇疆浜哄憳") + private String projectConfigerName; +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/controller/QaAuditReportController.java b/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/controller/QaAuditReportController.java index f03abe5..36d4063 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/controller/QaAuditReportController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/controller/QaAuditReportController.java @@ -13,12 +13,14 @@ import com.zt.common.validator.group.DefaultGroup; import com.zt.common.validator.group.UpdateGroup; import com.zt.life.modules.configAuditReport.dto.ConfigAuditDto; +import com.zt.life.modules.project.model.ProjectUserName; import com.zt.life.modules.qaAuditReport.dto.QaAuditReportDto; import com.zt.life.modules.qaAuditReport.model.QaAuditReport; import com.zt.life.modules.qaAuditReport.service.QaAuditReportService; import com.zt.life.sys.dto.OssDto; import com.zt.life.sys.service.SysOssConfigService; import com.zt.modules.coderule.service.SysCodeRuleService; +import com.zt.modules.sys.service.SysUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -53,6 +55,9 @@ @Autowired private SysOssConfigService sysOssConfigService; + @Autowired + private SysUserService sysUserService; + @GetMapping("page") @ApiOperation("鍒嗛〉") @ApiImplicitParams({ @@ -60,7 +65,10 @@ @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT), @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING), @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING), - @ApiImplicitParam(name = "code", value = "缂栧彿", dataType = Constant.QT.STRING, format = "code^LK") }) + @ApiImplicitParam(name = "code", value = "缂栧彿", dataType = Constant.QT.STRING, format = "a.code^LK"), + @ApiImplicitParam(name = "softwareName", value = "椤圭洰鍚嶇О", dataType = Constant.QT.STRING, format = "p.software_name^LK"), + @ApiImplicitParam(name = "softwareIdentity", value = "椤圭洰鏍囪瘑", dataType = Constant.QT.STRING, format = "p.software_identity^LK") + }) public PageResult<QaAuditReport> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ return PageResult.ok(qaAuditReportService.page(queryFilter)); } @@ -120,4 +128,15 @@ qaAuditReportService.exportQaReport(id, request, response); } + @GetMapping("getNameById") + @ApiOperation("鐢ㄦ埛鍚�") + public Result<ProjectUserName> getNameById(String projectLeaderId, String projectTestersId, String projectConfigerId) { + ProjectUserName name =new ProjectUserName(); + if (projectLeaderId.length()>10||projectTestersId.length()>10||projectConfigerId.length()>10){ + name.setProjectLeaderName(sysUserService.getNames(projectLeaderId)); + name.setProjectTestersName(sysUserService.getNames(projectTestersId)); + name.setProjectConfigerName(sysUserService.getNames(projectConfigerId)); + } + return Result.ok(name); + } } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/model/QaAuditReport.java b/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/model/QaAuditReport.java index 7c02232..7d11c60 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/model/QaAuditReport.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/model/QaAuditReport.java @@ -1,5 +1,6 @@ package com.zt.life.modules.qaAuditReport.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.zt.common.entity.BusiEntity; @@ -60,4 +61,12 @@ @ApiModelProperty(value = "骞翠唤") private String year; + @TableField(exist = false) + @ApiModelProperty(value = "椤圭洰鏍囪瘑") + private String softwareName; + + @TableField(exist = false) + @ApiModelProperty(value = "椤圭洰鍚嶇О") + private String softwareIdentity; + } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/model/QaAuditReportIncongruent.java b/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/model/QaAuditReportIncongruent.java index 3a0fe9b..6f31a0b 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/model/QaAuditReportIncongruent.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/model/QaAuditReportIncongruent.java @@ -34,7 +34,7 @@ private String oddNum; @ApiModelProperty(value = "涓嶇鍚堥」鎻忚堪") - private String describe; + private String notTrueDescribe; @ApiModelProperty(value = "鎵�灞炲伐浣滀骇鍝�/杩囩▼") private String workProcess; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/service/QaAuditReportService.java b/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/service/QaAuditReportService.java index b617d53..adcec6a 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/service/QaAuditReportService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/qaAuditReport/service/QaAuditReportService.java @@ -81,7 +81,7 @@ public List<QaAuditReport> page(QueryFilter queryFilter) { List<QaAuditReport> list = baseDao.getList(queryFilter.getQueryParams()); if (list != null && list.size() > 0) { - workflowService.getRunFlow(list, "pzbgsh"); + workflowService.getRunFlow(list, "qashbg"); sysOssService.setListOsses(list, "qa_audit_report"); } return list; diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskMeasureController.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskMeasureController.java new file mode 100644 index 0000000..ab22dcc --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskMeasureController.java @@ -0,0 +1,95 @@ +package com.zt.life.modules.riskTraceRecord.controller; + + +import com.zt.common.annotation.LogOperation; +import com.zt.common.constant.Constant; +import com.zt.common.annotation.QueryParam; +import com.zt.common.db.query.QueryFilter; +import com.zt.common.servlet.Result; +import com.zt.common.servlet.PageResult; +import com.zt.common.validator.AssertUtils; +import com.zt.common.validator.ValidatorUtils; +import com.zt.common.validator.group.AddGroup; +import com.zt.common.validator.group.DefaultGroup; +import com.zt.common.validator.group.UpdateGroup; +import com.zt.life.modules.riskTraceRecord.model.RiskMeasure; +import com.zt.life.modules.riskTraceRecord.service.RiskMeasureService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + + +/** + * risk_measure + * + * @author zt generator + * @since 1.0.0 2024-01-09 + */ +@RestController +@RequestMapping("/riskTraceRecord/RiskMeasure/") +@Api(tags="risk_measure") +public class RiskMeasureController { + @Autowired + private RiskMeasureService riskMeasureService; + + @GetMapping("page") + @ApiOperation("鍒嗛〉") + @ApiImplicitParams({ + @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT), + @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT), + @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING), + @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING), + }) + public PageResult<RiskMeasure> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ + + return PageResult.ok(riskMeasureService.page(queryFilter)); + } + + @GetMapping("{id}") + @ApiOperation("淇℃伅") + public Result<RiskMeasure> get(@PathVariable("id") Long id){ + RiskMeasure data = riskMeasureService.get(id); + return Result.ok(data); + } + + @PostMapping + @ApiOperation("鏂板") + @LogOperation("鏂板") + public Result insert(@RequestBody RiskMeasure riskMeasure){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(riskMeasure, AddGroup.class, DefaultGroup.class); + riskMeasureService.insert(riskMeasure); + + return Result.ok(); + } + + @PutMapping + @ApiOperation("淇敼") + @LogOperation("淇敼") + public Result update(@RequestBody RiskMeasure riskMeasure){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(riskMeasure, UpdateGroup.class, DefaultGroup.class); + riskMeasureService.update(riskMeasure); + + return Result.ok(); + } + + @DeleteMapping + @ApiOperation("鍒犻櫎") + @LogOperation("鍒犻櫎") + public Result delete(@RequestBody Long[] ids){ + //鏁堥獙鏁版嵁 + AssertUtils.isArrayEmpty(ids, "id"); + riskMeasureService.delete(ids); + + return Result.ok(); + } + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceItemController.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceItemController.java new file mode 100644 index 0000000..19f664c --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceItemController.java @@ -0,0 +1,111 @@ +package com.zt.life.modules.riskTraceRecord.controller; + + +import com.zt.common.annotation.LogOperation; +import com.zt.common.constant.Constant; +import com.zt.common.annotation.QueryParam; +import com.zt.common.db.query.QueryFilter; +import com.zt.common.servlet.Result; +import com.zt.common.servlet.PageResult; +import com.zt.common.validator.AssertUtils; +import com.zt.common.validator.ValidatorUtils; +import com.zt.common.validator.group.AddGroup; +import com.zt.common.validator.group.DefaultGroup; +import com.zt.common.validator.group.UpdateGroup; +import com.zt.life.modules.qaAuditReport.dto.QaAuditReportDto; +import com.zt.life.modules.riskTraceRecord.dto.RiskTraceDto; +import com.zt.life.modules.riskTraceRecord.model.RiskTraceItem; +import com.zt.life.modules.riskTraceRecord.service.RiskTraceItemService; +import com.zt.life.sys.dto.OssDto; +import com.zt.life.sys.service.SysOssConfigService; +import com.zt.modules.coderule.service.SysCodeRuleService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * risk_trace_item + * + * @author zt generator + * @since 1.0.0 2024-01-09 + */ +@RestController +@RequestMapping("/riskTraceRecord/RiskTraceItem/") +@Api(tags = "risk_trace_item") +public class RiskTraceItemController { + @Autowired + private RiskTraceItemService riskTraceItemService; + @Autowired + private SysCodeRuleService sysCodeRuleService; + + @Autowired + private SysOssConfigService sysOssConfigService; + + @GetMapping("page") + @ApiOperation("鍒嗛〉") + @ApiImplicitParams({ + @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT), + @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT), + @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING), + @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING), + @ApiImplicitParam(name = "riskDesc", value = "椋庨櫓鎻忚堪", dataType = Constant.QT.STRING, format = "risk_desc^LK")}) + public PageResult<RiskTraceItem> page(@ApiIgnore @QueryParam QueryFilter queryFilter) { + + return PageResult.ok(riskTraceItemService.page(queryFilter)); + } + + @GetMapping("getDto") + @ApiOperation("淇℃伅") + public Result<RiskTraceDto> getDto(Long projectId, Long riskId) { + RiskTraceDto data = riskTraceItemService.getDto(projectId, riskId); + if (riskId != null) { + OssDto ossDto = sysOssConfigService.getOssByBusiType(riskId, "risk_trace_item"); + if (ossDto != null) { + data.setFiles(ossDto); + } + } + return Result.ok(data); + } + + @PostMapping + @ApiOperation("鏂板") + @LogOperation("鏂板") + public Result insert(@RequestBody RiskTraceDto riskTraceDto) { + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(riskTraceDto, AddGroup.class, DefaultGroup.class); + Boolean result = riskTraceItemService.save(riskTraceDto); + return Result.ok(); + } + + @PutMapping + @ApiOperation("淇敼") + @LogOperation("淇敼") + public Result update(@RequestBody RiskTraceDto riskTraceDto) { + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(riskTraceDto, AddGroup.class, DefaultGroup.class); + Boolean result = riskTraceItemService.save(riskTraceDto); + return Result.ok(); + } + + @DeleteMapping("deleteRisk") + @ApiOperation("鍒犻櫎") + @LogOperation("鍒犻櫎") + public Result delete(@RequestBody Long[] ids) { + //鏁堥獙鏁版嵁 + AssertUtils.isArrayEmpty(ids, "id"); + riskTraceItemService.delete(ids); + + return Result.ok(); + } + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceRecordController.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceRecordController.java new file mode 100644 index 0000000..9554d63 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/controller/RiskTraceRecordController.java @@ -0,0 +1,96 @@ +package com.zt.life.modules.riskTraceRecord.controller; + + +import com.zt.common.annotation.LogOperation; +import com.zt.common.constant.Constant; +import com.zt.common.annotation.QueryParam; +import com.zt.common.db.query.QueryFilter; +import com.zt.common.servlet.Result; +import com.zt.common.servlet.PageResult; +import com.zt.common.validator.AssertUtils; +import com.zt.common.validator.ValidatorUtils; +import com.zt.common.validator.group.AddGroup; +import com.zt.common.validator.group.DefaultGroup; +import com.zt.common.validator.group.UpdateGroup; +import com.zt.life.modules.riskTraceRecord.model.RiskTraceRecord; +import com.zt.life.modules.riskTraceRecord.service.RiskTraceRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + + +/** + * risk_trace_record + * + * @author zt generator + * @since 1.0.0 2024-01-09 + */ +@RestController +@RequestMapping("/riskTraceRecord/RiskTraceRecord/") +@Api(tags="risk_trace_record") +public class RiskTraceRecordController { + @Autowired + private RiskTraceRecordService riskTraceRecordService; + + @GetMapping("page") + @ApiOperation("鍒嗛〉") + @ApiImplicitParams({ + @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT), + @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT), + @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING), + @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING), + }) + public PageResult<RiskTraceRecord> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ + + return PageResult.ok(riskTraceRecordService.page(queryFilter)); + } + + @GetMapping("{id}") + @ApiOperation("淇℃伅") + public Result<RiskTraceRecord> get(@PathVariable("id") Long id){ + RiskTraceRecord data = riskTraceRecordService.get(id); + + return Result.ok(data); + } + + @PostMapping + @ApiOperation("鏂板") + @LogOperation("鏂板") + public Result insert(@RequestBody RiskTraceRecord riskTraceRecord){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(riskTraceRecord, AddGroup.class, DefaultGroup.class); + riskTraceRecordService.insert(riskTraceRecord); + + return Result.ok(); + } + + @PutMapping + @ApiOperation("淇敼") + @LogOperation("淇敼") + public Result update(@RequestBody RiskTraceRecord riskTraceRecord){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(riskTraceRecord, UpdateGroup.class, DefaultGroup.class); + riskTraceRecordService.update(riskTraceRecord); + + return Result.ok(); + } + + @DeleteMapping + @ApiOperation("鍒犻櫎") + @LogOperation("鍒犻櫎") + public Result delete(@RequestBody Long[] ids){ + //鏁堥獙鏁版嵁 + AssertUtils.isArrayEmpty(ids, "id"); + riskTraceRecordService.delete(ids); + + return Result.ok(); + } + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskMeasureDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskMeasureDao.java new file mode 100644 index 0000000..dc9e4be --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskMeasureDao.java @@ -0,0 +1,24 @@ +package com.zt.life.modules.riskTraceRecord.dao; + +import com.zt.common.dao.BaseDao; +import com.zt.life.modules.riskTraceRecord.model.RiskMeasure; +import org.apache.ibatis.annotations.Mapper; + + +import java.util.List; +import java.util.Map; + + +/** + * risk_measure + * + * @author zt generator + * @since 1.0.0 2024-01-09 + */ +@Mapper +public interface RiskMeasureDao extends BaseDao<RiskMeasure> { + + List<RiskMeasure> getList(Map<String, Object> params); + + RiskMeasure getByRiskId(Map<String, Object> params); +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceItemDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceItemDao.java new file mode 100644 index 0000000..2fbd2f1 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceItemDao.java @@ -0,0 +1,23 @@ +package com.zt.life.modules.riskTraceRecord.dao; + +import com.zt.common.dao.BaseDao; +import com.zt.life.modules.riskTraceRecord.model.RiskTraceItem; +import org.apache.ibatis.annotations.Mapper; + + +import java.util.List; +import java.util.Map; + + +/** + * risk_trace_item + * + * @author zt generator + * @since 1.0.0 2024-01-09 + */ +@Mapper +public interface RiskTraceItemDao extends BaseDao<RiskTraceItem> { + + List<RiskTraceItem> getList(Map<String, Object> params); + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceRecordDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceRecordDao.java new file mode 100644 index 0000000..11c556c --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dao/RiskTraceRecordDao.java @@ -0,0 +1,23 @@ +package com.zt.life.modules.riskTraceRecord.dao; + +import com.zt.common.dao.BaseDao; +import com.zt.life.modules.riskTraceRecord.model.RiskTraceRecord; +import org.apache.ibatis.annotations.Mapper; + + +import java.util.List; +import java.util.Map; + + +/** + * risk_trace_record + * + * @author zt generator + * @since 1.0.0 2024-01-09 + */ +@Mapper +public interface RiskTraceRecordDao extends BaseDao<RiskTraceRecord> { + + List<RiskTraceRecord> getList(Map<String, Object> params); + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dto/RiskTraceDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dto/RiskTraceDto.java new file mode 100644 index 0000000..df04c08 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/dto/RiskTraceDto.java @@ -0,0 +1,35 @@ +package com.zt.life.modules.riskTraceRecord.dto; + +import com.zt.life.modules.project.model.Project; +import com.zt.life.modules.qaAuditReport.model.QaAuditReport; +import com.zt.life.modules.qaAuditReport.model.QaAuditReportIncongruent; +import com.zt.life.modules.riskTraceRecord.model.RiskMeasure; +import com.zt.life.modules.riskTraceRecord.model.RiskTraceItem; +import com.zt.life.modules.riskTraceRecord.model.RiskTraceRecord; +import com.zt.life.sys.dto.OssDto; +import com.zt.modules.workflow.dto.FlowInfoDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class RiskTraceDto { + private Long id; + private Long projectId; + private Long riskId; + + @ApiModelProperty(value = "椋庨櫓鎺柦") + private RiskMeasure riskMeasure; + @ApiModelProperty(value = "娴嬭瘯椤圭洰鍩烘湰淇℃伅") + private Project project; + + @ApiModelProperty(value = "闄勪欢") + private OssDto files; + + @ApiModelProperty(value = "椋庨櫓璺熻釜椤�") + private List<RiskTraceItem> itemList = new ArrayList<>(); + @ApiModelProperty(value = "涓嶇鍚堥」鍒楄〃") + private List<RiskTraceRecord> recordList = new ArrayList<>(); +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskMeasure.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskMeasure.java new file mode 100644 index 0000000..edbcb14 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskMeasure.java @@ -0,0 +1,133 @@ +package com.zt.life.modules.riskTraceRecord.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.zt.common.entity.BusiEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * risk_measure + * + * @author zt generator + * @since 1.0.0 2024-01-09 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("risk_measure") +public class RiskMeasure extends BusiEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "闇�姹傞闄╄窡韪汉鍛�") + private String requireRiskTrackers; + + @ApiModelProperty(value = "闇�姹傞闄╄窡韪棩鏈�") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date requireRiskDate; + + @ApiModelProperty(value = "璁捐椋庨櫓璺熻釜浜哄憳") + private String designRiskTrackers; + + @ApiModelProperty(value = "璁捐椋庨櫓璺熻釜鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date designRiskDate; + + @ApiModelProperty(value = "鎵ц椋庨櫓璺熻釜浜哄憳") + private String executeRiskTrackers; + + @ApiModelProperty(value = "鎵ц椋庨櫓璺熻釜鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date executeRiskDate; + + @ApiModelProperty(value = "鎬荤粨椋庨櫓璺熻釜浜哄憳") + private String summaryRiskTrackers; + + @ApiModelProperty(value = "鎬荤粨椋庨櫓璺熻釜鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date summaryRiskDate; + + @ApiModelProperty(value = "闇�姹傛帾鏂�") + private String requireMeasure; + + @ApiModelProperty(value = "璁捐鎺柦") + private String designMeasure; + + @ApiModelProperty(value = "鎵ц鎺柦") + private String executeMeasure; + + @ApiModelProperty(value = "鎬荤粨鎺柦") + private String summaryMeasure; + + @ApiModelProperty(value = "闇�姹傝褰曚汉鍛�") + private String requireRecorder; + + @ApiModelProperty(value = "闇�姹傝褰曟棩鏈�") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date requireRecordDate; + + @ApiModelProperty(value = "璁捐璁板綍浜哄憳") + private String designRecorder; + + @ApiModelProperty(value = "璁捐璁板綍鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date designRecordDate; + + @ApiModelProperty(value = "鎵ц璁板綍浜哄憳") + private String executeRecorder; + + @ApiModelProperty(value = "鎵ц璁板綍鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date executeRecordDate; + + @ApiModelProperty(value = "鎬荤粨璁板綍浜哄憳") + private String summaryRecorder; + + @ApiModelProperty(value = "鎬荤粨璁板綍鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date summaryRecordDate; + + @ApiModelProperty(value = "闇�姹傝瘎浼�") + private String requireEvaluate; + + @ApiModelProperty(value = "璁捐璇勪及") + private String designEvaluate; + + @ApiModelProperty(value = "鎵ц璇勪及") + private String executeEvaluate; + + @ApiModelProperty(value = "鎬荤粨璇勪及") + private String summaryEvaluate; + + @ApiModelProperty(value = "闇�姹傞儴闂ㄨ礋璐d汉") + private String requireLeader; + + @ApiModelProperty(value = "闇�姹傞儴闂ㄨ礋璐f棩鏈�") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date requireLeadDate; + + @ApiModelProperty(value = "璁捐閮ㄩ棬璐熻矗浜�") + private String designLeader; + + @ApiModelProperty(value = "璁捐閮ㄩ棬璐熻矗鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date designLeadDate; + + @ApiModelProperty(value = "鎵ц閮ㄩ棬璐熻矗浜�") + private String executeLeader; + + @ApiModelProperty(value = "鎵ц閮ㄩ棬璐熻矗鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date executeLeadDate; + + @ApiModelProperty(value = "鎬荤粨閮ㄩ棬璐熻矗浜�") + private String summaryLeader; + + @ApiModelProperty(value = "鎬荤粨閮ㄩ棬璐熻矗鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date summaryLeadDate; + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceItem.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceItem.java new file mode 100644 index 0000000..cf47c08 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceItem.java @@ -0,0 +1,39 @@ +package com.zt.life.modules.riskTraceRecord.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.common.entity.BusiEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * risk_trace_item + * + * @author zt generator + * @since 1.0.0 2024-01-09 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("risk_trace_item") +public class RiskTraceItem extends BusiEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "椋庨櫓ID") + private Long riskId; + + @ApiModelProperty(value = "鎺掑簭") + private Integer sort; + + @ApiModelProperty(value = "椋庨櫓鍚嶇О") + private String riskName; + + @ApiModelProperty(value = "椋庨櫓鎻忚堪") + private String riskDesc; + + @ApiModelProperty(value = "椋庨櫓绛夌骇") + private String riskLevel; + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceRecord.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceRecord.java new file mode 100644 index 0000000..5a6df65 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/model/RiskTraceRecord.java @@ -0,0 +1,39 @@ +package com.zt.life.modules.riskTraceRecord.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.common.entity.BusiEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * risk_trace_record + * + * @author zt generator + * @since 1.0.0 2024-01-09 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("risk_trace_record") +public class RiskTraceRecord extends BusiEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "椋庨櫓ID") + private Long riskId; + + @ApiModelProperty(value = "娴嬭瘯闇�姹�") + private String testRequire; + + @ApiModelProperty(value = "娴嬭瘯璁捐") + private String testDesign; + + @ApiModelProperty(value = "娴嬭瘯鎵ц") + private String testExecute; + + @ApiModelProperty(value = "娴嬭瘯鎬荤粨") + private String testSummary; + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskMeasureService.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskMeasureService.java new file mode 100644 index 0000000..13459f1 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskMeasureService.java @@ -0,0 +1,41 @@ +package com.zt.life.modules.riskTraceRecord.service; + +import com.zt.common.service.BaseService; +import com.zt.life.modules.riskTraceRecord.dao.RiskMeasureDao; +import com.zt.life.modules.riskTraceRecord.model.RiskMeasure; +import org.springframework.stereotype.Service; +import com.zt.common.db.query.QueryFilter; +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * risk_measure + * + * @author zt generator + * @since 1.0.0 2024-01-09 + */ +@Service +public class RiskMeasureService extends BaseService<RiskMeasureDao, RiskMeasure> { + + /** + * 鍒嗛〉鏌ヨ + * + * @param queryFilter + * @return + */ + public List<RiskMeasure> page(QueryFilter queryFilter) { + return baseDao.getList(queryFilter.getQueryParams()); + } + + /** + * 鍒犻櫎 + * + * @param ids + */ + public void delete(Long[] ids) { + super.deleteLogic(ids); + } +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java new file mode 100644 index 0000000..420a064 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceItemService.java @@ -0,0 +1,129 @@ +package com.zt.life.modules.riskTraceRecord.service; + +import com.zt.common.service.BaseService; +import com.zt.common.utils.CommonUtils; +import com.zt.life.modules.project.service.ProjectService; +import com.zt.life.modules.qaAuditReport.dto.QaAuditReportDto; +import com.zt.life.modules.qaAuditReport.model.QaAuditReport; +import com.zt.life.modules.qaAuditReport.model.QaAuditReportIncongruent; +import com.zt.life.modules.riskTraceRecord.dao.RiskTraceItemDao; +import com.zt.life.modules.riskTraceRecord.dto.RiskTraceDto; +import com.zt.life.modules.riskTraceRecord.model.RiskMeasure; +import com.zt.life.modules.riskTraceRecord.model.RiskTraceItem; +import com.zt.life.modules.riskTraceRecord.model.RiskTraceRecord; +import com.zt.life.sys.service.SysOssConfigService; +import com.zt.modules.workflow.dto.FlowInfoDto; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zt.common.db.query.QueryFilter; +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * risk_trace_item + * + * @author zt generator + * @since 1.0.0 2024-01-09 + */ +@Service +public class RiskTraceItemService extends BaseService<RiskTraceItemDao, RiskTraceItem> { + @Autowired + private RiskMeasureService measureService; + + @Autowired + private RiskTraceRecordService recordService; + + @Autowired + private ProjectService projectService; + + /** + * 鍒嗛〉鏌ヨ + * + * @param queryFilter + * @return + */ + public List<RiskTraceItem> page(QueryFilter queryFilter) { + return baseDao.getList(queryFilter.getQueryParams()); + } + + private List<RiskTraceItem> getList(Long riskId) { + Map<String, Object> params = new HashMap<>(); + params.put("riskId",riskId); + return baseDao.getList(params); + } + /** + * 鍒犻櫎 + * + * @param ids + */ + public void delete(Long[] ids) { + super.deleteLogic(ids); + } + + public RiskTraceDto getDto(Long projectId, Long riskId){ + RiskTraceDto data = new RiskTraceDto(); + if (riskId != null) { + data.setId(riskId); + RiskMeasure riskMeasure = measureService.get(riskId); + data.setRiskMeasure(riskMeasure); + if (riskMeasure != null && projectId == null) { + projectId = data.getProjectId(); + } + List<RiskTraceItem> itemList = this.getList(riskId); + data.setItemList(itemList); + List<RiskTraceRecord> recordList = recordService.getList(riskId); + data.setRecordList(recordList); + } else { + RiskMeasure riskMeasure = new RiskMeasure(); + data.setRiskMeasure(riskMeasure); + List<RiskTraceItem> itemList = this.getList(null); + data.setItemList(itemList); + List<RiskTraceRecord> recordList = new ArrayList<>(); + data.setRecordList(recordList); + } + if (projectId != null) { + data.setProjectId(projectId); + data.setProject(projectService.get(projectId)); + } + return data; + } + + + public Boolean save(RiskTraceDto riskTraceDto) { + Long riskId = riskTraceDto.getRiskMeasure().getId(); + if (riskId != null) + measureService.update(riskTraceDto.getRiskMeasure()); + else { + measureService.insert(riskTraceDto.getRiskMeasure()); + riskId = riskTraceDto.getRiskMeasure().getId(); + } + + for (RiskTraceRecord record : riskTraceDto.getRecordList()) { + record.setRiskId(riskId); + if (record.getId() != null) { + RiskTraceRecord record2 = recordService.get(record.getId()); + if (CommonUtils.isActureChangeData(record,record2)) { + recordService.update(record2); + } + } else { + recordService.insert(record); + } + } + for (RiskTraceItem item : riskTraceDto.getItemList()) { + item.setRiskId(riskId); + if (item.getId() != null) { + RiskTraceItem item2 = this.get(item.getId()); + if (CommonUtils.isActureChangeData(item,item2)) { + baseDao.updateById(item2); + } + } else { + baseDao.insert(item); + } + } + return true; + } +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceRecordService.java b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceRecordService.java new file mode 100644 index 0000000..46bdd79 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/riskTraceRecord/service/RiskTraceRecordService.java @@ -0,0 +1,47 @@ +package com.zt.life.modules.riskTraceRecord.service; + +import com.zt.common.service.BaseService; +import com.zt.life.modules.riskTraceRecord.dao.RiskTraceRecordDao; +import com.zt.life.modules.riskTraceRecord.model.RiskTraceRecord; +import org.springframework.stereotype.Service; +import com.zt.common.db.query.QueryFilter; +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * risk_trace_record + * + * @author zt generator + * @since 1.0.0 2024-01-09 + */ +@Service +public class RiskTraceRecordService extends BaseService<RiskTraceRecordDao, RiskTraceRecord> { + + /** + * 鍒嗛〉鏌ヨ + * + * @param queryFilter + * @return + */ + public List<RiskTraceRecord> page(QueryFilter queryFilter) { + return baseDao.getList(queryFilter.getQueryParams()); + } + + /** + * 鍒犻櫎 + * + * @param ids + */ + public void delete(Long[] ids) { + super.deleteLogic(ids); + } + + public List<RiskTraceRecord> getList(Long riskId) { + Map<String, Object> params = new HashMap<>(); + params.put("riskId",riskId); + return baseDao.getList(params); + } +} diff --git a/modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportDao.xml b/modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportDao.xml index 85dc710..c8844c2 100644 --- a/modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportDao.xml +++ b/modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportDao.xml @@ -4,10 +4,11 @@ <mapper namespace="com.zt.life.modules.qaAuditReport.dao.QaAuditReportDao"> <select id="getList" resultType="com.zt.life.modules.qaAuditReport.model.QaAuditReport"> - select a.* + select a.*,p.software_name,p.software_identity from qa_audit_report a + INNER JOIN project p ON p.id = a.project_id <where> - a.is_delete = 0 + a.is_delete = 0 and p.is_delete = 0 <if test="whereSql!=null"> and ${whereSql} </if> diff --git a/modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportIncongruentDao.xml b/modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportIncongruentDao.xml index c8c70c6..832ea45 100644 --- a/modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportIncongruentDao.xml +++ b/modules/mainPart/src/main/resources/mapper/qaAuditReport/QaAuditReportIncongruentDao.xml @@ -17,7 +17,8 @@ </if> </select> <select id="createList" resultType="com.zt.life.modules.qaAuditReport.model.QaAuditReportIncongruent"> - select b.code as oddNum,a.check_content as 'describe',b.page_code as discoveryPhase,b.processor as chargePerson, + SET @row_number = 0; + select (@row_number := @row_number + 1) AS no,b.code as oddNum,a.check_content as notTrueDescribe,b.page_code as discoveryPhase,b.processor as chargePerson, case when b.processor is null then '鏈鐞�' else '宸查棴鐜�' end as status, a.id as src_id @@ -26,7 +27,7 @@ where b.project_id = ${projectId} and b.id =a.check_order_id and a.is_delete = 0 and b.is_delete = 0 and a.check_result = 2 - and b.page_code in ('','','','') + and b.page_code in ('contract','require','execute','summary') order by code,no </select> diff --git a/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskMeasureDao.xml b/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskMeasureDao.xml new file mode 100644 index 0000000..a0a4483 --- /dev/null +++ b/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskMeasureDao.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="com.zt.life.modules.riskTraceRecord.dao.RiskMeasureDao"> + + <select id="getList" resultType="com.zt.life.modules.riskTraceRecord.model.RiskMeasure"> + select a.* + from risk_measure a + <where> + a.is_delete = 0 + <if test="whereSql!=null"> + and ${whereSql} + </if> + </where> + <if test="orderBySql!=null"> + ORDER BY ${orderBySql} + </if> + </select> + <select id="getByRiskId" resultType="com.zt.life.modules.riskTraceRecord.model.RiskMeasure"> + select a.* + from risk_measure a + <where> + a.is_delete = 0 + <if test="riskId!=null"> + and a.risk_id = ${riskId} + </if> + </where> + <if test="orderBySql!=null"> + ORDER BY ${orderBySql} + </if> + </select> + +</mapper> diff --git a/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceItemDao.xml b/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceItemDao.xml new file mode 100644 index 0000000..527be6a --- /dev/null +++ b/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceItemDao.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="com.zt.life.modules.riskTraceRecord.dao.RiskTraceItemDao"> + + <select id="getList" resultType="com.zt.life.modules.riskTraceRecord.model.RiskTraceItem"> + select a.* + from risk_trace_item a + <where> + a.is_delete = 0 + <if test="riskId!=null"> + and a.id = ${riskId} + </if> + </where> + <if test="orderBySql!=null"> + ORDER BY ${orderBySql} + </if> + </select> + +</mapper> diff --git a/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceRecordDao.xml b/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceRecordDao.xml new file mode 100644 index 0000000..0168a9f --- /dev/null +++ b/modules/mainPart/src/main/resources/mapper/riskTraceRecord/RiskTraceRecordDao.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="com.zt.life.modules.riskTraceRecord.dao.RiskTraceRecordDao"> + + <select id="getList" resultType="com.zt.life.modules.riskTraceRecord.model.RiskTraceRecord"> + select a.* + from risk_trace_record a + <where> + a.is_delete = 0 + <if test="riskId!=null"> + and a.risk_id = ${riskId} + </if> + </where> + <if test="orderBySql!=null"> + ORDER BY ${orderBySql} + </if> + </select> + +</mapper> diff --git a/web/packages/components/zt-dialog/src/zt-dialog.vue b/web/packages/components/zt-dialog/src/zt-dialog.vue index d160bcb..1ad99f7 100644 --- a/web/packages/components/zt-dialog/src/zt-dialog.vue +++ b/web/packages/components/zt-dialog/src/zt-dialog.vue @@ -25,7 +25,7 @@ <el-button type="warning" @click="formSubmit('zc')">鏆傚瓨</el-button> <el-button type="warning" @click="formSubmit('bl')">鍔炵悊</el-button> </template> - <el-button v-else-if="editAble && hasConfirm" type="primary" @click="formSubmit('qd')" v-preventReClick>{{ + <el-button v-else-if="hasConfirm" type="primary" @click="formSubmit('qd')" v-preventReClick>{{ $t('confirm') }} </el-button> <el-button v-else-if="editAble" type="warning" @click="formSubmit('bc')">淇濆瓨 diff --git a/web/packages/components/zt-select/src/zt-select.vue b/web/packages/components/zt-select/src/zt-select.vue index f18d708..a0b7d61 100644 --- a/web/packages/components/zt-select/src/zt-select.vue +++ b/web/packages/components/zt-select/src/zt-select.vue @@ -55,7 +55,6 @@ mounted() { // console.log(this.datas, 'this.datas in zt-select') if (this.datas !== undefined && this.datas.length > 0) { - // console.log('use datas') this.setDataList(this.datas) } else if (this.url !== undefined) { // 鎸囧畾浜唘rl // console.log('use url') @@ -81,6 +80,7 @@ setDataList(data) { // 璁剧疆鏍戠殑鍊� if (Array.isArray(data)) { this.dataList = data + console.log(this.dataList,"setDataList") } else { this.dataList = data.rows } diff --git a/web/packages/components/zt-tree-dialog-selector/src/zt-tree-dialog-selector.vue b/web/packages/components/zt-tree-dialog-selector/src/zt-tree-dialog-selector.vue index d2f28f3..c6e1e00 100644 --- a/web/packages/components/zt-tree-dialog-selector/src/zt-tree-dialog-selector.vue +++ b/web/packages/components/zt-tree-dialog-selector/src/zt-tree-dialog-selector.vue @@ -1,7 +1,7 @@ <template> <div> <el-input v-model="text" @click.native="open()" suffix-icon="el-icon-arrow-down" slot="reference" :placeholder="placeholder"/> - <zt-dialog ref="dialog" :append-to-body="true" :title="title" @confirm="confirm"> + <zt-dialog ref="dialog" :append-to-body="true" :title="title" :hasConfirm="true" @confirm="confirm"> <el-row> <el-col class="tree" :span="14"> <el-container> diff --git a/web/packages/views/modules/sys/dict-type.vue b/web/packages/views/modules/sys/dict-type.vue index f289078..ecb2ade 100644 --- a/web/packages/views/modules/sys/dict-type.vue +++ b/web/packages/views/modules/sys/dict-type.vue @@ -102,7 +102,7 @@ token: Cookies.get('token'), progressId:this.progress.id }) - this.apiURL = `http://localhost:8058/maintain/lifeManagement/importDataDictExcel?${params}` + this.apiURL = `http://localhost:8050/maintain/lifeManagement/importDataDictExcel?${params}` }, DictImport() { this.$refs.dictListImport.$refs.dialog.init() diff --git a/web/packages/views/modules/sys/role-user-deit.vue b/web/packages/views/modules/sys/role-user-deit.vue index 3ded183..78763a4 100644 --- a/web/packages/views/modules/sys/role-user-deit.vue +++ b/web/packages/views/modules/sys/role-user-deit.vue @@ -1,7 +1,7 @@ <template> <zt-dialog ref="dialog" @confirm="formSubmit" append-to-body> <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px"> - <zt-form-item label="閫夋嫨鐢ㄦ埛" prop="menuIdList" rules="required"> + <zt-form-item label="閫夋嫨鐢ㄦ埛" prop="menuIdList"> <zt-user-selector v-model="dataForm.menuIdList" multiple/> </zt-form-item> </el-form> diff --git a/web/packages/views/modules/sys/role-user.vue b/web/packages/views/modules/sys/role-user.vue index 36d8417..c56015a 100644 --- a/web/packages/views/modules/sys/role-user.vue +++ b/web/packages/views/modules/sys/role-user.vue @@ -57,7 +57,7 @@ if (res.success) { await this.$tip.success() this.$refs.examineObj.query() - this.$emit('refresh') + this.$refs.dialog.close() } } }, diff --git a/web/packages/views/modules/sys/role.vue b/web/packages/views/modules/sys/role.vue index b970dbd..fbce26d 100644 --- a/web/packages/views/modules/sys/role.vue +++ b/web/packages/views/modules/sys/role.vue @@ -17,7 +17,8 @@ </el-form-item> <el-form-item class="message-btn"> <zt-button type="query" @click="table.query()"/> - <zt-button v-show="selectCompanyFlag" perm="sys:role" type="add" @click="table.editHandle()"/> + <!--v-show="selectCompanyFlag"--> + <zt-button perm="sys:role" type="add" @click="table.editHandle()"/> <zt-button perm="sys:role:delete" type="delete" @click="table.deleteHandle()"/> </el-form-item> </el-form> diff --git a/web/public/index.html b/web/public/index.html index a98fc71..8057bbc 100644 --- a/web/public/index.html +++ b/web/public/index.html @@ -219,8 +219,8 @@ window.SITE_CONFIG['dynamicMenuRoutesHasAdded'] = false; // 鍔ㄦ��(鑿滃崟)璺敱鏄惁宸茬粡娣诲姞鐨勭姸鎬佹爣绀猴紙鐢ㄤ簬鍒ゆ柇鏄惁闇�瑕侀噸鏂版媺鍙栨暟鎹苟杩涜鍔ㄦ�佹坊鍔犳搷浣滐級 // 鏈嶅姟鍦板潃 - window.SITE_CONFIG['apiURL'] = 'http://' + location.hostname + ':8058/life-protection'; - window.SITE_CONFIG['apiURL2'] = 'http://' + location.hostname + ':8058/life-protection'; + window.SITE_CONFIG['apiURL'] = 'http://' + location.hostname + ':8050/life-protection'; + window.SITE_CONFIG['apiURL2'] = 'http://' + location.hostname + ':8050/life-protection'; //window.SITE_CONFIG['apiURL2'] = 'http://'+location.hostname+':8066'; //window.SITE_CONFIG['apiURL'] = '<%= process.env.VUE_APP_API_URL %>'; diff --git a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue index 235983c..daa8cb2 100644 --- a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue +++ b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue @@ -300,10 +300,10 @@ }, created() { const roleName = localStorage.getItem('roleName') - if (roleName && roleName.includes('QA')) { + if (roleName && roleName.includes('瀹℃牳浜哄憳')) { this.showColumn = true; } - if (roleName && roleName.includes('娴嬭瘯鍛�')) { + if (roleName && roleName.includes('妫�娴嬩汉鍛�')) { this.showAddAndEdit = true; } }, diff --git a/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue b/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue index 1f4403c..61b4afb 100644 --- a/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue +++ b/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue @@ -135,13 +135,13 @@ </el-form-item> </div> </div> - <!--<div class="el-flexCirculationDialog el-border-bottom"> + <div class="el-flexCirculationDialog el-border-bottom"> <div style="width: 112px;text-align: center;font-weight: 600"> - 鏍″噯/妫�娴嬫帴鏀朵汉 + 妫�娴嬫帴鏀朵汉 </div> <div class="el-border-left-right" style="width: 20%;height: 40px;"> <el-form-item style="width: 100%;padding-left:20px;margin:0;"> - {{dataForm.circulatOrder.itemAccept}} + {{dataForm.circulatOrder.detectAcceptor}} </el-form-item> </div> <div style="width: 52px;text-align: center;font-weight: 600"> @@ -149,7 +149,7 @@ </div> <div class="el-border-left-right" style="width: 20%;height: 40px;"> <el-form-item style="width: 100%;padding-left:20px;margin:0;"> - {{dataForm.circulatOrder.acceptDate}} + {{dataForm.circulatOrder.detectAcceptDate| filterTime('YYYY骞碝M鏈圖D鏃�')}} </el-form-item> </div> <div style="width: 84px;text-align: center;font-weight: 600"> @@ -157,13 +157,13 @@ </div> <div class="el-border-left " style="width: 35%;height: 40px;"> <el-form-item label="鏄惁婊¤冻娴嬭瘯瑕佹眰" label-width="150px" style="padding-left:20px;margin-bottom:0"> - <zt-dict v-model="dataForm.circulatOrder.cscs" :radio="true" dict="is_or_not"></zt-dict> + <zt-dict :disabled="stepMarker!=='wplz_jcjs'" v-model="dataForm.circulatOrder.detectAcceptSituation" :radio="true" dict="is_or_not"></zt-dict> </el-form-item> </div> - </div>--> + </div> <div class="el-flexCirculationDialog el-border-bottom"> <div style="width: 112px;text-align: center;font-weight: 600"> - 鏍″噯妫�娴嬩汉 + 妫�娴嬩汉 </div> <div class="el-border-left-right" style="width: 20%;height: 40px;"> <el-form-item style="width: 100%;padding-left:20px;margin:0;"> @@ -188,13 +188,13 @@ </el-form-item> </div> </div> - <!-- <div class="el-flexCirculationDialog el-border-bottom"> + <div class="el-flexCirculationDialog el-border-bottom"> <div style="width: 112px;text-align: center;font-weight: 600"> 鐗╁搧鍏ュ簱浜� </div> <div class="el-border-left-right" style="width: 20%;height: 40px;"> <el-form-item style="width: 100%;padding-left:20px;margin:0;"> - {{dataForm.circulatOrder.warehouse}} + {{dataForm.circulatOrder.depositor}} </el-form-item> </div> <div style="width: 52px;text-align: center;font-weight: 600"> @@ -202,18 +202,18 @@ </div> <div class="el-border-left-right" style="width: 20%;height: 40px;"> <el-form-item style="width: 100%;padding-left:20px;margin:0;"> - {{dataForm.circulatOrder.warehouseDate}} + {{dataForm.circulatOrder.depositDate| filterTime('YYYY骞碝M鏈圖D鏃�')}} </el-form-item> </div> <div style="width: 84px;text-align: center;font-weight: 600"> 鎯呭喌璇存槑 </div> <div class="el-border-left " style="width: 35%;height: 40px;"> - <el-form-item label="鏄惁婊¤冻娴嬭瘯瑕佹眰" label-width="150px" style="padding-left:20px;margin-bottom:0"> - <zt-dict v-model="dataForm.circulatOrder.warehouseSituation" :radio="true" dict="is_or_not"></zt-dict> + <el-form-item label="鏄惁宸插叆鏍峰搧搴�" label-width="150px" style="padding-left:20px;margin-bottom:0"> + <zt-dict :disabled="stepMarker!=='wplz_wprk'" v-model="dataForm.circulatOrder.depositSituation" :radio="true" dict="is_or_not"></zt-dict> </el-form-item> </div> - </div>--> + </div> <div class="el-flexCirculationDialog el-border-bottom"> <div style="width: 112px;text-align: center;font-weight: 600"> 鐗╁搧鍙戞斁浜� @@ -228,7 +228,6 @@ </div> <div class="el-border-left-right " style="width: 20%;height: 40px;"> <el-form-item style="width: 100%;padding-left:20px;margin:0;"> -<!-- {{dataForm.circulatOrder.issueDate}}--> {{ dataForm.circulatOrder.issueDate | filterTime('YYYY骞碝M鏈圖D鏃�') }} </el-form-item> </div> @@ -277,12 +276,15 @@ itemOther: '', acceptSituation: '', acceptDate: '', + detectAcceptor:'', + detectAcceptDate:'', + detectAcceptSituation:'', calibratDetector: '', detectDate: '', detectSituation: '', - warehouse: '', - warehouseDate: '', - warehouseSituation: '', + depositor: '', + depositDate: '', + depositSituation: '', itemIssuer: '', issueDate: '', issueSituation: '', diff --git a/web/src/views/modules/project/Project-AddOrUpdate.vue b/web/src/views/modules/project/Project-AddOrUpdate.vue index 0376700..687ccc8 100644 --- a/web/src/views/modules/project/Project-AddOrUpdate.vue +++ b/web/src/views/modules/project/Project-AddOrUpdate.vue @@ -1,130 +1,142 @@ <template> <zt-dialog ref="dialog" column="2" @confirm="formSubmit"> -<!-- <div class="fa-card-a fa-box-a" style="height: calc(100vh - 130px)">--> - <el-form ref="dataForm" style="padding: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm" label-width="120px" - class="projectAuto"> - <div class="DManageForm"> - <el-form-item label-width="80px" label="椤圭洰缂栧彿" prop="code" style="width: 99%;margin-bottom:-5px" readonly> - <span>{{dataForm.code}}</span> - </el-form-item> - </div> - <div style="border: 1px solid rgba(0,0,0,.2)"> - <div class="el-flex el-border-bottom"> - <div class="DWidth DAlign DHold"> - 濮旀墭鍗曚綅 - </div> - <div class="DSTOld-1-Form"> - <!-- 鍗曚綅鍚嶇О --> - <zt-form-item class="marginTopAndMarginBottom" label="鍗曚綅鍚嶇О" prop="entrustUnitName" style="width: 49%" rules="required"> - <el-input v-model="dataForm.entrustUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> - </zt-form-item> - <!-- 鑱旂郴浜� --> - <zt-form-item class="marginTopAndMarginBottom" label="鑱旂郴浜�" prop="entrustUnitContact" style="width: 49%" rules="required"> - <el-input v-model="dataForm.entrustUnitContact" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> - </zt-form-item> + <!-- <div class="fa-card-a fa-box-a" style="height: calc(100vh - 130px)">--> + <el-form ref="dataForm" style="padding: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm" + label-width="120px" + class="projectAuto"> + <div class="DManageForm"> + <el-form-item label-width="80px" label="椤圭洰缂栧彿" prop="code" style="width: 99%;margin-bottom:-5px" readonly> + <span>{{dataForm.code}}</span> + </el-form-item> + </div> + <div style="border: 1px solid rgba(0,0,0,.2)"> + <div class="el-flex el-border-bottom"> + <div class="DWidth DAlign DHold"> + 濮旀墭鍗曚綅 + </div> + <div class="DSTOld-1-Form"> + <!-- 鍗曚綅鍚嶇О --> + <zt-form-item class="marginTopAndMarginBottom" label="鍗曚綅鍚嶇О" prop="entrustUnitName" style="width: 49%" + rules="required"> + <el-input v-model="dataForm.entrustUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> + </zt-form-item> + <!-- 鑱旂郴浜� --> + <zt-form-item class="marginTopAndMarginBottom" label="鑱旂郴浜�" prop="entrustUnitContact" style="width: 49%" + rules="required"> + <el-input v-model="dataForm.entrustUnitContact" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> + </zt-form-item> - <!-- 璇︾粏鍦板潃 --> - <zt-form-item label="璇︾粏鍦板潃" prop="entrustUnitAddress" style="width: 49%" rules="required"> - <el-input v-model="dataForm.entrustUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> - </zt-form-item> - <!-- 鑱旂郴鏂瑰紡 --> - <zt-form-item label="鑱旂郴鏂瑰紡" prop="entrustUnitContWay" style="width: 49%" rules="required"> - <el-input v-model="dataForm.entrustUnitContWay" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input> - </zt-form-item> - </div> + <!-- 璇︾粏鍦板潃 --> + <zt-form-item label="璇︾粏鍦板潃" prop="entrustUnitAddress" style="width: 49%" rules="required"> + <el-input v-model="dataForm.entrustUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </zt-form-item> + <!-- 鑱旂郴鏂瑰紡 --> + <zt-form-item label="鑱旂郴鏂瑰紡" prop="entrustUnitContWay" style="width: 49%" rules="required"> + <el-input v-model="dataForm.entrustUnitContWay" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input> + </zt-form-item> </div> - <div class="el-flex el-border-bottom"> - <div class="DWidth DAlign DHold"> - 寮�鍙戝崟浣� - </div> - <div class="DSTOld-1-Form"> - <!-- 鍗曚綅鍚嶇О --> - <zt-form-item class="marginTopAndMarginBottom" label="鍗曚綅鍚嶇О" prop="developUnitName" style="width: 49%" rules="required"> - <el-input v-model="dataForm.developUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> - </zt-form-item> - <!-- 鑱旂郴浜� --> - <zt-form-item class="marginTopAndMarginBottom" label="鑱旂郴浜�" prop="developUnitContact" style="width: 49%" rules="required"> - <el-input v-model="dataForm.developUnitContact" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> - </zt-form-item> - <!-- 璇︾粏鍦板潃 --> - <zt-form-item label="璇︾粏鍦板潃" prop="developUnitAddress" style="width: 49%" rules="required"> - <el-input v-model="dataForm.developUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> - </zt-form-item> - <!-- 鑱旂郴鏂瑰紡 --> - <zt-form-item label="鑱旂郴鏂瑰紡" prop="developUnitContWay" style="width: 49%" rules="required"> - <el-input v-model="dataForm.developUnitContWay" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input> - </zt-form-item> - </div> + </div> + <div class="el-flex el-border-bottom"> + <div class="DWidth DAlign DHold"> + 寮�鍙戝崟浣� </div> - <div class="el-flex el-border-bottom"> - <div class="DWidth-Unt DAlign DHold"> - 琚祴浠朵俊鎭� - </div> - <div class="DSTOld-1-Form"> - <!-- 鍗曚綅鍚嶇О --> - <zt-form-item class="marginTopAndMarginBottom" label="杞欢鍚嶇О" prop="softwareName" style="width: 49%" rules="required"> - <el-input v-model="dataForm.softwareName" placeholder="璇疯緭鍏ヨ蒋浠跺悕绉�"></el-input> - </zt-form-item> - <!-- 鑱旂郴浜� --> - <zt-form-item class="marginTopAndMarginBottom" label="杞欢鏍囪瘑" prop="softwareIdentity" style="width: 49%" rules="required"> - <el-input v-model="dataForm.softwareIdentity" placeholder="璇疯緭鍏ヨ蒋浠舵爣璇�"></el-input> - </zt-form-item> - <!-- 璇︾粏鍦板潃 --> - <zt-form-item label="瀵嗙骇" prop="secretClass" style="width: 49%" rules="required"> - <zt-dict v-model="dataForm.secretClass" dict="secret_class"></zt-dict> - </zt-form-item> - <!-- <zt-form-item label="淇濆瘑绾у埆" prop="secretClass" style="width: 25%">--> - <!-- <zt-dict v-model="dataForm.secretClass" dict="secret_class" placeholder="淇濆瘑绾у埆" style="width:200px"></zt-dict>--> - <!-- </zt-form-item>--> - <!-- 鑱旂郴鏂瑰紡 --> - <zt-form-item label="鍏抽敭绛夌骇" prop="criticalLevel" style="width: 49%" rules="required"> - <zt-dict v-model="dataForm.criticalLevel" dict="critical_level"></zt-dict> - </zt-form-item> - <div class="el-flex" style="height: 40px;border-top:1px solid rgba(0,0,0,.2)"> - <div class="DWidth DAlign DHold"> - 杞欢绫诲瀷 - </div> - <div style="width: calc(100% - 120px);"> - <zt-dict v-model="dataForm.softwareType" :radio="true" dict="software_type" clearable></zt-dict> - </div> + <div class="DSTOld-1-Form"> + <!-- 鍗曚綅鍚嶇О --> + <zt-form-item class="marginTopAndMarginBottom" label="鍗曚綅鍚嶇О" prop="developUnitName" style="width: 49%" + rules="required"> + <el-input v-model="dataForm.developUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input> + </zt-form-item> + <!-- 鑱旂郴浜� --> + <zt-form-item class="marginTopAndMarginBottom" label="鑱旂郴浜�" prop="developUnitContact" style="width: 49%" + rules="required"> + <el-input v-model="dataForm.developUnitContact" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input> + </zt-form-item> + <!-- 璇︾粏鍦板潃 --> + <zt-form-item label="璇︾粏鍦板潃" prop="developUnitAddress" style="width: 49%" rules="required"> + <el-input v-model="dataForm.developUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input> + </zt-form-item> + <!-- 鑱旂郴鏂瑰紡 --> + <zt-form-item label="鑱旂郴鏂瑰紡" prop="developUnitContWay" style="width: 49%" rules="required"> + <el-input v-model="dataForm.developUnitContWay" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input> + </zt-form-item> + </div> + </div> + <div class="el-flex el-border-bottom"> + <div class="DWidth-Unt DAlign DHold"> + 琚祴浠朵俊鎭� + </div> + <div class="DSTOld-1-Form"> + <!-- 鍗曚綅鍚嶇О --> + <zt-form-item class="marginTopAndMarginBottom" label="杞欢鍚嶇О" prop="softwareName" style="width: 49%" + rules="required"> + <el-input v-model="dataForm.softwareName" placeholder="璇疯緭鍏ヨ蒋浠跺悕绉�"></el-input> + </zt-form-item> + <!-- 鑱旂郴浜� --> + <zt-form-item class="marginTopAndMarginBottom" label="杞欢鏍囪瘑" prop="softwareIdentity" style="width: 49%" + rules="required"> + <el-input v-model="dataForm.softwareIdentity" placeholder="璇疯緭鍏ヨ蒋浠舵爣璇�"></el-input> + </zt-form-item> + <!-- 璇︾粏鍦板潃 --> + <zt-form-item label="瀵嗙骇" prop="secretClass" style="width: 49%" rules="required"> + <zt-dict v-model="dataForm.secretClass" dict="secret_class"></zt-dict> + </zt-form-item> + <!-- <zt-form-item label="淇濆瘑绾у埆" prop="secretClass" style="width: 25%">--> + <!-- <zt-dict v-model="dataForm.secretClass" dict="secret_class" placeholder="淇濆瘑绾у埆" style="width:200px"></zt-dict>--> + <!-- </zt-form-item>--> + <!-- 鑱旂郴鏂瑰紡 --> + <zt-form-item label="鍏抽敭绛夌骇" prop="criticalLevel" style="width: 49%" rules="required"> + <zt-dict v-model="dataForm.criticalLevel" dict="critical_level"></zt-dict> + </zt-form-item> + <div class="el-flex" style="height: 40px;border-top:1px solid rgba(0,0,0,.2)"> + <div class="DWidth DAlign DHold"> + 杞欢绫诲瀷 + </div> + <div style="width: calc(100% - 120px);"> + <zt-dict v-model="dataForm.softwareType" :radio="true" dict="software_type" clearable></zt-dict> </div> </div> </div> - <div class="el-flex "> - <div class="DWidth DAlign DHold"> - 椤圭洰璐d换浜� - </div> - <div class="DSTOld-1-Form"> - <!-- 椤圭洰璐熻矗浜� --> - <zt-form-item class="marginTopAndMarginBottom" label-width="120px" label="椤圭洰璐熻矗浜�" prop="projectLeader" style="width: 48%" rules="required"> - <zt-select v-model="dataForm.projectLeader" url="/sys/userEx/getUsersList" placeholder="椤圭洰璐熻矗浜�"/> -<!-- <el-input v-model="dataForm.projectLeader" placeholder="璇疯緭鍏ラ」鐩礋璐d汉"></el-input>--> -<!-- <el-select v-model="dataForm.projectLeader" placeholder="椤圭洰璐熻矗浜�" style="width: 100%">--> -<!-- <el-option v-for="data in dataList"></el-option>--> -<!-- </el-select>--> -<!-- <el-select v-model="dataForm.projectLeader" clearable placeholder="椤圭洰璐熻矗浜�">--> -<!-- <el-option v-for="item in dataList" :key="item.value" :label="item.label"--> -<!-- :value="item.value"/>--> -<!-- </el-select>--> - </zt-form-item> - <!-- 椤圭洰娴嬭瘯浜哄憳 --> - <zt-form-item class="marginTopAndMarginBottom" label-width="120px" label="椤圭洰娴嬭瘯浜哄憳" prop="projectTesters" style="width: 48%" rules="required"> -<!-- <el-input v-model="dataForm.projectTesters" placeholder="璇疯緭鍏ラ」鐩祴璇曚汉鍛�"></el-input>--> - <zt-select v-model="dataForm.projectTesters" url="/sys/userEx/getUsersList" :multiple="true" :clearable="true" placeholder="椤圭洰娴嬭瘯浜哄憳"/> - </zt-form-item> - <!-- 椤圭洰瀹℃牳浜� --> - <zt-form-item label-width="120px" label="椤圭洰瀹℃牳浜�" prop="projectReviewer" style="width: 48%" rules="required"> -<!-- <el-input v-model="dataForm.projectReviewer" placeholder="璇疯緭鍏ラ」鐩鏍镐汉"></el-input>--> - <zt-select v-model="dataForm.projectReviewer" url="/sys/userEx/getUsersList" :multiple="true" :clearable="true" placeholder="椤圭洰瀹℃牳浜�"/> - </zt-form-item> - <!-- 鏄惁绛剧讲鍚堝悓 --> - <zt-form-item label-width="120px" label="鏄惁绛剧讲鍚堝悓" prop="isContract" style="width: 48%" rules="required"> - <zt-dict v-model="dataForm.isContract" dict="is_or_not"></zt-dict> - </zt-form-item> - </div> + </div> + <div class="el-flex "> + <div class="DWidth DAlign DHold"> + 椤圭洰璐d换浜� + </div> + <div class="DSTOld-1-Form"> + <zt-form-item class="marginTopAndMarginBottom" label-width="120px" label="鎵�灞為儴闂�" prop="bizDeptId" + style="width: 48%"> + <zt-select v-model="dataForm.bizDeptId" :datas="bizDeptList" onchange="getUserList()" placeholder="鎵�灞為儴闂�"/> + </zt-form-item> + <!-- 鏄惁绛剧讲鍚堝悓 --> + <zt-form-item label-width="120px" label="鏄惁绛剧讲鍚堝悓" prop="isContract" style="width: 48%"> + <zt-dict v-model="dataForm.isContract" dict="is_or_not"></zt-dict> + </zt-form-item> + <!-- 椤圭洰璐熻矗浜� --> + <zt-form-item class="marginTopAndMarginBottom" label-width="120px" label="椤圭洰璐熻矗浜�" prop="projectLeader" + style="width: 48%"> + <zt-select v-model="dataForm.projectLeader" :datas="projectLeaderList" placeholder="椤圭洰璐熻矗浜�"/> + </zt-form-item> + <!-- 椤圭洰娴嬭瘯浜哄憳 --> + <zt-form-item class="marginTopAndMarginBottom" label-width="120px" label="椤圭洰娴嬭瘯浜哄憳" prop="projectTesters" + style="width: 48%"> + <!-- <el-input v-model="dataForm.projectTesters" placeholder="璇疯緭鍏ラ」鐩祴璇曚汉鍛�"></el-input>--> + <zt-select v-model="dataForm.projectTesters" :datas="projectTestersList" :multiple="true" + :clearable="true" placeholder="椤圭洰娴嬭瘯浜哄憳"/> + </zt-form-item> + <!-- 椤圭洰瀹℃牳浜� --> + <zt-form-item label-width="120px" label="椤圭洰瀹℃牳浜�" prop="projectReviewer" style="width: 48%"> + <!-- <el-input v-model="dataForm.projectReviewer" placeholder="璇疯緭鍏ラ」鐩鏍镐汉"></el-input>--> + <zt-select v-model="dataForm.projectReviewer" :datas="projectReviewerList" :multiple="true" + :clearable="true" placeholder="椤圭洰瀹℃牳浜�"/> + </zt-form-item> + <zt-form-item label-width="120px" label="椤圭洰閰嶇疆浜�" prop="projectConfiger" style="width: 48%"> + <!-- <el-input v-model="dataForm.projectReviewer" placeholder="璇疯緭鍏ラ」鐩鏍镐汉"></el-input>--> + <zt-select v-model="dataForm.projectConfiger" :datas="projectConfigerList" :multiple="true" + :clearable="true" placeholder="椤圭洰閰嶇疆浜�"/> + </zt-form-item> </div> </div> - </el-form> + </div> + </el-form> </zt-dialog> </template> @@ -152,53 +164,92 @@ projectLeader: '', projectTesters: '', projectReviewer: '', + projectConfiger: '', + bizDeptId: '', isContract: '', - } + }, + projectLeaderList: [], + projectTestersList: [], + projectReviewerList: [], + projectConfigerList: [], + bizDeptList: [], + bizDeptIdList: [], } }, + watch: { + /* bizDeptId(val, oldval) { + alert(1) + this.getUserList() + },*/ + }, methods: { + init() { + this.getInfo() + this.getbizDept() + }, // 鑾峰彇淇℃伅 async getInfo() { - let res = await this.$http.get(`/project/Project//${this.dataForm.id}`) + console.log(this.dataForm.id, "async getInfo()") + if (this.dataForm.id == undefined) { + return + } + let res = await this.$http.get(`/project/Project/${this.dataForm.id}`) if (res.success) { this.dataForm = { ...this.dataForm, ...res.data } + await this.getUserList() } - if(this.dataForm && this.dataForm.projectTesters){ - this.dataForm.projectTesters=this.dataForm.projectTesters.split(',') - console.log(this.dataForm.projectTesters) - } - if(this.dataForm && this.dataForm.projectReviewer){ - this.dataForm.projectReviewer=this.dataForm.projectReviewer.split(',') - console.log(this.dataForm.projectReviewer) - } - console.log(this.dataForm,'this.dataForm') + }, + async getUserList() { + let res = await this.$http.get(`/project/Project/getUsersLists?deptId=${this.dataForm.bizDeptId}`) + if (res.success) { + this.projectLeaderList = res.data.zrr + this.projectTestersList = res.data.csry + this.projectReviewerList = res.data.shry + this.projectConfigerList = res.data.pzry + } + console.log(this.dataForm, 'this.dataForm') + }, + async getbizDept() { + let res = await this.$http.get(`/sys/dept/getList`) + if (res.success) { + this.bizDeptList = res.data; + } + console.log(this.bizDeptList, "getbizDept") }, // 琛ㄥ崟鎻愪氦 async formSubmit() { - if(this.dataForm && this.dataForm.projectTesters){ - this.dataForm.projectTesters=this.dataForm.projectTesters.join(',') + if (this.dataForm && this.dataForm.projectTesters instanceof Array) { + this.dataForm.projectTesters = this.dataForm.projectTesters.join(',') console.log(this.dataForm.projectTesters) } - if(this.dataForm && this.dataForm.projectReviewer){ - this.dataForm.projectReviewer=this.dataForm.projectReviewer.join(',') + if (this.dataForm && this.dataForm.projectReviewer instanceof Array) { + this.dataForm.projectReviewer = this.dataForm.projectReviewer.join(',') console.log(this.dataForm.projectReviewer) } - let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project/Project//', this.dataForm) + if (this.dataForm && this.dataForm.projectConfiger instanceof Array) { + this.dataForm.projectConfiger = this.dataForm.projectConfiger.join(',') + console.log(this.dataForm.projectConfiger) + } + let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project/Project/', this.dataForm) if (res.success) { await this.$tip.success() this.$refs.dialog.close() this.$emit('refreshDataList') - }else { - if(this.dataForm && this.dataForm.projectTesters){ - this.dataForm.projectTesters=this.dataForm.projectTesters.split(',') + } else { + if (this.dataForm && this.dataForm.projectTesters instanceof Array) { + this.dataForm.projectTesters = this.dataForm.projectTesters.split(',') console.log(this.dataForm.projectTesters) } - if(this.dataForm && this.dataForm.projectReviewer){ - this.dataForm.projectReviewer=this.dataForm.projectReviewer.split(',') + if (this.dataForm && this.dataForm.projectReviewer instanceof Array) { + this.dataForm.projectReviewer = this.dataForm.projectReviewer.split(',') console.log(this.dataForm.projectReviewer) + } + if (this.dataForm && this.dataForm.projectConfiger instanceof Array) { + this.dataForm.projectConfiger = this.dataForm.projectConfiger.split(',') + console.log(this.dataForm.projectConfiger) } } } @@ -206,77 +257,86 @@ } </script> <style> -.projectAuto { - width: 70%; -} + .projectAuto { + width: 70%; + } -.el-flex { - display: flex; - align-items: center; -} + .el-flex { + display: flex; + align-items: center; + } -.DWidth { - width: 100px; -} + .DWidth { + width: 100px; + } -.DWidth-Unt { - width: 100px; -} + .DWidth-Unt { + width: 100px; + } -.DAlign { - text-align: center; -} + .DAlign { + text-align: center; + } -.DSTOld-1-Form, -.DSTOld-1-Form{ - border-left: 1px solid rgba(0,0,0,.2); - width: 100%; -} -.el-border-left{ - border-left: 1px solid rgba(0,0,0,.2); -} -.DOldForm { - width: 100%; -} -.el-border-top-and-bottom{ - border-top: 1px solid rgba(0,0,0,.2); - border-bottom: 1px solid rgba(0,0,0,.2); -} -.DSTOld-1-Form { - border-left: 1px solid rgba(0,0,0,.2); - width: 100%; -} + .DSTOld-1-Form, + .DSTOld-1-Form { + border-left: 1px solid rgba(0, 0, 0, .2); + width: 100%; + } -.DSTOld-1-Form > .el-form-item>.el-form-item__content { - width: calc(100% - 120px); -} -.DManageForm > .el-form-item>.el-form-item__content { - width: calc(100% - 120px); -} -.el-border-bottom { - border-bottom: 1px solid rgba(0,0,0,.2); -} + .el-border-left { + border-left: 1px solid rgba(0, 0, 0, .2); + } -.zt .el-table.el-software th { - background: transparent; -} + .DOldForm { + width: 100%; + } -.zt .el-table.el-software th > .cell { - font-weight: 500; -} -.DHold{ - font-weight: 600; -} -.zt .el-table.el-software{ - font-size: 14px; -} -.projectAuto .marginTopAndMarginBottom { - margin-top: 10px !important; - margin-bottom: 0 !important; -} + .el-border-top-and-bottom { + border-top: 1px solid rgba(0, 0, 0, .2); + border-bottom: 1px solid rgba(0, 0, 0, .2); + } -.projectAuto .marginTopAndMarginBottom2 { - margin-top: -10px !important; - margin-bottom: 10px !important; -} + .DSTOld-1-Form { + border-left: 1px solid rgba(0, 0, 0, .2); + width: 100%; + } + + .DSTOld-1-Form > .el-form-item > .el-form-item__content { + width: calc(100% - 120px); + } + + .DManageForm > .el-form-item > .el-form-item__content { + width: calc(100% - 120px); + } + + .el-border-bottom { + border-bottom: 1px solid rgba(0, 0, 0, .2); + } + + .zt .el-table.el-software th { + background: transparent; + } + + .zt .el-table.el-software th > .cell { + font-weight: 500; + } + + .DHold { + font-weight: 600; + } + + .zt .el-table.el-software { + font-size: 14px; + } + + .projectAuto .marginTopAndMarginBottom { + margin-top: 10px !important; + margin-bottom: 0 !important; + } + + .projectAuto .marginTopAndMarginBottom2 { + margin-top: -10px !important; + margin-bottom: 10px !important; + } </style> diff --git a/web/src/views/modules/project/Project.vue b/web/src/views/modules/project/Project.vue index 3ffdb1b..2226682 100644 --- a/web/src/views/modules/project/Project.vue +++ b/web/src/views/modules/project/Project.vue @@ -1,76 +1,78 @@ <template> - <div class="fa-card-a"> - <zt-table-wraper query-url="/project/Project/page" delete-url="/project/Project/deleteProject" v-slot="{ table }"> - <el-form :inline="true" class="form-input-width-1" :model="dataForm" @keyup.enter.native="table.query()"> - <el-form-item> - <el-input v-model="dataForm.softwareName" placeholder="璇疯緭鍏ヨ蒋浠跺悕绉�" clearable></el-input> + <div class="fa-card-a"> + <zt-table-wraper query-url="/project/Project/page" delete-url="/project/Project/deleteProject" v-slot="{ table }"> + <el-form :inline="true" class="form-input-width-1" :model="dataForm" @keyup.enter.native="table.query()"> + <el-form-item> + <el-input v-model="dataForm.softwareName" placeholder="璇疯緭鍏ヨ蒋浠跺悕绉�" clearable></el-input> - </el-form-item> - <el-form-item > - <zt-dict v-model="dataForm.secretClass" placeholder="瀵嗙骇" dict="secret_class" clearable></zt-dict> + </el-form-item> + <el-form-item> + <zt-dict v-model="dataForm.secretClass" placeholder="瀵嗙骇" dict="secret_class" clearable></zt-dict> - </el-form-item> - <el-form-item > - <zt-dict v-model="dataForm.criticalLevel" placeholder="鍏抽敭绛夌骇" dict="critical_level" clearable></zt-dict> + </el-form-item> + <el-form-item> + <zt-dict v-model="dataForm.criticalLevel" placeholder="鍏抽敭绛夌骇" dict="critical_level" clearable></zt-dict> - </el-form-item> - <el-form-item > - <zt-dict v-model="dataForm.softwareType" placeholder="杞欢绫诲瀷" dict="software_type" clearable></zt-dict> + </el-form-item> + <el-form-item> + <zt-dict v-model="dataForm.softwareType" placeholder="杞欢绫诲瀷" dict="software_type" clearable></zt-dict> - </el-form-item> - <el-form-item > - <zt-dict v-model="dataForm.isContract" placeholder="鏄惁绛剧讲鍚堝悓" dict="is_or_not" clearable></zt-dict> + </el-form-item> + <el-form-item> + <zt-dict v-model="dataForm.isContract" placeholder="鏄惁绛剧讲鍚堝悓" dict="is_or_not" clearable></zt-dict> - </el-form-item> - <el-form-item> - <zt-button type="query" @click="table.query()"/> - <zt-button type="add" perm="project:add" @click="table.editHandle()"/> - <zt-button type="delete" perm="project:delete" @click="table.deleteHandle()"/> - </el-form-item> - </el-form> - <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" border @selection-change="table.selectionChangeHandle"> - <el-table-column type="selection" align="center" width="40"/> - <el-table-column prop="softwareName" label="杞欢鍚嶇О"/> - <el-table-column prop="code" label="椤圭洰缂栧彿"/> - <el-table-column prop="softwareIdentity" label="椤圭洰鏍囪瘑"/> - <el-table-column prop="entrustUnitName" label="濮旀墭鍗曚綅鍚嶇О"/> - <el-table-column prop="developUnitName" label="寮�鍙戝崟浣嶅悕绉�"/> - <zt-table-column-dict prop="secretClass" label="瀵嗙骇" dict="secret_class"/> - <zt-table-column-dict prop="criticalLevel" label="鍏抽敭绛夌骇" dict="critical_level"/> - <!-- <zt-table-column-dict prop="testLevel" label="娴嬭瘯绾у埆" dict="test_level"/>--> - <zt-table-column-dict prop="softwareType" label="杞欢绫诲瀷" dict="software_type"/> - <el-table-column prop="projectLeader" label="椤圭洰璐熻矗浜�"/> - <zt-table-column-dict prop="isContract" label="鏄惁绛剧讲鍚堝悓" dict="is_or_not"/> - <zt-table-column-handle :table="table" edit-perm="project:update" delete-perm="project::delete"/> - </el-table> - <!-- 寮圭獥, 鏂板 / 淇敼 --> - <add-or-update @refreshDataList="table.query"/> - </zt-table-wraper> - </div> + </el-form-item> + <el-form-item> + <zt-button type="query" @click="table.query()"/> + <zt-button type="add" perm="project:add" @click="table.editHandle()"/> + <zt-button type="delete" perm="project:delete" @click="table.deleteHandle()"/> + </el-form-item> + </el-form> + <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" + border @selection-change="table.selectionChangeHandle"> + <el-table-column type="selection" align="center" width="40"/> + <el-table-column prop="softwareName" label="杞欢鍚嶇О"/> + <el-table-column prop="code" label="椤圭洰缂栧彿"/> + <el-table-column prop="softwareIdentity" label="椤圭洰鏍囪瘑"/> + <el-table-column prop="entrustUnitName" label="濮旀墭鍗曚綅鍚嶇О"/> + <el-table-column prop="developUnitName" label="寮�鍙戝崟浣嶅悕绉�"/> + <zt-table-column-dict prop="secretClass" label="瀵嗙骇" dict="secret_class"/> + <zt-table-column-dict prop="criticalLevel" label="鍏抽敭绛夌骇" dict="critical_level"/> + <!-- <zt-table-column-dict prop="testLevel" label="娴嬭瘯绾у埆" dict="test_level"/>--> + <zt-table-column-dict prop="softwareType" label="杞欢绫诲瀷" dict="software_type"/> + <el-table-column prop="projectLeader" label="椤圭洰璐熻矗浜�"/> + <zt-table-column-dict prop="isContract" label="鏄惁绛剧讲鍚堝悓" dict="is_or_not"/> + <zt-table-column-handle :table="table" edit-perm="project:update" delete-perm="project::delete"/> + </el-table> + <!-- 寮圭獥, 鏂板 / 淇敼 --> + <add-or-update @refreshDataList="table.query"/> + </zt-table-wraper> + </div> </template> <script> -import AddOrUpdate from './Project-AddOrUpdate' -export default { - data() { - return { - dataForm: { - softwareName: '', - secretClass: '', - criticalLevel: '', - testLevel: '', - softwareType: '', - isContract: '', + import AddOrUpdate from './Project-AddOrUpdate' + + export default { + data() { + return { + dataForm: { + softwareName: '', + secretClass: '', + criticalLevel: '', + testLevel: '', + softwareType: '', + isContract: '', + } } + }, + components: { + AddOrUpdate } - }, - components: { - AddOrUpdate } -} </script> <style> -.form-input-width-1 .el-form-item>.el-form-item__content .el-input{ - width: 150px; -} + .form-input-width-1 .el-form-item > .el-form-item__content .el-input { + width: 150px; + } </style> diff --git a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue index 2c277af..35d15e1 100644 --- a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue +++ b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue @@ -107,6 +107,10 @@ </el-table-column> </el-table> </div> + <div v-if="!dataForm.disabled" class="icon-container" @click="addMeasuredRow()"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> + </div> </div> <div class="el-flex" style="height: 40px;"> <div class="DWidth DAlign DHold"> @@ -325,6 +329,10 @@ <el-table-column prop="name" min-width="300" label="鍚嶇О"></el-table-column> <el-table-column prop="identify" align="center" width="380" label="鏍囪瘑/鐗堟湰"></el-table-column> </el-table> + <div v-if="!dataForm.disabled" class="icon-container" @click="addDeliverableRow()"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> + </div> </div> </div> </div> @@ -567,6 +575,20 @@ // console.log(this.dataForm, "this.dataForm") console.log(this.dataForm,"getInfo this.dataForm") }, + addDeliverableRow() { + this.dataForm.deliverableList.push({}) + this.$nextTick(() => { + const tableBody = this.$refs.tableDeliverableList.$el.querySelector('.el-table__body-wrapper') + tableBody.scrollTop = tableBody.scrollHeight + }) + }, + addMeasuredRow() { + this.dataForm.measuredList.push({}) + this.$nextTick(() => { + const tableBody = this.$refs.tableMeasuredList.$el.querySelector('.el-table__body-wrapper') + tableBody.scrollTop = tableBody.scrollHeight + }) + }, async print(){ var params = qs.stringify({ token: Cookies.get('token'), diff --git a/web/src/views/modules/qaAuditReport/QaAuditReport-AddOrUpdate.vue b/web/src/views/modules/qaAuditReport/QaAuditReport-AddOrUpdate.vue index 0396dac..c02c7c0 100644 --- a/web/src/views/modules/qaAuditReport/QaAuditReport-AddOrUpdate.vue +++ b/web/src/views/modules/qaAuditReport/QaAuditReport-AddOrUpdate.vue @@ -10,10 +10,10 @@ <div style="border: 1px solid rgba(0,0,0,.2);width: 99%"> <div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="QaAuditContentWidth"> <el-form-item class="marginTopAndMarginBottom" label="椤圭洰鍚嶇О" style="width: 49%"> - <el-input v-model="dataForm.testAgencyInfo.agencyName" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> + <el-input v-model="dataForm.project.softwareName" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input> </el-form-item> <el-form-item class="marginTopAndMarginBottom" label="椤圭洰鏍囪瘑" style="width: 49%"> - <el-input v-model="dataForm.testAgencyInfo.labContactNum" placeholder="璇疯緭鍏ラ」鐩爣璇�"></el-input> + <el-input v-model="dataForm.project.softwareIdentity" placeholder="璇疯緭鍏ラ」鐩爣璇�"></el-input> </el-form-item> </div> <div class="el-flexQaAuditDialog el-border-bottom"> @@ -22,13 +22,13 @@ </div> <div class="el-border-left" style="width: calc(100% - 120px);min-height: 40px"> <el-form-item style="width: 50%;padding: 0 5px"> - <span>椤圭洰璐熻矗浜猴細{{dataForm.contractReview.technicalDirector || '椤圭洰璐熻矗浜�'}} </span> + <span>椤圭洰璐熻矗浜猴細{{dataForm.project.projectLeader || '椤圭洰璐熻矗浜�'}} </span> </el-form-item> <el-form-item style="width: 40%;padding: 0 5px"> - <span>娴嬭瘯浜哄憳锛歿{dataForm.contractReview.technicalDirector || '娴嬭瘯浜哄憳'}} </span> + <span>娴嬭瘯浜哄憳锛歿{dataForm.project.projectTesters || '娴嬭瘯浜哄憳'}} </span> </el-form-item> - <el-form-item style="width: 100%;padding: 0 5px"> - <span>閰嶇疆绠$悊鍛橈細{{dataForm.contractReview.technicalDirector || '閰嶇疆绠$悊鍛�'}} </span> + <el-form-item style="width: 40%;padding: 0 5px"> + <span>閰嶇疆浜哄憳锛歿{dataForm.project.projectConfiger || '閰嶇疆浜哄憳'}} </span> </el-form-item> </div> </div> @@ -37,6 +37,10 @@ 宸插畬鎴愮殑妫�鏌� </div> <div class="el-border-left" style="width: calc(100% - 120px);min-height: 40px"> + <el-form-item class="el-QaTextarea" label-width="20px" style="width: 100%;padding: 5px"> + <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" + v-model="dataForm.auditReport.completedCheck"></el-input> + </el-form-item> </div> </div> <div class=" el-border-bottom"> @@ -46,22 +50,46 @@ <div> <div class="table-container"> <el-table ref="tableConfigItemList" class="el-software el-margin-top-bot" - style="width: 99%;margin-left: 5px" border :data="dataForm.reviewItemList" + style="width: 99%;margin-left: 5px" border :data="dataForm.incongruentList" stripe> <el-table-column prop="no" align="center" width="60" label="搴忓彿"> <template slot-scope="scope"> <span v-html="indexFormat(scope.$index)"></span> </template> </el-table-column> - <el-table-column prop="item" min-width="400" label="璇勫椤�"> + <el-table-column prop="oddNum" min-width="350" label="涓嶇鍚堥」鍗曞彿"> <template v-slot="{ row }"> - <el-input v-model="row.item" placeholder="璇勫椤�"></el-input> + <el-input v-model="row.oddNum" placeholder="涓嶇鍚堥」鍗曞彿"></el-input> </template> </el-table-column> - <el-table-column prop="result" width="220" align="center" label="璇勫缁撴灉"> + <el-table-column prop="notTrueDescribe" width="220" align="center" label="涓嶇鍚堥」鎻忚堪"> <template v-slot="{ row }"> - <zt-dict v-model="row.result" placeholder="璇勫缁撴灉" dict="tristate1" :radio="true" - clearable></zt-dict> + <el-input v-model="row.notTrueDescribe" placeholder="涓嶇鍚堥」鎻忚堪"></el-input> + </template> + </el-table-column> + <el-table-column prop="workProcess" width="100" align="center" label="鎵�灞炲伐浣滀骇鍝�/杩囩▼"> + <template v-slot="{ row }"> + <el-input v-model="row.workProcess" placeholder="鎵�灞炲伐浣滀骇鍝�/杩囩▼"></el-input> + </template> + </el-table-column> + <el-table-column prop="discoveryPhase" width="80" align="center" label="鍙戠幇闃舵"> + <template v-slot="{ row }"> + <el-input v-model="row.discoveryPhase" placeholder="鍙戠幇闃舵"></el-input> + </template> + </el-table-column> + <el-table-column prop="chargePerson" width="80" align="center" label="璐d换浜�"> + <template v-slot="{ row }"> + <el-input v-model="row.chargePerson" placeholder="璐d换浜�"></el-input> + </template> + </el-table-column> + <el-table-column prop="status" width="80" align="center" label="鐘舵��"> + <template v-slot="{ row }"> + <el-input v-model="row.status" placeholder="鐘舵��"></el-input> + </template> + </el-table-column> + <el-table-column prop="remark" width="100" align="center" label="澶囨敞"> + <template v-slot="{ row }"> + <el-input v-model="row.remark" placeholder="澶囨敞"></el-input> </template> </el-table-column> </el-table> @@ -73,32 +101,34 @@ QA鎬荤粨 </div> <div class="el-border-bottom"> - <el-form-item class="el-QaTextarea" label-width="20px" style="width: 100%;padding: 5px"> - <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" - v-model="dataForm.contractReview.reviewRecord"></el-input> - </el-form-item> - <el-form-item label="妫�鏌ヤ汉(绛惧瓧)锛�" label-width="160px" style="width: 48%;padding: 5px;"> - <el-input v-model="dataForm.contractReview.technicalDirector"></el-input> - </el-form-item> - <el-form-item style="width: 48%;padding: 5px;"> - {{ dataForm.contractReview.reviewDate | filterTime('YYYY骞碝M鏈圖D鏃�') }} - </el-form-item> + <el-form-item class="el-QaTextarea" label-width="20px" style="width: 100%;padding: 5px"> + <el-input v-if="stepMarker=='qashbg_first'" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" + v-model="dataForm.auditReport.qaSummary"></el-input> + <span v-else>{{ dataForm.auditReport.qaSummary}}</span> + </el-form-item> + <el-form-item label="妫�鏌ヤ汉(绛惧瓧)锛�" label-width="160px" style="width: 48%;padding: 5px;"> + {{ dataForm.auditReport.checker }} + </el-form-item> + <el-form-item style="width: 48%;padding: 5px;"> + {{ dataForm.auditReport.checkDate | filterTime('YYYY骞碝M鏈圖D鏃�') }} + </el-form-item> </div> <div> <el-form-item label="璐ㄩ噺鐩戠潱鍛樻剰瑙侊細" class="el-QaTextarea1" label-width="160px" style="width: 100%;padding: 5px"> - <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" - v-model="dataForm.contractReview.technicalDirector"></el-input> + <el-input v-if="stepMarker=='qashbg_zljd'" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" + v-model="dataForm.auditReport.supervisorOpinion"></el-input> + <span v-else>{{ dataForm.auditReport.supervisorOpinion}}</span> </el-form-item> <el-form-item label="璐ㄩ噺鐩戠潱鍛�(绛惧瓧)锛�" label-width="160px" style="width: 48%;padding: 5px;"> - <el-input v-model="dataForm.contractReview.technicalDirector"></el-input> + {{ dataForm.auditReport.supervisorSign }} </el-form-item> - <el-form-item style="width: 48%;padding: 5px;"> - {{ dataForm.contractReview.reviewDate | filterTime('YYYY骞碝M鏈圖D鏃�') }} + <el-form-item style="width: 48%;padding: 5px;"> + {{ dataForm.auditReport.superviseDate | filterTime('YYYY骞碝M鏈圖D鏃�') }} </el-form-item> </div> </div> </div> - <div class="el-flex review-sc" style="height: 60px"> + <div class="el-flex qa-sc" style="height: 60px"> <el-form-item class="marginTopAndMarginBottom" style="width: 100%"> <config-uploader :lineHeight="true" busi-type="qa_audit_report" model-name="dataForm" :dataForm="dataForm" v-model="dataForm.files"/> @@ -133,49 +163,13 @@ id: '', project: { softwareIdentity: '', - softwarName: '', + softwareName: '', projectLeader: '', - projectTesters: '' + projectTesters: '', + projectConfiger: '' }, - contractReview: { - code: '', - orderCode: '', - reviewType: '', - reviewRecord: '', - specialRequire: '', - subcontract: '', - reviewConclusion: '', - technicalDirector: '', - reviewDate: '', - reviewPanelMember: '', - }, - incongruentList: [], - testAgencyInfo: { - agencyName: '', - labContactNum: '' - }, + incongruentList: [] } - // dataForm: { - // id: '', - // files:'', - // contractReview: { - // code: '', - // orderCode: '', - // reviewType: '', - // reviewRecord: '', - // specialRequire: '', - // subcontract: '', - // reviewConclusion: '', - // technicalDirector: '', - // reviewDate: '', - // reviewPanelMember: '', - // }, - // testAgencyInfo: { - // agencyName: '', - // labContactNum: '' - // }, - // reviewItemList: [] - // } } }, methods: { @@ -204,7 +198,19 @@ indexFormat(index) { return index += 1 }, - + async getNameById() { + let params = { + projectLeaderId: this.dataForm.project.projectLeader, + projectTestersId: this.dataForm.project.projectTesters, + projectConfigerId: this.dataForm.project.projectConfiger + } + let res = await this.$http.get(`/qaAuditReport/QaAuditReport/getNameById`, {params: params}) + if (res.success) { + this.dataForm.project.projectLeader = res.data.projectLeaderName + this.dataForm.project.projectTesters = res.data.projectTestersName + this.dataForm.project.projectConfiger = res.data.projectConfigerName + } + }, addCirculatRow() { this.dataForm.technicalList.push({}) this.$nextTick(() => { @@ -223,6 +229,7 @@ ...this.dataForm, ...res.data } + this.getNameById() if (this.dataForm.project === null) { this.dataForm.project = {} } @@ -261,20 +268,29 @@ } </script> <style> -.el-flexQaAuditDialog{ - display: flex; - align-items: center; -} -.QaFormWidth{ - width: 120px; -} -.QaAuditContentWidth > .el-form-item > .el-form-item__content { - width: calc(100% - 120px); -} -.el-form-item.el-QaTextarea > .el-form-item__content { - width: 100%; -} -.el-form-item.el-QaTextarea1 > .el-form-item__content { - width: calc(100% - 160px); -} + .el-flexQaAuditDialog { + display: flex; + align-items: center; + } + + .QaFormWidth { + width: 120px; + } + + .QaAuditContentWidth > .el-form-item > .el-form-item__content { + width: calc(100% - 120px); + } + + .el-form-item.el-QaTextarea > .el-form-item__content { + width: 100%; + } + + .el-form-item.el-QaTextarea1 > .el-form-item__content { + width: calc(100% - 160px); + } +</style> +<style> + .qa-sc > .el-form-item > .el-form-item__content { + width: 100%; + } </style> diff --git a/web/src/views/modules/qaAuditReport/QaAuditReport.vue b/web/src/views/modules/qaAuditReport/QaAuditReport.vue index e3c983b..cfb72ad 100644 --- a/web/src/views/modules/qaAuditReport/QaAuditReport.vue +++ b/web/src/views/modules/qaAuditReport/QaAuditReport.vue @@ -14,15 +14,15 @@ </el-form-item> <el-form-item> <zt-button type="query" @click="table.query()"/> - <zt-button type="primary" class="el-icon-edit" @click="add()">鏂板</zt-button> - <zt-button type="delete" @click="table.deleteHandle()"/> + <zt-button type="primary" class="el-icon-edit" perm="qaAuditReport:add" @click="add()">鏂板</zt-button> + <zt-button type="delete" perm="qaAuditReport:delete" @click="table.deleteHandle()"/> </el-form-item> </el-form> <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" border @selection-change="table.selectionChangeHandle"> <el-table-column type="selection" align="center" width="40"/> <el-table-column prop="code" label="缂栧彿"/> - <el-table-column prop="softwareName" label="椤圭洰鍚嶇О"/> - <el-table-column prop="softwareIdentity" label="椤圭洰鏍囪瘑"/> + <el-table-column prop="softwareName" label="椤圭洰鍚嶇О"/> + <el-table-column prop="softwareIdentity" label="椤圭洰鏍囪瘑"/> <zt-table-column-handle :table="table" edit-perm="qaAuditReport:update" delete-perm="qaAuditReport::delete"> <template v-slot="{ row }"> <zt-table-button size="small" v-show = "row.accessoryMap" type="primary" diff --git a/web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue b/web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue new file mode 100644 index 0000000..e4f9eb3 --- /dev/null +++ b/web/src/views/modules/riskTraceRecord/RiskTraceItem-AddOrUpdate.vue @@ -0,0 +1,69 @@ +<template> + <zt-dialog ref="dialog" @confirm="formSubmit"> + <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px"> + <zt-form-item label="鎺掑簭" prop="sort" rules="required"> + <el-input v-model="dataForm.sort"></el-input> + </zt-form-item> + <zt-form-item label="椋庨櫓鍚嶇О" prop="riskName" rules="required"> + <el-input v-model="dataForm.riskName"></el-input> + </zt-form-item> + <zt-form-item label="椋庨櫓鎻忚堪" prop="riskDesc" rules="required"> + <el-input v-model="dataForm.riskDesc"></el-input> + </zt-form-item> + <zt-form-item label="椋庨櫓绛夌骇" prop="riskLevel" rules="required"> + <el-input v-model="dataForm.riskLevel"></el-input> + </zt-form-item> + </el-form> + </zt-dialog> +</template> + +<script> + export default { + data() { + return { + dataForm: { + id: '', + sort: '', + riskName: '', + riskDesc: '', + riskLevel: '' + } + } + }, + methods: { + init(id, row) { + if (id) { + this.dataForm.id = id + } else { + this.dataForm.id = row.id + } + if (row.projectId) { + this.dataForm.projectId = row.projectId + } + // this.dataForm.disabled + this.getInfo() + }, + // 鑾峰彇淇℃伅 + async getInfo() { + let params = { + riskId: this.dataForm.id, + projectId: this.dataForm.projectId + } + let res = await this.$http.get(`/riskTraceRecord/RiskTraceItem/`,{params:params}) + this.dataForm = { + ...this.dataForm, + ...res.data + } + }, + // 琛ㄥ崟鎻愪氦 + async formSubmit() { + let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/riskTraceRecord/RiskTraceItem/', this.dataForm) + if (res.success) { + await this.$tip.success() + this.$refs.dialog.close() + this.$emit('refreshDataList') + } + } + } + } +</script> diff --git a/web/src/views/modules/riskTraceRecord/RiskTraceItem.vue b/web/src/views/modules/riskTraceRecord/RiskTraceItem.vue new file mode 100644 index 0000000..c3e3388 --- /dev/null +++ b/web/src/views/modules/riskTraceRecord/RiskTraceItem.vue @@ -0,0 +1,78 @@ +<template> + <el-card shadow="never" class="aui-card--fill"> + <div class="mod-riskTraceRecord-riskTraceItem}"> + <zt-table-wraper query-url="/riskTraceRecord/RiskTraceItem/page" delete-url="/riskTraceRecord/RiskTraceItem/deleteRisk" + v-slot="{ table }"> + <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> + <el-form-item> + <el-input v-model="dataForm.softwareName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable></el-input> + </el-form-item> + <el-form-item> + <el-input v-model="dataForm.softwareIdentity" placeholder="璇疯緭鍏ラ」鐩爣璇�" clearable></el-input> + </el-form-item> + <el-form-item> + <zt-button type="query" @click="table.query()"/> + <zt-button type="primary" class="el-icon-edit" perm="riskTraceRecord:add" @click="add()">鏂板</zt-button> + <zt-button type="delete" perm="riskTraceRecord:delete" @click="table.deleteHandle()"/> + </el-form-item> + </el-form> + <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" + border @selection-change="table.selectionChangeHandle"> + <el-table-column type="selection" width="40"/> + <el-table-column prop="softwareName" label="椤圭洰鍚嶇О"/> + <el-table-column prop="softwareIdentity" label="椤圭洰鏍囪瘑"/> + <zt-table-column-handle :table="table" edit-perm="riskTraceRecord:update" + delete-perm="riskTraceRecord::delete"> + <template v-slot="{ row }"> + <zt-table-button size="small" v-show="row.accessoryMap" type="primary" + @click="preview(row)">棰勮 + </zt-table-button> + </template> + </zt-table-column-handle> + </el-table> + <!-- 寮圭獥, 鏂板 / 淇敼 --> + <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/> + <ProjectSelect ref="projectSelect" + @refreshDataList="table.query" + @setProjectInfo="openAddWin"> + </ProjectSelect> + <Preview ref="view" :pageMarkerfun="RiskTrace"></Preview> + </zt-table-wraper> + </div> + </el-card> +</template> + +<script> + import AddOrUpdate from './RiskTraceItem-AddOrUpdate' + import Preview from '@/views/pages/view' + import ProjectSelect from "../project/Project-select"; + + export default { + data() { + return { + RiskTrace:'RiskTrace', + dataForm: { + softwareName: '', + softwareIdentity: '' + } + } + }, + components: { + AddOrUpdate, + ProjectSelect, + Preview + }, + methods:{ + add() { + this.$refs.projectSelect.$refs.dialog.init("risk_measure") + }, + openAddWin(row) { + console.log(row.id, 'row.id') + this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id}) + }, + preview(row){ + this.$refs.view.openAccessoryFormatSingle(row) + } + } + } +</script> diff --git a/web/src/views/modules/sys/task/already-task.vue b/web/src/views/modules/sys/task/already-task.vue index 1176f51..afdd1e0 100644 --- a/web/src/views/modules/sys/task/already-task.vue +++ b/web/src/views/modules/sys/task/already-task.vue @@ -54,6 +54,7 @@ <ConfigItemOutbound ref="configItemOutbound" @refreshDataList="getQuery()"></ConfigItemOutbound> <TestCheckOrder ref="testCheckOrder" @refreshDataList="getQuery()"></TestCheckOrder> <BaselineRelease ref="baselineRelease" @refreshDataList="getQuery()"></BaselineRelease> + <QaAuditReport ref="qaAuditReport" @refreshDataList="getQuery()"></QaAuditReport> <!-- </zt-table-wraper>--> </div> </template> @@ -68,6 +69,7 @@ import ConfigItemChange from "@/views/modules/configItemChange/ConfigItemChange-AddOrUpdate.vue"; import ConfigItemOutbound from "@/views/modules/configItemOutbound/ConfigItemOutbound-AddOrUpdate.vue"; import BaselineRelease from "@/views/modules/baselineRelease/BaselineRelease-AddOrUpdate.vue"; + import QaAuditReport from '@/views/modules/qaAuditReport/QaAuditReport-AddOrUpdate' export default { data() { @@ -97,7 +99,8 @@ ConfigItemWarehouse, ConfigItemChange, ConfigItemOutbound, - BaselineRelease + BaselineRelease, + QaAuditReport }, watch:{ }, @@ -222,6 +225,10 @@ this.$nextTick(()=>{ this.$refs.baselineRelease.$refs.dialog.init(row.bizId,row, true) }) + }else if (row.flowCode === 'qashbg') { + this.$nextTick(()=>{ + this.$refs.qaAuditReport.$refs.dialog.init(row.bizId,row, true) + }) } else { if (row.stepReadRouterId === null){ diff --git a/web/src/views/modules/sys/task/stay-task.vue b/web/src/views/modules/sys/task/stay-task.vue index 8765baf..1dd29cd 100644 --- a/web/src/views/modules/sys/task/stay-task.vue +++ b/web/src/views/modules/sys/task/stay-task.vue @@ -61,6 +61,7 @@ <ConfigItemOutbound ref="configItemOutbound" @refreshDataList="getQuery()"></ConfigItemOutbound> <TestCheckOrder ref="testCheckOrder" @refreshDataList="getQuery()"></TestCheckOrder> <BaselineRelease ref="baselineRelease" @refreshDataList="getQuery()"></BaselineRelease> + <QaAuditReport ref="qaAuditReport" @refreshDataList="getQuery()"></QaAuditReport> <!-- </zt-table-wraper>--> </div> </template> @@ -74,6 +75,7 @@ import ConfigItemChange from '@/views/modules/configItemChange/ConfigItemChange-AddOrUpdate' import ConfigItemOutbound from '@/views/modules/configItemOutbound/ConfigItemOutbound-AddOrUpdate' import BaselineRelease from '@/views/modules/baselineRelease/BaselineRelease-AddOrUpdate' + import QaAuditReport from '@/views/modules/qaAuditReport/QaAuditReport-AddOrUpdate' export default { data() { @@ -118,6 +120,7 @@ ConfigItemChange, ConfigItemOutbound, BaselineRelease, + QaAuditReport }, created() { if (this.$route.path.indexOf('taskCenter') > 0 || this.system == 'smj') { @@ -237,6 +240,8 @@ this.$refs.configItemOutbound.$refs.dialog.init(row.bizId, row) }else if (row.flowCode === 'jxfb') { this.$refs.baselineRelease.$refs.dialog.init(row.bizId, row) + }else if (row.flowCode === 'qashbg') { + this.$refs.qaAuditReport.$refs.dialog.init(row.bizId, row) }else { if (row.stepRouterId === null) { this.$tip.alert("娌℃湁閰嶇疆鑿滃崟id") diff --git a/web/src/views/modules/sys/workflowConfig/workflow-config-add-update.vue b/web/src/views/modules/sys/workflowConfig/workflow-config-add-update.vue index 967b453..8e37f29 100644 --- a/web/src/views/modules/sys/workflowConfig/workflow-config-add-update.vue +++ b/web/src/views/modules/sys/workflowConfig/workflow-config-add-update.vue @@ -66,7 +66,7 @@ <zt-form-item label="浠诲姟鍒嗙粍" prop="taskGroup" > <el-select v-model="dataForm.taskGroup" value-key="value" style="width: 100%"> - <el-option v-for="item in taskGrouList" :key="item.id" :label="item.name" :value="item.value"></el-option> + <el-option v-for="item in taskGroupList" :key="item.id" :label="item.name" :value="item.value"></el-option> </el-select> </zt-form-item> @@ -129,12 +129,15 @@ stepRouterId:'', stepReadRouterId:'' }, - taskGrouList:[{id:'0',value:'',name:'鏃�'}, - {id:'1',value:'cj',name:'鍘傚'}, - {id:'2',value:'zy',name:'涓撲笟'}, + taskGroupList:[{id:'0',value:'',name:'鏃�'}, {id:'3',value:'sqr',name:'鐢宠浜�'}, {id:'4',value:'br',name:'鎸囧畾浜�'}, - {id:'5',value:'js',name:'鐢ㄦ埛瑙掕壊'} + {id:'5',value:'js',name:'鐢ㄦ埛瑙掕壊'}, + {id:'10',value:'pall',name:'椤圭洰鎵�鏈変汉鍛�'}, + {id:'11',value:'zrr',name:'椤圭洰璐d换浜�'}, + {id:'12',value:'csr',name:'椤圭洰娴嬭瘯鍛�'}, + {id:'13',value:'shr',name:'椤圭洰瀹℃牳鍛�'}, + {id:'14',value:'pzr',name:'椤圭洰閰嶇疆鍛�'} ], menuIdList1:[], menuIdListChild:[] diff --git a/web/vue.config.js b/web/vue.config.js index 3e541e3..1bb34dc 100644 --- a/web/vue.config.js +++ b/web/vue.config.js @@ -19,7 +19,7 @@ productionSourceMap: false, devServer: { open: true, - port: 8008, + port: 8020, overlay: { errors: true, warnings: true diff --git a/zt/common/src/main/java/com/zt/core/sys/model/SysDept.java b/zt/common/src/main/java/com/zt/core/sys/model/SysDept.java index 3155b95..4ee2523 100644 --- a/zt/common/src/main/java/com/zt/core/sys/model/SysDept.java +++ b/zt/common/src/main/java/com/zt/core/sys/model/SysDept.java @@ -37,7 +37,7 @@ @TableName("SYS_DEPT") public class SysDept extends CompanyEntity implements TreeNode<SysDept>, Cloneable { private static final long serialVersionUID = 1L; - + private Long id; @ApiModelProperty(value = "涓婄骇ID") @NotNull(message = "涓婄骇ID锛屼笉鑳戒负绌�", groups = DefaultGroup.class) private Long pid; diff --git a/zt/core/src/main/java/com/zt/modules/sys/controller/SysDeptController.java b/zt/core/src/main/java/com/zt/modules/sys/controller/SysDeptController.java index 867a5e1..0b35876 100644 --- a/zt/core/src/main/java/com/zt/modules/sys/controller/SysDeptController.java +++ b/zt/core/src/main/java/com/zt/modules/sys/controller/SysDeptController.java @@ -42,7 +42,14 @@ @RequiresPermissions("sys:dept:list") public Result<List<SysDept>> pageList(@RequestParam Long companyId) { List<SysDept> list = sysDeptService.getDeptList(companyId); + return Result.ok(list); + } + @GetMapping("getList") + @ApiOperation("閮ㄩ棬鍒楄〃") + // @RequiresPermissions("sys:dept:list") + public Result<List<SysDept>> getlist() { + List<SysDept> list = sysDeptService.getDeptList3(); return Result.ok(list); } @@ -51,7 +58,6 @@ // @RequiresPermissions("sys:dept:list") public Result<List<SysDept>> list() { List<SysDept> list = sysDeptService.getDeptTree(); - return Result.ok(list); } @@ -60,7 +66,6 @@ // @RequiresPermissions("sys:dept:list") public Result<List<SysDept>> list2() { List<SysDept> list = sysDeptService.getDeptTreeRegister(); - return Result.ok(list); } diff --git a/zt/core/src/main/java/com/zt/modules/sys/controller/SysRoleController.java b/zt/core/src/main/java/com/zt/modules/sys/controller/SysRoleController.java index 15bf68f..e7717c3 100644 --- a/zt/core/src/main/java/com/zt/modules/sys/controller/SysRoleController.java +++ b/zt/core/src/main/java/com/zt/modules/sys/controller/SysRoleController.java @@ -103,7 +103,7 @@ @PostMapping @ApiOperation("鏂板") - @LogOperation("瑙掕壊绠$悊--->鏂板") + @LogOperation("鏉冮檺绠$悊--->鏂板") @RequiresPermissions("sys:role") public Result insert(@RequestBody SysRole entity) { // 鏁堥獙鏁版嵁 @@ -116,7 +116,7 @@ @PutMapping @ApiOperation("淇敼") - @LogOperation("瑙掕壊绠$悊--->淇敼") + @LogOperation("鏉冮檺绠$悊--->淇敼") @RequiresPermissions("sys:role:update") public Result update(@RequestBody SysRole entity) { // 鏁堥獙鏁版嵁 @@ -129,7 +129,7 @@ @DeleteMapping @ApiOperation("鍒犻櫎") - @LogOperation("瑙掕壊绠$悊--->鍒犻櫎") + @LogOperation("鏉冮檺绠$悊--->鍒犻櫎") @RequiresPermissions("sys:role:delete") public Result delete(@RequestBody Long[] ids) { // 鏁堥獙鏁版嵁 @@ -150,6 +150,7 @@ @PostMapping("menu") @ApiOperation("閰嶇疆鑿滃崟鏉冮檺") + @LogOperation("鏉冮檺绠$悊--->閰嶇疆鑿滃崟鏉冮檺") @RequiresPermissions("sys:role:menu") public Result setRoleMenu(@RequestBody RoleMenuDto entity) { @@ -190,7 +191,7 @@ @PostMapping("addroleuser") @ApiOperation("娣诲姞瑙掕壊浜哄憳") - @LogOperation("瑙掕壊绠$悊--->娣诲姞瑙掕壊浜哄憳") + @LogOperation("鏉冮檺绠$悊--->娣诲姞瑙掕壊浜哄憳") @RequiresPermissions("sys:role:update") public Result addRoleUser(@RequestBody RoleMenuDto model) { @@ -201,7 +202,7 @@ @PostMapping("deleteRoleUsers") @ApiOperation("鍒犻櫎瑙掕壊鐢ㄦ埛") - @LogOperation("瑙掕壊绠$悊--->鍒犻櫎瑙掕壊鐢ㄦ埛") + @LogOperation("鏉冮檺绠$悊--->鍒犻櫎瑙掕壊鐢ㄦ埛") public Result deleteRoleUsers(@RequestBody SysRoleUser model) { List<SysRoleUser> list = sysRoleUserService.getSingleRoleUsers(model.getRoleId(), model.getUserId()); sysRoleUserService.deleteLogic(list); diff --git a/zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java b/zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java index 0077479..5b7a323 100644 --- a/zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java +++ b/zt/core/src/main/java/com/zt/modules/sys/controller/SysUserController.java @@ -231,4 +231,10 @@ sysRoleUserService.saveOrUpdate(dto.getUserId(), dto.getRoleIdList()); return Result.ok(); } + @PostMapping("getNameById") + @ApiOperation("鐢ㄦ埛鍚�") + public Result getNameById(@RequestBody String ids) { + sysUserService.getNames(ids); + return Result.ok(); + } } diff --git a/zt/core/src/main/java/com/zt/modules/sys/dao/SysDeptDao.java b/zt/core/src/main/java/com/zt/modules/sys/dao/SysDeptDao.java index 4974d4f..676e78f 100644 --- a/zt/core/src/main/java/com/zt/modules/sys/dao/SysDeptDao.java +++ b/zt/core/src/main/java/com/zt/modules/sys/dao/SysDeptDao.java @@ -32,4 +32,5 @@ List<SysDept> getListByParent(Map<String, Object> params); + List<SysDept> getDeptList3(); } diff --git a/zt/core/src/main/java/com/zt/modules/sys/dao/SysUserDao.java b/zt/core/src/main/java/com/zt/modules/sys/dao/SysUserDao.java index 57d0482..521eda6 100644 --- a/zt/core/src/main/java/com/zt/modules/sys/dao/SysUserDao.java +++ b/zt/core/src/main/java/com/zt/modules/sys/dao/SysUserDao.java @@ -54,7 +54,7 @@ void updatePassword(SysUser entity); Integer checkTestHome(String systemId, Long userId); - List<SysUser> getUsersList(); + List<SysUser> getUsersList(String type, String deptId); String getUsersName(String id); } diff --git a/zt/core/src/main/java/com/zt/modules/sys/service/SysDeptService.java b/zt/core/src/main/java/com/zt/modules/sys/service/SysDeptService.java index 42e57af..ed2a188 100644 --- a/zt/core/src/main/java/com/zt/modules/sys/service/SysDeptService.java +++ b/zt/core/src/main/java/com/zt/modules/sys/service/SysDeptService.java @@ -126,9 +126,9 @@ QueryFilter queryFilter = new QueryFilter(); // 鏅�氱鐞嗗憳锛屽彧鑳芥煡璇㈡墍灞為儴闂ㄥ強瀛愰儴闂ㄧ殑鏁版嵁 User user = UserContext.getUser(); - if (!user.isSuperAdmin()) { +/* if (!user.isSuperAdmin()) { queryFilter.addParam("deptIds", this.getWithDescendantIds(user.getDeptId())); - } + }*/ // 鏌ヨ鍏徃涓嬮儴闂ㄥ垪琛� queryFilter.addParam("isCompany", Constant.Bool.NO); queryFilter.addParam("companyId", companyId); @@ -432,4 +432,8 @@ } return result; } + + public List<SysDept> getDeptList3() { + return baseDao.getDeptList3(); + } } diff --git a/zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java b/zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java index ae65be8..43ee2fc 100644 --- a/zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java +++ b/zt/core/src/main/java/com/zt/modules/sys/service/SysUserService.java @@ -331,8 +331,9 @@ return num; } - public List<SysUser> getUsersList() { - return baseDao.getUsersList(); + public List<SysUser> getUsersList(String type, String deptId) { + List<SysUser> list = baseDao.getUsersList(type,deptId); + return list; } public String getUsersName(String id) { diff --git a/zt/core/src/main/java/com/zt/modules/workflow/dao/WfRunTaskDao.java b/zt/core/src/main/java/com/zt/modules/workflow/dao/WfRunTaskDao.java index 7353343..708621a 100644 --- a/zt/core/src/main/java/com/zt/modules/workflow/dao/WfRunTaskDao.java +++ b/zt/core/src/main/java/com/zt/modules/workflow/dao/WfRunTaskDao.java @@ -29,7 +29,7 @@ @Mapper public interface WfRunTaskDao extends BaseDao<WfRunTask> { - List<SysUser> getTaskUser(@Param("roleId") String roleId, @Param("deptIds") String deptIds, @Param("zyIds") String zyIds); + List<SysUser> getTaskUser(@Param("roleId") String roleId, @Param("deptIds") String deptIds); List<SysUser> getAssignUser(String code, String stepMarker, Long bizId); SysUser getUserById(Long userId); diff --git a/zt/core/src/main/java/com/zt/modules/workflow/dto/BizInfoDto.java b/zt/core/src/main/java/com/zt/modules/workflow/dto/BizInfoDto.java index 1818e90..a59fdef 100644 --- a/zt/core/src/main/java/com/zt/modules/workflow/dto/BizInfoDto.java +++ b/zt/core/src/main/java/com/zt/modules/workflow/dto/BizInfoDto.java @@ -14,4 +14,9 @@ String applyUser; Date applyTime; String param; + String zrr; + String csr; + String shr; + String pzr; + String pall; } diff --git a/zt/core/src/main/java/com/zt/modules/workflow/service/WorkflowService.java b/zt/core/src/main/java/com/zt/modules/workflow/service/WorkflowService.java index 6b570d6..852f7ef 100644 --- a/zt/core/src/main/java/com/zt/modules/workflow/service/WorkflowService.java +++ b/zt/core/src/main/java/com/zt/modules/workflow/service/WorkflowService.java @@ -294,36 +294,15 @@ taskParamDto.setBizInfoDto(bizInfoDto); if (finallyStep.getStepNo() > currentStep.getStepNo()) { - String roleIds = currentStep.getApproverRoleIds(); - if (!StringUtils.isBlank(roleIds)) { - roleIds = roleIds.replace(",,", ","); - roleIds = roleIds.replace(",,", ","); - } - if (StringUtils.isBlank(roleIds)) { - throw new RuntimeException("娌℃湁璁剧疆涓嬩竴姝ユ祦绋嬭鑹诧紒"); - } Integer isSelfDept = currentStep.getIsSelfDept(); - String[] roleIdArr = roleIds.split(","); - if (isSelfDept > 0 && bizInfoList.size() > 0) { - deptIds = bizInfoList.get(0).getDeptIds(); + if (isSelfDept > 0 && bizInfoDto!=null) { + deptIds = bizInfoDto.getDeptIds(); } if (isSelfDept == 0) deptIds = null; - String zyIds = null; String bizGroupId = bizInfoList.get(0).getBizId(); - if (!StringUtils.isBlank(currentStep.getTaskGroup()) - && !StringUtils.isBlank(currentStep.getTaskGroupSql())) { - sqlStr = currentStep.getTaskGroupSql(); - sqlStr = sqlStr.replace("${bizId}", bizId.toString()); - sqlStr = sqlStr.replace("${bizGroupId}", bizGroupId); - List<BizInfoDto> bizInfoList2 = baseDao.getSqlResult(sqlStr); - if ("cj".equals(currentStep.getTaskGroup())) - deptIds = bizInfoList2.get(0).getId(); - if ("zy".equals(currentStep.getTaskGroup())) - zyIds = bizInfoList2.get(0).getId(); - } if ("br".equals(currentStep.getTaskGroup())) { List<SysUser> listUser = baseDao.getAssignUser(wfDef.getCode(), currentStep.getStepMarker(), bizId); for (SysUser user : listUser) { @@ -335,6 +314,36 @@ taskParamDto.setGroupId2(user.getId()); insertFlowTaskData(taskParamDto); } + } + else if (currentStep.getTaskGroup() !=null && "pall,zrr,csr,shr,pzr".contains(currentStep.getTaskGroup())) { + String userList = null; + if ("zrr".equals(currentStep.getTaskGroup())){ + userList = bizInfoDto.getZrr(); + } + if ("csr".equals(currentStep.getTaskGroup())){ + userList = bizInfoDto.getCsr(); + } + if ("shr".equals(currentStep.getTaskGroup())){ + userList = bizInfoDto.getShr(); + } + if ("pzr".equals(currentStep.getTaskGroup())){ + userList = bizInfoDto.getPzr(); + } + if ("pall".equals(currentStep.getTaskGroup())){ + userList = bizInfoDto.getPall(); + } + if (userList != null) { + String[] userArr = userList.split(","); + Long groupId2 = UUIDUtil.generateId(); + for (String userStr : userArr) { + Long userId = Convert.toLong(userStr); + SysUser user = baseDao.getUserById(userId); + existsUsers.put(userId, ""); + taskParamDto.setUser(user); + taskParamDto.setGroupId2(groupId2); + insertFlowTaskData(taskParamDto); + } + } } else if ("sqr".equals(currentStep.getTaskGroup())) { SysUser user = baseDao.getUserById(bizInfoList.get(0).getApplyUserId()); existsUsers.put(user.getId(), ""); @@ -342,8 +351,15 @@ taskParamDto.setGroupId2(user.getId()); insertFlowTaskData(taskParamDto); } else { + String roleIds = currentStep.getApproverRoleIds(); + if (StringUtils.isBlank(roleIds)) { + throw new RuntimeException("娌℃湁璁剧疆涓嬩竴姝ユ祦绋嬭鑹诧紒"); + } + String[] roleIdArr = roleIds.split(","); for (String roleId : roleIdArr) { - List<SysUser> listUser = baseDao.getTaskUser(roleId, deptIds, zyIds); + if (StringUtils.isBlank(roleId)) + continue; + List<SysUser> listUser = baseDao.getTaskUser(roleId, deptIds); for (SysUser user : listUser) { if (existsUsers.containsKey(user.getId())) { continue; diff --git a/zt/core/src/main/resources/mapper/log/SysLogLoginDao.xml b/zt/core/src/main/resources/mapper/log/SysLogLoginDao.xml index ed03cd0..35ec730 100644 --- a/zt/core/src/main/resources/mapper/log/SysLogLoginDao.xml +++ b/zt/core/src/main/resources/mapper/log/SysLogLoginDao.xml @@ -3,11 +3,7 @@ <mapper namespace="com.zt.modules.log.dao.SysLogLoginDao"> <select id="getList" resultType="com.zt.modules.log.model.SysLogLogin"> - select * from ( - select a.* - ,(SELECT replace(GROUP_CONCAT(aa.name),',',';') FROM sys_role aa,sys_role_user bb WHERE aa.id=bb.role_id AND bb.user_id = a.creator) AS role_names - from sys_log_login a - ) a + select a.* from sys_log_login a <where> <if test="status!=null"> and status=#{status} @@ -19,10 +15,12 @@ and 1 = 1 </if> <if test="action == 'xtbmybm'"> - and role_names NOT LIKE '%xtgly%' OR role_names NOT LIKE '%xtsjy%' + and a.creator not in (select user_id from sys_role_user + where role_id in (select id from sys_role where code in ('xtglybm','xtbmybm','xtsjybm'))) </if> <if test="action == 'xtsjybm'"> - and role_names LIKE '%xtgly%' OR role_names LIKE '%xtsjy%' + and a.creator in (select user_id from sys_role_user + where role_id in (select id from sys_role where code in ('xtglybm','xtbmybm'))) </if> <if test="action == 'other'"> and a.CREATOR = ${currentUserId} @@ -30,7 +28,6 @@ <if test="order!=null and order!=''"> order by a.CREATE_DATE ${order} </if> - <if test="order==null"> order by a.CREATE_DATE </if> diff --git a/zt/core/src/main/resources/mapper/log/SysLogOperationDao.xml b/zt/core/src/main/resources/mapper/log/SysLogOperationDao.xml index 7e3d590..e536fb2 100644 --- a/zt/core/src/main/resources/mapper/log/SysLogOperationDao.xml +++ b/zt/core/src/main/resources/mapper/log/SysLogOperationDao.xml @@ -20,11 +20,8 @@ </sql> <select id="getList" resultType="com.zt.modules.log.model.SysLogOperation"> - select * from ( select a.* - ,(SELECT replace(GROUP_CONCAT(aa.name),',',';') FROM sys_role aa,sys_role_user bb WHERE aa.id=bb.role_id AND bb.user_id = a.creator) AS role_names - from sys_log_operation a - ) a + from sys_log_operation a <where> <if test="whereSql!=null"> ${whereSql} @@ -33,32 +30,12 @@ and 1 = 1 </if> <if test="action == 'xtbmybm'"> - and role_names NOT LIKE '%xtgly%' OR role_names NOT LIKE '%xtsjy%' - and request_uri not IN ( - SELECT - a.dict_label AS urlLabel - FROM - sys_dict_data a, - sys_dict_type b - WHERE 1=1 - AND b.dict_type = 'adminURL' - AND b.id = a.dict_type_id - AND b.is_delete = 0 - ) + and a.creator not in (select user_id from sys_role_user + where role_id in (select id from sys_role where code in ('xtglybm','xtbmybm','xtsjybm'))) </if> <if test="action == 'xtsjybm'"> - and role_names LIKE '%xtgly%' OR role_names LIKE '%xtsjy%' - and request_uri IN ( - SELECT - a.dict_label AS urlLabel - FROM - sys_dict_data a, - sys_dict_type b - WHERE 1=1 - AND b.dict_type = 'adminURL' - AND b.id = a.dict_type_id - AND b.is_delete = 0 - ) + and a.creator in (select user_id from sys_role_user + where role_id in (select id from sys_role where code in ('xtglybm','xtbmybm'))) </if> <if test="action == 'other'"> and a.creator = ${currentUserId} diff --git a/zt/core/src/main/resources/mapper/sys/SysDeptDao.xml b/zt/core/src/main/resources/mapper/sys/SysDeptDao.xml index 0137dac..d83fd79 100644 --- a/zt/core/src/main/resources/mapper/sys/SysDeptDao.xml +++ b/zt/core/src/main/resources/mapper/sys/SysDeptDao.xml @@ -4,16 +4,16 @@ <mapper namespace="com.zt.modules.sys.dao.SysDeptDao"> <select id="getAll" resultType="com.zt.core.sys.model.SysDept"> - select a.id as id - ,a.name as name - ,a.pid as pid - ,a.code as code - ,a.pids as pids - ,a.IS_COMPANY - ,a.nature as nature - ,a.sort as sort - ,(select t2.name from SYS_DEPT t2 where t2.id=a.pid) parentName - ,(select t2.name from SYS_DEPT t2 where t2.id = a.pid) companyName + select a.id as id + , a.name as name + , a.pid as pid + , a.code as code + , a.pids as pids + , a.IS_COMPANY + , a.nature as nature + , a.sort as sort + , (select t2.name from SYS_DEPT t2 where t2.id = a.pid) parentName + , (select t2.name from SYS_DEPT t2 where t2.id = a.pid) companyName from SYS_DEPT a where a.is_delete = 0 order by a.nature, a.sort asc @@ -50,16 +50,16 @@ <select id="getById" resultType="com.zt.core.sys.model.SysDept"> select a.id - ,a.name - ,a.code - ,a.pid - ,a.pids - ,a.nature - ,a.sort - ,(select t2.name from SYS_DEPT t2 where t2.id=a.pid) parentName + , a.name + , a.code + , a.pid + , a.pids + , a.nature + , a.sort + , (select t2.name from SYS_DEPT t2 where t2.id = a.pid) parentName from SYS_DEPT a - where a.is_delete=0 - and a.id = #{value} + where a.is_delete = 0 + and a.id = #{value} </select> <select id="getListByParent" resultType="com.zt.core.sys.model.SysDept"> @@ -74,13 +74,19 @@ from SYS_DEPT a where a.is_delete=0 <if test="pCode != null"> - and pid in (select id from SYS_DEPT where code= #{pCode}) + and pid in (select id from SYS_DEPT where code= #{pCode}) </if> <if test="code != null"> - and code= #{code} + and code= #{code} </if> <if test="pId != null"> and pid = #{pId} </if> </select> + <select id="getDeptList3" resultType="com.zt.core.sys.model.SysDept"> + select id, name + from sys_dept + where IS_COMPANY = 0 + order by sort + </select> </mapper> diff --git a/zt/core/src/main/resources/mapper/sys/SysUserDao.xml b/zt/core/src/main/resources/mapper/sys/SysUserDao.xml index c26633b..33f2116 100644 --- a/zt/core/src/main/resources/mapper/sys/SysUserDao.xml +++ b/zt/core/src/main/resources/mapper/sys/SysUserDao.xml @@ -239,6 +239,35 @@ </select> <select id="getUsersList" resultType="com.zt.core.sys.model.SysUser"> select real_name as name,id as id from sys_user + where is_delete = 0 + <if test="type == null or type == ''"> + and id not in ( + select user_id from sys_role_user where role_id + in (select id from sys_role where code in ('xtglybm','xtbmybm','xtsjybm','rx'))) + </if> + <if test="deptId != null and deptId != ''"> + and dept_id = #{deptId} + </if> + <if test="type == 'zrr'"> + and id in ( + select user_id from sys_role_user where role_id + in (select id from sys_role where code in ('jcry'))) + </if> + <if test="type == 'csry'"> + and id in ( + select user_id from sys_role_user where role_id + in (select id from sys_role where code in ('jcry'))) + </if> + <if test="type == 'shry'"> + and id in ( + select user_id from sys_role_user where role_id + in (select id from sys_role where code in ('jcry','zljdy','shry'))) + </if> + <if test="type == 'pzry'"> + and id in ( + select user_id from sys_role_user where role_id + in (select id from sys_role where code in ('jcry','shry'))) + </if> </select> <select id="getUsersName" resultType="java.lang.String"> select real_name from sys_user WHERE id=${id} diff --git a/zt/core/src/main/resources/mapper/workflow/WfRunTaskDao.xml b/zt/core/src/main/resources/mapper/workflow/WfRunTaskDao.xml index c968d35..51bc5a8 100644 --- a/zt/core/src/main/resources/mapper/workflow/WfRunTaskDao.xml +++ b/zt/core/src/main/resources/mapper/workflow/WfRunTaskDao.xml @@ -41,10 +41,6 @@ CONCAT( ',', #{deptIds}, ',' ) LIKE CONCAT( '%,', id, ',%' ) ) </if> - - <if test="zyIds!=null and zyIds!=''"> - AND CONCAT( ',', #{zyIds}, ',' ) LIKE CONCAT( '%,', teamgroup, ',%' ) - </if> </select> <select id="getAssignUser" resultType="com.zt.core.sys.model.SysUser"> diff --git a/zt/core/src/main/resources/mapper/workflowconfig/WfDefStepDao.xml b/zt/core/src/main/resources/mapper/workflowconfig/WfDefStepDao.xml index 308008c..29ada3b 100644 --- a/zt/core/src/main/resources/mapper/workflowconfig/WfDefStepDao.xml +++ b/zt/core/src/main/resources/mapper/workflowconfig/WfDefStepDao.xml @@ -139,6 +139,7 @@ ) a LEFT JOIN sys_dept d ON a.company_id = d.id + WHERE a.id not in (select id from sys_role where code in ('xtglybm','xtbmybm','xtsjybm','rx')) ORDER BY d.name, a.sort </select> -- Gitblit v1.9.1