From 9c634fd767aec36ef97c3a814bf7a29c67d20ee1 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 29 三月 2024 10:57:35 +0800
Subject: [PATCH] 修改单据重复显示问题,增加工单源单id关联

---
 VueWebApi/DLL/DAL/DeviceManagerDAL.cs |  179 ++++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 122 insertions(+), 57 deletions(-)

diff --git a/VueWebApi/DLL/DAL/DeviceManagerDAL.cs b/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
index 961d910..bcfb07e 100644
--- a/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
+++ b/VueWebApi/DLL/DAL/DeviceManagerDAL.cs
@@ -359,7 +359,7 @@
         #endregion
 
         #region[鎵�灞炶溅闂翠笅鎷夋帴鍙
-        public static ToMessage WorkShopSelect(string stu_torgcode,string description)
+        public static ToMessage WorkShopSelect(string stu_torgcode, string description)
         {
             string sql = "";
             string search = "";
@@ -384,7 +384,7 @@
                     default:
                         break;
                 }
-                 sql = @"select parent.org_code as code,parent.org_name as name
+                sql = @"select parent.org_code as code,parent.org_name as name
                          from  TOrganization parent
                          left join TOrganization as child on parent.parent_id=child.id 
                          where  parent.is_delete<>'1'  " + search;
@@ -432,7 +432,7 @@
         #endregion
 
         #region [璁惧娓呭崟鏌ヨ]
-        public static ToMessage DeviceMangerSearch(string stu_torgcode,string description,string deviceCode, string deviceName, string status, string workShop, string deviceType, string deviceGroup, int startNum, int endNum, string prop, string order)
+        public static ToMessage DeviceMangerSearch(string stu_torgcode, string description, string deviceCode, string deviceName, string status, string workShop, string deviceType, string deviceGroup, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -443,7 +443,7 @@
                     search += "and A.wksp_code=@workShop ";
                     dynamicParams.Add("@workShop", workShop);
                 }
-                else 
+                else
                 {
                     switch (description)
                     {
@@ -1062,12 +1062,28 @@
 
 
         #region[璁惧鐐规鏍囧噯鍒楄〃鏌ヨ]
-        public static ToMessage DeviceCheckStandArdSearch(string checkstandcode, string checkstandname, string checkcontr, int startNum, int endNum, string prop, string order)
+        public static ToMessage DeviceCheckStandArdSearch(string stu_torgcode,string stu_torgtypecode,string checkstandcode, string checkstandname, string checkcontr, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
+            string search1 = "";
             try
             {
+                switch (stu_torgtypecode)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search1 += "and L.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search1 += "and F.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 if (checkstandcode != "" && checkstandcode != null)
                 {
                     search += "and A.code like '%'+@checkstandcode+'%' ";
@@ -1090,10 +1106,15 @@
                 //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select A.id,A.code,A.name,A.description,A.iscontr,A.is_checkeqp,U.username as lm_user,A.lm_date 
+                var sql = @"select A.id,A.code,A.name,A.description,A.iscontr,
+                            (case when isnull(M.eqpchkmain_code,'')='' then 'N' else 'Y' end) as is_checkeqp,U.username as lm_user,A.lm_date 
                             from TEqpchk_Main A
                             left join TUser U on A.lm_user=U.usercode
-                            where A.is_delete<>'1' " + search;
+                            left join (
+                            select distinct eqpchkmain_code from TEqpchk_Eqp M
+                            left join TOrganization F on M.torg_code=F.org_code 
+                            left join TOrganization as L on F.parent_id=L.id 
+                            where  1=1 "+search1+")  M on A.code=M.eqpchkmain_code where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -1215,8 +1236,8 @@
                                 checkitem_name = json.Data.Rows[i]["CHECKITEM_NAME"].ToString(),
                                 code = json.code,
                                 cycle = json.Data.Rows[i]["CYCLE"].ToString(),
-                                chkdesc= json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(),
-                                isscan= json.Data.Rows[i]["ISSCAN"].ToString(),
+                                chkdesc = json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(),
+                                isscan = json.Data.Rows[i]["ISSCAN"].ToString(),
                                 lm_user = username,
                                 lm_date = DateTime.Now.ToString()
                             }
@@ -1245,7 +1266,7 @@
                     list.Add(new { str = sql, parm = new { checkstaned_code = json.code } });
                     //淇敼鐐规鏍囧噯涓昏〃
                     sql = @"update  TEqpchk_Main set name=@checkstaned_name,description=@checkstaned_desc,iscontr=@iscontr where code=@checkstaned_code";
-                    list.Add(new { str = sql, parm = new { checkstaned_code = json.code, checkstaned_name = json.name, checkstaned_desc = json.description,iscontr = json.enable } });
+                    list.Add(new { str = sql, parm = new { checkstaned_code = json.code, checkstaned_name = json.name, checkstaned_desc = json.description, iscontr = json.enable } });
                     //鏂板鐐规鏍囧噯鍏宠仈鐐规椤圭洰瀛愯〃
                     for (int i = 0; i < json.Data.Rows.Count; i++)
                     {
@@ -1323,7 +1344,7 @@
                 sql = @"delete TEqpchk_Deta  where eqpchk_main_code=@checkstand_code";
                 list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                 //鍒犻櫎璁惧鐐规鏍囧噯鍏宠仈璁惧琛�
-                sql = @"delete TEqpchk_Eqp  where eqpchk_main_code=@checkstand_code";
+                sql = @"delete TEqpchk_Eqp  where eqpchkmain_code=@checkstand_code";
                 list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -1353,7 +1374,7 @@
         #endregion
 
         #region[璁惧鐐规鏍囧噯鍏宠仈宸ヤ綔绔欐煡璇
-        public static ToMessage DeviceCheckStanedAssociationEqp(string stu_torgcode,string description,string checkstand_code)
+        public static ToMessage DeviceCheckStanedAssociationEqp(string stu_torgcode, string description, string checkstand_code)
         {
             string sql = "";
             string search = "";
@@ -1384,7 +1405,7 @@
                         select distinct A.eqp_code,B.wksp_code  from TEqpchk_Eqp A 
                         inner join TEqpInfo B on A.eqp_code=B.code 
                         where A.eqpchkmain_code=@checkstand_code and A.is_delete<>'1' and B.is_delete<>'1'
-                        ) B on T.org_code=B.wksp_code where T.description='W' and T.is_delete<>'1' "+search;
+                        ) B on T.org_code=B.wksp_code where T.description='W' and T.is_delete<>'1' " + search;
                 dynamicParams.Add("@checkstand_code", checkstand_code);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
                 for (int i = 0; i < data.Rows.Count; i++)
@@ -1447,31 +1468,45 @@
         #endregion
 
         #region [璁惧鐐规鏍囧噯鍏宠仈宸ヤ綔绔欐彁浜
-        public static ToMessage SaveDeviceCheckStanedAssociationEqp(string checkstand_code, string username, List<ObjectData> json)
+        public static ToMessage SaveDeviceCheckStanedAssociationEqp(string stu_torgcode, string stu_torgtypecode, string checkstand_code, string username, List<ObjectData> json)
         {
             var sql = "";
+            var dynamicParams = new DynamicParameters();
+            string search = "";
             List<object> list = new List<object>();
             try
             {
                 list.Clear();
-                if (json == null || json.Count <= 0)
+                switch (stu_torgtypecode)
                 {
-                    //娓呴櫎璁惧鐐规鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
-                    sql = @"delete TEqpchk_Eqp where eqpchkmain_code=@checkstand_code";
-                    list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
-                    //鏍囪璁惧鐐规鏍囧噯琛ㄥ叧鑱斿伐浣滅珯鏍囪瘑
-                    sql = @"update TEqpchk_Main set is_checkeqp='N' where code=@checkstand_code";
-                    list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
+                    case "":
+                        //娓呴櫎璁惧鐐规鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
+                        sql = @"delete TEqpchk_Eqp where eqpchkmain_code=@checkstand_code";
+                        list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
+                        break;
+                    case "D":
+                        //娓呴櫎璁惧鐐规鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
+                        sql = @"delete from TEqpchk_Eqp where id in (select A.id   from TEqpchk_Eqp A
+                                    left join TOrganization T on A.torg_code=T.org_code 
+                                    left join TOrganization as L on T.parent_id=L.id 
+                                    where 1=1 and  A.eqpchkmain_code=@checkstand_code and  L.org_code=@stu_torgcode)";
+                        list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code, stu_torgcode = stu_torgcode } });
+                        break;
+                    case "W":
+                        //娓呴櫎璁惧鐐规鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
+                        sql = @"delete from TEqpchk_Eqp where id in (select A.id   from TEqpchk_Eqp A
+                                    left join TOrganization T on A.torg_code=T.org_code 
+                                    left join TOrganization as L on T.parent_id=L.id 
+                                    where 1=1 and  A.eqpchkmain_code=@checkstand_code and  T.org_code=@stu_torgcode)";
+                        list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code, stu_torgcode = stu_torgcode } });
+                        break;
                 }
-                else
+                if (json != null && json.Count > 0)
                 {
-                    //娓呴櫎璁惧鐐规鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
-                    sql = @"delete TEqpchk_Eqp where eqpchkmain_code=@checkstand_code";
-                    list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                     //寰幆鍐欏叆璁惧鐐规鏍囧噯鍏宠仈璁惧琛�
                     for (int i = 0; i < json.Count; i++)
                     {
-                        sql = @"insert into TEqpchk_Eqp(eqpchkmain_code,eqp_code,lm_user,lm_date) values(@checkstand_code,@eqp_code,@lm_user,@lm_date)";
+                        sql = @"insert into TEqpchk_Eqp(eqpchkmain_code,eqp_code,lm_user,lm_date,torg_code) values(@checkstand_code,@eqp_code,@lm_user,@lm_date,@torg_code)";
                         list.Add(new
                         {
                             str = sql,
@@ -1480,13 +1515,11 @@
                                 eqp_code = json[i].code,
                                 checkstand_code = checkstand_code,
                                 lm_user = username,
-                                lm_date = DateTime.Now.ToString()
+                                lm_date = DateTime.Now.ToString(),
+                                torg_code= json[i].flag
                             }
                         });
                     }
-                    //鏍囪璁惧鐐规鏍囧噯琛ㄥ叧鑱斿伐浣滅珯鏍囪瘑
-                    sql = @"update TEqpchk_Main set is_checkeqp='Y' where code=@checkstand_code";
-                    list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                 }
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -1518,12 +1551,28 @@
 
 
         #region[璁惧淇濆吇鏍囧噯鍒楄〃鏌ヨ]
-        public static ToMessage DeviceRepairStandArdSearch(string repairstandcode, string repairstandname, string repairstanddescr, int startNum, int endNum, string prop, string order)
+        public static ToMessage DeviceRepairStandArdSearch(string stu_torgcode,string stu_torgtypecode, string repairstandcode, string repairstandname, string repairstanddescr, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
+            string search1 = "";
             try
             {
+                switch (stu_torgtypecode)
+                {
+                    case "":
+                        break;
+                    case "D":
+                        search1 += "and L.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    case "W":
+                        search1 += "and F.org_code=@stu_torgcode ";
+                        dynamicParams.Add("@stu_torgcode", stu_torgcode);
+                        break;
+                    default:
+                        break;
+                }
                 if (repairstandcode != "" && repairstandcode != null)
                 {
                     search += "and A.code like '%'+@repairstandcode+'%' ";
@@ -1539,7 +1588,7 @@
                     search += "and A.description like '%'+@repairstanddescr+'%' ";
                     dynamicParams.Add("@repairstanddescr", repairstanddescr);
                 }
-                
+
                 if (search == "")
                 {
                     search = "and 1=1 ";
@@ -1547,10 +1596,16 @@
                 //search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select A.id,A.code,A.name,A.description,A.is_repaireqp,A.main_cycle,U.username as lm_user,A.lm_date 
+                var sql = @"select A.id,A.code,A.name,A.description,
+                            (case when isnull(M.eapmai_code,'')='' then 'N' else 'Y' end) as is_repaireqp,
+                            A.main_cycle,U.username as lm_user,A.lm_date 
                             from TEqpmai_Main A
                             left join TUser U on A.lm_user=U.usercode
-                            where A.is_delete<>'1' " + search;
+                            left join (
+                            select distinct eapmai_code from TEqpmai_Eqp M
+                            left join TOrganization F on M.torg_code=F.org_code 
+                            left join TOrganization as L on F.parent_id=L.id 
+                            where  1=1 "+search1+")  M on A.code=M.eapmai_code where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -1610,7 +1665,7 @@
                 {
                     rout.code = data.Rows[0]["CODE"].ToString();
                     rout.name = data.Rows[0]["NAME"].ToString();
-                    rout.repaircycle= data.Rows[0]["MAIN_CYCLE"].ToString();
+                    rout.repaircycle = data.Rows[0]["MAIN_CYCLE"].ToString();
                     rout.description = data.Rows[0]["DESCRIPTION"].ToString();
                 }
                 else
@@ -1656,7 +1711,7 @@
                 {
                     //鏂板璁惧淇濆吇鏍囧噯涓昏〃
                     sql = @"insert into TEqpmai_Main(code,name,description,main_cycle,lm_user,lm_date) values(@code,@name,@descr,@main_cycle,@lm_user,@lm_date)";
-                    list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description,main_cycle=json.repaircycle, lm_user = username, lm_date = DateTime.Now.ToString() } });
+                    list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description, main_cycle = json.repaircycle, lm_user = username, lm_date = DateTime.Now.ToString() } });
                     for (int i = 0; i < json.Data.Rows.Count; i++)
                     {
                         //鏂板璁惧淇濆吇鏍囧噯鍏宠仈淇濆吇椤瑰瓙琛�
@@ -1701,7 +1756,7 @@
                     list.Add(new { str = sql, parm = new { repairstaned_code = json.code } });
                     //淇敼淇濆吇鏍囧噯涓昏〃
                     sql = @"update  TEqpmai_Main set name=@repairstaned_name,description=@repairstaned_desc,main_cycle=@main_cycle where code=@repairstaned_code";
-                    list.Add(new { str = sql, parm = new { repairstaned_code = json.code, repairstaned_name = json.name, repairstaned_desc = json.description, main_cycle =json.repaircycle} });
+                    list.Add(new { str = sql, parm = new { repairstaned_code = json.code, repairstaned_name = json.name, repairstaned_desc = json.description, main_cycle = json.repaircycle } });
                     //鏂板鐐规鏍囧噯鍏宠仈鐐规椤圭洰瀛愯〃
                     for (int i = 0; i < json.Data.Rows.Count; i++)
                     {
@@ -1809,7 +1864,7 @@
         #endregion
 
         #region[璁惧淇濆吇鏍囧噯鍏宠仈宸ヤ綔绔欐煡璇
-        public static ToMessage DeviceRepairStanedAssociationEqp(string stu_torgcode,string description,string repairstand_code)
+        public static ToMessage DeviceRepairStanedAssociationEqp(string stu_torgcode, string description, string repairstand_code)
         {
             string sql = "";
             string search = "";
@@ -1840,7 +1895,7 @@
                         select distinct A.eqp_code,B.wksp_code  from TEqpmai_Eqp A 
                         inner join TEqpInfo B on A.eqp_code=B.code 
                         where A.eapmai_code=@repairstand_code and A.is_delete<>'1' and B.is_delete<>'1'
-                        ) B on T.org_code=B.wksp_code where T.description='W' and T.is_delete<>'1' "+search;
+                        ) B on T.org_code=B.wksp_code where T.description='W' and T.is_delete<>'1' " + search;
 
                 dynamicParams.Add("@repairstand_code", repairstand_code);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
@@ -1904,31 +1959,43 @@
         #endregion
 
         #region [璁惧淇濆吇鏍囧噯鍏宠仈宸ヤ綔绔欐彁浜
-        public static ToMessage SaveDeviceRepairStanedAssociationEqp(string repairstand_code, string username, List<ObjectData> json)
+        public static ToMessage SaveDeviceRepairStanedAssociationEqp(string stu_torgcode,string stu_torgtypecode, string repairstand_code, string username, List<ObjectData> json)
         {
             var sql = "";
             List<object> list = new List<object>();
             try
             {
                 list.Clear();
-                if (json == null || json.Count <= 0)
+                switch (stu_torgtypecode)
                 {
-                    //娓呴櫎璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
-                    sql = @"delete TEqpmai_Eqp where eapmai_code=@repairstand_code";
-                    list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
-                    //鏍囪璁惧淇濆吇鏍囧噯琛ㄥ叧鑱斿伐浣滅珯鏍囪瘑
-                    sql = @"update TEqpmai_Main set is_repaireqp='N' where code=@repairstand_code";
-                    list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
+                    case "":
+                        //娓呴櫎璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
+                        sql = @"delete TEqpmai_Eqp where eapmai_code=@repairstand_code";
+                        list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
+                        break;
+                    case "D":
+                        //娓呴櫎璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
+                        sql = @"delete from TEqpmai_Eqp where id in (select A.id   from TEqpmai_Eqp A
+                                    left join TOrganization T on A.torg_code=T.org_code 
+                                    left join TOrganization as L on T.parent_id=L.id 
+                                    where 1=1 and  A.eapmai_code=@repairstand_code and  L.org_code=@stu_torgcode)";
+                        list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code, stu_torgcode = stu_torgcode } });
+                        break;
+                    case "W":
+                        //娓呴櫎璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
+                        sql = @"delete from TEqpmai_Eqp where id in (select A.id   from TEqpmai_Eqp A
+                                    left join TOrganization T on A.torg_code=T.org_code 
+                                    left join TOrganization as L on T.parent_id=L.id 
+                                    where 1=1 and  A.eapmai_code=@repairstand_code and  L.org_code=@stu_torgcode)";
+                        list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code, stu_torgcode = stu_torgcode } });
+                        break;
                 }
-                else
+                if (json != null && json.Count > 0)
                 {
-                    //娓呴櫎璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛ㄦ暟鎹�
-                    sql = @"delete TEqpmai_Eqp where eapmai_code=@repairstand_code";
-                    list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
                     //寰幆鍐欏叆璁惧淇濆吇鏍囧噯鍏宠仈璁惧琛�
                     for (int i = 0; i < json.Count; i++)
                     {
-                        sql = @"insert into TEqpmai_Eqp(eapmai_code,eqp_code,lm_user,lm_date) values(@repairstand_code,@eqp_code,@lm_user,@lm_date)";
+                        sql = @"insert into TEqpmai_Eqp(eapmai_code,eqp_code,lm_user,lm_date,torg_code) values(@repairstand_code,@eqp_code,@lm_user,@lm_date,@torg_code)";
                         list.Add(new
                         {
                             str = sql,
@@ -1937,13 +2004,11 @@
                                 eqp_code = json[i].code,
                                 repairstand_code = repairstand_code,
                                 lm_user = username,
-                                lm_date = DateTime.Now.ToString()
+                                lm_date = DateTime.Now.ToString(),
+                                torg_code= json[i].flag
                             }
                         });
                     }
-                    //鏍囪璁惧淇濆吇鏍囧噯琛ㄥ叧鑱斿伐浣滅珯鏍囪瘑
-                    sql = @"update TEqpmai_Main set is_repaireqp='Y' where code=@repairstand_code";
-                    list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
                 }
                 bool aa = DapperHelper.DoTransaction(list);
                 if (aa)
@@ -1975,7 +2040,7 @@
 
 
         #region[璁惧鐐规璁板綍鏌ヨ]
-        public static ToMessage DeviceCheckTakeSearch(string stu_torgcode,string description, string wkshopcode, string eqpcode, string eqpname, string stanedname, string checkuser, string checkopendate, string checkclosedate, int startNum, int endNum, string prop, string order)
+        public static ToMessage DeviceCheckTakeSearch(string stu_torgcode, string description, string wkshopcode, string eqpcode, string eqpname, string stanedname, string checkuser, string checkopendate, string checkclosedate, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";

--
Gitblit v1.9.3