From adc65b06d255664c2f7b763aad04572d5a96ff46 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 27 二月 2023 13:36:45 +0800
Subject: [PATCH] 质检方案、入厂检验扫描条码、入厂检验查找检验项目接口

---
 VueWebApi/DLL/BLL/AppQualityManagementBLL.cs                         |   26 ++
 VueWebApi/Controllers/AppPurchManagementController.cs                |    2 
 VueWebApi/VueWebApi.csproj                                           |    3 
 VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache |    0 
 VueWebApi/DLL/DAL/AppPurchManagementDAL.cs                           |    7 
 VueWebApi/DLL/BLL/QualityManagementBLL.cs                            |   14 +
 VueWebApi/Controllers/QualityManagementController.cs                 |   43 ++++
 .vs/VueWebApi/v16/.suo                                               |    0 
 VueWebApi/DLL/DAL/AppQualityManagementDAL.cs                         |  141 +++++++++++++++
 VueWebApi/DLL/DAL/QualityManagementDAL.cs                            |  228 ++++++++++++++++++++++++
 VueWebApi/Controllers/AppQualityManagementController.cs              |   52 +++++
 11 files changed, 504 insertions(+), 12 deletions(-)

diff --git a/.vs/VueWebApi/v16/.suo b/.vs/VueWebApi/v16/.suo
index d816cfd..a8dd03e 100644
--- a/.vs/VueWebApi/v16/.suo
+++ b/.vs/VueWebApi/v16/.suo
Binary files differ
diff --git a/VueWebApi/Controllers/AppPurchManagementController.cs b/VueWebApi/Controllers/AppPurchManagementController.cs
index 44ccb01..e9e9fb5 100644
--- a/VueWebApi/Controllers/AppPurchManagementController.cs
+++ b/VueWebApi/Controllers/AppPurchManagementController.cs
@@ -71,7 +71,7 @@
         /// 閲囪喘鍒拌揣锛氭彁浜�
         /// </summary>
         /// <param name="purordercode">閲囪喘璁㈠崟鍙�</param>
-        /// <param name="orderstaus">鍗曟嵁鐘舵��</param>
+        /// <param name="orderstaus">鍗曟嵁鐘舵��:BINARIVE(閮ㄥ垎鍒拌揣)銆両NARIVE(宸插埌璐�)</param>
         /// <param name="username">鎿嶄綔浜哄憳</param>
         /// <param name="json">鍒拌揣鐗╂枡淇℃伅</param>
         /// <returns></returns>
diff --git a/VueWebApi/Controllers/AppQualityManagementController.cs b/VueWebApi/Controllers/AppQualityManagementController.cs
new file mode 100644
index 0000000..d222345
--- /dev/null
+++ b/VueWebApi/Controllers/AppQualityManagementController.cs
@@ -0,0 +1,52 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Net.Http;
+using System.Web.Http;
+using VueWebApi.DLL.BLL;
+using VueWebApi.Tools;
+
+namespace VueWebApi.Controllers
+{
+    [RoutePrefix(prefix: "api/AppQualityManagement")]
+    [ControllerGroup("App璐ㄩ噺绠$悊", "鍦ㄧ嚎鎺ュ彛")]
+    [ChannelActionFilterAttributeApp]
+    public class AppQualityManagementController : ApiController
+    {
+        //瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
+        ToMessage mes = new ToMessage();
+        RedisHelper redis = new RedisHelper();
+
+        #region[鍏ュ巶妫�楠�,鎵弿閲囪喘鍒拌揣鐢熸垚鏍囩]
+        /// <summary>
+        /// 鍏ュ巶妫�楠�,鎵弿閲囪喘鍒拌揣鐢熸垚鏍囩
+        /// </summary>
+        /// <param name="labcode">閲囪喘鍒拌揣鐢熸垚鏍囩</param>
+        /// <returns></returns>
+        [Route(template: "InFactoryCheckScanLabCode")]
+        [HttpGet]
+        public HttpResponseMessage InFactoryCheckScanLabCode(string labcode)
+        {
+            mes = AppQualityManagementBLL.InFactoryCheckScanLabCode(labcode);
+            return TJson.toJson(mes);
+        }
+        #endregion
+
+        #region[鍏ュ巶妫�楠�,鏍规嵁閫夋嫨鐨勬楠屾柟妗堟煡鎵炬楠岄」鐩甝
+        /// <summary>
+        /// 鍏ュ巶妫�楠�,鏍规嵁閫夋嫨鐨勬楠屾柟妗堟煡鎵炬楠岄」鐩�
+        /// </summary>
+        /// <param name="checkstandcode">妫�楠屾柟妗堢紪鐮�</param>
+        /// <returns></returns>
+        [Route(template: "InFactoryCheckItem")]
+        [HttpGet]
+        public HttpResponseMessage InFactoryCheckItem(string checkstandcode)
+        {
+            mes = AppQualityManagementBLL.InFactoryCheckItem(checkstandcode);
+            return TJson.toJson(mes);
+        }
+        #endregion
+
+    }
+}
diff --git a/VueWebApi/Controllers/QualityManagementController.cs b/VueWebApi/Controllers/QualityManagementController.cs
index 15a7e4a..4195c23 100644
--- a/VueWebApi/Controllers/QualityManagementController.cs
+++ b/VueWebApi/Controllers/QualityManagementController.cs
@@ -335,5 +335,48 @@
             return TJson.toJson(mes);
         }
         #endregion
+
+        #region[璐ㄦ鏂规鏂板/缂栬緫鎻愪氦]
+        /// <summary>
+        /// 璐ㄦ鏂规鏂板/缂栬緫鎻愪氦
+        /// </summary>
+        /// <param name="obj">鎻愪氦鏁版嵁</param>
+        /// <returns></returns>
+        [Route(template: "QualityInspectionAddEditSave")]
+        [HttpPost]
+        public HttpResponseMessage QualityInspectionAddEditSave([FromBody] JObject obj)
+        {
+            string qualityinsptcode = obj["qualityinsptcode"].ToString(); //璐ㄦ鏂规缂栫爜
+            string qualityinsptname = obj["qualityinsptname"].ToString(); //璐ㄦ鏂规鍚嶇О
+            string status = obj["status"].ToString(); //鏈夋晥鐘舵��
+            string checktype = obj["checktype"].ToString(); //妫�楠岀被鍨�
+            string sampmethod = obj["sampmethod"].ToString(); //鎶芥鏂瑰紡
+            string sampscare = obj["sampscare"].ToString(); //鍥哄畾鎶芥(鏍锋湰鏁�)   姣斾緥鎶芥(鐧惧垎姣�)
+            string suitobject = obj["suitobject"].ToString(); //閫傜敤瀵硅薄
+            string suitpart = obj["suitpart"].ToString();  //閫傜敤鐗╂枡(缂栫爜)鎴栬�呯墿鏂欑被鍨�(缂栫爜)
+            string descr = obj["descr"].ToString(); //妫�楠屾柟妗堟弿杩�
+            string checkitem = obj["checkitem"].ToString(); //璐ㄦ鍒楄〃
+            string type = obj["type"].ToString(); //鎿嶄綔绫诲瀷
+            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
+            mes = QualityManagementBLL.QualityInspectionAddEditSave(qualityinsptcode, qualityinsptname, status,checktype,sampmethod,sampscare,suitobject,suitpart,descr,checkitem,type,username);
+            return TJson.toJson(mes);
+        }
+        #endregion
+
+        #region[璐ㄦ鏂规鍒犻櫎]
+        /// <summary>
+        /// 璐ㄦ鏂规鍒犻櫎
+        /// </summary>
+        /// <param name="qualityinsptcode">璐ㄦ鏂规缂栫爜</param>
+        /// <returns></returns>
+        [Route(template: "QualityInspectionDelete")]
+        [HttpPost]
+        public HttpResponseMessage QualityInspectionDelete(string qualityinsptcode)
+        {
+            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //鎿嶄綔浜哄憳
+            mes = QualityManagementBLL.QualityInspectionDelete(qualityinsptcode,username);
+            return TJson.toJson(mes);
+        }
+        #endregion
     }
 }
diff --git a/VueWebApi/DLL/BLL/AppQualityManagementBLL.cs b/VueWebApi/DLL/BLL/AppQualityManagementBLL.cs
new file mode 100644
index 0000000..80c63ff
--- /dev/null
+++ b/VueWebApi/DLL/BLL/AppQualityManagementBLL.cs
@@ -0,0 +1,26 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using VueWebApi.DLL.DAL;
+using VueWebApi.Tools;
+
+namespace VueWebApi.DLL.BLL
+{
+    public class AppQualityManagementBLL
+    {
+        #region[鍏ュ巶妫�楠�,鎵弿閲囪喘鍒拌揣鐢熸垚鏍囩]
+        public static ToMessage InFactoryCheckScanLabCode(string labcode)
+        {
+            return AppQualityManagementDAL.InFactoryCheckScanLabCode(labcode);
+        }
+        #endregion
+
+        #region[鍏ュ巶妫�楠�,鏍规嵁閫夋嫨鐨勬楠屾柟妗堟煡鎵炬楠岄」鐩甝
+        public static ToMessage InFactoryCheckItem(string checkstandcode)
+        {
+            return AppQualityManagementDAL.InFactoryCheckItem(checkstandcode);
+        }
+        #endregion
+    }
+}
\ No newline at end of file
diff --git a/VueWebApi/DLL/BLL/QualityManagementBLL.cs b/VueWebApi/DLL/BLL/QualityManagementBLL.cs
index f1c2c14..090ecfe 100644
--- a/VueWebApi/DLL/BLL/QualityManagementBLL.cs
+++ b/VueWebApi/DLL/BLL/QualityManagementBLL.cs
@@ -129,5 +129,19 @@
             return QualityManagementDAL.QualityInspectionSeeEdit(qualityinsptcode);
         }
         #endregion
+
+        #region[璐ㄦ鏂规鏂板/缂栬緫鎻愪氦]
+        public static ToMessage QualityInspectionAddEditSave(string qualityinsptcode, string qualityinsptname, string status, string checktype, string sampmethod, string sampscare, string suitobject, string suitpart, string descr, string checkitem, string type, string username)
+        {
+            return QualityManagementDAL.QualityInspectionAddEditSave(qualityinsptcode, qualityinsptname, status, checktype, sampmethod, sampscare, suitobject, suitpart, descr, checkitem, type, username);
+        }
+        #endregion
+
+        #region[璐ㄦ鏂规鍒犻櫎]
+        public static ToMessage QualityInspectionDelete(string qualityinsptcode, string username)
+        {
+            return QualityManagementDAL.QualityInspectionDelete(qualityinsptcode, username);
+        }
+        #endregion
     }
 }
\ No newline at end of file
diff --git a/VueWebApi/DLL/DAL/AppPurchManagementDAL.cs b/VueWebApi/DLL/DAL/AppPurchManagementDAL.cs
index 3d116af..a11647e 100644
--- a/VueWebApi/DLL/DAL/AppPurchManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/AppPurchManagementDAL.cs
@@ -70,7 +70,7 @@
             try
             {
                 //鏍规嵁閲囪喘璁㈠崟鍙锋煡璇㈢墿鏂欎俊鎭紝渚涘簲鍟嗕俊鎭�
-                sql = @"select B.rownumber, B.materiel_code as partcode,M.partname,M.partspec,M.is_batchno,
+                sql = @"select B.rownumber, B.materiel_code as partcode,M.partname,M.partspec,M.is_batchno,M.is_incheck,
                         B.quantity,B.customercode,C.name as customername,A.departmentcode,T.org_name as departmentname,U.code as uomcode,U.name as uomname,
                         A.ordercode,B.countarrivalquantity,A.acceptdate  
                         from T_PurchaseOrder A
@@ -191,8 +191,8 @@
                     for (int j = 0; j < json[i].children.Count; j++)
                     {
                         //鍐欏叆鏉$爜妗f琛�
-                        sql = @"insert into T_BarCodeBill(rightcode,hbillno,hbilltype,hbarcode,hbarcodestatus,hbarcodetype,hmaterialcode,hqty,hbatchno,hcustomercode,hdeptcode,hsourcebillno,hsourcebilltype,lm_user,lm_date) 
-                        values(@rightcode,hbillno,@hbilltype,@hbarcode,@hbarcodestatus,@hbarcodetype,@hmaterialcode,@hqty,@hbatchno,@hcustomercode,@hdeptcode,@hsourcebillno,@hsourcebilltype,@lm_user,@lm_date)";
+                        sql = @"insert into T_BarCodeBill(rightcode,hbillno,hbilltype,hbarcode,hbarcodestatus,hbarcodetype,hmaterialcode,hqty,hbatchno,hcustomercode,hdeptcode,hsourcebillno,hsourcebilltype,barcodeposition,lm_user,lm_date) 
+                        values(@rightcode,hbillno,@hbilltype,@hbarcode,@hbarcodestatus,@hbarcodetype,@hmaterialcode,@hqty,@hbatchno,@hcustomercode,@hdeptcode,@hsourcebillno,@hsourcebilltype,@barcodeposition,@lm_user,@lm_date)";
                         list.Add(new
                         {
                             str = sql,
@@ -211,6 +211,7 @@
                                 hdeptcode = dpartment,
                                 hsourcebillno = purordercode,
                                 hsourcebilltype = "1102",
+                                barcodeposition="2060;閲囪喘鍒拌揣",
                                 lm_user = username,
                                 lm_date = DateTime.Now.ToString()
                             }
diff --git a/VueWebApi/DLL/DAL/AppQualityManagementDAL.cs b/VueWebApi/DLL/DAL/AppQualityManagementDAL.cs
new file mode 100644
index 0000000..dbb3def
--- /dev/null
+++ b/VueWebApi/DLL/DAL/AppQualityManagementDAL.cs
@@ -0,0 +1,141 @@
+锘縰sing Dapper;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Linq;
+using System.Web;
+using VueWebApi.Tools;
+
+namespace VueWebApi.DLL.DAL
+{
+    public class AppQualityManagementDAL
+    {
+        public static DataTable dt;    //瀹氫箟鍏ㄥ眬鍙橀噺dt
+        public static bool res;       //瀹氫箟鍏ㄥ眬鍙橀噺dt
+        public static ToMessage mes = new ToMessage(); //瀹氫箟鍏ㄥ眬杩斿洖淇℃伅瀵硅薄
+        public static string strProcName = ""; //瀹氫箟鍏ㄥ眬sql鍙橀噺
+        public static List<SqlParameter> listStr = new List<SqlParameter>(); //瀹氫箟鍏ㄥ眬鍙傛暟闆嗗悎
+        public static SqlParameter[] parameters; //瀹氫箟鍏ㄥ眬SqlParameter鍙傛暟鏁扮粍
+
+        #region[鍏ュ巶妫�楠�,鎵弿閲囪喘鍒拌揣鐢熸垚鏍囩]
+        public static ToMessage InFactoryCheckScanLabCode(string labcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            Dictionary<string, object> list = new Dictionary<string, object>();
+            try
+            {
+                //鍒ゆ柇鏉$爜鏄惁鏈夋晥(閲囪喘鍒拌揣鍔熻兘缂栫爜锛�2060)
+                sql = @"select *  from T_BarCodeBill where hbarcode=@labcode and rightcode=@rightcode and hbarcodestatus='Y'";
+                dynamicParams.Add("@labcode", labcode);
+                dynamicParams.Add("@rightcode", "2060");
+                var data0 = DapperHelper.selectdata(sql, dynamicParams);
+                if (data0.Rows.Count <= 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "涓嶆槸鏈夋晥鐨勬爣绛炬潯鐮�!";
+                    mes.data = null;
+                    return mes;
+                }
+                //鍒ゆ柇鏉$爜鏄惁妫�楠�
+                sql = @"select *  from TStepCheckRecord where hbarcode=@labcode and check_type='InCheck'";
+                dynamicParams.Add("@labcode", labcode);
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data0.Rows.Count > 0)
+                {
+                    mes.code = "300";
+                    mes.count = 0;
+                    mes.Message = "姝ゆ爣绛炬潯鐮佸凡妫�楠�!";
+                    mes.data = null;
+                    return mes;
+                }
+                //鑾峰彇鏍囩淇℃伅
+                sql = @"select A.hbillno,A.hmaterialcode as partcode,M.partname,M.partspec,A.hbarcode,M.stocktype_code,A.hqty,
+                        A.hcustomercode,C.name as hcustomername,A.hbatchno,A.qualitystatus
+                        from T_BarCodeBill A
+                        left join TMateriel_Info M on A.hmaterialcode=M.partcode
+                        left join TCustomer C on A.hcustomercode=C.code
+                        where A.hbarcode=@labcode";
+                dynamicParams.Add("@labcode", labcode);
+                var data1 = DapperHelper.selectdata(sql, dynamicParams);
+                if (data1.Rows.Count > 0)
+                {
+                    //鑾峰彇缁戝畾鐨勫叆鍘傝川妫�鏂规銆佹娊鏍锋柟寮忋�佹牱鏈暟
+                    sql = @"select code as checkstandcode,name as checkstandname,sampmethod,sampscare   
+                            from TStepCheckStandard
+                            where PATINDEX('%;' + RTRIM(@partcode) + ';%',';' + suitpart + ';')>0 or PATINDEX('%;' + RTRIM(@stocktype_code) + ';%',';' + suitpart + ';')>0
+                            and checktype='InCheck'";
+                    dynamicParams.Add("@partcode", data1.Rows[0]["partcode"].ToString());//鐗╂枡缂栫爜
+                    dynamicParams.Add("@stocktype_code", data1.Rows[0]["stocktype_code"].ToString());//瀛樿揣绫诲瀷缂栫爜
+                    var data2 = DapperHelper.selectdata(sql, dynamicParams);
+                    list.Add("labcont", data1);
+                    list.Add("chekstand", data2);
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = list;
+                }
+                else
+                {
+                    mes.code = "300";
+                    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 InFactoryCheckItem(string checkstandcode)
+        {
+            string sql = "";
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //璐ㄦ鏂规缂栫爜鑾峰彇妫�楠岄」
+                sql = @"select A.stepcheckitem_seq, B.code,B.name,A.required,A.numberjudge,A.unit,A.decimalnum,
+                        A.standvalue,A.uppervalue,A.lowervalue,A.stepcheckitem_desc   
+                        from TStepCheckStandardSub A
+                        left join TStepCheckItem B on A.stepcheckitem_code=B.code
+                        where A.stepstaned_code=@checkstandcode
+                        order by A.stepcheckitem_seq";
+                dynamicParams.Add("@checkstandcode", checkstandcode);//璐ㄦ鏂规缂栫爜
+                var data = DapperHelper.selectdata(sql, dynamicParams);
+                if (data.Rows.Count > 0)
+                {
+                    mes.code = "200";
+                    mes.count = 0;
+                    mes.Message = "鏌ヨ鎴愬姛!";
+                    mes.data = data;
+                }
+                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
+    }
+}
\ No newline at end of file
diff --git a/VueWebApi/DLL/DAL/QualityManagementDAL.cs b/VueWebApi/DLL/DAL/QualityManagementDAL.cs
index a88f0cd..e32bb19 100644
--- a/VueWebApi/DLL/DAL/QualityManagementDAL.cs
+++ b/VueWebApi/DLL/DAL/QualityManagementDAL.cs
@@ -1,4 +1,5 @@
 锘縰sing Dapper;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
@@ -63,7 +64,7 @@
             }
             return mes;
         }
-      
+
         #endregion
 
         #region[璐ㄩ噺绠$悊锛岀己闄峰畾涔夋柊澧炪�佺紪杈戞彁浜
@@ -267,7 +268,7 @@
                     rout.name = data.Rows[0]["NAME"].ToString();
                     rout.description = data.Rows[0]["DESCR"].ToString();
                 }
-                else 
+                else
                 {
                     mes.code = "300";
                     mes.count = 0;
@@ -393,7 +394,7 @@
                         //鏂板宸ュ簭妫�楠屾爣鍑嗗瓙琛�
                         sql = @"insert TStepCheckStandardSub (stepstaned_code,stepcheckitem_seq,stepcheckitem_code,stepcheckitem_desc,lm_user,lm_date) 
                                 values(@stepstaned_code,@stepcheckitem_seq,@stepcheckitem_code,@stepcheckitem_desc,@lm_user,@lm_date)";
-                        list.Add(new { str = sql, parm = new { stepstaned_code = json.code, stepcheckitem_seq = Convert.ToInt32(json.Data.Rows[i]["STEPCHECKITEM_SEQ"].ToString()), stepcheckitem_code = json.Data.Rows[i]["STEPCHECKITEM_CODE"].ToString(), stepcheckitem_desc= json.Data.Rows[i]["STEPCHECKITEM_DESC"].ToString(), lm_user = username, lm_date = DateTime.Now.ToString() } });
+                        list.Add(new { str = sql, parm = new { stepstaned_code = json.code, stepcheckitem_seq = Convert.ToInt32(json.Data.Rows[i]["STEPCHECKITEM_SEQ"].ToString()), stepcheckitem_code = json.Data.Rows[i]["STEPCHECKITEM_CODE"].ToString(), stepcheckitem_desc = json.Data.Rows[i]["STEPCHECKITEM_DESC"].ToString(), lm_user = username, lm_date = DateTime.Now.ToString() } });
                     }
                     bool aa = DapperHelper.DoTransaction(list);
                     if (aa)
@@ -411,14 +412,14 @@
                         mes.data = null;
                     }
                 }
-                if (opertype == "Update") 
+                if (opertype == "Update")
                 {
                     //鍒犻櫎宸ュ簭妫�楠屾爣鍑嗗瓙琛�
                     sql = @"delete from TStepCheckStandardSub where stepstaned_code=@stepstaned_code";
-                    list.Add(new { str = sql, parm = new { stepstaned_code = json.code} });
+                    list.Add(new { str = sql, parm = new { stepstaned_code = json.code } });
                     //淇敼宸ュ簭妫�楠屾爣鍑嗕富琛�
                     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 } });
+                    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++)
                     {
@@ -849,7 +850,7 @@
                             left join TUser U on A.check_user=U.usercode  
                             where " + search;
                 DataTable data = DapperHelper.selectdata(sql, dynamicParams);
-                data.TableName ="Table"; //璁剧疆DataTable鐨勫悕绉�
+                data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�
                 string msg = DownLoad.DataTableToExcel(data, "宸ュ簭妫�楠岃褰�");
                 mes.code = "200";
                 mes.Message = "鏌ヨ鎴愬姛!";
@@ -870,7 +871,7 @@
 
 
         #region[璐ㄦ鏂规鍒楄〃鏌ヨ]
-        public static ToMessage QualityInspectionSearch(string qualityinsptcode, string qualityinsptname, string status, string checktype, string sampltype,string suitobject, int startNum, int endNum, string prop, string order)
+        public static ToMessage QualityInspectionSearch(string qualityinsptcode, string qualityinsptname, string status, string checktype, string sampltype, string suitobject, int startNum, int endNum, string prop, string order)
         {
             var dynamicParams = new DynamicParameters();
             string search = "";
@@ -976,5 +977,216 @@
             return mes;
         }
         #endregion
+
+        #region[璐ㄦ鏂规鏂板/缂栬緫鎻愪氦]
+        public static ToMessage QualityInspectionAddEditSave(string qualityinsptcode, string qualityinsptname, string status, string checktype, string sampmethod, string sampscare, string suitobject, string suitpart, string descr, string checkitem, string type, string username)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                string date = DateTime.Now.ToString(); //鑾峰彇绯荤粺鏃堕棿
+                //鑾峰彇璐ㄦ鍒楄〃妫�楠岄」鐩暟鎹�
+                JArray arra = (JArray)Newtonsoft.Json.JsonConvert.DeserializeObject(checkitem);
+                list.Clear();
+                switch (type)
+                {
+                    case "Add": //鏂板
+                        //鍐欏叆璐ㄦ鏂规涓昏〃
+                        sql = @"insert into  TStepCheckStandard(code,name,status,checktype,sampmethod,sampscare,suitobject,suitpart,descr,lm_user,lm_date) 
+                                values(@code,@name,@status,@checktype,@sampmethod,@sampscare,@suitobject,@suitpart,@descr,@lm_user,@lm_date)";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                code = qualityinsptcode,
+                                name = qualityinsptname,
+                                status = status,
+                                checktype = checktype,
+                                sampmethod = sampmethod,
+                                sampscare = sampscare,
+                                suitobject = suitobject,
+                                suitpart = suitpart,
+                                descr = descr,
+                                lm_user = username,
+                                lm_date = date
+                            }
+                        });
+                        //鍐欏叆璐ㄦ鏂规瀛愯〃
+                        for (int i = 0; i < arra.Count; i++)
+                        {
+                            sql = @"insert into  TStepCheckStandardSub(stepstaned_code,stepcheckitem_seq,stepcheckitem_code,required,numberjudge,unit,decimalnum,standvalue,uppervalue,lowervalue,stepcheckitem_desc,lm_user,lm_date) 
+                                values(@stepstaned_code,@stepcheckitem_seq,@stepcheckitem_code,@required,@numberjudge,@unit,@decimalnum,@standvalue,@uppervalue,@lowervalue,@stepcheckitem_desc,@lm_user,@lm_date)";
+                            list.Add(new
+                            {
+                                str = sql,
+                                parm = new
+                                {
+                                    stepstaned_code = qualityinsptcode,
+                                    stepcheckitem_seq = Convert.ToInt32(arra[i]["stepcheckitem_seq"].ToString()),
+                                    stepcheckitem_code = arra[i]["stepcheckitem_code"].ToString(),
+                                    required = arra[i]["required"].ToString(),
+                                    numberjudge = arra[i]["numberjudge"].ToString(),
+                                    unit = arra[i]["unit"].ToString(),
+                                    decimalnum = Convert.ToInt32(arra[i]["decimalnum"].ToString()),
+                                    standvalue = arra[i]["standvalue"].ToString(),
+                                    uppervalue = arra[i]["uppervalue"].ToString(),
+                                    lowervalue = arra[i]["lowervalue"].ToString(),
+                                    stepcheckitem_desc = arra[i]["stepcheckitem_desc"].ToString(),
+                                    lm_user = username,
+                                    lm_date = date
+                                }
+                            });
+                        }
+                        break;
+                    case "Update"://淇敼
+                        //鍒ゆ柇鏄惁鐢熸垚妫�楠岃褰�(鍏ュ巶妫�楠�(InCheck)  鍑哄巶妫�楠�(OutCheck)  FirstCheck锛堥妫�锛� PatroCheck(宸℃)  EndCheck(瀹屽伐妫�))
+                        sql = @"select *  from TStepCheckRecord where checkstaned_code=@qualityinsptcode and checktype=@checktype";
+                        dynamicParams.Add("@qualityinsptcode", qualityinsptcode);
+                        dynamicParams.Add("@checktype", checktype);
+                        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 from TStepCheckStandardSub where stepstaned_code=@code";
+                        list.Add(new { str = sql, parm = new { code = qualityinsptcode } });
+                        //淇敼璐ㄦ鏂规涓昏〃
+                        sql = @"update TStepCheckStandard set name=@name,status=@status,checktype=@checktype,sampmethod=@sampmethod,sampscare=@sampscare,
+                                suitobject=@suitobject,suitpart=@suitpart,descr=@descr
+                                where code=@code";
+                        list.Add(new
+                        {
+                            str = sql,
+                            parm = new
+                            {
+                                code = qualityinsptcode,
+                                name = qualityinsptname,
+                                status = status,
+                                checktype = checktype,
+                                sampmethod = sampmethod,
+                                sampscare = sampscare,
+                                suitobject = suitobject,
+                                suitpart = suitpart,
+                                descr = descr,
+                            }
+                        });
+                        //鏂板璐ㄦ鏂规瀛愯〃
+                        for (int i = 0; i < arra.Count; i++)
+                        {
+                            sql = @"insert into  TStepCheckStandardSub(stepstaned_code,stepcheckitem_seq,stepcheckitem_code,required,numberjudge,unit,decimalnum,standvalue,uppervalue,lowervalue,stepcheckitem_desc,lm_user,lm_date) 
+                                values(@stepstaned_code,@stepcheckitem_seq,@stepcheckitem_code,@required,@numberjudge,@unit,@decimalnum,@standvalue,@uppervalue,@lowervalue,@stepcheckitem_desc,@lm_user,@lm_date)";
+                            list.Add(new
+                            {
+                                str = sql,
+                                parm = new
+                                {
+                                    stepstaned_code = qualityinsptcode,
+                                    stepcheckitem_seq = Convert.ToInt32(arra[i]["stepcheckitem_seq"].ToString()),
+                                    stepcheckitem_code = arra[i]["stepcheckitem_code"].ToString(),
+                                    required = arra[i]["required"].ToString(),
+                                    numberjudge = arra[i]["numberjudge"].ToString(),
+                                    unit = arra[i]["unit"].ToString(),
+                                    decimalnum = Convert.ToInt32(arra[i]["decimalnum"].ToString()),
+                                    standvalue = arra[i]["standvalue"].ToString(),
+                                    uppervalue = arra[i]["uppervalue"].ToString(),
+                                    lowervalue = arra[i]["lowervalue"].ToString(),
+                                    stepcheckitem_desc = arra[i]["stepcheckitem_desc"].ToString(),
+                                    lm_user = username,
+                                    lm_date = date
+                                }
+                            });
+                        }
+                        break;
+                    default:
+                        break;
+                }             
+                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 QualityInspectionDelete(string qualityinsptcode, string username)
+        {
+            var sql = "";
+            List<object> list = new List<object>();
+            var dynamicParams = new DynamicParameters();
+            try
+            {
+                //鍒ゆ柇鏄惁鐢熸垚妫�楠岃褰�(鍏ュ巶妫�楠�(InCheck)  鍑哄巶妫�楠�(OutCheck)  FirstCheck锛堥妫�锛� PatroCheck(宸℃)  EndCheck(瀹屽伐妫�))
+                sql = @"select *  from TStepCheckRecord where checkstaned_code=@qualityinsptcode";
+                dynamicParams.Add("@qualityinsptcode", qualityinsptcode);
+                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=@code";
+                list.Add(new { str = sql, parm = new { code = qualityinsptcode } });
+                //鍒犻櫎璐ㄦ鏂规瀛愯〃
+                sql = @"delete TStepCheckStandardSub  where stepstaned_code=@code";
+                list.Add(new { str = sql, parm = new { code = qualityinsptcode } });
+
+                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
     }
 }
\ No newline at end of file
diff --git a/VueWebApi/VueWebApi.csproj b/VueWebApi/VueWebApi.csproj
index b6d0380..640512a 100644
--- a/VueWebApi/VueWebApi.csproj
+++ b/VueWebApi/VueWebApi.csproj
@@ -324,6 +324,7 @@
     <Compile Include="Controllers\AppPersonalController.cs" />
     <Compile Include="Controllers\AppProductionManagementController.cs" />
     <Compile Include="Controllers\AppPurchManagementController.cs" />
+    <Compile Include="Controllers\AppQualityManagementController.cs" />
     <Compile Include="Controllers\BaseDateController.cs" />
     <Compile Include="Controllers\PurchaseOrderController.cs" />
     <Compile Include="Controllers\ReportManagerController.cs" />
@@ -331,12 +332,14 @@
     <Compile Include="DLL\BLL\AppAnalyticsBLL.cs" />
     <Compile Include="DLL\BLL\AppPersonalBLL.cs" />
     <Compile Include="DLL\BLL\AppPurchManagementBLL.cs" />
+    <Compile Include="DLL\BLL\AppQualityManagementBLL.cs" />
     <Compile Include="DLL\BLL\BaseDateBLL.cs" />
     <Compile Include="DLL\BLL\PurchaseOrderBLL.cs" />
     <Compile Include="DLL\BLL\ReportManagerBLL.cs" />
     <Compile Include="DLL\DAL\AppAnalyticsDAL.cs" />
     <Compile Include="DLL\DAL\AppPersonalDAL.cs" />
     <Compile Include="DLL\DAL\AppPurchManagementDAL.cs" />
+    <Compile Include="DLL\DAL\AppQualityManagementDAL.cs" />
     <Compile Include="DLL\DAL\BaseDateDAL.cs" />
     <Compile Include="DLL\DAL\PurchaseOrderDAL.cs" />
     <Compile Include="DLL\DAL\ReportManagerDAL.cs" />
diff --git a/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
index b972b7b..3f92346 100644
--- a/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
+++ b/VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ

--
Gitblit v1.9.3