UI-Project/src/views/hollow/hollowequipment.vue
@@ -715,7 +715,7 @@ </el-select> </el-form-item> <el-form-item :label="$t('hellow.coatingtypes')" style="width: 25vw;"> <el-select v-model="selectedFilmRemove" filterable clearable :placeholder="$t('basicData.selectcoatingtypes')" <el-select v-model="selectedFilmRemove" multiple filterable clearable :placeholder="$t('basicData.selectcoatingtypes')" style="width: 270px"> <el-option v-for="item in filmRemoveList" :key="item" :label="item" :value="item" /> </el-select> @@ -753,7 +753,7 @@ </el-select> </el-form-item> <el-form-item :label="$t('hellow.coatingtypes')" style="width: 25vw;"> <el-select v-model="selectedFilmRemove" filterable clearable :placeholder="$t('basicData.selectcoatingtypes')" <el-select v-model="selectedFilmRemove" multiple filterable clearable :placeholder="$t('basicData.selectcoatingtypes')" style="width: 270px"> <el-option v-for="item in filmRemoveList" :key="item" :label="item" :value="item" /> </el-select> @@ -985,7 +985,7 @@ const tableDatab = ref([]) const tableDatax = ref([]) const filmRemoveList = ref([]) const selectedFilmRemove = ref('') const selectedFilmRemove = ref([]) const cell = ref('') const cella = ref('') const selectedProjectNo = ref @@ -1375,8 +1375,10 @@ const films = row.flowCardGlassInfoDTOList.map(item => item.filmsId).filter(Boolean) // 去重 filmRemoveList.value = [...new Set(films)] selectedFilmRemove.value = [] } else { filmRemoveList.value = [] selectedFilmRemove.value = [] } fetchmulan() }; @@ -1389,8 +1391,10 @@ const films = row.flowCardGlassInfoDTOList.map(item => item.filmsId).filter(Boolean) // 去重 filmRemoveList.value = [...new Set(films)] selectedFilmRemove.value = [] } else { filmRemoveList.value = [] selectedFilmRemove.value = [] } }; // 创建任务 @@ -1750,7 +1754,7 @@ let flowCardId = window.localStorage.getItem('flowCardId') let id = window.localStorage.getItem('id') try { const url = `/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell=${930}&flowCardId=${flowCardId}&totalPairQuantity=${totalPairQuantity.value}&formulaId=${id}&filmRemove=${selectedFilmRemove.value}` const url = `/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell=${930}&flowCardId=${flowCardId}&totalPairQuantity=${totalPairQuantity.value}&formulaId=${id}&filmRemoveList=${selectedFilmRemove.value}` const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); @@ -1759,7 +1763,7 @@ cell.value = '' selectedFormulaName.value = '' totalPairQuantity.value = '' selectedFilmRemove.value = '' selectedFilmRemove.value = [] isSubmitting.value = true } else { ElMessage.error(response.message); @@ -1782,14 +1786,14 @@ return } try { var url = "/hollowGlass/hollowGlassOutRelationInfo/forceOutGlass?cell=" + 930 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantitya.value + "&formulaId=" + id + "&filmRemove=" + selectedFilmRemove.value; var url = "/hollowGlass/hollowGlassOutRelationInfo/forceOutGlass?cell=" + 930 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantitya.value + "&formulaId=" + id + "&filmRemoveList=" + selectedFilmRemove.value; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); dialogFormVisibled.value = false; cella.value = ''; totalPairQuantitya.value = ''; selectedFilmRemove.value = ''; selectedFilmRemove.value = []; } else { } } catch (error) { UI-Project/src/views/hollow/hollowequipmenthree.vue
@@ -301,7 +301,7 @@ </el-select> </el-form-item> <el-form-item :label="$t('hellow.coatingtypes')" style="width: 25vw;"> <el-select v-model="selectedFilmRemove" filterable clearable :placeholder="$t('basicData.selectcoatingtypes')" <el-select v-model="selectedFilmRemove" multiple filterable clearable :placeholder="$t('basicData.selectcoatingtypes')" style="width: 270px"> <el-option v-for="item in filmRemoveList" :key="item" :label="item" :value="item" /> </el-select> @@ -358,7 +358,7 @@ </el-select> </el-form-item> <el-form-item :label="$t('hellow.coatingtypes')" style="width: 25vw;"> <el-select v-model="selectedFilmRemove" filterable clearable :placeholder="$t('basicData.selectcoatingtypes')" <el-select v-model="selectedFilmRemove" multiple filterable clearable :placeholder="$t('basicData.selectcoatingtypes')" style="width: 270px"> <el-option v-for="item in filmRemoveList" :key="item" :label="item" :value="item" /> </el-select> @@ -569,7 +569,7 @@ const isSubmitting = ref(false) const activeTab = ref('') const filmRemoveList = ref([]) const selectedFilmRemove = ref('') const selectedFilmRemove = ref([]) const tabList = ref([]) const internalInstance = getCurrentInstance() const tableDataa = ref([]) @@ -781,8 +781,10 @@ const films = row.flowCardGlassInfoDTOList.map(item => item.filmsId).filter(Boolean) // 去重 filmRemoveList.value = [...new Set(films)] selectedFilmRemove.value = [] } else { filmRemoveList.value = [] selectedFilmRemove.value = [] } fetchmulan() }; @@ -795,8 +797,10 @@ const films = row.flowCardGlassInfoDTOList.map(item => item.filmsId).filter(Boolean) // 去重 filmRemoveList.value = [...new Set(films)] selectedFilmRemove.value = [] } else { filmRemoveList.value = [] selectedFilmRemove.value = [] } }; // 创建任务 @@ -1114,7 +1118,7 @@ } isSubmitting.value = true try { const url = `/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell=${932}&flowCardId=${flowCardId}&totalPairQuantity=${totalPairQuantity.value}&formulaId=${-1}&filmRemove=${selectedFilmRemove.value}` const url = `/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell=${932}&flowCardId=${flowCardId}&totalPairQuantity=${totalPairQuantity.value}&formulaId=${-1}&filmRemoveList=${selectedFilmRemove.value}` const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); @@ -1140,7 +1144,7 @@ return } try { var url="/hollowGlass/hollowGlassOutRelationInfo/forceOutGlass?cell="+ 932 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantitya.value+ "&formulaId=" + -1 + "&filmRemove=" + selectedFilmRemove.value; var url="/hollowGlass/hollowGlassOutRelationInfo/forceOutGlass?cell="+ 932 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantitya.value+ "&formulaId=" + -1 + "&filmRemoveList=" + selectedFilmRemove.value; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); UI-Project/src/views/hollow/hollowequipmenttwo.vue
@@ -319,7 +319,7 @@ </el-select> </el-form-item> <el-form-item :label="$t('hellow.coatingtypes')" style="width: 25vw;"> <el-select v-model="selectedFilmRemove" filterable clearable :placeholder="$t('basicData.selectcoatingtypes')" <el-select v-model="selectedFilmRemove" multiple filterable clearable :placeholder="$t('basicData.selectcoatingtypes')" style="width: 270px"> <el-option v-for="item in filmRemoveList" :key="item" :label="item" :value="item" /> </el-select> @@ -357,7 +357,7 @@ </el-select> </el-form-item> <el-form-item :label="$t('hellow.coatingtypes')" style="width: 25vw;"> <el-select v-model="selectedFilmRemove" filterable clearable :placeholder="$t('basicData.selectcoatingtypes')" <el-select v-model="selectedFilmRemove" multiple filterable clearable :placeholder="$t('basicData.selectcoatingtypes')" style="width: 270px"> <el-option v-for="item in filmRemoveList" :key="item" :label="item" :value="item" /> </el-select> @@ -538,7 +538,7 @@ const isLoading = ref(true) const activeTab = ref('') const filmRemoveList = ref([]) const selectedFilmRemove = ref('') const selectedFilmRemove = ref([]) const tabList = ref([]) const internalInstance = getCurrentInstance() const tableDataa = ref([]) @@ -767,8 +767,10 @@ const films = row.flowCardGlassInfoDTOList.map(item => item.filmsId).filter(Boolean) // 去重 filmRemoveList.value = [...new Set(films)] selectedFilmRemove.value = [] } else { filmRemoveList.value = [] selectedFilmRemove.value = [] } fetchmulan() }; @@ -781,8 +783,10 @@ const films = row.flowCardGlassInfoDTOList.map(item => item.filmsId).filter(Boolean) // 去重 filmRemoveList.value = [...new Set(films)] selectedFilmRemove.value = [] } else { filmRemoveList.value = [] selectedFilmRemove.value = [] } }; // 创建任务 @@ -1121,7 +1125,7 @@ } isSubmitting.value = true try { const url = `/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell=${931}&flowCardId=${flowCardId}&totalPairQuantity=${totalPairQuantity.value}&formulaId=${id}&filmRemove=${selectedFilmRemove.value}` const url = `/hollowGlass/hollowGlassOutRelationInfo/receiveTask?cell=${931}&flowCardId=${flowCardId}&totalPairQuantity=${totalPairQuantity.value}&formulaId=${id}&filmRemoveList=${selectedFilmRemove.value}` const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); @@ -1130,7 +1134,7 @@ cell.value = '' selectedFormulaName.value = '' totalPairQuantity.value = '' selectedFilmRemove.value = '' selectedFilmRemove.value = [] isSubmitting.value = true } else { ElMessage.error(response.message); @@ -1188,7 +1192,7 @@ return } try { var url = "/hollowGlass/hollowGlassOutRelationInfo/forceOutGlass?cell=" + 931 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantitya.value + "&formulaId=" + id + "&filmRemove=" + selectedFilmRemove.value; var url = "/hollowGlass/hollowGlassOutRelationInfo/forceOutGlass?cell=" + 931 + "&flowCardId=" + flowCardId + "&totalPairQuantity=" + totalPairQuantitya.value + "&formulaId=" + id + "&filmRemoveList=" + selectedFilmRemove.value; const response = await request.post(url) if (response.code == 200) { ElMessage.success(response.message); hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/request/DamageRequest.java
@@ -50,7 +50,7 @@ @ApiModelProperty("备注") private List<Integer> typeList; @NotBlank(message = "工序不能为空") // @NotBlank(message = "工序不能为空") private List<String> workingProcedureList; @ApiModelProperty("工程号") @@ -61,6 +61,7 @@ @Data public static class GlassCondition { private String engineerId; private String flowCardId; private Integer layer; private Integer glassType; hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/entity/vo/GlassDamageVO.java
@@ -102,4 +102,16 @@ @ApiModelProperty(value = "报工设备", position = 13) private String deviceName; /** * 报工设备名称 */ @ApiModelProperty(value = "报工设备", position = 14) private Integer line; /** * 报工设备名称 */ @ApiModelProperty(value = "报工设备", position = 15) private String remark; } hangzhoumesParent/common/servicebase/src/main/resources/mapper/DamageMapper.xml
@@ -58,28 +58,42 @@ t.height, t.thickness, t.filmsid, t1.working_procedure, t2.process AS working_procedure, t1.device_name, t1.type FROM glass_info t LEFT JOIN damage t1 ON t.glass_id = t1.glass_id WHERE ifnull(t1.type,0) as type, ifnull(t1.status,0) as status, t1.line, t1.remark FROM ( SELECT '切割' AS process FROM DUAL UNION ALL SELECT '磨边' AS process FROM DUAL UNION ALL SELECT '钢化' AS process FROM DUAL ) t2 LEFT JOIN glass_info t ON <!-- 抽离多字段IN条件:使用参数替换固定值 --> (t.flow_card_id, t.layer, t.glass_type) IN (t.engineer_id, t.flow_card_id, t.layer, t.glass_type) IN <foreach collection="conditionList" item="item" open="(" separator="," close=")"> (#{item.flowCardId}, #{item.layer}, #{item.glassType}) (#{item.engineerId},#{item.flowCardId}, #{item.layer}, #{item.glassType}) </foreach> <!-- 抽离t1.type条件 --> AND t1.type IN <foreach collection="typeList" item="item" open="(" separator="," close=")"> #{item} </foreach> AND t1.working_procedure IN <foreach collection="workingProcedureList" item="item" open="(" separator="," close=")"> #{item} </foreach> <if test="workingProcedureList != null and workingProcedureList.size() > 0"> AND t2.process IN <foreach collection="workingProcedureList" item="item" open="(" separator="," close=")"> #{item} </foreach> </if> <if test="glassId != null and glassId != ''"> AND t1.glass_id = #{glassId} AND t.glass_id = #{glassId} </if> LEFT JOIN damage t1 ON t.glass_id = t1.glass_id AND t1.working_procedure = t2.process where 1=1 <!-- 抽离t1.type条件 --> <if test="typeList != null and typeList.size() > 0"> AND t1.type IN <foreach collection="typeList" item="item" open="(" separator="," close=")"> #{item} </foreach> </if> </select> <select id="queryFlowCardIdProgress" resultType="com.mes.damage.entity.vo.FlowCardDamageVO"> @@ -176,6 +190,11 @@ t.width, t.height, t.total_quantity order by t.engineer_id, t.flow_card_id, t.glass_type, t.layer ) select * from final_result; </select>