| | |
| | | package com.zt.life.modules.project.controller; |
| | | |
| | | |
| | | import cn.hutool.core.convert.Convert; |
| | | import com.zt.common.annotation.LogOperation; |
| | | import com.zt.common.constant.Constant; |
| | | import com.zt.common.annotation.QueryParam; |
| | |
| | | import com.zt.life.modules.project.model.Project; |
| | | import com.zt.life.modules.project.service.ProjectService; |
| | | 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; |
| | |
| | | private ProjectService projectService; |
| | | @Autowired |
| | | private SysCodeRuleService sysCodeRuleService; |
| | | |
| | | @Autowired |
| | | private SysUserService sysUserService; |
| | | |
| | | @GetMapping("page") |
| | | @ApiOperation("分页") |
| | |
| | | String year = sdf.format(new Date()); |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("funCode", "project"); |
| | | map.put("year",year); |
| | | map.put("year", year); |
| | | project.setYear(year); |
| | | project.setCode(sysCodeRuleService.getNewCode(map)); |
| | | String leaderName = sysUserService.getUsersName(Convert.toLong(project.getProjectLeader())); |
| | | project.setProjectLeader(leaderName); |
| | | projectService.insert(project); |
| | | return Result.ok(); |
| | | } |
| | |
| | | public Result update(@RequestBody Project project) { |
| | | //效验数据 |
| | | ValidatorUtils.validateEntity(project, UpdateGroup.class, DefaultGroup.class); |
| | | String leaderName = sysUserService.getUsersName(Convert.toLong(project.getProjectLeader())); |
| | | project.setProjectLeader(leaderName); |
| | | projectService.update(project); |
| | | |
| | | return Result.ok(); |
| | | } |
| | | |
| | |
| | | @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 = "softwareidentity", value = "项目标识", dataType = Constant.QT.STRING, format = "softwareIdentity^LK"), @ApiImplicitParam(name = "softwarename", value = "项目名称", dataType = Constant.QT.STRING, format = "softwareName^LK")}) |
| | | @ApiImplicitParam(name = "softwareidentity", value = "项目标识", dataType = Constant.QT.STRING, format = "softwareIdentity^LK"), |
| | | @ApiImplicitParam(name = "softwarename", value = "项目名称", dataType = Constant.QT.STRING, format = "softwareName^LK")}) |
| | | public PageResult<TestCheckOrder> page(@ApiIgnore @QueryParam QueryFilter queryFilter) { |
| | | return PageResult.ok(testCheckOrderService.page(queryFilter)); |
| | | } |
| | |
| | | @PostMapping |
| | | @ApiOperation("新增") |
| | | @LogOperation("新增") |
| | | public Result insert(@RequestBody CheckOrderDto checkOrderDto) { |
| | | public Result<Long> insert(@RequestBody CheckOrderDto checkOrderDto) { |
| | | //效验数据 |
| | | ValidatorUtils.validateEntity(checkOrderDto, AddGroup.class, DefaultGroup.class); |
| | | /* Map<String, String> map = new HashMap<>(); |
| | |
| | | map.put("funCode", "test_check_order_"+pagecode); |
| | | map.put("projectId", checkOrderDto.getProjectId().toString()); |
| | | checkOrderDto.getCheckOrder().setCode(sysCodeRuleService.getNewCode(map));*/ |
| | | Boolean result = testCheckOrderService.save(checkOrderDto); |
| | | return Result.ok(); |
| | | Long result = testCheckOrderService.save(checkOrderDto); |
| | | return Result.ok(result); |
| | | } |
| | | |
| | | @PutMapping |
| | | @ApiOperation("修改") |
| | | @LogOperation("修改") |
| | | public Result update(@RequestBody CheckOrderDto checkOrderDto) { |
| | | public Result<Long> update(@RequestBody CheckOrderDto checkOrderDto) { |
| | | //效验数据 |
| | | ValidatorUtils.validateEntity(checkOrderDto, UpdateGroup.class, DefaultGroup.class); |
| | | Boolean result = testCheckOrderService.save(checkOrderDto); |
| | | Long result = testCheckOrderService.save(checkOrderDto); |
| | | |
| | | return Result.ok(); |
| | | return Result.ok(result); |
| | | } |
| | | |
| | | @DeleteMapping("deleteCheckOrder") |
| | |
| | | return data; |
| | | } |
| | | |
| | | public Boolean save(CheckOrderDto checkOrderDto) { |
| | | public Long save(CheckOrderDto checkOrderDto) { |
| | | Long checkId = checkOrderDto.getCheckOrder().getId(); |
| | | if (checkId != null) |
| | | baseDao.updateById(checkOrderDto.getCheckOrder()); |
| | |
| | | checkOrderListService.insert(checkOrderList); |
| | | } |
| | | } |
| | | return true; |
| | | return checkId; |
| | | } |
| | | } |
| | |
| | | <select id="getList" resultType="com.zt.life.modules.testCheckOrder.model.TestCheckOrderList"> |
| | | select a.* |
| | | from test_check_order_list a |
| | | <where> |
| | | a.is_delete = 0 |
| | | <if test="whereSql!=null"> |
| | | and ${whereSql} |
| | | </if> |
| | | </where> |
| | | <if test="orderBySql!=null"> |
| | | ORDER BY ${orderBySql} |
| | | </if> |
| | | where check_order_id = ${checkId} |
| | | and is_delete = 0 |
| | | ORDER BY no |
| | | </select> |
| | | <select id="itemList" resultType="com.zt.life.modules.testCheckOrder.model.TestCheckOrderList"> |
| | | SET @row_number = 0; |
| | |
| | | <el-input v-model="dataForm.project.softwareName" placeholder="请输入项目名称"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="申请人" style="width: 49%"> |
| | | <el-input :disabled="stepMarker=='pzxrk_first'" v-model="dataForm.configItemWarehouse.applicant" |
| | | <el-input :disabled="stepMarker!=='pzxrk_first'" v-model="dataForm.configItemWarehouse.applicant" |
| | | placeholder="请输入申请人"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="申请日期" style="width: 49%"> |
| | | <el-date-picker |
| | | :disabled="stepMarker=='pzxrk_first'" |
| | | :disabled="stepMarker!=='pzxrk_first'" |
| | | v-model="dataForm.configItemWarehouse.applyDate" |
| | | type="date" |
| | | placeholder="请选择申请日期"> |
| | |
| | | <el-table-column prop="examineItem" min-width="300" label="检查项"></el-table-column> |
| | | <el-table-column label="检查结果" width="250" align="center"> |
| | | <template slot-scope="scope"> |
| | | <zt-dict :disabled="stepMarker=='wplz_qash'" v-model="scope.row.examineResult" placeholder="检查结果" |
| | | <zt-dict :disabled="stepMarker!=='wplz_qash'" v-model="scope.row.examineResult" placeholder="检查结果" |
| | | dict="tristate2" :radio="true" |
| | | clearable></zt-dict> |
| | | </template> |
| | |
| | | </el-table> |
| | | <div class="el-border-top"> |
| | | <el-form-item label="审核结果" style="width: 99%"> |
| | | <zt-dict :disabled="stepMarker=='wplz_qash'" v-model="dataForm.configItemWarehouse.qaAuditResults" |
| | | <zt-dict :disabled="stepMarker!=='wplz_qash'" v-model="dataForm.configItemWarehouse.qaAuditResults" |
| | | dict="is_pass" :radio="true" |
| | | clearable></zt-dict> |
| | | </el-form-item> |
| | |
| | | </el-table> |
| | | <div class="el-border-top"> |
| | | <el-form-item label="审核结果" style="width: 99%"> |
| | | <zt-dict :disabled="stepMarker=='wplz_cmsh'" v-model="dataForm.configItemWarehouse.cmAuditResults" |
| | | <zt-dict :disabled="stepMarker!=='wplz_cmsh'" v-model="dataForm.configItemWarehouse.cmAuditResults" |
| | | placeholder="审核结果" dict="is_pass" :radio="true" |
| | | clearable></zt-dict> |
| | | </el-form-item> |
| | |
| | | {pageCode: 'report', name: '软件测试报告'}, |
| | | {pageCode: 'other', name: '其他'} |
| | | ], |
| | | pageNameCode: {软件测试计划:'plan', 软件测试说明: 'explain', 软件测试记录: 'record', 软件测试报告: 'report'}, |
| | | dataForm: { |
| | | id: '', |
| | | configItemWarehouse: { |
| | |
| | | // }, |
| | | handleCommand(pageCode) { |
| | | const selectedItem = this.menuOptions.find(item => item.pageCode === pageCode); |
| | | console.log(selectedItem,"handleCommand(pageCode) selectedItem") |
| | | console.log(selectedItem, "handleCommand(pageCode) selectedItem") |
| | | if (selectedItem.pageCode === 'other') { |
| | | this.dataForm.configItemList.push({}) |
| | | } else if (selectedItem) { |
| | |
| | | }) |
| | | }, |
| | | openCheckOrderWin(row) { |
| | | row.projectId = this.dataForm.projectId |
| | | this.$refs.addOrUpdate.$refs.dialog.init(null, row) |
| | | console.log(row, "openCheckOrderWin(row)") |
| | | row.projectId = this.dataForm.projectId |
| | | if (!row.pageCode){ |
| | | row.pageCode = this.pageNameCode[row.itemName] |
| | | console.log(row.itemName,row.pageCode, "row.itemName,openCheckOrderWin(row) row.pageCode") |
| | | } |
| | | this.$refs.addOrUpdate.$refs.dialog.init(null, row) |
| | | |
| | | }, |
| | | setCheckId(checkId, row) { |
| | | row.checkId = checkId |
| | | console.log(checkId, row, "setCheckId(checkId, row)") |
| | | this.$set(row, 'checkId', checkId) |
| | | }, |
| | | // 获取信息 |
| | | async getInfo() { |
| | |
| | | }, |
| | | // 表单提交 |
| | | async formSubmit(submitType) { |
| | | /* if (this.stepMarker=='' && submitType == 'bl') { |
| | | for(666) |
| | | if (this.pageNameCode[row.itemName] && !row.isCheck) { |
| | | alert(444) |
| | | return |
| | | } |
| | | }*/ |
| | | if (submitType == 'tj' || submitType == 'bl') { |
| | | let flowInfo = { |
| | | flowCode: 'pzxrk', |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | parentRow: null, |
| | | configDetailRow: null, |
| | | subtitle: '', |
| | | pageName: {plan: '测试计划', explain: '测试说明', record: '测试记录', report: '测试报告'}, |
| | | pageName: {plan: '软件测试计划', explain: '软件测试说明', record: '软件测试记录', report: '软件测试报告'}, |
| | | dataForm: { |
| | | id: '', |
| | | projectId: '', |
| | |
| | | }, |
| | | methods: { |
| | | init(id, row) { |
| | | this.parentRow = row |
| | | console.log(id, row, '软件测试计划检查单') |
| | | if (id) { |
| | | this.configDetailRow = row |
| | | if (row.checkId) { |
| | | this.dataForm.id = row.checkId |
| | | } else if (id) { |
| | | this.dataForm.id = id |
| | | } else { |
| | | this.dataForm.id = row.id |
| | |
| | | if (row.projectId) { |
| | | this.dataForm.projectId = row.projectId |
| | | } |
| | | console.log(id, row, this.subtitle, '软件测试计划检查单') |
| | | |
| | | //this.dataForm.disabled |
| | | this.getInfo() |
| | |
| | | if (res.success) { |
| | | await this.$tip.success() |
| | | this.$refs.dialog.close() |
| | | this.$emit('recall', this.dataForm, this.parentRow) |
| | | this.$emit('recall', res.data, this.configDetailRow) |
| | | } |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <el-card shadow="never" class="aui-card--fill"> |
| | | <div class="mod-testCheckOrder-testCheckOrder}"> |
| | | <zt-table-wraper query-url="/testCheckOrder/TestCheckOrder/page" delete-url="/testCheckOrder/TestCheckOrder" v-slot="{ table }"> |
| | | <zt-table-wraper query-url="/testCheckOrder/TestCheckOrder/page" delete-url="/testCheckOrder/TestCheckOrder/deleteCheckOrder" |
| | | v-slot="{ table }"> |
| | | <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> |
| | | <el-form-item> |
| | | <el-input v-model="dataForm.code" placeholder="请输入编号" clearable></el-input> |
| | |
| | | <zt-button type="delete" perm="testCheckOrder: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="code" label="编号"/> |
| | | <el-table-column prop="softwareIdentity" label="项目标识"/> |
| | | <el-table-column prop="softwareName" label="项目名称"/> |
| | | <zt-table-column-handle :table="table" edit-perm="testCheckOrder:update" delete-perm="testCheckOrder::delete"/> |
| | | <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" |
| | | border @selection-change="table.selectionChangeHandle"> |
| | | <el-table-column align="center" type="selection" width="40"/> |
| | | <el-table-column prop="code" label="编号"/> |
| | | <el-table-column prop="softwareIdentity" label="项目标识"/> |
| | | <el-table-column prop="softwareName" label="项目名称"/> |
| | | <zt-table-column-handle :table="table" :hasEdit='false' edit-perm="testCheckOrder:update" |
| | | delete-perm="testCheckOrder::delete"> |
| | | <template v-slot="{row}"> |
| | | <zt-table-button type="primary" @click="openEditWin(row)">修改</zt-table-button> |
| | | </template> |
| | | |
| | | </zt-table-column-handle> |
| | | </el-table> |
| | | <!-- 弹窗, 新增 / 修改 --> |
| | | <add-or-update ref="addOrUpdate" @recall="table.query"/> |
| | | <ProjectSelect :pageCode="pageCode" ref="projectSelect" |
| | | <ProjectSelect :pageCode="pageCode" ref="projectSelect" |
| | | @refreshDataList="table.query" |
| | | @setProjectInfo="openAddWin"> |
| | | </ProjectSelect> |
| | |
| | | import AddOrUpdate from './TestCheckOrder-AddOrUpdate' |
| | | import ProjectSelect from "../project/Project-select.vue" |
| | | import Preview from '@/views/pages/view' |
| | | |
| | | export default { |
| | | props: { |
| | | }, |
| | | props: {}, |
| | | data() { |
| | | return { |
| | | pageCode : '', |
| | | pageCode: '', |
| | | dataForm: { |
| | | code: '', |
| | | softwareidentity: '', |
| | |
| | | ProjectSelect, |
| | | Preview |
| | | }, |
| | | methods:{ |
| | | methods: { |
| | | add() { |
| | | console.log(this.pageCode,'this.pageCode') |
| | | this.$refs.projectSelect.$refs.dialog.init("test_check_order",{pageCode: this.pageCode}) |
| | | console.log(this.pageCode, 'this.pageCode') |
| | | this.$refs.projectSelect.$refs.dialog.init("test_check_order", {pageCode: this.pageCode}) |
| | | }, |
| | | openAddWin(row,pageCode) { |
| | | console.log(row.id, 'row.id') |
| | | this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id,pageCode:pageCode}) |
| | | openAddWin(projectRow) { |
| | | console.log(projectRow, 'openAddWin(projectRow) projectRow') |
| | | this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: projectRow.id, pageCode: this.pageCode}) |
| | | }, |
| | | preview(row){ |
| | | openEditWin(checkOrderRow){ |
| | | console.log(checkOrderRow,'openEditWin(checkOrderRow)') |
| | | this.$refs.addOrUpdate.$refs.dialog.init(checkOrderRow.id, {id: checkOrderRow.id, projectId: checkOrderRow.projectId, pageCode: this.pageCode}) |
| | | }, |
| | | preview(row) { |
| | | this.$refs.view.openAccessoryFormatSingle(row) |
| | | } |
| | | } |
| | |
| | | Integer checkTestHome(String systemId, Long userId); |
| | | List<SysUser> getUsersList(); |
| | | |
| | | String getUsersName(); |
| | | String getUsersName(Long id); |
| | | } |
| | |
| | | } |
| | | |
| | | public String getUsersName(Long id) { |
| | | return baseDao.getUsersName(); |
| | | return baseDao.getUsersName(id); |
| | | } |
| | | |
| | | public SysUser getUserInfo(Long id) { |
| | |
| | | d.dept_name AS companyName |
| | | FROM |
| | | WF_DEF_STEP a |
| | | LEFT JOIN SYS_USER b ON instr(a.APPROVER_IDS,b.user_id) > 0 |
| | | LEFT JOIN SYS_DEPT c ON b.dept_id = c.dept_id |
| | | LEFT JOIN SYS_DEPT d ON b.COMPANY_ID = d.dept_id |
| | | LEFT JOIN SYS_USER b ON instr(a.APPROVER_IDS,b.id) > 0 |
| | | LEFT JOIN SYS_DEPT c ON b.dept_id = c.id |
| | | LEFT JOIN SYS_DEPT d ON b.COMPANY_ID = d.id |
| | | WHERE |
| | | a.is_delete = 0 |
| | | AND a.id = #{stepsId} |
| | |
| | | |
| | | <select id="getUserList" resultType="com.zt.modules.workflowconfig.model.WfDefStep"> |
| | | SELECT |
| | | a.user_id AS userId, |
| | | a.user_name AS userName, |
| | | a.nick_name AS realName, |
| | | c.dept_name AS deptName, |
| | | d.dept_name AS companyName |
| | | a.id AS userId, |
| | | a.username AS userName, |
| | | a.real_name AS realName, |
| | | c.name AS deptName |
| | | FROM |
| | | ( |
| | | SELECT |
| | |
| | | and ${whereSql} |
| | | </if> |
| | | <if test="userName != '' and userName != null"> |
| | | and a.user_name like concat('%',#{userName},'%') |
| | | and a.name like concat('%',#{userName},'%') |
| | | </if> |
| | | AND a.del_flag = 0 |
| | | ORDER BY a.user_name |
| | | AND a.is_delete = 0 |
| | | ORDER BY a.name |
| | | ) a |
| | | LEFT JOIN SYS_DEPT c ON a.dept_id = c.dept_id |
| | | LEFT JOIN SYS_DEPT c ON a.dept_id = c.id |
| | | </select> |
| | | |
| | | <update id="addWorkflowStepsUser"> |
| | |
| | | a.id as stepId, |
| | | b.id as roleId, |
| | | b.name as roleName, |
| | | d.dept_name AS companyName |
| | | d.name AS companyName |
| | | FROM |
| | | WF_DEF_STEP a |
| | | LEFT JOIN SYS_ROLE b ON instr(a.APPROVER_ROLE_IDS,b.id) > 0 |
| | | LEFT JOIN SYS_DEPT d ON b.COMPANY_ID = d.dept_id |
| | | LEFT JOIN SYS_DEPT d ON b.COMPANY_ID = d.id |
| | | WHERE |
| | | a.is_delete = 0 |
| | | AND a.id = #{stepsId} |
| | |
| | | SELECT |
| | | a.id AS roleId, |
| | | a.name AS roleName, |
| | | d.dept_name AS companyName |
| | | d.name AS companyName |
| | | FROM |
| | | ( |
| | | SELECT |
| | |
| | | AND a.is_delete = 0 |
| | | |
| | | ) a |
| | | LEFT JOIN SYS_DEPT d ON a.COMPANY_ID = d.dept_id |
| | | ORDER BY d.dept_name, a.sort |
| | | LEFT JOIN SYS_DEPT d ON a.COMPANY_ID = d.id |
| | | ORDER BY d.name, a.sort |
| | | </select> |
| | | |
| | | <update id="addWorkflowStepsRole"> |