From 291558a5ddd495195047a23a27b44ce5b0bbca5a Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 15 十一月 2024 11:06:00 +0800
Subject: [PATCH] 1.T8入库记录(查询、删除) 2.T+入库记录(查询、删除) 3.生产入库记录查询增加部门查询条件 4.看板视图根据配置文件区分T8还是T+

---
 VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs |  144 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 108 insertions(+), 36 deletions(-)

diff --git a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
index 17a2d83..6ffebf1 100644
--- a/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -1572,16 +1572,17 @@
                     dynamicParams.Add("@partspec", partspec);
                 }
                 //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
-                sql = @"select A.id,A.status,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
+                sql = @"select A.id,A.status,E.dept_id,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,E.materiel_id,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
                         S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date,
-                        E.sbid,B.m_po,E.saleOrderCode,E.saleOrderDetailId,E.unitid,E.unitcode,E.unitname,K.code as stockcode,k.name as stockname
+                        E.sbid,E.woid as mpoid,B.m_po,E.saleOrderid,E.saleOrderCode,E.saleOrderDetailId,E.unitid,E.unitcode,E.unitname,
+                        COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.voucherdate
                         from TK_Wrk_Step A
                         left join TK_Wrk_Man B on A.wo_code=B.wo_code
                         left join TMateriel_Info M on B.materiel_code=M.partcode
                         left join TStep S on A.step_code=S.stepcode
                         left join TOrganization T on B.wkshp_code=T.torg_code
                         left join TKimp_Ewo E on B.sourceid=E.id and B.m_po=E.wo
-                        left join TSecStck K on M.idwarehouse=K.code
+                        left join TSecStck K on COALESCE(M.idwarehouse, E.stck_code)=K.code
                         where A.status in('ALLO','START') and S.flwtype='Z'  " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
@@ -1677,18 +1678,19 @@
                     dynamicParams.Add("@partspec", partspec);
                 }
                 //鏍规嵁鏉′欢鏌ヨ宸ュ崟宸ュ簭浠诲姟(鑷埗宸ュ簭)
-                sql = @"select A.id,A.status,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
+                sql = @"select A.id,A.status,E.dept_id,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,E.materiel_id,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
                         S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,
                         (select isnull(sum(fqty),0) as fqty   from TK_Wrk_OutRecord where wo_code=A.wo_code and step_code=A.step_code and style='F') as fqty,
                         A.laborbad_qty,A.materielbad_qty,A.plan_startdate,A.plan_enddate,B.lm_date,
-                        E.sbid,B.m_po,E.saleOrderCode,E.saleOrderDetailId,E.unitid,E.unitcode,E.unitname,K.code as stockcode,k.name as stockname
+                        E.sbid,E.woid as mpoid,B.m_po,E.saleOrderid,E.saleOrderCode,E.saleOrderDetailId,E.unitid,E.unitcode,E.unitname,
+                        COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.voucherdate
                         from TK_Wrk_Step A
                         left join TK_Wrk_Man B on A.wo_code=B.wo_code
                         left join TMateriel_Info M on B.materiel_code=M.partcode
                         left join TStep S on A.step_code=S.stepcode
                         left join TOrganization T on B.wkshp_code=T.torg_code
                         left join TKimp_Ewo E on B.sourceid=E.id and B.m_po=E.wo
-                        left join TSecStck K on M.idwarehouse=K.code
+                        left join TSecStck K on COALESCE(M.idwarehouse, E.stck_code)=K.code
                         where A.status in('ALLO','START') and S.flwtype='W'  " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
@@ -1977,6 +1979,15 @@
                     ngqty = groupedItems.Sum(item => Convert.ToDecimal(item.badqty));
                 }
                 list.Clear();
+                //鍒ゆ柇鐗╂枡鏄惁涓虹┖
+                if (partcode == "" || partcode == null)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.message = "褰撳墠鎶ュ伐锛岀墿鏂欑紪鐮佷负绌�,璇锋鏌ュ瓨璐т俊鎭�!";
+                    mes.data = null;
+                    return mes;
+                }
                 //鍒ゆ柇鏄惁鏈夊紑宸ヨ褰�(鏃犳柊澧�)
                 sql = @"select *  from TK_Wrk_Record where wo_code=@wo_code and step_code=@step_code and style='S' and eqp_code=@eqpcode";
                 dynamicParams.Add("@wo_code", mesordercode);
@@ -2272,6 +2283,15 @@
                 }
 
                 list.Clear();
+                //鍒ゆ柇鐗╂枡鏄惁涓虹┖
+                if (partcode == "" || partcode == null)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.message = "褰撳墠鎶ュ伐锛岀墿鏂欑紪鐮佷负绌�,璇锋鏌ュ瓨璐т俊鎭�!";
+                    mes.data = null;
+                    return mes;
+                }
                 //鍒ゆ柇鏄惁鏈夋敹鏂欒褰�(鏈夛細锛堝悓宸ュ崟+宸ュ簭+澶栧崗渚涙柟淇敼锛� 鏃狅細鏂板)
                 sql = @"select *  from TK_Wrk_OutRecord where wo_code=@wo_code and step_code=@step_code and wx_code=@wx_code and style='S'";
                 dynamicParams.Add("@wo_code", mesordercode);
@@ -2758,7 +2778,7 @@
                                     FROM TUser U
                                     WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.report_person + ',') > 0
                                     FOR XML PATH('')), 1, 1, '') AS username,
-                            B.report_date,B.report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,'' as wx_code,'' as wx_name
+                            B.report_date,B.report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.inhouseqty,'' as wx_code,'' as wx_name
                             from TK_Wrk_Record A
                             inner join TK_Wrk_RecordSub B on A.id=B.m_id
                             left join TK_Wrk_Man M on A.wo_code=M.wo_code
@@ -2777,7 +2797,7 @@
                                     FROM TUser U
                                     WHERE CHARINDEX(',' + U.usercode + ',', ',' + B.in_person + ',') > 0
                                     FOR XML PATH('')), 1, 1, '') AS username,
-                            B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.wx_code,C.name as wx_name
+                            B.in_time as report_date,B.sqty as report_qty,B.ng_qty,B.laborbad_qty,B.materielbad_qty,A.inhouseqty,A.wx_code,C.name as wx_name
                             from TK_Wrk_OutRecord A
                             inner join TK_Wrk_OutRecordSub B on A.id = B.m_id
                             left join TK_Wrk_Man M on A.wo_code = M.wo_code
@@ -3984,12 +4004,17 @@
         #endregion
 
         #region[鐢熶骇鍏ュ簱淇℃伅鏌ヨ]
-        public static ToMessage ProductInHouseOrderSearch(string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
+        public static ToMessage ProductInHouseOrderSearch(string deptno, string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
             try
             {
+                if (deptno != "" && deptno != null)
+                {
+                    search += "and AA.dept_code=@deptno ";
+                    dynamicParams.Add("@deptno", deptno);
+                }
                 if (saleordercode != "" && saleordercode != null)
                 {
                     search += "and AA.saleOrderCode like '%'+@saleordercode+'%' ";
@@ -4028,31 +4053,31 @@
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
                 var sql = @"select *   from(
-                            select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
-                            A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,K.code as stockcode,k.name as stockname,
-                            E.saleOrderqty,E.qty,M.plan_qty,A.good_qty,isnull(A.inhouseqty,0) as inhouseqty,A.good_qty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style   
-                            from  TK_Wrk_Record A
-                            inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
-                            inner join TK_Wrk_Man M on S.wo_code=M.wo_code
-                            inner join TMateriel_Info P on M.materiel_code=P.partcode
-                            left join TKimp_Ewo E on M.m_po=E.wo and M.sourceid= E.id
-                            left join TSecStck K on P.idwarehouse=K.code
-                            left join TStep T on A.step_code=T.stepcode
-                            left join TOrganization O on M.wkshp_code=O.torg_code
-                            where A.style='B' and A.inbarcode<>'' and S.isend='Y' and A.good_qty>0
-                            union all
-                            select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
-                            A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,K.code as stockcode,k.name as stockname,
-                            E.saleOrderqty,E.qty,M.plan_qty,A.sqty as sqty,isnull(A.inhouseqty,0) as inhouseqty,A.sqty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style   
-                            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 TK_Wrk_Man M on S.wo_code=M.wo_code
-                            inner join TMateriel_Info P on M.materiel_code=P.partcode
-                            left join TKimp_Ewo E on M.m_po=E.wo and M.sourceid= E.id
-                            left join TSecStck K on P.idwarehouse=K.code
-                            left join TStep T on A.step_code=T.stepcode
-                            left join TOrganization O on M.wkshp_code=O.torg_code
-                            where A.style='S' and A.inbarcode<>'' and S.isend='Y' and A.sqty>0
+                              select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
+                              A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.dept_id,E.dept_code,
+                              E.saleOrderqty,E.qty,M.plan_qty,A.good_qty,isnull(A.inhouseqty,0) as inhouseqty,A.good_qty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style,E.voucherdate   
+                              from  TK_Wrk_Record A
+                              inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
+                              inner join TK_Wrk_Man M on S.wo_code=M.wo_code
+                              inner join TMateriel_Info P on M.materiel_code=P.partcode
+                              left join TKimp_Ewo E on M.m_po=E.wo and M.sourceid= E.id
+                              left join TSecStck K on COALESCE(P.idwarehouse, E.stck_code)=K.code
+                              left join TStep T on A.step_code=T.stepcode
+                              left join TOrganization O on M.wkshp_code=O.torg_code
+                              where A.style='B' and A.inbarcode<>'' and S.isend='Y' and A.good_qty>0
+                              union all
+                              select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
+                              A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.dept_id,E.dept_code,
+                              E.saleOrderqty,E.qty,M.plan_qty,A.sqty as sqty,isnull(A.inhouseqty,0) as inhouseqty,A.sqty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style,E.voucherdate   
+                              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 TK_Wrk_Man M on S.wo_code=M.wo_code
+                              inner join TMateriel_Info P on M.materiel_code=P.partcode
+                              left join TKimp_Ewo E on M.m_po=E.wo and M.sourceid= E.id
+                              left join TSecStck K on COALESCE(P.idwarehouse, E.stck_code)=K.code
+                              left join TStep T on A.step_code=T.stepcode
+                              left join TOrganization O on M.wkshp_code=O.torg_code
+                              where A.style='S' and A.inbarcode<>'' and S.isend='Y' and A.sqty>0
                             ) as AA  where AA.good_qty>AA.inhouseqty " + search;
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
@@ -4091,7 +4116,7 @@
         }
         #endregion
 
-        #region[鐢熶骇鍏ュ簱鑾峰彇閮ㄩ棬淇℃伅]
+        #region[閫氭槗T8鐢熶骇鍏ュ簱鑾峰彇閮ㄩ棬淇℃伅]
         public static ToMessage DeptSelectData()
         {
             var sql = "";
@@ -4099,7 +4124,7 @@
             string search = "";
             try
             {
-                sql = @"select * from h_v_TFDepent";
+                sql = @"select * from h_v_T8Depent";
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 mes.code = "200";
                 mes.message = "鏌ヨ鎴愬姛!";
@@ -4358,5 +4383,52 @@
             return mes;
         }
         #endregion
+
+        #region[鐣呮嵎閫歍+鐢熶骇鍏ュ簱鎻愪氦-瀛樺偍杩囩▼鐗�(閫傜敤鍚屼竴鍙版湇鍔″櫒锛屽悓涓�涓暟鎹簱)]
+        public static ToMessage TProductInHouseOrderSpSeave(InReptModel data, User us)
+        {
+            var sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //瀛樺偍杩囩▼鍚�
+                sql = @"h_p_IFCLD_TCloudInProductOrder";
+                dynamicParams.Add("@RecordMin", dbType: DbType.Object, value: data.TableData[0]);
+                dynamicParams.Add("@RecordSub", dbType: DbType.Object, value: data.TableData[1]);
+                dynamicParams.Add("@rightcode", data.rightcode);
+                dynamicParams.Add("@incbit", data.incbit);
+                dynamicParams.Add("@username", us.usercode);
+                // 娣诲姞杈撳嚭鍙傛暟  
+                dynamicParams.Add("@StatusCode", dbType: DbType.Int32, direction: ParameterDirection.Output);
+                dynamicParams.Add("@Message", dbType: DbType.String, size: 255, direction: ParameterDirection.Output);
+                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
+                // 鑾峰彇杈撳嚭鍙傛暟鐨勫��  
+                var statusCode = dynamicParams.Get<int>("@StatusCode");
+                var message = dynamicParams.Get<string>("@Message");
+                if (a)
+                {
+                    mes.code = statusCode.ToString();
+                    mes.count = 0;
+                    mes.message = message;
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = statusCode.ToString();
+                    mes.count = 0;
+                    mes.message = message;
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
     }
 }

--
Gitblit v1.9.3