wu
2024-11-07 2d92826d942cd4c06e1f415d4a3896b99ec65e2b
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -3,8 +3,9 @@
import org.apache.ibatis.annotations.*;
import com.example.springboot.entity.CarPosition;
import com.example.springboot.entity.FlowCard;
import com.example.springboot.entity.Flowcard;
import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.MeasureSetting;
import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.StorageTask;
import com.example.springboot.entity.alarmmg;
@@ -238,7 +239,7 @@
  List<StorageCage> SelectStorageCageInfo();
  // 删除格子内玻璃信息
  @Update("update storage_cage set width=5000,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,thickness=null,glasstype=null,number=null where cell=#{cell}")
  @Update("update storage_cage set films=null,width=4300,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,thickness=null,glasstype=null,number=null,glass_id=null,flowcard=null,mateid=null where cell=#{cell}")
  void DeleteStroageCageByCell(Integer cell);
  // 修改格子玻璃数量
@@ -246,7 +247,7 @@
  void updateStroageCageByCell(Integer cell, Integer num);
  // 计算格子内剩余宽度
  @Update("update storage_cage set width=5000-(glasswidth+100)*number where cell=#{cell}")
  @Update("update storage_cage set width=4300-if(glasswidth is null,0,glasswidth+300)*number where cell=#{cell}")
  void UpdateStroageCageWidthByCell(Integer cell);
  // 根据任务类型获取任务
@@ -254,8 +255,8 @@
  List<StorageTask> SelectStorageTask(int task_type);
  // 根据id任务
  @Select("select * from storage_task where id=#{id}")
  StorageTask SelectStorageTaskById(int id);
  @Select("select * from storage_task where task_state=0 ORDER BY id asc LIMIT 1")
  StorageTask SelectStorageTaskById();
  // 根据格子查询玻璃信息
  @Select("select * from storage_cage where cell=#{cell}")
@@ -263,29 +264,55 @@
  // 手动完成任务
  @Select("update storage_task set task_state=1 where id=#{id}")
  void FinishTask(Integer id);
  @Select("select gi.* from glassinfo gi inner join flowcard fc on gi.flowcard=fc.flowcard where fc.state!=2 and position(#{width} in gi.width) and position(#{height} in gi.height) and position(#{thickness} in gi.thickness) and position(#{films} in gi.films) group by gi.id")
  void FinishTask(Integer id, int state);
  //人工匹配测量查询
  @Select("select gi.* from glassinfo gi inner join flowcard fc on gi.flowcard=fc.flowcard where fc.state!=2 and fc.orderstate=1 and position(#{width} in gi.width) and position(#{height} in gi.height) and position(#{thickness} in gi.thickness) and position(#{films} in gi.films) group by gi.id")
  List<GlassInfo> SelectGlassInfo(String width, String height, String thickness, String films);
  // @Select("select b.* from flowcard a left join glassinfo b on a.flowcard=b.flowcard INNER JOIN measuresetting c where a.orderstate=1 and a.state!=2 and b.width BETWEEN  #{width} - c.errorwidth AND #{width} + c.errorwidth and b.height BETWEEN  #{height} - c.errorheight AND #{height} + c.errorheight and b.films=#{films} and b.thickness=#{thickness}")
  // List<GlassInfo> SelectGlassInfo(String width, String height, String thickness, String films);
  @Update("update storage_cage set glasstype=#{glassInfo.glasstype},glasswidth=#{glassInfo.width},glassheight=#{glassInfo.height},thickness=#{glassInfo.thickness},films=#{glassInfo.films},number=0 where cell=#{cell}")
  @Update("update storage_cage set glasstype=#{glassInfo.glasstype},mateid=#{glassInfo.mateid},glass_id=#{glassInfo.glassid},flowcard=#{glassInfo.flowcard},glasswidth=#{glassInfo.width},glassheight=#{glassInfo.height},thickness=#{glassInfo.thickness},films=#{glassInfo.films},number=0 where cell=#{cell}")
  void StorageCageAddGlass(String cell, GlassInfo glassInfo);
  @Select("select * from flowcard where state!=2")
  List<FlowCard> SelectOrderTask();
  List<Flowcard> SelectOrderTask();
  @Select("select gi.*,sum(sc.number) as cageno from glassinfo gi left join storage_cage sc on gi.glasstype=sc.glasstype where gi.flowcard=#{flowcard} group by gi.id order by gi.mateid,gi.tier")
  // @Select("select gi.*,sum(sc.number) as cageno from glassinfo gi left join storage_cage sc on gi.glasstype=sc.glasstype where gi.flowcard=#{flowcard} group by gi.id order by gi.mateid,gi.tier")
  // List<GlassInfo> SelectOrderView(String flowcard);
  @Select("select gi.id, gi.glasstype, gi.mateid, gi.glassid, gi.tier, gi.films, gi.width, gi.height, gi.thickness, gi.number, gi.finishnumber, gi.sumtier, gi.measurenumber,sum(sc.number) as cageno,IFNULL(c.orderstate,0) as orderstate from  glassinfo gi left join storage_cage sc on gi.glasstype=sc.glasstype left join flowcard c on gi.flowcard=c.flowcard where gi.flowcard=#{flowcard} group by gi.id order by gi.mateid,gi.tier")
  List<GlassInfo> SelectOrderView(String flowcard);
  @Update("update flowcard set state=#{state} where flowcard=#{flowcard}")
  void ClaimTasks(String flowcard, int state);
  @Update("update flowcard set state=#{state},line=#{line} where flowcard=#{flowcard}")
  void ClaimTasks(String flowcard, int state, int line);
  @Update("update flowcard set method=#{method} where flowcard=#{flowcard}")
  void ModeChange(String flowcard, int method);
  @Update("update queue set flowcard=#{flowcard},glasswidth=#{width},glassheight=#{height},glasstype=#{glasstype},state=1 where state<=0")
  void UpdateQueue(String flowcard, double width, double height, Integer glasstype);
  @Update("update flowcard set orderstate=#{orderstate} where flowcard=#{flowcard}")
  void StartChange(String flowcard,int orderstate);
  @Select("select orderstate from flowcard  where flowcard=#{flowcard} limit 1")
  int selectStartChange(String flowcard);
  // @Delete("DELETE from flowcard  where flowcard=#{flowcard}")
  // int deleteFlowcard(String flowcard);
  // @Delete("DELETE from glassinfo  where flowcard=#{flowcard}")
  // int deleteGlassinfo(String flowcard);
  @Update("Update  flowcard set state=2, flowcard=CONCAT('已删除', #{flowcard}),orderstate=0  where flowcard=#{flowcard}")
  int deleteFlowcard(String flowcard);
  @Update("Update  glassinfo set flowcard=CONCAT('已删除', #{flowcard}) where flowcard=#{flowcard}")
  int deleteGlassinfo(String flowcard);
  @Update("update queue set glassid=concat(#{flowcard},'-',#{tier}),flowcard=#{flowcard},glasswidth=#{width},glassheight=#{height},glasstype=#{glasstype},thickness=#{thickness},mateid=#{mateid},state=1 where state<=0")
  void UpdateQueue(String flowcard, double width, double height, Integer glasstype, Double thickness, Integer tier,int mateid);
  //人工匹配新增一条
  @Insert("INSERT INTO queue (flowcard,glassid,glasswidth,glassheight,glasstype,thickness,mateid,state) VALUES (#{flowcard},concat(#{flowcard},'-',#{tier}),#{width},#{height},#{glasstype},#{thickness},#{mateid},1)")
  int AddQueue(String flowcard, double width, double height, Integer glasstype, Double thickness, Integer tier,int mateid);
  @Update("update glassinfo set finishnumber=ifnull(finishnumber,0)+1 where flowcard=#{flowcard} and mateid=#{mateid} and tier=#{geTier}")
  void AddGlassNo(String flowcard, Integer mateid, Integer geTier);
@@ -299,9 +326,21 @@
  // 最大玻璃类型
  @Select("select max(glasstype)+1 from glassinfo")
  Integer SelectMaxType();
    // 最大玻璃类型
    @Select("select glasstype from glassinfo where CONCAT(width,'_',height,'_',thickness,'_',films,'_',flowcard)=#{key} limit 1")
    Integer SelectMaxTypes(String key);
    //查询所有玻璃膜系和厚度
  @Select("select films,thickness from glassinfo GROUP BY films,thickness")
  List<GlassInfo> SelectMeasure();
  @Select("select*from measuresetting")
  MeasureSetting SelectMeasureSetting();
  //查询当前测量宽高和膜系厚度
  @Select("select ifnull(a.glasswidthmm,0) as glasswidthmm,ifnull(a.glassheightmm,0) as glassheightmm,ifnull(b.films,'') as films,ifnull(b.thickness,0) as thickness from queue a INNER JOIN measuresetting b where state!=2 ORDER BY a.id asc LIMIT 1")
  Map SelectMeasureWidthHeight();
  // 查询全部玻璃类型
  @Select("select CONCAT(IFNULL(width,''),'_',IFNULL(height,''),'_',IFNULL(thickness,''),'_',IFNULL(films,'')) as type,glasstype from glassinfo GROUP BY width,height,thickness,films")
  @Select("select CONCAT(IFNULL(width,''),'_',IFNULL(height,''),'_',IFNULL(thickness,''),'_',IFNULL(films,'')) as type,glasstype from glassinfo GROUP BY width,height,thickness,films,glasstype")
  List<Map> SelectType();
  // 查询总层数
@@ -316,4 +355,13 @@
  @Insert("INSERT INTO flowcard(`flowcard`, `totaltier`, `number`, `line`, `state`, `method`, `starttime`) "
                    +" select #{flowcard}, 0, #{number}, 0, 0, 0, now() where 0=( select count(*) from flowcard where flowcard=#{flowcard});")
  void InsertFlowcard(String flowcard, Integer number);
    @Delete("DELETE FROM queue WHERE id = (SELECT id FROM ( SELECT id FROM queue WHERE glassid = #{glassId} ORDER BY time ASC LIMIT 1) AS temp);")
    void DeletequeueByGlassid(String glassId);
    @Select("select count(*) from flowcard where line=#{line} and state=1 and flowcard!=#{flowcard}")
    int SelectTaskCount(String flowcard,Integer line);
  //修改测量设定膜系和厚度
    @Update("UPDATE measuresetting SET `films` = #{films}, `thickness` = #{thickness} WHERE `id` = 1;")
    int SaveMeasure(String films, Integer thickness);
}