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/Tools/SeachEncode.cs |  199 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 192 insertions(+), 7 deletions(-)

diff --git a/VueWebApi/Tools/SeachEncode.cs b/VueWebApi/Tools/SeachEncode.cs
index 27c589e..99e7f85 100644
--- a/VueWebApi/Tools/SeachEncode.cs
+++ b/VueWebApi/Tools/SeachEncode.cs
@@ -3,6 +3,7 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Web;
+using VueWebApi.Models;
 
 namespace VueWebApi.Tools
 {
@@ -22,6 +23,7 @@
             int digit2, value2, digit3, digitdiff;
             bool stf;
             List<object> list = new List<object>();
+            List<string> listdt = new List<string>();
             var dynamicParams = new DynamicParameters();
             try
             {
@@ -73,14 +75,18 @@
                                 stf = DapperHelper.DoTransaction(list);
                                 if (stf)
                                 {
+                                    listdt.Add(Encode);
+                                    listdt.Add(cunm2);
                                     mes.code = "200";
                                     mes.Message = "鎴愬姛!";
-                                    mes.data = Encode;
+                                    mes.data = listdt;
                                 }
                                 else
                                 {
                                     mes.code = "300";
+                                    mes.count = 0;
                                     mes.Message = "澶辫触!";
+                                    mes.data = null;
                                 }
                                 break;
                             case "骞存湀":
@@ -118,14 +124,18 @@
                                 stf = DapperHelper.DoTransaction(list);
                                 if (stf)
                                 {
+                                    listdt.Add(Encode);
+                                    listdt.Add(cunm2);
                                     mes.code = "200";
                                     mes.Message = "鎴愬姛!";
-                                    mes.data = Encode;
+                                    mes.data = listdt;
                                 }
                                 else
                                 {
                                     mes.code = "300";
+                                    mes.count = 0;
                                     mes.Message = "澶辫触!";
+                                    mes.data = null;
                                 }
                                 break;
                             case "骞�":
@@ -161,14 +171,18 @@
                                 stf = DapperHelper.DoTransaction(list);
                                 if (stf)
                                 {
+                                    listdt.Add(Encode);
+                                    listdt.Add(cunm2);
                                     mes.code = "200";
                                     mes.Message = "鎴愬姛!";
-                                    mes.data = Encode;
+                                    mes.data = listdt;
                                 }
                                 else
                                 {
                                     mes.code = "300";
+                                    mes.count = 0;
                                     mes.Message = "澶辫触!";
+                                    mes.data = null;
                                 }
 
                                 break;
@@ -215,14 +229,18 @@
                                 stf = DapperHelper.DoTransaction(list);
                                 if (stf)
                                 {
+                                    listdt.Add(Encode);
+                                    listdt.Add(cunm2);
                                     mes.code = "200";
                                     mes.Message = "鎴愬姛!";
-                                    mes.data = Encode;
+                                    mes.data = listdt;
                                 }
                                 else
                                 {
                                     mes.code = "300";
+                                    mes.count = 0;
                                     mes.Message = "澶辫触!";
+                                    mes.data = null;
                                 }
                                 break;
                             case "骞存湀":
@@ -260,14 +278,18 @@
                                 stf = DapperHelper.DoTransaction(list);
                                 if (stf)
                                 {
+                                    listdt.Add(Encode);
+                                    listdt.Add(cunm2);
                                     mes.code = "200";
                                     mes.Message = "鎴愬姛!";
-                                    mes.data = Encode;
+                                    mes.data = listdt;
                                 }
                                 else
                                 {
                                     mes.code = "300";
+                                    mes.count = 0;
                                     mes.Message = "澶辫触!";
+                                    mes.data = null;
                                 }
                                 break;
                             case "骞�":
@@ -303,14 +325,18 @@
                                 stf = DapperHelper.DoTransaction(list);
                                 if (stf)
                                 {
+                                    listdt.Add(Encode);
+                                    listdt.Add(cunm2);
                                     mes.code = "200";
                                     mes.Message = "鎴愬姛!";
-                                    mes.data = Encode;
+                                    mes.data = listdt;
                                 }
                                 else
                                 {
                                     mes.code = "300";
+                                    mes.count = 0;
                                     mes.Message = "澶辫触!";
+                                    mes.data = null;
                                 }
                                 break;
                             default:
@@ -321,16 +347,175 @@
                 else
                 {
                     mes.code = "300";
-                    mes.Message = "鏈缃紪鐮佽鍒�,鐢熸垚缂栫爜澶辫触!";
+                    mes.count = 0;
+                    mes.Message = "鏈缃紪鐮佽鍒�,鐢熸垚鍗曞彿澶辫触,璇疯缃紪鐮佷负銆�"+ rightcode + "銆戠殑缂栫爜瑙勫垯!";
+                    mes.data = null;
                 }             
             }
             catch (Exception e)
             {
                 mes.code = "300";
+                mes.count = 0;
                 mes.Message = e.Message;
+                mes.data = null;
             }
             return mes;
         }
         #endregion
+
+        #region [鏍规嵁瑙掕壊缂栫爜鏌ヨ鍔熻兘鑿滃崟]
+        /// <summary>
+        /// 鏍规嵁瑙掕壊缂栫爜鏌ヨ鍔熻兘鑿滃崟
+        /// </summary>
+        /// <param name="rolecode"></param>
+        /// <param name="type"></param>
+        /// <returns></returns>
+        public static List<TreeDM> RightLocation(string rolecode,string type) 
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            List<TreeDM> list = new List<TreeDM>();
+            switch (type)
+            {
+                case "PC":  //PC
+                    //绗竴灞�
+                    sql = @"select distinct A.parent_id from TRight A
+                        inner join  TRoleRightRelation B on A.right_code=B.right_code 
+                        where B.role_code=@rolecode and A.Type='PC' ";
+                    dynamicParams.Add("@rolecode", rolecode);
+                    dynamicParams.Add("@type", type);
+                    var data1 = DapperHelper.selectdata(sql, dynamicParams);
+                    TreeDM cmp = new TreeDM();
+                    if (data1.Rows.Count > 0)
+                    {
+                        cmp.code = "PC";
+                        cmp.name = "PC";
+                        cmp.flag = "Y";
+                        cmp.is_delete = "0";
+                    }
+                    else
+                    {
+                        cmp.code = "PC";
+                        cmp.name = "PC";
+                        cmp.flag = "N";
+                        cmp.is_delete = "0";
+                    }
+                    cmp.children = new List<TreeDMOne>();
+                    //绗簩灞�
+                    sql = @"select A.right_code,A.right_name,(case when C.parent_id is null then 'N' else 'Y' end) flag,A.is_delete
+                                 from TRight A
+                                 left join (
+                                  select distinct A.parent_id from TRight A
+                                  inner join  TRoleRightRelation B on A.right_code=B.right_code where B.role_code=@rolecode
+                                 ) C on A.right_code=C.parent_id
+                                 where A.Type=@type and A.parent_id='0'";
+                    dynamicParams.Add("@rolecode", rolecode);
+                    dynamicParams.Add("@type", type);
+                    var data2 = DapperHelper.selectdata(sql, dynamicParams);
+                    for (int i = 0; i < data2.Rows.Count; i++)
+                    {
+                        TreeDMOne cmp1 = new TreeDMOne();
+                        cmp1.code = data2.Rows[i]["RIGHT_CODE"].ToString();
+                        cmp1.name = data2.Rows[i]["RIGHT_NAME"].ToString();
+                        cmp1.flag = data2.Rows[i]["FLAG"].ToString();
+                        cmp1.is_delete= data2.Rows[i]["IS_DELETE"].ToString();
+                        cmp.children.Add(cmp1);
+                        cmp1.children = new List<TreeDMTwo>();
+                        //绗笁灞�
+                        sql = @"select A.right_code,A.right_name,(case when C.right_code is null then 'N' else 'Y' end) flag,A.is_delete
+                                     from TRight A
+                                     left join (
+                                      select  B.right_code from TRight A
+                                      inner join  TRoleRightRelation B on A.right_code=B.right_code where A.parent_id=@right_code and B.role_code=@rolecode
+                                     ) C on A.right_code=C.right_code
+                                     where A.parent_id=@right_code";
+                        dynamicParams.Add("@right_code", data2.Rows[i]["RIGHT_CODE"].ToString());
+                        dynamicParams.Add("@rolecode", rolecode);
+                        var data3 = DapperHelper.selectdata(sql, dynamicParams);
+                        for (int j = 0; j < data3.Rows.Count; j++)
+                        {
+                            TreeDMTwo cmp2 = new TreeDMTwo();
+                            cmp2.code = data3.Rows[j]["RIGHT_CODE"].ToString();
+                            cmp2.name = data3.Rows[j]["RIGHT_NAME"].ToString();
+                            cmp2.flag = data3.Rows[j]["FLAG"].ToString();
+                            cmp2.is_delete= data3.Rows[j]["IS_DELETE"].ToString();
+                            cmp1.children.Add(cmp2);
+                        }
+                    }
+                    list.Add(cmp);
+                    break;
+                case "APP":  //APP
+                             //绗竴灞�
+                    sql = @"select distinct A.parent_id from TRight A
+                        inner join  TRoleRightRelation B on A.right_code=B.right_code 
+                        where B.role_code=@rolecode and A.Type='APP' ";
+                    dynamicParams.Add("@rolecode", rolecode);
+                    dynamicParams.Add("@type", type);
+                    var date1 = DapperHelper.selectdata(sql, dynamicParams);
+                    TreeDM cmt = new TreeDM();
+                    if (date1.Rows.Count > 0)
+                    {
+                        cmt.code = "APP";
+                        cmt.name = "APP";
+                        cmt.flag = "Y";
+                        cmt.is_delete = "0";
+                    }
+                    else
+                    {
+                        cmt.code = "APP";
+                        cmt.name = "APP";
+                        cmt.flag = "N";
+                        cmt.is_delete = "0";
+                    }
+                    cmt.children = new List<TreeDMOne>();
+                    //绗簩灞�
+                    sql = @"select A.right_code,A.right_name,(case when C.parent_id is null then 'N' else 'Y' end) flag,A.is_delete
+                                 from TRight A
+                                 left join (
+                                  select distinct A.parent_id from TRight A
+                                  inner join  TRoleRightRelation B on A.right_code=B.right_code where B.role_code=@rolecode
+                                 ) C on A.right_code=C.parent_id
+                                 where A.Type=@type and A.parent_id='0'";
+                    dynamicParams.Add("@rolecode", rolecode);
+                    dynamicParams.Add("@type", type);
+                    var date2 = DapperHelper.selectdata(sql, dynamicParams);
+                    for (int i = 0; i < date2.Rows.Count; i++)
+                    {
+                        TreeDMOne cmt1 = new TreeDMOne();
+                        cmt1.code = date2.Rows[i]["RIGHT_CODE"].ToString();
+                        cmt1.name = date2.Rows[i]["RIGHT_NAME"].ToString();
+                        cmt1.flag = date2.Rows[i]["FLAG"].ToString();
+                        cmt1.is_delete= date2.Rows[i]["IS_DELETE"].ToString();
+                        cmt.children.Add(cmt1);
+                        cmt1.children = new List<TreeDMTwo>();
+                        //绗笁灞�
+                        sql = @"select A.right_code,A.right_name,(case when C.right_code is null then 'N' else 'Y' end) flag,A.is_delete
+                                     from TRight A
+                                     left join (
+                                      select  B.right_code from TRight A
+                                      inner join  TRoleRightRelation B on A.right_code=B.right_code where A.parent_id=@right_code and B.role_code=@rolecode
+                                     ) C on A.right_code=C.right_code
+                                     where A.parent_id=@right_code";
+                        dynamicParams.Add("@right_code", date2.Rows[i]["RIGHT_CODE"].ToString());
+                        dynamicParams.Add("@rolecode", rolecode);
+                        var date3 = DapperHelper.selectdata(sql, dynamicParams);
+                        for (int j = 0; j < date3.Rows.Count; j++)
+                        {
+                            TreeDMTwo cmt2 = new TreeDMTwo();
+                            cmt2.code = date3.Rows[j]["RIGHT_CODE"].ToString();
+                            cmt2.name = date3.Rows[j]["RIGHT_NAME"].ToString();
+                            cmt2.flag = date3.Rows[j]["FLAG"].ToString();
+                            cmt2.is_delete= date3.Rows[j]["IS_DELETE"].ToString();
+                            cmt1.children.Add(cmt2);
+                        }
+                    }
+                    list.Add(cmt);
+                    break;
+                default:
+                    break;
+            }
+            return list;
+        }
+        #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3