From 28ded8102d83cf74bc232d1cdfc89b7f22c41952 Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期二, 03 十二月 2024 09:09:31 +0800 Subject: [PATCH] 增加点击防抖事件 增加笼子使用详情的计算优化。 增加数据推送时的报错处理 测量台交互逻辑增加 参数界面增加翻转加减速度 --- springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java | 272 ++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 192 insertions(+), 80 deletions(-) diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java index 8683f1d..4395cc7 100644 --- a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java +++ b/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; @@ -14,12 +15,21 @@ 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(); + // 鏌ヨ姣忎釜绗煎瓙鐨勪娇鐢ㄦ儏鍐� + // @Select("Select a.cage,sum(case when a.number=0 or a.number is null then 1 else 0 end)-b.cells as cell,100+b.cells-sum(case when a.number=0 or a.number is null then 1 else 0 end)/count(a.id)*100 as width from storage_cage a left join (select `cage_numbers`.`cage` AS `cages`,count(`a`.`shelf_rack`) AS `cells` from ((select 1 AS `cage` union all select 2 AS `2` union all select 3 AS `3` union all select 4 AS `4`) `cage_numbers` left join `out_task` `a` on((((case when (`a`.`shelf_rack` between 1 and 40) then 1 when (`a`.`shelf_rack` between 41 and 80) then 2 when (`a`.`shelf_rack` between 81 and 120) then 3 when (`a`.`shelf_rack` between 121 and 160) then 4 else NULL end) = `cage_numbers`.`cage`) and (`a`.`task_state` = 0)))) group by `cage_numbers`.`cage` order by `cage_numbers`.`cage`) as b on a.cage=b.cages group by a.cage;") + // List<StorageCage> selectAlls(); + @Select("Select a.cage, GREATEST(sum(case when a.number is null and disabled=0 then 1 else 0 end),0) as cell,LEAST(100-sum(case when a.number is null and disabled=0 then 1 else 0 end)/count(a.id)*100,100) as width from storage_cage a left join (select `cage_numbers`.`cage` AS `cages`,count(`a`.`shelf_rack`) AS `cells` from ((select 1 AS `cage` union all select 2 AS `2` union all select 3 AS `3` union all select 4 AS `4`) `cage_numbers` left join `out_task` `a` on((((case when (`a`.`shelf_rack` between 1 and 40) then 1 when (`a`.`shelf_rack` between 41 and 80) then 2 when (`a`.`shelf_rack` between 81 and 120) then 3 when (`a`.`shelf_rack` between 121 and 160) then 4 else NULL end) = `cage_numbers`.`cage`) and (`a`.`task_state` = 0)))) group by `cage_numbers`.`cage` order by `cage_numbers`.`cage`) as b on a.cage=b.cages group by a.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") @@ -36,8 +46,6 @@ // 鏌ヨ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(); - - // 鏍规嵁浠诲姟绫诲瀷鏌ヨ褰撳墠姝e湪鍑虹墖锛岃繘鐗囩殑鐜荤拑淇℃伅 @Select("select * from storage_cage where state=#{task_type}") @@ -61,17 +69,17 @@ // 鎵嬪姩瀹屾垚浠诲姟 @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); + 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); @@ -79,11 +87,11 @@ @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(); @@ -91,93 +99,95 @@ // @Select("select * from storage_cage where glass_id=#{glassid}") // StorageCage SelectGlassInfo(String glassid); - //鏍规嵁鐜荤拑id鏌ヨ鐞嗙墖绗间俊鎭� + // 鏍规嵁鐜荤拑id鏌ヨ鐞嗙墖绗间俊鎭� @Select("select * from storage_cage where glass_id=#{glassid}") List<StorageCage> SelectStorageInfoByGlassId(String glassid); - //鏌ヨ鐜荤拑淇℃伅 -// @Select("select * from glass where glassid=#{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); + 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浠庡鎴疯〃鏌ヨ鏁版嵁 + // 鏍规嵁鐜荤拑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鏌ヨ绗煎唴鐜荤拑淇℃伅 + // 鏍规嵁鐜荤拑id鏌ヨ绗煎唴鐜荤拑淇℃伅 @Select("select * from storage_cage where glass_id=#{glassid}") StorageCage SelectStorageGlassById(String glassid); - //鏍规嵁鐜荤拑id鏌ヨ绗煎唴鐜荤拑淇℃伅 + // 鏍规嵁鐜荤拑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)") + // @Update("update out_slice set state=4 where barcode=#{FrameNo} and (state=0 + // or state=1 or state=2)") // void DeleteProductionQueueGlass(String id); - //鏍规嵁閾濇id鏌ヨ瀵瑰簲鐜荤拑淇℃伅 + // 鏍规嵁閾濇id鏌ヨ瀵瑰簲鐜荤拑淇℃伅 @Select("select * from north_glass_buffer1 where FrameBarcode=#{FrameBarcode}") List<north_glass_buffer1> SelectAluminumFrameInfoById(String FrameBarcode); - - //鏍规嵁鐜荤拑id鏌ヨ鍑虹墖闃熷垪淇℃伅 + // 鏍规嵁鐜荤拑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); + 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); + 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); @@ -185,106 +195,208 @@ // @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瀵瑰簲鐜荤拑瀹屾垚鏁伴噺 + // 鏌ヨ閾濇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鏌ヨ浠诲姟淇℃伅 + // 鏍规嵁鐜荤拑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") + // 鏌ヨ鐞嗙墖绗煎唴淇℃伅 + @Select("select *,b.customer from storage_cage a left join flowcard b on a.flowcard=b.flowcard") 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,tier=null where cell=#{cell}") void DeleteStroageCageByCell(Integer cell); - - //淇敼鏍煎瓙鐜荤拑鏁伴噺 - @Update("update storage_cage set number=number+#{num} where cell=#{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-(glasswidth+100)*number where cell=#{cell}") + // 璁$畻鏍煎瓙鍐呭墿浣欏搴� + @Update("update storage_cage set width=4300-if(glasswidth is null,0,glasswidth)*number-(number*300)+300 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); - //鏍规嵁鏍煎瓙鏌ヨ鐜荤拑淇℃伅 + // 鏍规嵁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}") StorageCage SelectStorageByCell(String cell); + //鏍规嵁鐜荤拑绫诲瀷鏌ヨ鐜荤拑淇℃伅 + @Select("select a.shelf_rack as cage,a.load_rack as cell,b.mateid,b.width as glasswidth,b.height as glassheight,b.thickness,b.films,a.tier from storage_task a left join glassinfo b on a.glasstype=b.glasstype where a.id=#{id} limit 1") + StorageCage SelectStorageByCellGlass(Integer id); - //鎵嬪姩瀹屾垚浠诲姟 - @Select("update storage_task set task_state=1 where id=1429") - void FinishTask(Integer id); + // 鎵嬪姩瀹屾垚浠诲姟 + @Select("update storage_task set task_state=#{state} where id=#{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) and position(#{tier} in gi.tier) group by gi.id") + List<GlassInfo> SelectGlassInfo(String width, String height, String thickness, String films,String tier); + // @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); - @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}") + @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,tier=#{glassInfo.tier} where cell=#{cell}") void StorageCageAddGlass(String cell, GlassInfo glassInfo); - @Select("select * from flowcard where state!=2") - List<FlowCard> SelectOrderTask(); + @Select("select id,flowcard,Customer,totaltier,line,state,method,starttime,orderstate from flowcard where state!=2") + List<Flowcard> SelectOrderTask(); - @Select("select * from glassinfo where flowcard=#{flowcard} order by mateid,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.customer, 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,orderstate 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} where state=0") - void UpdateQueue(String flowcard,double width,double height,Integer glasstype); - - @Update("update glassinfo set finishnumber=finishnumber+1 where flowcard=#{flowcard} and mateid=#{mateid} and tier=#{geTier}") - void AddGlassNo(String flowcard, Integer mateid, Integer geTier); + @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); + //鏌ヨ褰撳墠绗煎瓙鏄惁杩樻湁璇ヨ鍗曠殑鐜荤拑 + + @Select("select count(*) from storage_cage where flowcard=#{flowcard}") + int selectflowcardCage(String flowcard); + //淇敼鍑虹墖闃熷垪鐘舵�� + @Update("Update out_task set task_state=#{state} where id=#{id}") + int UpdateOutTask(Integer id, Integer state); + //鍒犻櫎鍑虹墖闃熷垪 + @Delete("DELETE from out_task where id=#{id}") + int DeleteOutTask(Integer id); + @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,time) VALUES (#{flowcard},concat(#{flowcard},'-',#{tier}),#{width},#{height},#{glasstype},#{thickness},#{mateid},1,NOW())") + int AddQueue(String flowcard, double width, double height, Integer glasstype, Double thickness, Integer tier,int mateid); + //鍒ゆ柇娴嬮噺琛ㄦ槸鍚︽湁鍙洿鏀圭殑鏁版嵁 + @Select("select count(*) from queue where state<1") + int SelectQueue(); + @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); + @Update("update glassinfo set finishnumber=ifnull(finishnumber,0)-1 where glasstype=#{glasstype}") + void OutGlassNo(Integer glasstype); + + // 娣诲姞鍑虹墖闃熷垪 + @Insert("INSERT INTO glassinfo (`flowcard`, `glasstype`, `mateid`, `glassid`, `tier`, `films`, `width`, `height`, `thickness`, `number`, `finishnumber`, `sumtier`, `measurenumber`,Customer)" + + + " VALUES (#{flowcard}, #{glasstype}, #{mateid}, #{glassid}, #{tier}, #{films}, CASE WHEN #{width} > #{height} THEN #{width} ELSE #{height} END, CASE WHEN #{height} > #{width} THEN #{width} ELSE #{height} END, #{thickness}, #{number}, 0, #{sumtier}, 0, #{Customer})") + void AddGlassinfo(String flowcard, Integer glasstype, Integer mateid, String glassid, Integer tier, String films, + Double width, Double height, Double thickness, Integer number, Integer sumtier,String Customer); + + // 鏈�澶х幓鐠冪被鍨� + @Select("select max(glasstype)+1 from glassinfo") + Integer SelectMaxType(); + // 鏈�澶х幓鐠冪被鍨� + @Select("select glasstype from glassinfo where CONCAT(width,'_',height,'_',thickness,'_',films,'_',flowcard,'_',mateid)=#{key} limit 1") + Integer SelectMaxTypes(String key); + + //鏌ヨ鎵�鏈夌幓鐠冭啘绯诲拰鍘氬害 + @Select("select films,thickness from flowcard a left join glassinfo b on a.flowcard=b.flowcard where orderstate=1 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,glasstype") + List<Map> SelectType(); + + // 鏌ヨ鎬诲眰鏁� + @Select("SELECT CONCAT(IFNULL(flowcard,''),'_',IFNULL(mateid,'')),count(*) as tiersum FROM `glassinfo` group by flowcard,mateid") + List<Map> Selecttiersum(); + + // 鏌ヨ绗煎唴鐜荤拑淇℃伅 + @Select("select DISTINCT * 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`,Customer) " + +" select #{flowcard}, 0, #{number}, 0, 0, 0, now(),#{Customer} where 0=( select count(*) from flowcard where flowcard=#{flowcard});") + void InsertFlowcard(String flowcard, Integer number,String Customer); + + @Delete("DELETE FROM queue WHERE id = (SELECT id FROM ( SELECT id FROM queue WHERE state = 2 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); + //鏌ヨ鍑虹墖闃熷垪鏁版嵁 + @Select("SELECT a.id,a.flowcard,customer,a.mateid,a.tier,b.films,b.thickness,b.width,b.height,a.task_state as state,shelf_rack as cell FROM `out_task` a left join glassinfo b on a.glasstype=b.glasstype where task_state!=1 ORDER BY task_state") + List<Map>SelectOutTask(); + //鏌ヨ鍑虹墖璁板綍鏁版嵁 + @Select(" select DISTINCT a.id,a.flowcard,customer,a.mateid,a.tier,b.films,b.thickness,b.width,b.height,a.task_state as state,a.shelf_rack as cell from storage_task a left join glassinfo b on a.glasstype=b.glasstype where task_type=1 ORDER BY a.id desc LIMIT 6;") + List<Map>SelectOutLog(); + //鏌ヨ鎵爜鏁版嵁 + @Select("select*from glassinfo a where a.flowcard=#{flowcard} and a.mateid=#{mateid} and a.tier=#{tier} LIMIT 1") + GlassInfo SelectCodeGlass(String flowcard,Integer mateid,Integer tier); + //鏌ヨ鍑虹墖闃熷垪鐨勭幓鐠冧俊鎭� + @Select("select shelf_rack from out_task where id=#{id}") + int SelectOutTaskId(Integer id); + } -- Gitblit v1.8.0