From 164ed043c7dc88fd05074244c3951a9ccc0ceead Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期三, 29 三月 2023 10:54:50 +0800
Subject: [PATCH] 车间看板取数修改、订单下达获取工单语句修改、生产工单手工创建获取单号接口

---
 VueWebApi/DLL/DAL/KanBanManagerentDAL.cs |  101 +++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 95 insertions(+), 6 deletions(-)

diff --git a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
index 55a48fa..dc15fd9 100644
--- a/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
+++ b/VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -58,12 +58,17 @@
                 {
                     string[] selects = Array.ConvertAll<string, string>(shopcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string鍒嗗壊杞瑂tring[] 
                     //鏌ヨ浜х嚎涓嬪凡寮�宸ョ殑鍔犲伐鍗曚俊鎭�
-                    sql = @"select distinct E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname   from TK_Wrk_Record A
+                    sql = @"select *  from ( 
+                                    select distinct E.saleOrderCode,A.wo_code,P.plan_qty,M.partcode,M.partname,M.partspec,T.name as uomname,S.good_qty,S.ng_qty,S.bad_qty   from TK_Wrk_Record A
                                     inner join TK_Wrk_Man P on A.wo_code=P.wo_code
                                     left join TMateriel_Info M on P.materiel_code=M.partcode
                                     left join TUom T on M.uom_code=T.code 
                                     left join TKimp_Ewo E on P.m_po=E.wo and P.sourceid=E.id
-                                    where P.status<>'CLOSED' and P.status<>'NEW' and P.wkshp_code in @shopcode and A.style='S' and A.step_seq='1'";
+                                    left join (
+                                      select wo_code,sum(good_qty) as good_qty,sum(ng_qty) as ng_qty,sum(bad_qty) as bad_qty  from TK_Wrk_Step where isend='Y' group by wo_code
+                                    ) S on P.wo_code=S.wo_code
+                                    where P.status<>'CLOSED' and P.status<>'NEW' and P.wkshp_code in @shopcode and A.style='S' and A.step_seq='1'
+                                    ) as AA where AA.plan_qty>(AA.good_qty+aa.bad_qty+AA.ng_qty)";
                     var data0 = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
                 
                     if (data0.Rows.Count > 0)
@@ -162,6 +167,7 @@
                          left  join TMateriel_Info M on A.materiel_code=M.partcode
                          left  join TUom U on M.uom_code=U.code
                          where A.status<>'CLOSED' and A.wkshp_code in @shopcode and A.is_delete<>'1' and B.isend='Y'
+                         and A.plan_qty>(B.good_qty+B.ng_qty+B.bad_qty)
                          )as A ";
                 var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
                 mes.code = "200";
@@ -199,7 +205,7 @@
                         select C.name as linename,'' as wkshname,M.partname,A.sqty as good_qty  from TK_Wrk_OutRecord A
                         inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
                         inner join TMateriel_Info M on A.materiel_code=M.partcode
-                        inner  join TCustomer C on A.wx_code=C.code and C.btype='WX'
+                        inner  join TCustomer C on A.wx_code=C.code 
                         where A.style='S' and S.isend='Y' and datediff(day,GETDATE(),A.lm_date)=0
                         ) as A group by A.org_name,A.name,A.partname order by good_qty desc";
                 var data = DapperHelper.selectlist(sql, new { shopcode = selects.ToArray() });
@@ -331,7 +337,7 @@
             try
             {
                 //鑾峰彇浠撳簱鐢熶骇鍔犲伐鍗曞緟鍏ュ簱鍒楄〃
-                sql = @"select * from h_v_DDKanBan_WareHouseTopLeft";
+                sql = @"select * from h_v_DDKanBan_WareHouseTopLeft order by voucherdate";
                 var data = DapperHelper.selecttable(sql);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -355,7 +361,7 @@
             try
             {
                 //鑾峰彇浠撳簱鐢熶骇鍔犲伐鍗曞緟鍏ュ簱鍒楄〃
-                sql = @"select * from h_v_DDKanBan_WareHouseTopBottom";
+                sql = @"select * from h_v_DDKanBan_WareHouseTopBottom order by voucherdate";
                 var data = DapperHelper.selecttable(sql);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -445,5 +451,88 @@
             return mes;
         }
         #endregion
+
+
+        #region[鑾辩杞﹂棿鐢熶骇鏁板瓧鍖栫湅鏉匡紝浜х嚎鏁版嵁]
+        public static ToMessage WkshpLineData(string lineCode)
+        {
+            string sql = "";
+            string search = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鑾峰彇浜х嚎閿�鍞鍗曟姤宸ヤ俊鎭�,鎶ュ伐鏁伴噺>0  涓斿伐鍗曠姸鎬佷负闈炲叧闂姸鎬�  涓斿伐搴忎负鏈亾宸ュ簭 锛�--and (S.good_qty+S.ng_qty+S.bad_qty)<S.plan_qty)
+                //sql = @"select AA.saleOrderCode,AA.materiel_code,AA.partname,sum(AA.good_qty) as good_qty   from (
+                //        select distinct A.saleOrderCode,A.materiel_code,M.partname,isnull(S.good_qty,0) as good_qty
+                //        from TKimp_Ewo A
+                //        left join TK_Wrk_Man B on A.wo=B.m_po and A.materiel_code=B.materiel_code 
+                //        left join TK_Wrk_Step S on B.wo_code=S.wo_code and S.isend='Y' 
+                //        left join TFlw_Rteqp R on S.step_code=R.step_code
+                //        left  join TMateriel_Info M on A.materiel_code=M.partcode
+                //        where A.saleOrderCode is not null and A.saleOrderCode<>'' 
+                //        and R.eqp_code=@lineCode and B.status<>'CLOSED' 
+                //        ) as AA
+                //        group by AA.saleOrderCode,AA.materiel_code,AA.partname";
+                sql = @"select AA.saleOrderCode,AA.materiel_code,AA.partname,sum(AA.good_qty) as good_qty   from (
+						select distinct B.m_po as saleOrderCode,B.materiel_code,M.partname,isnull(S.good_qty,0) as good_qty   
+						from TK_Wrk_Man B
+						left join TK_Wrk_Step S on B.wo_code=S.wo_code and S.isend='Y' 
+                        left join TK_Wrk_Record T on S.wo_code=T.wo_code
+                        left  join TMateriel_Info M on B.materiel_code=M.partcode
+                        where T.eqp_code=@lineCode and B.status<>'CLOSED' 
+						 ) as AA
+                        group by AA.saleOrderCode,AA.materiel_code,AA.partname";
+                dynamicParams.Add("@lineCode", lineCode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[鑾辩杞﹂棿鐢熶骇鏁板瓧鍖栫湅鏉匡紝鐢熶骇淇℃伅]
+        public static ToMessage WkshpContentData()
+        {
+            string sql = "";
+            try
+            {
+                //鑾峰彇宸ュ崟鎶ュ伐淇℃伅,鎶ュ伐鏁伴噺>0  涓斿伐鍗曠姸鎬佷负闈炲叧闂姸鎬�  
+                sql = @"select row_number() over(order by A.wo_code,B.seq) as RowNum,A.wo_code,E.name as eqp_name,M.partname,B.plan_qty,A.plan_startdate,A.plan_enddate,T.stepname,B.good_qty
+                        from TK_Wrk_Man A
+                        inner join TK_Wrk_Step B on A.wo_code=B.wo_code
+                        inner join(
+                          select wo_code,step_code,materiel_code,eqp_code, sum(good_qty) as  good_qty  
+                          from TK_Wrk_Record where style='B' group by wo_code,step_code,materiel_code,eqp_code
+                          ) as S on A.wo_code=S.wo_code and A.materiel_code=S.materiel_code and B.step_code=S.step_code
+                        left join TStep T on B.step_code=T.stepcode
+                        left join TMateriel_Info M on A.materiel_code=M.partcode
+                        left join TEqpInfo E on S.eqp_code=E.code
+                        where   A.status<>'CLOSED'
+                        order by A.wo_code,B.seq";
+                var data = DapperHelper.selecttable(sql);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.data = data;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
     }
-}
\ No newline at end of file
+}
+

--
Gitblit v1.9.3