| | |
| | | import com.zt.life.modules.testCheckOrder.model.TestCheckOrder; |
| | | import com.zt.life.modules.testCheckOrder.model.TestCheckOrderList; |
| | | import com.zt.life.sys.dto.OssDto; |
| | | import com.zt.modules.workflow.dto.FlowInfoDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | |
| | | private Long configItemId;//配置项ID |
| | | private String pageCode;//配置项类型 |
| | | |
| | | private FlowInfoDto flowInfoDto; |
| | | |
| | | @ApiModelProperty(value = "测试项目基本信息") |
| | | private Project project; |
| | |
| | | private Long configItemId; |
| | | |
| | | @ApiModelProperty(value = "配置项类型") |
| | | private Long pageCode; |
| | | private String pageCode; |
| | | |
| | | @ApiModelProperty(value = "编号") |
| | | private String code; |
| | |
| | | import com.zt.life.sys.dto.OssDto; |
| | | import com.zt.modules.coderule.service.SysCodeRuleService; |
| | | import com.zt.modules.workflow.dto.FlowInfoDto; |
| | | import com.zt.modules.workflow.service.WorkflowService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import com.zt.common.db.query.QueryFilter; |
| | |
| | | |
| | | @Autowired |
| | | private SysCodeRuleService sysCodeRuleService; |
| | | |
| | | @Autowired |
| | | private WorkflowService workflowService; |
| | | |
| | | |
| | | /** |
| | |
| | | |
| | | } else { |
| | | TestCheckOrder checkOrder = new TestCheckOrder(); |
| | | checkOrder.setPageCode(pageCode); |
| | | data.setCheckOrder(checkOrder); |
| | | List<TestCheckOrderList> checkOrderList = checkOrderListService.itemList(pageCode + "_check_item"); |
| | | data.setCheckOrderList(checkOrderList); |
| | |
| | | checkOrderListService.insert(checkOrderList); |
| | | } |
| | | } |
| | | |
| | | Long bizId = checkOrderDto.getCheckOrder().getId(); |
| | | FlowInfoDto flowInfoDto = checkOrderDto.getFlowInfoDto(); |
| | | |
| | | if (flowInfoDto != null && flowInfoDto.getSubmitType() != null && "tj,bl".contains(flowInfoDto.getSubmitType())) { |
| | | if ("tj".equals(flowInfoDto.getSubmitType())) { |
| | | workflowService.startFlow(flowInfoDto.getFlowCode(), bizId); |
| | | } |
| | | workflowService.approvePass(flowInfoDto.getFlowCode(), bizId, flowInfoDto.getStepIdMark()); |
| | | } |
| | | return checkId; |
| | | } |
| | | } |
| | |
| | | <select id="itemList" resultType="com.zt.life.modules.testCheckOrder.model.TestCheckOrderList"> |
| | | SET @row_number = 0; |
| | | SELECT dd.dict_label AS checkContent, |
| | | (@row_number := @row_number + 1) AS no |
| | | (@row_number := @row_number + 1) AS no, |
| | | #{pageCode} |
| | | FROM sys_dict_type dt |
| | | JOIN sys_dict_data dd ON dt.ID = dd.DICT_TYPE_ID |
| | | <where> |
| | |
| | | } |
| | | |
| | | if (this.$parent.init) { |
| | | console.log(id, row, 'id row') |
| | | console.log(id, row,this.stepMarker, 'id row') |
| | | this.$parent.init(id, row) |
| | | } |
| | | if (id && this.$parent.getInfo) { |
| | |
| | | }, |
| | | // 表单提交 |
| | | async formSubmit(submitType) { |
| | | /* if (this.stepMarker=='wplz_first' && submitType == 'bl') { |
| | | for(666) |
| | | if (this.pageNameCode[row.itemName] && !row.isCheck) { |
| | | alert(444) |
| | | return |
| | | if (this.showColumn && submitType == 'bl') { |
| | | for (let item of this.dataForm.configItemList) { |
| | | if (item) { |
| | | if (this.pageNameCode[item.itemName] && !item.checkId) { |
| | | this.$alert("有未提交的检查单") |
| | | return |
| | | } |
| | | } |
| | | } |
| | | }*/ |
| | | } |
| | | if (submitType == 'tj' || submitType == 'bl') { |
| | | let flowInfo = { |
| | | flowCode: 'pzxrk', |
| | |
| | | methods: { |
| | | init(tableName,row) { |
| | | this.dataForm.tableName = tableName |
| | | this.pageCode = row.pageCode |
| | | if(row.pageCode!=null){ |
| | | this.pageCode = row.pageCode |
| | | } |
| | | this.$nextTick(()=>{ |
| | | this.$refs.tableObj.query() |
| | | }) |
| | | // console.log(this.dataForm,'this.dataForm') |
| | | }, |
| | | async selectedProject(row) { |
| | | console.log(row, 'row') |
| | |
| | | <!-- 待办任务弹窗弹窗, 新增 / 修改 --> |
| | | <ItemCirculatOrder ref="itemCirculatOrder" @refreshDataList="getQuery()"></ItemCirculatOrder> |
| | | <ConfigItemWarehouse ref="configItemWarehouse" @refreshDataList="getQuery()"></ConfigItemWarehouse> |
| | | <TestCheckOrder ref="testCheckOrder" @refreshDataList="getQuery()"></TestCheckOrder> |
| | | <!-- </zt-table-wraper>--> |
| | | </div> |
| | | </template> |
| | |
| | | import InfiniteLoading from 'vue-infinite-loading' |
| | | import ItemCirculatOrder from '@/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate' |
| | | import ConfigItemWarehouse from '@/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate' |
| | | import TestCheckOrder from '@/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate' |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | components: { |
| | | InfiniteLoading, |
| | | ItemCirculatOrder, |
| | | ConfigItemWarehouse |
| | | ConfigItemWarehouse, |
| | | TestCheckOrder |
| | | }, |
| | | created() { |
| | | if (this.$route.path.indexOf('taskCenter') > 0 || this.system == 'smj') { |
| | |
| | | this.$refs.itemCirculatOrder.$refs.dialog.init(row.bizId, row) |
| | | } else if (row.flowCode === 'pzxrk') { |
| | | this.$refs.configItemWarehouse.$refs.dialog.init(row.bizId, row) |
| | | }else if (row.flowCode === 'csjcd') { |
| | | this.$refs.testCheckOrder.$refs.dialog.init(row.bizId, row) |
| | | } else { |
| | | if (row.stepRouterId === null) { |
| | | this.$tip.alert("没有配置菜单id") |
| | |
| | | <template> |
| | | <zt-dialog ref="dialog" column="2" @confirm="formSubmit" :append-to-body="true"> |
| | | <zt-dialog ref="dialog" column="2" @confirm="formSubmit" :stepMarker="stepMarker" :append-to-body="true"> |
| | | <el-form :model="dataForm" :inline="true" ref="dataForm" style="padding-top: 0" :disabled="dataForm.disabled" |
| | | label-width="120px" class="testCheckFormAuto"> |
| | | <div> |
| | |
| | | <el-input v-model="dataForm.project.softwareName" placeholder="项目名称"></el-input> |
| | | </el-form-item> |
| | | <el-form-item class="marginTopAndMarginBottom3" label="检查人" style="width: 49%"> |
| | | <el-input v-model="dataForm.testCheckOrder.examiner" placeholder="检查人"></el-input> |
| | | <el-input :disabled="stepMarker!=='csjcd_first'" v-model="dataForm.testCheckOrder.examiner" placeholder="检查人"></el-input> |
| | | </el-form-item> |
| | | <el-form-item class="marginTopAndMarginBottom3" label="检查时间" style="width: 49%"> |
| | | <el-input v-model="dataForm.testCheckOrder.examDate" placeholder="检查时间"></el-input> |
| | | <el-date-picker |
| | | :disabled="stepMarker!=='csjcd_first'" |
| | | v-model="dataForm.testCheckOrder.examDate" |
| | | type="date" |
| | | placeholder="请选择检查时间"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | </div> |
| | | <div style="border-bottom: 1px solid rgba(0,0,0,.2);"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="checkResult" align="center" width="150" label="检查结果"> |
| | | <template v-slot="{ row }"> |
| | | <zt-dict v-model="row.checkResult" dict="is_or_not" :radio="true"></zt-dict> |
| | | <zt-dict v-model="row.checkResult" dict="tristate1" :radio="true"></zt-dict> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="remark" label="备注" width="100" align="center"> |
| | |
| | | </div> |
| | | <div class="el-border-left-right acceptDate1" style="width: 40%;height: 40px;"> |
| | | <el-form-item style="width: 100%;padding-left:20px;margin:0;"> |
| | | <el-input v-model="dataForm.testCheckOrder.processor" placeholder="处理人"></el-input> |
| | | <span>{{dataForm.testCheckOrder.processor}}</span> |
| | | </el-form-item> |
| | | </div> |
| | | <div style="width: 84px;text-align: center;font-weight: 600"> |
| | |
| | | </div> |
| | | <div class="el-border-left acceptDate1" style="width: 40%;height: 40px;"> |
| | | <el-form-item label-width="150px" style="width: 100%;padding-left:20px;margin-bottom:0"> |
| | | <el-input v-model="dataForm.testCheckOrder.verifier" placeholder="验证人"></el-input> |
| | | <span>{{dataForm.testCheckOrder.verifier}}</span> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | |
| | | export default { |
| | | data() { |
| | | return { |
| | | stepMarker: '', |
| | | configDetailRow: null, |
| | | subtitle: '', |
| | | pageName: {plan: '软件测试计划', explain: '软件测试说明', record: '软件测试记录', report: '软件测试报告'}, |
| | |
| | | this.dataForm.projectId = row.projectId |
| | | } |
| | | console.log(id, row, this.subtitle, '软件测试计划检查单') |
| | | |
| | | if (this.configDetailRow) { |
| | | if (!row.stepMarker) { |
| | | this.stepMarker = 'csjcd_first' |
| | | this.title = '发起测试检查单' |
| | | } else { |
| | | this.title = row.stepName |
| | | this.stepMarker = row.stepMarker |
| | | } |
| | | } |
| | | //this.dataForm.disabled |
| | | this.getInfo() |
| | | |
| | | //console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker') |
| | | }, |
| | | indexFormat(index) { |
| | |
| | | } |
| | | }, |
| | | // 表单提交 |
| | | async formSubmit() { |
| | | async formSubmit(submitType) { |
| | | if (submitType == 'tj') { |
| | | let isFlow = false |
| | | for (let item of this.dataForm.checkOrderList) { |
| | | if (!item.checkResult) { |
| | | this.$alert("有未填写的数据") |
| | | return |
| | | } else if (item.checkResult == "2") { |
| | | isFlow = true |
| | | } |
| | | } |
| | | if (submitType == 'tj' && !isFlow) { |
| | | submitType == '' |
| | | } |
| | | } |
| | | if (submitType == 'tj' || submitType == 'bl' && isFlow) { |
| | | let flowInfo = { |
| | | flowCode: 'csjcd', |
| | | stepIdMark: this.stepMarker, |
| | | submitType: submitType |
| | | } |
| | | this.dataForm.flowInfoDto = flowInfo; |
| | | } |
| | | |
| | | let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/testCheckOrder/TestCheckOrder/', this.dataForm) |
| | | if (res.success) { |
| | | await this.$tip.success() |
| | |
| | | <mapper namespace="com.zt.modules.workflow.dao.WfRunTaskDao"> |
| | | <select id="getTaskUser" resultType="com.zt.core.sys.model.SysUser"> |
| | | SELECT |
| | | b.user_id as id |
| | | b. id |
| | | ,b.dept_id |
| | | ,b.user_name as username |
| | | ,b.nick_name as real_name |
| | | ,b.phonenumber as MOBILE |
| | | ,b.username |
| | | ,b.real_name |
| | | ,b.MOBILE |
| | | FROM |
| | | SYS_USER b |
| | | WHERE |
| | | del_flag = 0 |
| | | is_delete = 0 |
| | | <if test="roleId!=null and roleId!=''"> |
| | | AND USER_ID IN( |
| | | AND ID IN( |
| | | SELECT |
| | | USER_ID |
| | | FROM |
| | |
| | | <if test="deptIds!=null and deptIds!=''"> |
| | | AND dept_ID IN( |
| | | SELECT |
| | | dept_id |
| | | id |
| | | FROM |
| | | SYS_DEPT |
| | | WHERE |
| | | CONCAT( ',', #{deptIds}, ',' ) LIKE CONCAT( '%,', dept_id, ',%' ) |
| | | CONCAT( ',', #{deptIds}, ',' ) LIKE CONCAT( '%,', id, ',%' ) |
| | | ) |
| | | </if> |
| | | |
| | |
| | | </select> |
| | | |
| | | <select id="getAssignUser" resultType="com.zt.core.sys.model.SysUser"> |
| | | SELECT b.user_id as id |
| | | SELECT b.id |
| | | , b.dept_id |
| | | , b.user_name as username |
| | | , b.nick_name as real_name |
| | | , b.phonenumber as MOBILE |
| | | , b.username |
| | | , b.real_name |
| | | , b.MOBILE |
| | | FROM SYS_USER b |
| | | WHERE del_flag = 0 |
| | | and user_id in ( |
| | | WHERE is_delete = 0 |
| | | and id in ( |
| | | SELECT USER_ID |
| | | FROM SY_PROJECT_EXPERT |
| | | WHERE biz_ID = #{bizId} |
| | |
| | | </select> |
| | | |
| | | <select id="getUserById" resultType="com.zt.core.sys.model.SysUser"> |
| | | SELECT b.user_id as id |
| | | SELECT b.id |
| | | , b.dept_id |
| | | , b.user_name as username |
| | | , b.nick_name as real_name |
| | | , b.phonenumber as MOBILE |
| | | , b.username |
| | | , b.real_name |
| | | , b.MOBILE |
| | | FROM SYS_USER b |
| | | WHERE del_flag = 0 |
| | | and user_id = #{userId} |
| | | WHERE is_delete = 0 |
| | | and id = #{userId} |
| | | limit 1 |
| | | </select> |
| | | |
| | |
| | | , a.UPDATE_DATE = CURRENT_TIMESTAMP |
| | | WHERE a.IS_DELETE = 0 |
| | | AND a.biz_id = #{bizId} |
| | | AND a.receive_id = b.user_id and b.dept_id = #{receiveDeptId} |
| | | AND a.receive_id = b.id and b.dept_id = #{receiveDeptId} |
| | | AND a.status in (0,1) |
| | | </update> |
| | | |