From 770c681572301c938d7b9adcc60d9aad9d1dd604 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期二, 19 九月 2023 17:37:03 +0800
Subject: [PATCH] 1.新增基本资料功能接口(erp车间/部门、erp仓库、erp用户信息) 2.报工接口添加字段入库条码 3.增加末道工序报工后提交入库接口(对接erp) 4.增加生成系统条码接口(自定义)

---
 VueWebApi/DLL/DAL/QualityManagementDAL.cs |  347 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 323 insertions(+), 24 deletions(-)

diff --git a/VueWebApi/DLL/DAL/QualityManagementDAL.cs b/VueWebApi/DLL/DAL/QualityManagementDAL.cs
index f0cf516..21cec92 100644
--- a/VueWebApi/DLL/DAL/QualityManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/QualityManagementDAL.cs
@@ -29,23 +29,25 @@
             {
                 if (defectcode != "" && defectcode != null)
                 {
-                    search += "and code=@defectcode ";
+                    search += "and A.code like '%'+@defectcode+'%' ";
                     dynamicParams.Add("@defectcode", defectcode);
                 }
                 if (defectname != "" && defectname != null)
                 {
-                    search += "and name like '%'+@defectname+'%' ";
+                    search += "and A.name like '%'+@defectname+'%' ";
                     dynamicParams.Add("@defectname", defectname);
                 }
                 if (defectdescr != "" && defectdescr != null)
                 {
-                    search += "and descr like '%'+@defectdescr+'%' ";
+                    search += "and A.descr like '%'+@defectdescr+'%' ";
                     dynamicParams.Add("@defectdescr", defectdescr);
                 }
 
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select code,name,descr,lm_user,lm_date  from TDefect where is_delete<>'1' " + search;
+                var sql = @"select A.code,A.name,A.descr,U.username as lm_user,A.lm_date  from TDefect A
+                            left join TUser U on A.lm_user=U.usercode
+                            where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -61,6 +63,7 @@
             }
             return mes;
         }
+      
         #endregion
 
         #region[璐ㄩ噺绠$悊锛岀己闄峰畾涔夋柊澧炪�佺紪杈戞彁浜
@@ -208,23 +211,25 @@
             {
                 if (stanedcode != "" && stanedcode != null)
                 {
-                    search += "and code=@stanedcode ";
+                    search += "and A.code like '%'+@stanedcode+'%' ";
                     dynamicParams.Add("@stanedcode", stanedcode);
                 }
                 if (stanedname != "" && stanedname != null)
                 {
-                    search += "and name like '%'+@stanedname+'%' ";
+                    search += "and A.name like '%'+@stanedname+'%' ";
                     dynamicParams.Add("@stanedname", stanedname);
                 }
                 if (staneddescr != "" && staneddescr != null)
                 {
-                    search += "and descr like '%'+@staneddescr+'%' ";
+                    search += "and A.descr like '%'+@staneddescr+'%' ";
                     dynamicParams.Add("@staneddescr", staneddescr);
                 }
 
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select code,name,descr,lm_user,lm_date  from TStepCheckStandard where is_delete<>'1' " + search;
+                var sql = @"select A.code,A.name,A.descr,U.username as lm_user,A.lm_date  from TStepCheckStandard A
+                            left join TUser U on A.lm_user=U.usercode
+                            where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -255,12 +260,21 @@
                         where code=@defectcode and is_delete<>'1'";
                 dynamicParams.Add("@defectcode", defectcode);
                 var data = DapperHelper.selectdata(sql, dynamicParams);
-
                 RoutEdit rout = new RoutEdit();
-                rout.code = data.Rows[0]["CODE"].ToString();
-                rout.name = data.Rows[0]["NAME"].ToString();
-                rout.description = data.Rows[0]["DESCR"].ToString();
-
+                if (data.Rows.Count > 0)
+                {
+                    rout.code = data.Rows[0]["CODE"].ToString();
+                    rout.name = data.Rows[0]["NAME"].ToString();
+                    rout.description = data.Rows[0]["DESCR"].ToString();
+                }
+                else 
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "鏃犲伐搴忔楠屾爣鍑嗕俊鎭�!";
+                    mes.data = null;
+                    return mes;
+                }
                 //鏍规嵁宸ュ簭妫�楠屾爣鍑嗙紪鐮佽幏鍙栧叧鑱旂殑宸ュ簭妫�楠岄」鐩俊鎭�
                 sql = @"select B.code,B.name,A.stepcheckitem_desc  from TStepCheckStandardSub A
                         left join TStepCheckItem  B on A.stepcheckitem_code=B.code
@@ -308,6 +322,59 @@
         }
         #endregion
 
+        #region[宸ュ簭妫�楠屾爣鍑嗗垹闄
+        public static ToMessage DeleteStepCheckStaned(string stanedcode)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                sql = @"select * from  TStepCheckRecord  where checkstaned_code=@stanedcode";
+                dynamicParams.Add("@stanedcode", stanedcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "褰撳墠妫�楠屾爣鍑嗗凡鐢熸垚妫�楠岃褰�,涓嶅厑璁稿垹闄�!";
+                    mes.data = null;
+                    return mes;
+                }
+                //鍒犻櫎宸ュ簭妫�楠屾爣鍑嗕富琛�
+                sql = @"delete TStepCheckStandard  where code=@stanedcode";
+                list.Add(new { str = sql, parm = new { stanedcode = stanedcode } });
+                //鍒犻櫎宸ュ簭妫�楠屾爣鍑嗛」鐩瓙琛�
+                sql = @"delete TStepCheckStandardSub  where stepstaned_code=@stanedcode";
+                list.Add(new { str = sql, parm = new { stanedcode = stanedcode } });
+
+                bool aa = DapperHelper.DoTransaction(list);
+                if (aa)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "宸ュ簭妫�楠屾爣鍑嗗垹闄ゆ垚鍔�!";
+                    mes.data = null;
+                }
+                else
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "宸ュ簭妫�楠屾爣鍑嗗垹闄ゅけ璐�!";
+                    mes.data = null;
+                }
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
         #region[宸ュ簭妫�楠屾爣鍑嗘柊澧炪�佺紪杈戞彁浜
         public static ToMessage AddUpdateStepCheckStaned(string opertype, RoutEdit json, string username)
         {
@@ -333,25 +400,25 @@
                     {
                         mes.code = "200";
                         mes.count = 0;
-                        mes.Message = "鏂板鎿嶄綔鎴愬姛!";
+                        mes.Message = "鎿嶄綔鎴愬姛!";
                         mes.data = null;
                     }
                     else
                     {
                         mes.code = "300";
                         mes.count = 0;
-                        mes.Message = "鏂板鎿嶄綔澶辫触!";
+                        mes.Message = "鎿嶄綔澶辫触!";
                         mes.data = null;
                     }
                 }
                 if (opertype == "Update") 
                 {
                     //鍒犻櫎宸ュ簭妫�楠屾爣鍑嗗瓙琛�
-                    sql = @"delete from TStepCheckStandard where stepstaned_code=@stepstaned_code";
+                    sql = @"delete from TStepCheckStandardSub where stepstaned_code=@stepstaned_code";
                     list.Add(new { str = sql, parm = new { stepstaned_code = json.code} });
                     //淇敼宸ュ簭妫�楠屾爣鍑嗕富琛�
-                    sql = @"update  TStepCheckStandard set name=@stepstaned_name,descr=@stepstaned_desc where stepstaned_code=@stepstaned_code";
-                    list.Add(new { str = sql, parm = new { stepstaned_name = json.code, stepstaned_desc=json.description } });
+                    sql = @"update  TStepCheckStandard set name=@stepstaned_name,descr=@stepstaned_desc where code=@stepstaned_code";
+                    list.Add(new { str = sql, parm = new { stepstaned_code=json.code, stepstaned_name = json.name, stepstaned_desc=json.description } });
                     //鏂板宸ュ簭妫�楠屾爣鍑嗗瓙琛�
                     for (int i = 0; i < json.Data.Rows.Count; i++)
                     {
@@ -366,14 +433,14 @@
                     {
                         mes.code = "200";
                         mes.count = 0;
-                        mes.Message = "鏂板鎿嶄綔鎴愬姛!";
+                        mes.Message = "鎿嶄綔鎴愬姛!";
                         mes.data = null;
                     }
                     else
                     {
                         mes.code = "300";
                         mes.count = 0;
-                        mes.Message = "鏂板鎿嶄綔澶辫触!";
+                        mes.Message = "鎿嶄綔澶辫触!";
                         mes.data = null;
                     }
                 }
@@ -400,23 +467,25 @@
             {
                 if (itemcode != "" && itemcode != null)
                 {
-                    search += "and code=@itemcode ";
+                    search += "and A.code like '%'+@itemcode+'%' ";
                     dynamicParams.Add("@itemcode", itemcode);
                 }
                 if (itemname != "" && itemname != null)
                 {
-                    search += "and name like '%'+@itemname+'%' ";
+                    search += "and A.name like '%'+@itemname+'%' ";
                     dynamicParams.Add("@itemname", itemname);
                 }
                 if (itemdescr != "" && itemdescr != null)
                 {
-                    search += "and descr like '%'+@itemdescr+'%' ";
+                    search += "and A.descr like '%'+@itemdescr+'%' ";
                     dynamicParams.Add("@itemdescr", itemdescr);
                 }
 
                 // --------------鏌ヨ鎸囧畾鏁版嵁--------------
                 var total = 0; //鎬绘潯鏁�
-                var sql = @"select code,name,descr,lm_user,lm_date  from TStepCheckItem where is_delete<>'1' " + search;
+                var sql = @"select A.code,A.name,A.descr,U.username as lm_user,A.lm_date  from TStepCheckItem A
+                            left join TUser U on A.lm_user=U.usercode
+                            where A.is_delete<>'1' " + search;
                 var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -567,5 +636,235 @@
             return mes;
         }
         #endregion
+
+
+        #region[宸ュ簭妫�楠岃褰曞垪琛ㄦ煡璇
+        public static ToMessage StepCheckTableSearch(string wocode, string partcode, string partname, string partapec, string stepname, string standname, string checktype, string checkresult, int startNum, int endNum, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (wocode != "" && wocode != null)
+                {
+                    search += "and A.wo_code like '%'+@wocode+'%' ";
+                    dynamicParams.Add("@wocode", wocode);
+                }
+                if (partcode != "" && partcode != null)
+                {
+                    search += "and A.partcode like '%'+@partcode+'%' ";
+                    dynamicParams.Add("@partcode", partcode);
+                }
+                if (partname != "" && partname != null)
+                {
+                    search += "and B.partname like '%'+@partname+'%' ";
+                    dynamicParams.Add("@partname", partname);
+                }
+                if (partapec != "" && partapec != null)
+                {
+                    search += "and B.partspec like '%'+@partapec+'%' ";
+                    dynamicParams.Add("@partapec", partapec);
+                }
+                if (stepname != "" && stepname != null)
+                {
+                    search += "and S.stepname like '%'+@stepname+'%' ";
+                    dynamicParams.Add("@stepname", stepname);
+                }
+                if (standname != "" && standname != null)
+                {
+                    search += "and T.name like '%'+@standname+'%' ";
+                    dynamicParams.Add("@standname", standname);
+                }
+                if (checktype != "" && checktype != null)
+                {
+                    search += "and A.check_type=@checktype ";
+                    dynamicParams.Add("@checktype", checktype);
+                }
+                if (checkresult != "" && checkresult != null)
+                {
+                    search += "and A.check_result=@checkresult ";
+                    dynamicParams.Add("@checkresult", checkresult);
+                }
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select A.id,A.wo_code,A.partcode,B.partname,B.partspec,A.step_code,S.stepname,A.checkstaned_code,T.name as checkstaned_name,A.check_user,
+                            A.check_type,A.check_result,A.check_descr,A.check_qty,U.username as lm_user,A.lm_date   
+                            from TStepCheckRecord A
+                            left join TMateriel_Info B on A.partcode=B.partcode
+                            left join TStep S on A.step_code=S.stepcode
+                            left join TStepCheckStandard T on A.checkstaned_code=T.code
+                            left join TUser U on A.check_user=U.usercode 
+                            where " + search;
+                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = data.ToList();
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes;
+        }
+        #endregion
+
+        #region[宸ュ簭妫�楠岃褰曞垪琛ㄦ槑缁嗘煡璇
+        public static ToMessage StepCheckTableSubSearch(string id)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                sql = @"select A.checkitem_seq,A.checkitem_code,A.checkitem_name,A.checkitem_descr,A.check_result,U.username as lm_user,A.lm_date
+                        from TStepCheckRecordSub A
+                        left join TUser U on A.lm_user=U.usercode
+                        where A.m_id=@id";
+                dynamicParams.Add("@id", id);
+                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 StepCheckTableOutExcel(string wocode, string partcode, string partname, string partapec, string stepname, string standname, string checktype, string checkresult, string prop, string order)
+        {
+            var dynamicParams = new DynamicParameters();
+            string search = "";
+            try
+            {
+                if (wocode != "" && wocode != null)
+                {
+                    search += "and A.wo_code like '%'+@wocode+'%' ";
+                    dynamicParams.Add("@wocode", wocode);
+                }
+                if (partcode != "" && partcode != null)
+                {
+                    search += "and A.partcode like '%'+@stanedname+'%' ";
+                    dynamicParams.Add("@partcode", partcode);
+                }
+                if (partname != "" && partname != null)
+                {
+                    search += "and B.partname like '%'+@partname+'%' ";
+                    dynamicParams.Add("@partname", partname);
+                }
+                if (partapec != "" && partapec != null)
+                {
+                    search += "and B.partspec like '%'+@partapec+'%' ";
+                    dynamicParams.Add("@partapec", partapec);
+                }
+                if (stepname != "" && stepname != null)
+                {
+                    search += "and S.stepname like '%'+@stepname+'%' ";
+                    dynamicParams.Add("@stepname", stepname);
+                }
+                if (standname != "" && standname != null)
+                {
+                    search += "and T.name like '%'+@standname+'%' ";
+                    dynamicParams.Add("@standname", standname);
+                }
+                if (checktype != "" && checktype != null)
+                {
+                    search += "and A.check_type=@checktype ";
+                    dynamicParams.Add("@checktype", checktype);
+                }
+                if (checkresult != "" && checkresult != null)
+                {
+                    search += "and A.check_result=@checkresult ";
+                    dynamicParams.Add("@checkresult", checkresult);
+                }
+                if (search == "")
+                {
+                    search = "and 1=1 ";
+                }
+                search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+                // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+                var total = 0; //鎬绘潯鏁�
+                var sql = @"select 
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.wo_code ORDER BY B.checkitem_code) = 1 THEN A.wo_code
+                            ELSE ''END AS '宸ュ崟鍙�',
+	                        CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.partcode ORDER BY B.checkitem_code) = 1 THEN M.partcode
+                            ELSE ''END AS '浜у搧缂栫爜',
+	                        CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.partcode ORDER BY B.checkitem_code) = 1 THEN M.partname
+                            ELSE ''END AS '浜у搧鍚嶇О',
+	                        CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.partcode ORDER BY B.checkitem_code) = 1 THEN M.partspec
+                            ELSE ''END AS '瑙勬牸鍨嬪彿',
+	                        CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.step_code ORDER BY B.checkitem_code) = 1 THEN S.stepname
+                            ELSE ''END AS '宸ュ簭鍚嶇О',
+	                        CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.checkstaned_code ORDER BY B.checkitem_code) = 1 THEN A.checkstaned_code
+                            ELSE ''END AS '鏍囧噯缂栫爜',
+	                        CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.checkstaned_code ORDER BY B.checkitem_code) = 1 THEN T.name
+                            ELSE ''END AS '鏍囧噯鍚嶇О',
+                            CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.check_user ORDER BY B.checkitem_code) = 1 THEN U.username
+                            ELSE ''END AS '妫�楠屼汉鍛�',
+	                        CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.check_typename ORDER BY B.checkitem_code) = 1 THEN A.check_typename
+                            ELSE ''END AS '妫�楠岀被鍨�',
+	                        CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.check_result ORDER BY B.checkitem_code) = 1 THEN A.check_result
+                            ELSE ''END AS '妫�楠岀粨鏋�',
+	                        CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.check_descr ORDER BY B.checkitem_code) = 1 THEN A.check_descr
+                            ELSE ''END AS '妫�楠屾弿杩�',
+	                        CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.check_qty ORDER BY B.checkitem_code) = 1 THEN A.check_qty
+                            END AS '妫�楠屾暟閲�',
+	                        CASE WHEN
+                            ROW_NUMBER() OVER (PARTITION BY A.lm_date ORDER BY B.checkitem_code) = 1 THEN A.lm_date
+                            END AS '妫�楠屾椂闂�',
+                            B.checkitem_seq as '妫�楠岄」鐩簭鍙�',B.checkitem_code '妫�楠岄」鐩紪鐮�',B.checkitem_name '妫�楠岄」鐩悕绉�',B.checkitem_descr '妫�楠岄」鐩弿杩�',B.check_result '妫�楠岄」鐩粨鏋�'
+                            from TStepCheckRecord A
+                            left join TStepCheckRecordSub B on A.id=B.m_id
+                            left join TMateriel_Info M on A.partcode=M.partcode
+                            left join TStep S on A.step_code=S.stepcode
+                            left join TStepCheckStandard T on A.checkstaned_code=T.code
+                            left join TUser U on A.check_user=U.usercode  
+                            where " + search;
+                DataTable data = DapperHelper.selectdata(sql, dynamicParams);
+                data.TableName ="Table"; //璁剧疆DataTable鐨勫悕绉�
+                string msg = DownLoad.DataTableToExcel(data, "宸ュ簭妫�楠岃褰�");
+                mes.code = "200";
+                mes.Message = "鏌ヨ鎴愬姛!";
+                mes.count = total;
+                mes.data = msg;
+            }
+            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