wente
2023-11-14 7adee41ff145c50e244e4565de4dbf5240c35e04
项目表
5个文件已修改
144 ■■■■■ 已修改文件
modules/mainPart/src/main/java/com/zt/life/modules/project/dao/SoftwareTestOrderDao.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/project/SoftwareTestOrder.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/project/dao/SoftwareTestOrderDao.java
@@ -23,5 +23,4 @@
    List<SoftwareTestOrder> getList(Map<String, Object> params);
    List<SoftwareTestOrderDeliverable> getdeliverableDictList();
    List<SoftwareTestOrderMeasured> getMeasuredDictList();
}
modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java
@@ -63,7 +63,8 @@
     * @return
     */
    public List<SoftwareTestOrder> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
        List<SoftwareTestOrder> list = baseDao.getList(queryFilter.getQueryParams());
        return list;
    }
@@ -84,6 +85,7 @@
        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();
@@ -94,6 +96,7 @@
            if (softwareTestOrderMeasured.getId() != null) {
                softwareTestOrderMeasuredService.update(softwareTestOrderMeasured);
            } else {
                softwareTestOrderMeasured.setOrderId(softwareTestOrderId);
                softwareTestOrderMeasuredService.insert(softwareTestOrderMeasured);
            }
        }
@@ -103,6 +106,7 @@
            if (softwareTestOrderDeliverable.getId() != null) {
                softwareTestOrderDeliverableService.update(softwareTestOrderDeliverable);
            } else {
                softwareTestOrderDeliverable.setOrderId(softwareTestOrderId);
                softwareTestOrderDeliverableService.insert(softwareTestOrderDeliverable);
            }
        }
@@ -123,38 +127,18 @@
            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) {
@@ -162,15 +146,6 @@
            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) {
modules/mainPart/src/main/resources/mapper/project/SoftwareTestOrderDao.xml
@@ -19,33 +19,21 @@
    </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>
web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
@@ -102,7 +102,7 @@
                    被测件及其他相关物品清单
                  </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="序号"/>
@@ -330,7 +330,7 @@
                    交付物清单
                  </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>
@@ -420,13 +420,12 @@
    </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() {
@@ -435,8 +434,24 @@
      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: '',
@@ -458,28 +473,15 @@
          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(() => {
@@ -490,10 +492,11 @@
      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() {
@@ -501,11 +504,15 @@
        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")
    },
web/src/views/modules/project/SoftwareTestOrder.vue
@@ -1,7 +1,8 @@
<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>
@@ -10,10 +11,12 @@
            <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()"/>
@@ -22,7 +25,8 @@
            <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="委托单编号"/>
@@ -47,6 +51,7 @@
<script>
  import AddOrUpdate from './SoftwareTestOrder-AddOrUpdate'
  import ProjectSelect from "./Project-select.vue"
  export default {
    data() {
      return {
@@ -68,7 +73,7 @@
      },
      openAddWin(row){
        console.log(row.id,'row.id')
        this.$refs.addOrUpdate.$refs.dialog.init(row.id,row)
      this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id})
      }
    }
  }