| | |
| | | /** |
| | | * software_test_order |
| | | * |
| | | * @author zt generator |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-11-08 |
| | | */ |
| | | @Mapper |
| | |
| | | List<SoftwareTestOrder> getList(Map<String, Object> params); |
| | | List<SoftwareTestOrderDeliverable> getdeliverableDictList(); |
| | | List<SoftwareTestOrderMeasured> getMeasuredDictList(); |
| | | |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | public List<SoftwareTestOrder> page(QueryFilter queryFilter) { |
| | | return baseDao.getList(queryFilter.getQueryParams()); |
| | | List<SoftwareTestOrder> list = baseDao.getList(queryFilter.getQueryParams()); |
| | | return list; |
| | | } |
| | | |
| | | |
| | |
| | | else { |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("funCode", "software_test_order"); |
| | | softwareTestOrderDto.getSoftwareTestOrder().setProjectId(softwareTestOrderDto.getProjectId()); |
| | | softwareTestOrderDto.getSoftwareTestOrder().setCode(sysCodeRuleService.getNewCode(map)); |
| | | baseDao.insert(softwareTestOrderDto.getSoftwareTestOrder()); |
| | | softwareTestOrderId = softwareTestOrderDto.getSoftwareTestOrder().getId(); |
| | |
| | | if (softwareTestOrderMeasured.getId() != null) { |
| | | softwareTestOrderMeasuredService.update(softwareTestOrderMeasured); |
| | | } else { |
| | | softwareTestOrderMeasured.setOrderId(softwareTestOrderId); |
| | | softwareTestOrderMeasuredService.insert(softwareTestOrderMeasured); |
| | | } |
| | | } |
| | |
| | | if (softwareTestOrderDeliverable.getId() != null) { |
| | | softwareTestOrderDeliverableService.update(softwareTestOrderDeliverable); |
| | | } else { |
| | | softwareTestOrderDeliverable.setOrderId(softwareTestOrderId); |
| | | softwareTestOrderDeliverableService.insert(softwareTestOrderDeliverable); |
| | | } |
| | | } |
| | |
| | | SoftwareTestOrder softwareTestOrder = this.get(orderId); |
| | | data.setSoftwareTestOrder(softwareTestOrder); |
| | | |
| | | if (projectId == null) |
| | | /* if (projectId == null) |
| | | projectId = softwareTestOrder.getProjectId(); |
| | | |
| | | data.setTestAgencyInfo(testAgencyInfoService.get(orderId)); |
| | | */ |
| | | List<SoftwareTestOrderDeliverable> deliverableList = softwareTestOrderDeliverableService.childrenTables(orderId); |
| | | if (deliverableList.isEmpty()) { |
| | | deliverableList = this.deliverableDict(); |
| | | deliverableList = deliverableList.stream() |
| | | .peek(deliverable -> { |
| | | if (deliverable.getIdentify() == null) { |
| | | // 修改 identify 字段的值为新值 |
| | | deliverable.setIdentify("1.0.0"); |
| | | } |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | data.setDeliverableList(deliverableList); |
| | | |
| | | List<SoftwareTestOrderMeasured> measuredList = softwareTestOrderMeasuredService.childrenTables(orderId); |
| | | if (measuredList.isEmpty()) { |
| | | measuredList = this.MeasuredDict(); |
| | | measuredList = measuredList.stream() |
| | | .peek(measured -> { |
| | | if (measured.getIdentify() == null) { |
| | | // 修改 identify 字段的值为新值 |
| | | measured.setIdentify("1.0.0"); |
| | | } |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | data.setMeasuredList(measuredList); |
| | | } else { |
| | | List<SoftwareTestOrderDeliverable> deliverableList = baseDao.getdeliverableDictList(); |
| | | List<SoftwareTestOrderMeasured> measuredList = baseDao.getMeasuredDictList(); |
| | | data.setTestAgencyInfo(testAgencyInfoService.get(10000L)); |
| | | } |
| | | if (projectId != null) { |
| | |
| | | data.setProject(projectService.get(projectId)); |
| | | } |
| | | return data; |
| | | } |
| | | |
| | | |
| | | public List<SoftwareTestOrderDeliverable> deliverableDict() { |
| | | return baseDao.getdeliverableDictList(); |
| | | } |
| | | |
| | | public List<SoftwareTestOrderMeasured> MeasuredDict() { |
| | | return baseDao.getMeasuredDictList(); |
| | | } |
| | | |
| | | public void exportWord(Long id, HttpServletRequest request, HttpServletResponse response) { |
| | |
| | | String testType = "," + dataObj.getSoftwareTestOrder().getTestType1() + ","; |
| | | for (DictItemDto dictItemDto : ((DictLeafDto) testType1Dict).getDataList()) { |
| | | String value = dictItemDto.getDictValue(); |
| | | String desc = (testType.contains("," + value + ",")?"☑":"□")+dictItemDto.getDictLabel(); |
| | | String desc = (testType.contains("," + value + ",") ? "☑" : "□") + dictItemDto.getDictLabel(); |
| | | if ((i++) % 2 == 0) { |
| | | testType12.add(desc); |
| | | } else { |
| | |
| | | testType = "," + dataObj.getSoftwareTestOrder().getTestType2() + ","; |
| | | for (DictItemDto dictItemDto : ((DictLeafDto) testType1Dict).getDataList()) { |
| | | String value = dictItemDto.getDictValue(); |
| | | String desc = (testType.contains("," + value + ",")?"☑":"□")+dictItemDto.getDictLabel(); |
| | | String desc = (testType.contains("," + value + ",") ? "☑" : "□") + dictItemDto.getDictLabel(); |
| | | if ((i++) % 2 == 0) { |
| | | testType22.add(desc); |
| | | } else { |
| | |
| | | </select> |
| | | |
| | | <select id="getMeasuredDictList" resultType="com.zt.life.modules.project.model.SoftwareTestOrderMeasured"> |
| | | SELECT dd.* |
| | | SELECT dd.dict_label as name,'1.0.0' as identify |
| | | FROM sys_dict_type dt |
| | | JOIN sys_dict_data dd ON dt.ID = dd.DICT_TYPE_ID |
| | | WHERE dt.DICT_TYPE = 'testItem_type'; |
| | | <where> |
| | | <if test="whereSql!=null"> |
| | | and ${whereSql} |
| | | </if> |
| | | </where> |
| | | <if test="orderBySql!=null"> |
| | | ORDER BY ${orderBySql} |
| | | </if> |
| | | WHERE dt.DICT_TYPE = 'testItem_type' |
| | | and IS_DELETE = 0 |
| | | ORDER BY sort |
| | | </select> |
| | | |
| | | <select id="getdeliverableDictList" resultType="com.zt.life.modules.project.model.SoftwareTestOrderDeliverable"> |
| | | SELECT dd.* |
| | | SELECT dd.dict_label as name,'1.0.0' as identify |
| | | FROM sys_dict_type dt |
| | | JOIN sys_dict_data dd ON dt.ID = dd.DICT_TYPE_ID |
| | | WHERE dt.DICT_TYPE = 'product_library_file'; |
| | | <where> |
| | | <if test="whereSql!=null"> |
| | | and ${whereSql} |
| | | </if> |
| | | </where> |
| | | <if test="orderBySql!=null"> |
| | | ORDER BY ${orderBySql} |
| | | </if> |
| | | WHERE dt.DICT_TYPE = 'product_library_file' |
| | | and IS_DELETE = 0 |
| | | ORDER BY sort |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | 被测件及其他相关物品清单 |
| | | </div> |
| | | <div style="width: calc(100% - 120px);padding: 5px"> |
| | | <el-table class="el-software" height="230" border :data="dataForm.softwareTestOrderMeasuredList" |
| | | <el-table class="el-software" height="230" border :data="dataForm.measuredList" |
| | | @cell-click="handleCellClick" |
| | | stripe> |
| | | <el-table-column type="index" align="center" width="80" label="序号"/> |
| | |
| | | 交付物清单 |
| | | </div> |
| | | <div style="width: calc(100% - 120px);padding: 5px"> |
| | | <el-table class="el-software" height="230" border :data="dataForm.softwareTestOrderDeliverableList" |
| | | <el-table class="el-software" height="230" border :data="dataForm.deliverableList" |
| | | stripe> |
| | | <el-table-column type="index" align="center" width="80" label="序号"/> |
| | | <el-table-column prop="dictLabel" min-width="300" label="名称"></el-table-column> |
| | |
| | | |
| | | </el-form> |
| | | <template v-slot:footer> |
| | | <el-button perm="project:view" type="primary">打印</el-button> |
| | | <zt-button v-if="dataForm.disabled" type="primary">打印</zt-button> |
| | | </template> |
| | | </zt-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | import {getYearMonDay} from '@/commonJS/common' |
| | | |
| | | export default { |
| | | data() { |
| | |
| | | editingCell:null, |
| | | dataForm: { |
| | | id: null, |
| | | testAgencyInfo: {}, |
| | | projectId: null, |
| | | softwareTestOrder: { |
| | | optEnviron:'', |
| | | programLang:'', |
| | | testBasis:'', |
| | | testType1:'', |
| | | testType2:'', |
| | | testStandard:'', |
| | | startDate:'', |
| | | endDate:'', |
| | | testVenue:'', |
| | | otherRequire:'', |
| | | testDate:'', |
| | | deliveryDate:'', |
| | | testCost:'', |
| | | articleNature:'', |
| | | sampleStatus:'', |
| | | }, |
| | | project: { |
| | | code: '', |
| | | creator: '', |
| | |
| | | softwareName: '', |
| | | softwareType: '', |
| | | tenantId: '', |
| | | testLevel: '', |
| | | |
| | | testLevel: '' |
| | | }, |
| | | softwareTestOrder: {}, |
| | | softwareTestOrderDeliverableList: [], |
| | | softwareTestOrderMeasuredList: [], |
| | | deliverableList: [], |
| | | measuredList: [], |
| | | testAgencyInfo: {} |
| | | } |
| | | } |
| | | }, |
| | | computed: { |
| | | getYear() { |
| | | return getYearMonDay(this.dataForm.softwareTestOrder.startDate).year |
| | | }, |
| | | getMon() { |
| | | return getYearMonDay(this.dataForm.softwareTestOrder.startDate).month |
| | | }, |
| | | getDay() { |
| | | return getYearMonDay(this.dataForm.softwareTestOrder.startDate).day |
| | | }, |
| | | }, |
| | | methods: { |
| | | getYearMonDay, |
| | | handleCellClick(row, column) { |
| | | this.editingCell = {row, column} |
| | | this.$nextTick(() => { |
| | |
| | | console.log(this.editingCell, 'this.editingCell') |
| | | }, |
| | | |
| | | init2(data){ |
| | | this.dataForm.id = null |
| | | this.dataForm.projectId = data.id |
| | | init(id,row){ |
| | | this.dataForm.id = row.id |
| | | this.dataForm.projectId = row.projectId |
| | | this.getInfo() |
| | | console.log(this.dataForm.id,this.dataForm.projectId,'params params') |
| | | }, |
| | | // 获取信息 |
| | | async getInfo() { |
| | |
| | | orderId: this.dataForm.id, |
| | | projectId: this.dataForm.projectId |
| | | } |
| | | |
| | | let res = await this.$http.get(`/project/SoftwareTestOrder/getDto`, {params: params}) |
| | | if (res.data) { |
| | | this.dataForm = { |
| | | ...res.data |
| | | } |
| | | if(this.dataForm.softwareTestOrder === null){ |
| | | this.dataForm.softwareTestOrder={} |
| | | } |
| | | } |
| | | console.log(this.dataForm, "this.dataForm") |
| | | }, |
| | |
| | | <template> |
| | | <el-card shadow="never" class="aui-card--fill"> |
| | | <div class="mod-project-softwareTestOrder}"> |
| | | <zt-table-wraper query-url="/project/SoftwareTestOrder/page" delete-url="/project/SoftwareTestOrder" v-slot="{ table }"> |
| | | <zt-table-wraper query-url="/project/SoftwareTestOrder/page" delete-url="/project/SoftwareTestOrder" |
| | | 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> |
| | |
| | | <zt-dict v-model="dataForm.testBasis" dict="test_basis" placeholder="请选择测试依据" clearable></zt-dict> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <zt-dict v-model="dataForm.testStandard" dict="test_standard" placeholder="请选择测试标准" clearable></zt-dict> |
| | | <zt-dict v-model="dataForm.testStandard" dict="test_standard" placeholder="请选择测试标准" |
| | | clearable></zt-dict> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <zt-dict v-model="dataForm.articleNature" dict="article_nature" placeholder="请选择物品性质" clearable></zt-dict> |
| | | <zt-dict v-model="dataForm.articleNature" dict="article_nature" placeholder="请选择物品性质" |
| | | 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="add" perm="project:add" @click="table.editHandle()"/>--> |
| | | <zt-button type="primary" class="el-icon-edit" perm="project:add" @click="add()">新增</zt-button> |
| | | <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 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="项目标识"/> |
| | | <zt-table-column-dict prop="testBasis" label="测试依据" dict="test_basis"/> |
| | | <zt-table-column-dict prop="testStandard" width="370px" label="测试标准" dict="test_standard"/> |
| | | <zt-table-column-dict prop="articleNature" label="物品性质" dict="article_nature"/> |
| | | <zt-table-column-handle :table="table" edit-perm="project:update" delete-perm="project::delete"/> |
| | | <zt-table-column-dict prop="testBasis" label="测试依据" dict="test_basis"/> |
| | | <zt-table-column-dict prop="testStandard" width="370px" label="测试标准" dict="test_standard"/> |
| | | <zt-table-column-dict prop="articleNature" label="物品性质" dict="article_nature"/> |
| | | <zt-table-column-handle :table="table" edit-perm="project:update" delete-perm="project::delete"/> |
| | | </el-table> |
| | | <!-- 弹窗, 新增 / 修改 --> |
| | | <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/> |
| | | <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/> |
| | | <ProjectSelect ref="projectSelect" |
| | | @refreshDataList="table.query" |
| | | @setProjectInfo="openAddWin"> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import AddOrUpdate from './SoftwareTestOrder-AddOrUpdate' |
| | | import ProjectSelect from "./Project-select.vue" |
| | | export default { |
| | | data() { |
| | | return { |
| | | dataForm: { |
| | | testBasis: '', |
| | | testType: '', |
| | | testStandard: '', |
| | | articleNature: '', |
| | | } |
| | | } |
| | | }, |
| | | components: { |
| | | AddOrUpdate, |
| | | ProjectSelect |
| | | }, |
| | | methods:{ |
| | | add(){ |
| | | this.$refs.projectSelect.$refs.dialog.init("software_test_order") |
| | | }, |
| | | openAddWin(row){ |
| | | console.log(row.id,'row.id') |
| | | this.$refs.addOrUpdate.$refs.dialog.init(row.id,row) |
| | | import AddOrUpdate from './SoftwareTestOrder-AddOrUpdate' |
| | | import ProjectSelect from "./Project-select.vue" |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | dataForm: { |
| | | testBasis: '', |
| | | testType: '', |
| | | testStandard: '', |
| | | articleNature: '', |
| | | } |
| | | } |
| | | }, |
| | | components: { |
| | | AddOrUpdate, |
| | | ProjectSelect |
| | | }, |
| | | methods: { |
| | | add() { |
| | | this.$refs.projectSelect.$refs.dialog.init("software_test_order") |
| | | }, |
| | | openAddWin(row) { |
| | | console.log(row.id, 'row.id') |
| | | this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id}) |
| | | } |
| | | } |
| | | } |
| | | </script> |