Merge remote-tracking branch 'origin/master'
# Conflicts:
# hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/controller/HollowGlassRelationInfoController.java
# hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassRelationInfoMapper.java
# hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml
| | |
| | | // 对于所有标签页,使用projectNo作为key |
| | | targetKeys.value = response.data.map((item: any) => item.projectNo) |
| | | |
| | | // 重要:将右侧数据添加到dataSource中,确保Transfer组件能找到对应的项 |
| | | // 将右侧数据添加到dataSource中,确保Transfer组件能找到对应的项 |
| | | response.data.forEach((item: any) => { |
| | | // 检查dataSource中是否已存在该项 |
| | | const exists = dataSource.value.some(dataItem => dataItem.key === item.projectNo) |
| | |
| | | </el-tabs> |
| | | |
| | | <div class="transfer-wrapper"> |
| | | <el-transfer |
| | | v-model="targetKeys" |
| | | filterable |
| | | :data="dataSource" |
| | | :titles="['待排产', getRightListTitle]" |
| | | :button-texts="['', '']" |
| | | /> |
| | | <el-transfer v-model="targetKeys" class="custom-transfer" filterable :data="dataSource" |
| | | :titles="['待排产', getRightListTitle]" :button-texts="['', '']"> |
| | | <template #right-empty> |
| | | <el-empty :image-size="80" description="No data" /> |
| | | </template> |
| | | </el-transfer> |
| | | |
| | | |
| | | <div class="transfer-save"> |
| | | <el-button type="primary" @click="saveScheduling"> |
| | |
| | | height: 440px; |
| | | } |
| | | |
| | | ::v-deep(.el-transfer-panel-body-height) { |
| | | height: 470px; |
| | | .custom-transfer { |
| | | --el-transfer-panel-body-height: 400px; |
| | | } |
| | | |
| | | ::v-deep(.el-transfer-panel__header) { |
| | |
| | | |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.mes.engineering.entity.Engineering; |
| | |
| | | .last("limit 1"); |
| | | return engineeringMapper.selectOne(wrapper); |
| | | } |
| | | |
| | | @Override |
| | | public Engineering selectInitiates(Integer state,Integer cell) { |
| | | //查询是否有开始上片的工程任务 |
| | |
| | | @Override |
| | | public boolean deleteTask(String engineerId) { |
| | | //删除工程表 |
| | | QueryWrapper<Engineering> wrapper = new QueryWrapper<>(); |
| | | wrapper.eq("engineer_id", engineerId); |
| | | return this.remove(wrapper); |
| | | // QueryWrapper<Engineering> wrapper = new QueryWrapper<>(); |
| | | // wrapper.eq("engineer_id", engineerId); |
| | | // return this.remove(wrapper); |
| | | //修改工程表状态 |
| | | return this.update( |
| | | new LambdaUpdateWrapper<Engineering>() |
| | | .eq(Engineering::getEngineerId, engineerId) |
| | | .set(Engineering::getState, 6) |
| | | ); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | @ApiOperation("查询指定流程卡及层数的缺片详情") |
| | | @PostMapping("/queryAllLackByFlowCard") |
| | | public Result<List<LackDetailsDTO>> queryAllLackByFlowCard() { |
| | | List<LackDetailsDTO> lackDetailsList = hollowGlassRelationInfoService.queryAllLackByFlowCard(); |
| | | @PostMapping("/queryLackByFlowCard") |
| | | public Result<List<LackDetailsDTO>> queryLackByFlowCard() { |
| | | List<LackDetailsDTO> lackDetailsList = hollowGlassRelationInfoService.queryLackByFlowCard(); |
| | | return Result.success(lackDetailsList); |
| | | } |
| | | |
| | | @ApiOperation("缺片玻璃信息详情") |
| | | @PostMapping("/queryLackGlassByFlowCard") |
| | | public Result<List<GlassInfo>> queryLackGlassByFlowCard(@RequestBody HollowBigStorageDetailsQueryVO query) { |
| | | List<GlassInfo> lackGlassList = hollowGlassRelationInfoService.queryLackGlassByFlowCard(query); |
| | | return Result.success(lackGlassList); |
| | | } |
| | | |
| | | // @ApiOperation("查询指定流程卡及层数的缺片详情") |
| | | // @PostMapping("/queryLackByFlowCard") |
| | | // public Result<List<LackDetailsDTO>> queryLackByFlowCard(String flowCardId) { |
| | | // List<LackDetailsDTO> lackDetailsList = hollowGlassRelationInfoService.queryLackByFlowCard(flowCardId); |
| | | // return Result.success(lackDetailsList); |
| | | // } |
| | | @ApiOperation("查询指定流程卡及层数的缺片详情") |
| | | @PostMapping("/queryLackByFlowCard") |
| | | public Result<Map<Integer,List<LackDetailsDTO>>> queryLackByFlowCard(String flowCardId) { |
| | |
| | | * /*破损片数 |
| | | */ |
| | | private Integer damageCount; |
| | | /** |
| | | * /*补片数量 |
| | | */ |
| | | private Integer patchCount; |
| | | |
| | | /** |
| | | * 工序 |
| | |
| | | * 产品名称 |
| | | */ |
| | | private String productName; |
| | | /** |
| | | * 序号 |
| | | */ |
| | | private Integer orderSort; |
| | | /** |
| | | * 层 |
| | | */ |
| | | private Integer layer; |
| | | |
| | | } |
| | |
| | | |
| | | void clearDirtyFlowCardData(@Param("flowCardId") String flowCardId, @Param("layer") int layer); |
| | | |
| | | /** |
| | | * 按照流程卡获取产品名称 |
| | | * |
| | | * @param flowCardId |
| | | * @return |
| | | */ |
| | | OrderDetailsDTO queryProductNameByFlowCardId(@Param("flowCardId") String flowCardId, @Param("productName") String productName, @Param("customerName") String customerName); |
| | | |
| | | List<LackDetailsDTO> queryLackByFlowCard(@Param("flowCardId") String flowCardId); |
| | | List<GlassInfo> queryLackGlassByFlowCard(@Param("flowCardId") String flowCardId, @Param("orderSort") Integer orderSort, @Param("layer") Integer layer); |
| | | } |
| | | |
| | |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.mes.damage.entity.request.DamageRequest; |
| | | import com.mes.glassinfo.entity.GlassInfo; |
| | | import com.mes.hollow.entity.HollowGlassRelationInfo; |
| | | import com.mes.hollow.entity.dto.FlowCardGlassInfoDTO; |
| | | import com.mes.hollow.entity.dto.HollowBigStorageDTO; |
| | |
| | | Boolean hollowBigStorageGlassDamage(DamageRequest request); |
| | | |
| | | OrderDetailsDTO queryProductNameByFlowCardId(String flowCardId, String productName, String customerName); |
| | | |
| | | List<GlassInfo> queryLackGlassByFlowCard(HollowBigStorageDetailsQueryVO query); |
| | | } |
| | | |
| | |
| | | List<GlassInfo> glassInfos = glassInfoService.list(new LambdaQueryWrapper<GlassInfo>() |
| | | .eq(GlassInfo::getFlowCardId, request.getFlowCardId()) |
| | | .eq(GlassInfo::getLayer, request.getLayer()) |
| | | .eq(GlassInfo::getGlassType, request.getGlassType())); |
| | | .eq(GlassInfo::getGlassType, request.getGlassType()) |
| | | .eq(request.getGlassId() != null, GlassInfo::getGlassId, request.getGlassId()) |
| | | ); |
| | | for (GlassInfo glassInfo : glassInfos) { |
| | | //掰片报破损 |
| | | damageService.autoSubmitReport(glassInfo.getGlassId(), request.getLine(), request.getWorkingProcedure(), request.getRemark(), request.getState()); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<GlassInfo> queryLackGlassByFlowCard(HollowBigStorageDetailsQueryVO query) { |
| | | return baseMapper.queryLackGlassByFlowCard(query.getFlowCardId(), query.getOrderSort(), query.getLayer()); |
| | | } |
| | | |
| | | @Override |
| | | public OrderDetailsDTO queryProductNameByFlowCardId(String flowCardId, String productName, String customerName) { |
| | | OrderDetailsDTO dto = hollowGlassOutRelationInfoService.queryProductNameByFlowCardId(flowCardId); |
| | | if ((StringUtils.isBlank(productName) || dto.getProductName().contains(productName)) && (StringUtils.isBlank(customerName) || dto.getCustomerName().contains(customerName))) { |
| | |
| | | select process_id as flow_card_id, |
| | | technology_number as layer, |
| | | order_number as order_sort, |
| | | count(1) as damage_count |
| | | count(distinct |
| | | case when type = 8 and status < 3 then glass_id else null end) as damage_count, |
| | | count(distinct case when type = 8 and status >= 3 then glass_id else null end) as patch_count |
| | | from damage |
| | | where process_id in (select flow_card_id from flow_card_id_info) |
| | | and type in (8, 9) |
| | | and status < 3 |
| | | group by process_id, technology_number, order_number |
| | | ), |
| | | result_count as ( |
| | | select t.*, IFNULL(t1.damage_count, 0) damage_count |
| | | select t.*, IFNULL(t1.damage_count, 0) damage_count, IFNULL(t1.patch_count, 0) patch_count |
| | | from lack_count_temp t |
| | | left join damage_count_temp t1 on t.flow_card_id = t1.flow_card_id and t.layer = t1.layer and |
| | | t.order_sort = t1.order_sort |
| | |
| | | from hollow_glass_relation_info |
| | | where flow_card_id = #{flowCardId} |
| | | </select> |
| | | <select id="queryProductNameByFlowCardId" resultType="com.mes.hollow.entity.dto.OrderDetailsDTO"> |
| | | select t.product_name, t1.customer_name |
| | | from sd.order_detail t |
| | | inner join sd.order t1 on t.order_id = t1.order_id |
| | | where (t.order_id, t.order_number) = ( |
| | | select min(order_id) as order_id, min(order_number) as order_number |
| | | from pp.flow_card |
| | | where process_id = #{flowCardId} |
| | | <if test="productName != null and productName != ''"> |
| | | and t.product_name like concat('%', #{productName}, '%') |
| | | </if> |
| | | <if test="customerName != null and customerName != ''"> |
| | | and t1.customer_name like concat('%', #{customerName}, '%') |
| | | </if> |
| | | ) |
| | | limit 1 |
| | | </select> |
| | | <select id="queryLackGlassByFlowCard" resultType="com.mes.glassinfo.entity.GlassInfo"> |
| | | with glass_id_info as ( |
| | | select glass_id,order_sort from hollow_glass_relation_info where flow_card_id=#{flowCardId} and |
| | | order_sort=#{orderSort} and layer=#{layer} and glass_id is not null |
| | | ), |
| | | damage_glass_id as ( |
| | | select glass_id from damage where process_id=#{flowCardId} and order_number=#{orderSort} and |
| | | technology_number=#{layer} and type=8 and status < 3 and glass_id is not null |
| | | ) |
| | | select t.* from glass_info t left join glass_id_info t1 on t.glass_id=t1.glass_id |
| | | left join damage_glass_id t2 on t.glass_id=t2.glass_id |
| | | where t.flow_card_id=#{flowCardId} and t.glass_type=#{orderSort} and t.layer=#{layer} and t1.glass_id is null |
| | | and t2.glass_id is null |
| | | </select> |
| | | <select id="queryLackByFlowCard" resultType="com.mes.hollow.entity.dto.LackDetailsDTO"> |
| | | with hollow_flow_temp AS ( |
| | | SELECT DISTINCT flow_card_id |