From 1fb67fa712ec8844a6e6215d71dd67c2a935a136 Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期五, 22 三月 2024 15:13:10 +0800
Subject: [PATCH] 表格导入:数据处理 (总层数计算)

---
 springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java |  143 +++++++++++++++++++++++++----------------------
 1 files changed, 76 insertions(+), 67 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 f5df5a2..65c1980 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
@@ -18,7 +18,7 @@
 
 @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();
 
@@ -40,8 +40,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}")
@@ -65,17 +63,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);
 
@@ -83,11 +81,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();
 
@@ -95,93 +93,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);
 
@@ -189,85 +189,84 @@
   // @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")
   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}")
   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-(glasswidth+100)*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浠诲姟
+
+  // 鏍规嵁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=1429")
   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);
+  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);
@@ -285,22 +284,32 @@
   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);
+  void UpdateQueue(String flowcard, double width, double height, Integer glasstype);
 
   @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);
-  //鏈�澶х幓鐠冪被鍨�
+
+  // 娣诲姞鍑虹墖闃熷垪
+  @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);
+
 }

--
Gitblit v1.8.0