package com.mes.downworkstation.mapper; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.mes.downglassinfo.entity.DownGlassInfo; import com.mes.downworkstation.entity.DownWorkstation; import org.apache.ibatis.annotations.*; import org.springframework.stereotype.Repository; import java.util.List; import java.util.Map; /** *

* Mapper 接口 *

* * @author zhoush * @since 2024-03-27 */ @Mapper @Repository @InterceptorIgnore(tenantLine = "true") @DS("salve_1") // 指定使用 hangzhoumes 数据源 public interface DownWorkstationMapper extends BaseMapper { //查询工位表和任务表中状态为1的流程卡号和已落架数量 @Select("SELECT dwt.flow_card_id,dw.id,dw.racks_number FROM down_workstation_task dwt JOIN down_workstation dw ON dwt.flow_card_id = dw.flow_card_id WHERE dwt.state = 1 LIMIT 1") List selectdownWorkstationstate(); //更新落架数量 @Update("UPDATE down_workstation SET racks_number = #{racksNumber} " + "WHERE flow_card_id = #{flowCardId}") void update_racks_number(@Param("flowCardId") String flowCardId, @Param("racksNumber") Integer racksNumber); //插入机械任务表 @Insert("INSERT INTO down_workstation_task (flow_card_id, width, height, thickness, filmsid,state) " + "VALUES (#{flowCardId}, #{width}, #{height}, #{thickness}, #{filmsid},1)") void insertdownWorkstationtask(DownGlassInfo downGlassInfo); //根据工位id更新实体类接收的数据 @Update("UPDATE down_workstation SET width = #{width}, height = #{height}, flow_card_id = #{flowCardId} WHERE workstation_id = #{workstationId}") void updateFlowCardId(DownWorkstation downWorkstation); //满架拉走,清空信息 @Update("UPDATE down_workstation SET width = null, height = null, flow_card_id = null WHERE workstation_id = #{workstationId}") void clearFlowCardId(DownWorkstation downWorkstation); @Update("UPDATE down_workstation_task SET state = 0 WHERE flow_card_id = #{flowCardId}") void update_task_state_to_zero(@Param("flowCardId") String flowCardId); @Select(" SELECT * FROM down_workstation WHERE workstation_id >= 1 AND workstation_id <= 5") List getoneDownWorkstations(); @Select(" SELECT * FROM down_workstation WHERE workstation_id >= 6 AND workstation_id <= 10") List gettwoDownWorkstations(); @Select("SELECT DISTINCT flowcard_id from glass_info") @ResultType(Map.class) List> getflowCardId(); @Update("UPDATE down_workstation SET flow_card_id = NULL, total_quantity = 0, racks_number = 0 WHERE workstation_id = #{workstationId}") void clearFlowCardInfoByWorkstationId(@Param("workstationId") int workstationId); // 获取总数量 @Select("SELECT total_quantity FROM down_workstation WHERE workstation_id = #{workstationId}") int getTotalQuantity(@Param("workstationId") int workstationId); // 获取落架数量 @Select("SELECT racks_number FROM down_workstation WHERE workstation_id = #{workstationId}") int getRacksNumber(@Param("workstationId") int workstationId); }