package com.example.springboot.mapper;
|
|
import org.apache.ibatis.annotations.*;
|
|
import com.example.springboot.entity.CarPosition;
|
import com.example.springboot.entity.FlowCard;
|
import com.example.springboot.entity.GlassInfo;
|
import com.example.springboot.entity.StorageCage;
|
import com.example.springboot.entity.StorageTask;
|
import com.example.springboot.entity.alarmmg;
|
import com.example.springboot.entity.north_glass_buffer1;
|
import com.example.springboot.entity.Out_slice;
|
import com.example.springboot.entity.Queue;
|
import com.example.springboot.entity.RolePermission;
|
|
import java.util.List;
|
import java.util.Map;
|
|
@Mapper
|
public interface HomeMapper {
|
// 查询每个笼子的使用情况
|
@Select("select cage,round(100-(21-sum(if(state>0,1,state)))/21*100) as cell,21-sum(if(state>0,1,state)) as state from (select cage,cell,max(state) as state from storage_cage group by cage,cell) as cages group by cage")
|
List<StorageCage> selectAll();
|
|
@Select("Select cage,sum(case when number=0 or number is null then 1 else 0 end) as cell,100-sum(case when number=0 or number is null then 1 else 0 end)/count(id)*100 as width from storage_cage group by cage")
|
List<StorageCage> selectAlls();
|
|
// 查询10-6笼内层格子状态
|
@Select("SELECT cage,state,ifnull(glasswidth/2750*2,0) as glasswidth from storage_cage where cage>5 and tier=2 order by cage desc,cell desc")
|
List<StorageCage> selectRack1();
|
|
// 查询5-1笼内层格子状态
|
@Select("SELECT cage,state,ifnull(glasswidth/2750*2,0) as glasswidth from storage_cage where cage<=5 and tier=2 order by cage desc,cell desc")
|
List<StorageCage> selectRack2();
|
|
// 查询10-6笼外层格子状态
|
@Select("SELECT case when tier=1 then cage else 0 end as cage,case when tier=1 then state else 0 end as state,sum(case when tier=1 then glasswidth/2750*2 else 0 end) as glasswidth,sum(case when tier=2 then glasswidth/2750*2 else 0 end) as width from storage_cage where cage>5 group by cage,cell order by cage desc,cell desc")
|
List<StorageCage> selectRack3();
|
|
// 查询5-1笼外层格子状态
|
@Select("SELECT case when tier=1 then cage else 0 end as cage,case when tier=1 then state else 0 end as state,sum(case when tier=1 then glasswidth/2750*2 else 0 end) as glasswidth,sum(case when tier=2 then glasswidth/2750*2 else 0 end) as width from storage_cage where cage<=5 group by cage,cell order by cage desc,cell desc")
|
List<StorageCage> selectRack4();
|
|
// 根据任务类型查询当前正在出片,进片的玻璃信息
|
@Select("select * from storage_cage where state=#{task_type}")
|
List<StorageCage> selectinout(@Param("task_type") Integer task_type);
|
|
// 查询是否存在此订单
|
@Select("select count(*) from storage_cage where order_id=#{orderid} and state=1")
|
short SelectOrder(@Param("orderid") String orderid);
|
|
// @Insert("insert into order_out(orderid) values('#{orderid}')")
|
@Insert("INSERT INTO `canadames`.`order_out`( `order_id`,`state`) VALUES ( #{orderid},0)")
|
void InsertOrder(String orderid);
|
|
// 停止按当前订单出片
|
@Update("update order_out set state=1 where state=0")
|
void updateOrder();
|
|
// 查询是否存在正在上片的任务
|
@Select("select count(*) from storage_task where task_state=0 and task_type=0")
|
short SelectInTask();
|
|
// 手动完成任务
|
@Update("update storage_task set task_state=1 where task_type=#{task_type} and glass_id=#{glassid}")
|
void UpdateTask(@Param("task_type") Integer task_type, String glassid);
|
|
// 手动完成进片任务修改笼子数据
|
@Update("update storage_cage set state=1 where glass_id=#{glassid} and state=2")
|
void UpdateCageTask1(@Param("glassid") String glassid);
|
|
// 获取报警信息
|
@Select("select id,content,timeon as timeons,endTime from alarmmg where endTime is null")
|
List<alarmmg> SelectAlarmmgInfo();
|
|
// 获取理片笼内玻璃信息
|
@Select("select * from storage_cage where position(#{cage} in ifnull(glass_id,\"\"))")
|
List<StorageCage> SelectCageInfo(String cage);
|
|
// 手动完成出片任务修改笼子数据
|
@Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,listid=null,boxid=null,FrameBarcode=null where glass_id=#{glassid}")
|
void DeleteByGlassID(String glassid);
|
|
// 查询小车位置
|
@Select("select * from car_position")
|
List<CarPosition> Loadcarlist();
|
|
// 查询操作密码
|
@Select("select dianqimima from user where id=1")
|
String SelectPassword();
|
|
// //根据玻璃id查询理片笼信息
|
// @Select("select * from storage_cage where glass_id=#{glassid}")
|
// StorageCage SelectGlassInfo(String glassid);
|
|
// 根据玻璃id查询理片笼信息
|
@Select("select * from storage_cage where glass_id=#{glassid}")
|
List<StorageCage> SelectStorageInfoByGlassId(String glassid);
|
|
// 查询玻璃信息
|
// @Select("select * from glass where glassid=#{glassid}")
|
@Select("SELECT ordernumber,listnumber,boxnumber,barcode,glasslength,glassheight,glasslength_mm,glassheight_mm FROM north_glass_buffer1 where barcode=#{barcode}")
|
north_glass_buffer1 SelectGlassByGlassID(String barcode);
|
|
// 启用/禁用理片笼格子
|
@Update("update storage_cage set disabled=#{disabled} where cage=#{cage} and cell=#{cell}")
|
void Disabled(short cage, short cell, short disabled);
|
|
// 理片笼新增玻璃
|
@Update("update storage_cage set state=1,glass_id=#{glass.glassId},order_id=#{glass.orderId},glasswidth=#{glass.glasswidth},glassheight=#{glass.glassheight},glasswidthmm=#{glass.glasswidthmm},glassheightmm=#{glass.glassheightmm},listid=#{glass.listId},boxid=#{glass.boxId} where cage=#{cage} and cell=#{cell} and tier=#{tier}")
|
void Inglassid(Queue glass, short cage, short cell, short tier);
|
|
// 查询理片笼中是否有此玻璃
|
@Select("select count(*) from storage_cage where glass_id=#{glassId}")
|
short SelectStorageByGlassId(String glassId);
|
|
// 根据订单查询玻璃信息
|
@Select("select * from north_glass_buffer1 where position(#{orderid} in ordernumber)")
|
List<north_glass_buffer1> SelectGlass(String orderid);
|
|
// 获取上片队列信息
|
@Select("select * from queue where id=#{id}")
|
Queue GetQueueInfo(int id);
|
|
// 手动添加扫码位玻璃
|
@Update("update queue set glassid=#{queue.glassId},orderid=#{queue.orderId},listId=#{queue.listId},boxId=#{queue.boxId},glasswidth=#{queue.glasswidth},glassheight=#{queue.glassheight},glasswidthmm=#{queue.glasswidthmm},glassheightmm=#{queue.glassheightmm},state=1 where id=#{id}")
|
void InsertQueueGlassId(Queue queue, Short id);
|
|
// 确认扫码位玻璃信息
|
@Update("update queue set state=1 where id=1")
|
void UpdateQueueState();
|
|
// 手动添加扫码位玻璃
|
@Update("update queue set glassid=null,orderid=null,listid=null,boxid=null,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,state=0 where id=#{id}")
|
void DeleteQueueGlass(String id);
|
|
// 查询此订单在理片笼里的玻璃数
|
@Select("select count(*) from storage_cage where order_id=#{orderid}")
|
Short SelectGlassNo(String orderid);
|
|
// 根据玻璃id从客户表查询数据
|
@Select("select * from north_glass_buffer1 where barcode=#{glassid}")
|
north_glass_buffer1 SelectBoxNo(String glassid);
|
|
// 查询出片队列信息
|
@Select("select * from out_slice order by sequence")
|
List<Out_slice> SelectProductionqueue();
|
|
// 根据玻璃id查询笼内玻璃信息
|
@Select("select * from storage_cage where glass_id=#{glassid}")
|
StorageCage SelectStorageGlassById(String glassid);
|
|
// 根据玻璃id查询笼内玻璃信息
|
@Select("select * from storage_cage where glass_id=#{glassid}")
|
List<StorageCage> SelectStoragesGlassById(String glassid);
|
|
// //根据玻璃id删除出片队列玻璃
|
// @Update("update out_slice set state=4 where barcode=#{FrameNo} and (state=0
|
// or state=1 or state=2)")
|
// void DeleteProductionQueueGlass(String id);
|
|
// 根据铝框id查询对应玻璃信息
|
@Select("select * from north_glass_buffer1 where FrameBarcode=#{FrameBarcode}")
|
List<north_glass_buffer1> SelectAluminumFrameInfoById(String FrameBarcode);
|
|
// 根据玻璃id查询出片队列信息
|
@Select("select * from out_slice where glassid=#{getbarcode}")
|
Out_slice SelectQueueByglassid(String getbarcode);
|
|
// 添加出片队列
|
@Insert("INSERT INTO out_slice( `glassId`, `barcode`, `glasswidth`, `glassheight`, `state`, `flip`, `sequence`, `time` ,`position` ,`orderid` ,`listid` ,`boxid` ,`glasswidthmm` ,`glassheightmm` ,`framewidthmm` ,`frameheightmm` ,`framestate` ) VALUES ( #{glassid}, #{FrameNo}, #{glasslengthMm}, #{glassheightMm}, #{state}, #{flip}, #{sequence}, now(), #{position}, #{orderid}, #{listid}, #{boxid}, #{glasswidth}, #{glassheight}, #{framewidthmm}, #{frameheightmm}, 0);")
|
void AddOutSliceS(String glassid, String flip, String FrameNo, String glasslengthMm, String glassheightMm,
|
int sequence, String position, Short state, String orderid, String listid, String boxid, String glasswidth,
|
String glassheight, String framewidthmm, String frameheightmm);
|
|
// 出片队列调序
|
@Update("update out_slice set sequence=#{sequence} where glassid=#{glassId}")
|
void UpdateOutSliceSequence(String glassId, int sequence);
|
|
// 查询出片队列最大顺序
|
@Select("select ifnull(max(sequence),0)+1 from out_slice ")
|
Short SelectMaxSquence();
|
|
// 查询用户权限
|
@Select("select rp.* from role_permission rp inner join user r on rp.role_id=r.role_id and r.username=#{username} and (permission_id=32 or permission_id=33 or permission_id=34 or permission_id=35 or permission_id=36 or permission_id=37 or permission_id=38 or permission_id=39)")
|
List<RolePermission> SelectPermissionByUserName(String username);
|
|
// //根据玻璃完成出片任务
|
// @Update("update out_slice set state=2 where id=#{id}")
|
// void CompleteQueue(String id);
|
|
// 根据玻璃完成出片任务
|
@Update("update out_slice set state=2 where glassid=#{glassid}")
|
void CompleteQueueByGlassId(String glassid);
|
|
// 查询铝框id对应玻璃完成数量
|
@Select("select count(*) from out_slice where barcode=#{frameid} and state!=4")
|
Short SelectCountByFrameNo(String frameid);
|
|
// 删除已完成的任务
|
@Delete("delete from out_slice where Barcode=#{frameid}")
|
void CompleteQueueByFrameNo(String frameid);
|
|
// 查询笼内格子剩余宽度
|
@Select("Select width from storage_cage where cage=#{cage} and cell=#{cell} limit 1")
|
Double SelectCageWidth(short cage, short cell);
|
|
// 修改出片队列玻璃状态为缺失
|
@Update("update out_slice set state=3 where glassId=#{glassid} and state<3")
|
void UpdateOutSliceGlass(String glassid);
|
|
// 查询未完成的任务
|
@Select("select * from storage_task where task_state=0 and task_type=#{task_type}")
|
List<StorageTask> SelectTaskByState(int task_type);
|
|
// 修改出片队列铝框状态
|
@Update("update out_slice set framestate=1 where barcode=#{frameno}")
|
void FrameStateUpdate(String frameno);
|
|
// 查询当前铝框信息
|
@Select("select * from out_slice where framestate=0 order by id limit 1")
|
Out_slice SelectCurrentFrame();
|
|
// 根据玻璃id查询任务信息
|
@Select("select task_type from storage_task where glass_id=#{glassid} and task_state!=1")
|
Short SelectTaskByGlassId(String glassid);
|
|
// 修改格子宽度
|
@Update("update storage_cage set width=width+#{width} where cage=#{cage} and cell=#{cell};")
|
void UpdataCageWidth(double width, int cage, int cell);
|
|
// 获取铝框有没有正在出片的玻璃
|
@Select("select count(*) from out_slice where barcode=#{frameNo} and state=1")
|
Short SelectOutingQueueCount(String frameNo);
|
|
// 查询理片笼内信息
|
@Select("select * from storage_cage")
|
List<StorageCage> SelectStorageCageInfo();
|
|
// 删除格子内玻璃信息
|
@Update("update storage_cage set films=null,width=5000,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,thickness=null,glasstype=null,number=null where cell=#{cell}")
|
void DeleteStroageCageByCell(Integer cell);
|
|
// 修改格子玻璃数量
|
@Update("update storage_cage set number=ifnull(number,0)+#{num} where cell=#{cell}")
|
void updateStroageCageByCell(Integer cell, Integer num);
|
|
// 计算格子内剩余宽度
|
@Update("update storage_cage set width=5000-if(glasswidth is null,0,glasswidth+50)*number where cell=#{cell}")
|
void UpdateStroageCageWidthByCell(Integer cell);
|
|
// 根据任务类型获取任务
|
@Select("select * from storage_task where task_type=#{task_type} and task_state=0")
|
List<StorageTask> SelectStorageTask(int task_type);
|
|
// 根据id任务
|
@Select("select * from storage_task where id=#{id}")
|
StorageTask SelectStorageTaskById(int id);
|
|
// 根据格子查询玻璃信息
|
@Select("select * from storage_cage where cell=#{cell}")
|
StorageCage SelectStorageByCell(String cell);
|
|
// 手动完成任务
|
@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")
|
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}")
|
void StorageCageAddGlass(String cell, GlassInfo glassInfo);
|
|
@Select("select * from flowcard where state!=2")
|
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")
|
List<GlassInfo> SelectOrderView(String flowcard);
|
|
@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 flowcard set orderstate=#{orderstate} where flowcard=#{flowcard}")
|
void StartChange(String flowcard,int orderstate);
|
|
@Update("update queue set glassid=concat(#{flowcard},'-',#{tier}),flowcard=#{flowcard},glasswidth=#{width},glassheight=#{height},glasstype=#{glasstype},thickness=#{thickness},state=1 where state<=0")
|
void UpdateQueue(String flowcard, double width, double height, Integer glasstype, Double thickness, Integer tier);
|
|
@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);
|
|
// 添加出片队列
|
@Insert("INSERT INTO glassinfo (`flowcard`, `glasstype`, `mateid`, `glassid`, `tier`, `films`, `width`, `height`, `thickness`, `number`, `finishnumber`, `sumtier`, `measurenumber`)"
|
+
|
" VALUES (#{flowcard}, #{glasstype}, #{mateid}, #{glassid}, #{tier}, #{films}, #{width}, #{height}, #{thickness}, #{number}, 0, #{sumtier}, 0)")
|
void AddGlassinfo(String flowcard, Integer glasstype, Integer mateid, String glassid, Integer tier, String films,
|
Double width, Double height, Double thickness, Integer number, Integer sumtier);
|
|
// 最大玻璃类型
|
@Select("select max(glasstype)+1 from glassinfo")
|
Integer SelectMaxType();
|
|
// 查询全部玻璃类型
|
@Select("select CONCAT(IFNULL(width,''),'_',IFNULL(height,''),'_',IFNULL(thickness,''),'_',IFNULL(films,'')) as type,glasstype from glassinfo GROUP BY width,height,thickness,films")
|
List<Map> SelectType();
|
|
// 查询总层数
|
@Select("SELECT CONCAT(IFNULL(flowcard,''),'_',IFNULL(mateid,'')),count(*) as tiersum FROM `glassinfo` group by flowcard,mateid")
|
List<Map> Selecttiersum();
|
|
// 查询笼内玻璃信息
|
@Select("select * from storage_cage where cage=#{cage} order by id desc")
|
List<StorageCage> SelectStorageCageByCage(Integer cage);
|
|
// 添加出片队列
|
@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);
|
|
@Select("Delete from queue where glassid=#{glassId}")
|
void DeletequeueByGlassid(String glassId);
|
}
|