Просмотр исходного кода

更改布局 总单树状图改为产品类别和产品编码共存

忠帅 张 2 лет назад
Родитель
Сommit
23c84e2b0c

+ 60 - 1
wwwroot/mes/list.ashx

@@ -157,7 +157,7 @@ public class list : IHttpHandler, IReadOnlySessionState
                     }
                 case "getGoodsType":
                     {
-                        string child = context.Request["child"];
+                          string child = context.Request["child"];
                         string jsonStr = "";
                         if (!string.IsNullOrEmpty(child) && child == "0")//没有子类
                         {
@@ -230,6 +230,65 @@ public class list : IHttpHandler, IReadOnlySessionState
                         }
                         break;
                     }
+                case "getGoodsTpyes":
+                        {
+                       string child = context.Request["child"];
+                        string jsonStr = "";
+                        if (!string.IsNullOrEmpty(child) && child == "0")//没有子类
+                        {
+                            jsonStr = "[{\"id\":\"001\",\"text\":\"全部\"},{\"id\":\"001001\",\"text\":\"大件\"},{\"id\":\"001002\",\"text\":\"小件\"}," +
+                            "{\"id\":\"001001001\",\"text\":\"连体座便器\"},{\"id\":\"001001002\",\"text\":\"分体座便器\"},{\"id\":\"001001003\",\"text\":\"智能座便器\"}," +
+                            "{\"id\":\"001002001\",\"text\":\"蹲便器\"},{\"id\":\"001002002\",\"text\":\"台下盆\"},{\"id\":\"001002003\",\"text\":\"艺术盆\"},{\"id\":\"001002004\",\"text\":\"挂盆\"}" +
+                            ",{\"id\":\"001002005\",\"text\":\"立柱盆\"},{\"id\":\"001002006\",\"text\":\"角盆\"},{\"id\":\"001002007\",\"text\":\"挂式小便斗\"},{\"id\":\"001002008\",\"text\":\"柜盆\"}" +
+                            ",{\"id\":\"001002009\",\"text\":\"妇洗器\"},{\"id\":\"001002010\",\"text\":\"拖把池\"},{\"id\":\"001002011\",\"text\":\"柱类\"},{\"id\":\"001002012\",\"text\":\"其他\"}]";
+                        }
+                        else
+                        {
+                            //获取产品类别和产品编码 全部
+                            using (IDataAccess conn = DataAccess.Create())
+                            {
+                                DataTable dt = conn.ExecuteDatatable(@"SELECT
+                                                
+                                                                                GOODSTYPECODE AS CODE,
+																				CASE WHEN  GOODSID=0 THEN GOODSTYPECODE ELSE GOODSCODE END AS ID,
+                                                                                GOODSID,
+                                                                                CASE WHEN GOODSCODE is NULL then GOODSTYPENAME ELSE GOODSNAME END AS TEXT
+                                                                                FROM
+                                                                                (
+                                                                                SELECT 
+                                                                                TP_MST_GOODSTYPE.GOODSTYPEID as GOODSTYPEID,
+                                                                                GOODSID as GOODSID,
+                                                                                TO_CHAR(GOODSCODE) as GOODSCODE,
+                                                                                TO_CHAR(GOODSNAME) as GOODSNAME,
+                                                                                TO_CHAR(GOODSTYPECODE)||'001' as GOODSTYPECODE,
+                                                                                TO_CHAR(GOODSTYPENAME) as GOODSTYPENAME 
+                                                                                FROM TP_MST_GOODS
+                                                                                LEFT JOIN TP_MST_GOODSTYPE ON TP_MST_GOODS.GOODSTYPEID=TP_MST_GOODSTYPE.GOODSTYPEID
+																				WHERE TP_MST_GOODS.VALUEFLAG=1
+                                                                                UNION ALL
+                                                                                SELECT
+                                                                                GOODSTYPEID,
+                                                                                0  as  GOODSID,
+                                                                                '' as GOODSCODE,
+                                                                                '' as GOODSNAME,
+                                                                                TO_CHAR(GOODSTYPECODE) as GOODSTYPECODE,
+                                                                                TO_CHAR(GOODSTYPENAME) as GOODSTYPENAME
+                                                                                FROM 
+                                                                                TP_MST_GOODSTYPE 
+																				WHERE VALUEFLAG=1
+                                                                                ) ORDER BY GOODSTYPECODE,GOODSID",
+                                    new CDAParameter("ACCOUNTID", accountId)
+                                );
+                                string rootId = dt.Rows[0]["id"].ToString();
+                                string rootCode = dt.Rows[0]["code"].ToString();
+                                string rootText = dt.Rows[0]["text"].ToString();
+                                string children = Easyui.TableToEasyUITree(dt, rootCode, 3);
+                                jsonStr = "[{\"id\":\"" + rootId + "\",\"text\":\"" + rootText + "\"" + children + "}]";
+                            }
+                        }
+                        context.Response.Write(jsonStr);
+                        break;
+                    }
                 case "getOrganization":
                     {
                         //获取部门 全部

+ 24 - 42
wwwroot/mes/pm/fqcitems/fqcitems.ashx

@@ -8,7 +8,7 @@ using System.Collections.Specialized;
 using System.Data;
 using Curtain.DataAccess;
 using DK.XuWei.WebMes;
-
+using System.Collections;
 /// <summary>
 /// TP_PM_FQCITEMS
 /// xuwei create 2023-09-07
@@ -265,31 +265,32 @@ public class fqcitems : IHttpHandler, IReadOnlySessionState
         using(IDataAccess conn= DataAccess.Create())
         {
             conn.BeginTransaction();
-            string[] goodscode = null;
+            string[] goodscode = form["goodstypecodeMaster"].ToString().Split(',');
+            ArrayList  al = new ArrayList(goodscode);
             string goods = null;
-            string goodstypes = form["goodstypecodeMaster"].ToString();
+            string goodstypes = null;
             DataTable goodstype = null;
-            if (goodstypes == "001") {
-                goodstype = conn.ExecuteDatatable(@"SELECT GOODSID,GOODSCODE FROM TP_MST_GOODS ", new CDAParameter(null,null));
-            }
-            if (goodstypes == "001001") {
-                goodstype = conn.ExecuteDatatable(@"SELECT GOODSID,GOODSCODE FROM TP_MST_GOODS  WHERE GOODSTYPEID IN 
-                                                       (SELECT GOODSTYPEID from TP_MST_GOODSTYPE  WHERE SUBSTR( GOODSTYPECODE, 0, 6 ) = '001001') ", new CDAParameter(null,null));
-            }
-            if (goodstypes == "001002") {
-                goodstype = conn.ExecuteDatatable(@"SELECT GOODSID,GOODSCODE FROM TP_MST_GOODS  WHERE GOODSTYPEID IN 
-                                                       (SELECT GOODSTYPEID from TP_MST_GOODSTYPE  WHERE SUBSTR( GOODSTYPECODE, 0, 6 ) = '001002') ", new CDAParameter(null,null));
-            }
-            if (goodstypes != "001"&&goodstypes != "001001"&&goodstypes != "001002")
-            {
-                goodstype = conn.ExecuteDatatable(@"SELECT G.GOODSID,G.GOODSCODE FROM TP_MST_GOODS G
-                                                    LEFT JOIN  tp_mst_goodstype GT ON G.GOODSTYPEID = GT.GOODSTYPEID
-                                                     WHERE GT.GOODSTYPECODE=@GOODSTYPECODE@", new CDAParameter("GOODSTYPECODE", goodstypes));
-            }
-            if ( form["GOODSCODE"]!= null && form["GOODSCODE"] != "") {
-                goods = form["GOODSCODE"].ToString();
+            int flags = 0;
+            for (int i = 0; i < al.Count; i++) {
+                string test = al[i].ToString();
+                if (test.Substring(0, 3) == "001") {
+                    al.RemoveAt(i);
+                    continue;
+                }
+                if (flags == 0)
+                {
+                    goodstypes += "'" + al[i] + "'";
+                }
+                else {
+                    goodstypes += ",'" + al[i]+"'";
+                }
+                flags++;
+
             }
 
+            goodstype = conn.ExecuteDatatable(@"SELECT GOODSID,GOODSCODE FROM TP_MST_GOODS WHERE VALUEFLAG=1 and GOODSCODE in(" +goodstypes+")", new CDAParameter(null, null));
+
+            int TEST=0;
             if (goodstype.Rows.Count >0 )
             {
                 goods += goodstype.Rows[0]["GOODSCODE"]+"...";
@@ -419,7 +420,6 @@ public class fqcitems : IHttpHandler, IReadOnlySessionState
                     INSERT INTO TP_PM_FQCITEMS (
                         INSPECTTYPE,
                         INSPECTNAME,
-                        GOODSID,
                         GOODSCODE,
                         INSPECTVERSION,
                         REMARKS,
@@ -429,7 +429,6 @@ public class fqcitems : IHttpHandler, IReadOnlySessionState
                     ) VALUES (
                         @INSPECTTYPE@,
                         @INSPECTNAME@,
-                        @GOODSID@,
                         @GOODSCODE@,
                         @INSPECTVERSION@,
                         @REMARKS@,
@@ -440,7 +439,6 @@ public class fqcitems : IHttpHandler, IReadOnlySessionState
                     ",
                     new CDAParameter("INSPECTTYPE", form["INSPECTTYPE"].ToString()),
                     new CDAParameter("INSPECTNAME", form["INSPECTNAME"].ToString()),
-                    new CDAParameter("GOODSID", 0),
                     new CDAParameter("GOODSCODE", goods.ToString()),
                     new CDAParameter("INSPECTVERSION", form["INSPECTVERSION"].ToString()),
                     new CDAParameter("REMARKS", form["REMARKS"]),
@@ -465,23 +463,7 @@ public class fqcitems : IHttpHandler, IReadOnlySessionState
                   );
                     }
                 }
-                else {
-                    goodscode = form["GOODSCODE"].ToString().Split(',');
-                    for (int i = 0; i < goodscode.Length; i++) {
-                        //  查询ID       
-                        int flag = conn.ExecuteNonQuery(@"
-                      INSERT INTO TP_PM_FQCITEMSGOODS ( ITEMSID, GOODSID, GOODSCODE, ACCOUNTID,  CREATEUSERID, UPDATEUSERID, REMARKS )
-                         VALUES ( @ITEMSID@, (SELECT  GOODSID FROM TP_MST_GOODS  WHERE GOODSCODE=@GOODSCODE@), @GOODSCODE@, @ACCOUNTID@, @CREATEUSERID@, @UPDATEUSERID@, @REMARKS@ )",
-                        //new CDAParameter("ITEMSID",primaryKey),
-                        new CDAParameter("ITEMSID", id),
-                        new CDAParameter("GOODSCODE", goodscode[i]),
-                        new CDAParameter("REMARKS", form["REMARKS"]),
-                        new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]),
-                        new CDAParameter("CREATEUSERID", HttpContext.Current.Session["userId"]),
-                        new CDAParameter("UPDATEUSERID", HttpContext.Current.Session["userId"])
-                        );
-                    }
-                }
+
             }
             conn.Commit();
             return new JsonResult(JsonStatus.success).ToJson();

+ 3 - 26
wwwroot/mes/pm/fqcitems/fqcitems_add.html

@@ -46,20 +46,10 @@
                     <div class="w-fieldname">检验标准名称:</div>
                     <div class="w-field"><input class="easyui-textbox" id="INSPECTNAME" name="INSPECTNAME" data-options="required:true,prompt:'请填写检验标准名称',tipPosition:'top'" style="width:100%;height:32px;"></div>
                 </div>
-                <!--<div class="w-div">
-        <div class="w-fieldname">产品ID:</div>
-        <div class="w-field"><input class="easyui-textbox" id="GOODSID" name="GOODSID" data-options="required:false,prompt:'请填写GOODSID...',tipPosition:'top'" style="width:100%;height:32px;"></div>
-    </div>-->
                 <div class="w-div">
                     <div class="w-fieldname">产品类别:</div>
                     <div class="w-field">
-                        <input class="easyui-combotree" id="goodstypecodeMaster" name="goodstypecodeMaster" data-options="required:false,prompt:'',tipPosition:'top',url:'/mes/list.ashx?m=getGoodsType',method:'get',valueField:'GOODSTYPEID',textField:'TEXT',panelHeight:'200px',editable:true" style="width: 100%; height: 32px;">
-                    </div>
-                </div>
-                <div class="w-div">
-                    <div class="w-fieldname">产品编码:</div>
-                    <div class="w-field">
-                        <input class="easyui-combobox" id="GOODSCODE" name="GOODSCODE" data-options="required:false,prompt:'',tipPosition:'top',url:'/mes/list.ashx?m=getGoods&select=1',method:'get',valueField:'GOODSCODE',textField:'GOODSCODE',panelHeight:'140px',editable:true,multiple:false" style="width: 100%; height: 32px;">
+                        <input class="easyui-combotree" id="goodstypecodeMaster" name="goodstypecodeMaster" data-options="required:false,prompt:'',tipPosition:'top',url:'/mes/list.ashx?m=getGoodsTpyes',method:'get',valueField:'GOODSCODE',textField:'TEXT',panelHeight:'200px',editable:true,multiple:true" style="width: 100%; height: 32px;">
                     </div>
                 </div>
                 <div class="w-div">
@@ -83,10 +73,11 @@
 			$('#fqcitemsForm').formLoad({
 				url: 'fqcitems.ashx?m=a'
 			});
-			$('#fqcitemsMore1').toggle();
+            $('#fqcitemsMore1').toggle();
 		});
 
         function fqcitemsButtonSubmit_Click() {
+            console.log($("#goodstypecodeMaster").combobox('getValue'));
             $.dialog.save({
                 formid: 'fqcitemsForm',
                 datagridid: 'fqcitemsDatagrid',
@@ -98,20 +89,6 @@
             $.dialog.close();
         }
 
-		//$("#GOODSCODE").combobox({
-		//	//相当于html >> select >> onChange事件  
-		//	onChange: function () {
-  //              var value = $("#GOODSCODE").combobox('getText');
-		//		if (value != "" && value != null) {
-		//			$("#goodstypecodeMaster").combobox('readonly', true);
-		//		} else {
-		//			$("#goodstypecodeMaster").combobox('readonly', false);
-		//		}
-		//	}
-  //      });
-
-
-
     </script>
 </body>
 </html>

+ 16 - 7
wwwroot/mes/pm/fqcitems/fqcitems_frame.html

@@ -19,7 +19,7 @@
 </head>
 <body class="easyui-layout">
 
-    <div data-options="border:false,region:'west',split:true,title:'',iconCls:'icon-grid'" title="West" style="width:25%;">
+    <div data-options="border:false,region:'west',split:true,title:'',iconCls:'icon-grid'" title="West" style="width: 90%; height: 55% ">
         <!--工具条-->
         <div id="fqcitemsToolbar" class="i-toolbar">
             <a href="javascript:void(0)" style="display:none" id="fqcitemsButtonInsert" title="添加" class="easyui-linkbutton" iconcls="icon-add" plain="true" onclick="fqcitemsButtonInsert_Click()">添加</a>
@@ -81,7 +81,7 @@
 
     </div>
 
-    <div data-options="region:'east',split:true,plain:true,border:false" style="width:20%;">
+    <div data-options="region:'east',split:true,plain:true,border:false" style="width: 10%; height: 55%">
 
         <!--工具条-->
         <div id="goodsToolbar" class="i-toolbar"> 
@@ -102,7 +102,7 @@
 
     </div>
 
-    <div data-options="region:'center',iconCls:'icon-grid',border:false" >
+    <div data-options="region:'south',iconCls:'icon-grid',border:false" style="height:45%">
         <!--工具条-->
         <div id="fqcitemsdetailToolbar" class="i-toolbar">
             <a href="javascript:void(0)" style="display:none" id="fqcitemsdetailButtonInsert" title="添加" class="easyui-linkbutton" iconcls="icon-add" plain="true" onclick="fqcitemsdetailButtonInsert_Click()">添加</a>
@@ -114,12 +114,14 @@
             <!--<a href="javascript:void(0)" style="display:none" id="fqcitemsdetailButtonExport" title="导出" class="easyui-linkbutton" iconcls="icon-excel" plain="true" onclick="fqcitemsdetailButtonExport_Click()">导出</a>-->
             <a href="javascript:void(0)" id="fqcitemsdetailButtonReload" title="刷新" class="easyui-linkbutton" iconcls="icon-reload" plain="true" onclick="fqcitemsdetailButtonReload_Click()">刷新</a>
             <!--<a href="javascript:void(0)" id="fqcitemsdetailButtonHelp" title="帮助" class="easyui-linkbutton" iconcls="icon-help" plain="true" onclick="fqcitemsdetailButtonHelp_Click()">帮助</a>-->
-            
+
             <span>|</span>
             <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true" onclick="append()">添加行</a>
             <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true" onclick="removeit()">移除行</a>
             <!--<a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-save',plain:true" onclick="acceptit()">确认</a>-->
             <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-undo',plain:true" onclick="reject()">还原</a>
+            <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-excel',plain:true" onclick="tbImport()">导入</a>
+           
             <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true" onclick="getChanges()">提交</a>
 
             <div id="fqcitemsdetailSearchDiv" style="display:none;padding:10px;">
@@ -167,7 +169,7 @@
                     <th data-options="field:'INSPECTTOOL',title:'检验工具',align:'left',sortable:true,editor:{
                             type:'combobox',
                             options:{
-                                valueField:'ID',
+                                valueField:'TEXT',
                                 textField:'TEXT',
                                 method:'get',
                                 url:'/mes/list.ashx?m=inspecttool',
@@ -177,7 +179,7 @@
                         editor:{
                             type:'combobox',
                             options:{
-                                valueField:'ID',
+                                valueField:'TEXT',
                                 textField:'TEXT',
                                 method:'get',
                                 url:'/mes/list.ashx?m=inspectmark',
@@ -441,7 +443,14 @@
                 });
            
         }
-
+		function tbImport() {
+			$('#fqcitemsdetailDatagrid').datagridLoad({
+				title: '导入数据',
+				width: 640,
+				height: 380,
+				url: 'fqcitems_frame.ashx?m=Import'
+			});
+		}
         //导出
         function fqcitemsdetailButtonExport_Click() {
             //加载表头

+ 279 - 5
wwwroot/mes/pm/fqcitems/fqcitemsdetail.ashx

@@ -38,6 +38,7 @@ public class fqcitemsdetail : IHttpHandler, IReadOnlySessionState
                 b.fqcitemsdetailButtonExport = true;
                 b.fqcitemsdetailButtonReload = true;
                 b.fqcitemsdetailButtonBatch = true;
+                b.fqcitemsdetailButtonImport = true;
             };
             switch (context.Request["m"].ToString().ToLower())
             {
@@ -142,6 +143,278 @@ public class fqcitemsdetail : IHttpHandler, IReadOnlySessionState
                         }
                         break;
                     }
+                case "Import":
+                    {
+                        //批量插入修改删除处理
+                        if (b.fqcitemsdetailButtonImport)
+                        {
+                            string filePath = "/mes/upload/" + DateTime.Now.ToString("yyyy-MM-dd");
+                            System.IO.Directory.CreateDirectory(context.Server.MapPath(filePath));
+                            string fileName = filePath + "/检验项目明细" + DateTime.Now.ToString("yyyy-MM");
+                            fileName += System.IO.Path.GetExtension(context.Request.Files[0].FileName);
+                            string diskFileName = context.Server.MapPath(fileName);
+                            if (System.IO.File.Exists(diskFileName)) System.IO.File.Delete(diskFileName);
+                            context.Request.Files[0].SaveAs(diskFileName);
+                            context.Response.Write(batch(context.Request["data"], context.Request["id"]));
+                            DataTable detailTable = Import.ExcelToDataTable(diskFileName);
+                            using (IDataAccess conn = DataAccess.Create())
+                            {
+                                conn.BeginTransaction();
+                                int itemsID = Convert.ToInt32(context.Request["id"]);
+                                if (detailTable != null && detailTable.Rows.Count > 0)
+                                {
+
+                                    DataTable itemsdetailsTable = conn.ExecuteDatatable(@" SELECT 
+                                                                                                        1
+                                                                                                    FROM
+                                                                                                        TP_PM_FQCITEMSDETAIL m 
+                                                                                                    WHERE 
+                                                                                                        m.VALUEFLAG = '1' 
+                                                                                                        AND m.ITEMSID = @ITEMSID@
+                                                                                                    ",
+                                    new CDAParameter("ITEMSID", itemsID)
+                                    );
+
+                                    if (itemsdetailsTable != null && itemsdetailsTable.Rows.Count > 0)
+                                    {
+                                        DataTable itemsTable = conn.ExecuteDatatable(@" SELECT 
+                                                                                                m.ITEMSID,
+                                                                                                m.INSPECTTYPE,
+                                                                                                m.INSPECTTYPE,
+                                                                                                m.INSPECTNAME,
+                                                                                                m.GOODSID,
+                                                                                                m.GOODSCODE,
+                                                                                                m.INSPECTVERSION,
+                                                                                                m.REMARKS,
+                                                                                                m.VALUEFLAG,
+                                                                                                m.ACCOUNTID
+                                                                                            FROM
+                                                                                                TP_PM_FQCITEMS m 
+                                                                                            WHERE 
+                                                                                                m.VALUEFLAG = '1' 
+                                                                                                AND m.ITEMSID = @ITEMSID@
+                                                                                            ",
+                                            new CDAParameter("ITEMSID", itemsID)
+                                        );
+
+                                        //产品明细
+                                        DataTable goodsTable = conn.ExecuteDatatable(@" SELECT 
+                                                                                                m.ITEMSID, 
+                                                                                                m.GOODSID,
+                                                                                                m.GOODSCODE,
+                                                                                                m.ACCOUNTID,
+                                                                                                m.REMARKS
+                                                                                            FROM
+                                                                                                TP_PM_FQCITEMSGOODS m 
+                                                                                            WHERE 
+                                                                                                m.VALUEFLAG = '1' 
+                                                                                                AND m.ITEMSID = @ITEMSID@
+                                                                                            ",
+                                        new CDAParameter("ITEMSID", itemsID)
+                                        );
+
+                                        //根据ID删除之前的版本
+                                        int result = conn.ExecuteNonQuery(@"
+                                                                            UPDATE TP_PM_FQCITEMS 
+                                                                            SET
+                                                                                VALUEFLAG = 0,
+                                                                                UPDATEUSERID = @UPDATEUSERID@,
+                                                                                UPDATETIME = sysdate
+                                                                            WHERE 
+                                                                                ITEMSID = @ITEMSID@
+                                                                            ",
+                                            new CDAParameter("ITEMSID", itemsID),
+                                            new CDAParameter("UPDATEUSERID", HttpContext.Current.Session["userId"])
+                                        );
+
+                                        //查询原数据,新建一条版本号加一的数据,主表,明细,产品
+                                        int resultaddItems = conn.ExecuteNonQuery(@"
+                                                                                    INSERT INTO TP_PM_FQCITEMS (
+                                                                                        INSPECTTYPE,
+                                                                                        INSPECTNAME,
+                                                                                        GOODSID,
+                                                                                        GOODSCODE,
+                                                                                        INSPECTVERSION,
+                                                                                        REMARKS,
+                                                                                        ACCOUNTID,
+                                                                                        CREATEUSERID,
+                                                                                        UPDATEUSERID
+                                                                                    ) VALUES (
+                                                                                        @INSPECTTYPE@,
+                                                                                        @INSPECTNAME@,
+                                                                                        @GOODSID@,
+                                                                                        @GOODSCODE@,
+                                                                                        @INSPECTVERSION@,
+                                                                                        @REMARKS@,
+                                                                                        @ACCOUNTID@,
+                                                                                        @CREATEUSERID@,
+                                                                                        @UPDATEUSERID@
+                                                                                    )
+                                                                                    ",
+                                           new CDAParameter("INSPECTTYPE", itemsTable.Rows[0]["INSPECTTYPE"].ToString()),
+                                           new CDAParameter("INSPECTNAME", itemsTable.Rows[0]["INSPECTNAME"].ToString()),
+                                           new CDAParameter("GOODSID", 0),
+                                           new CDAParameter("GOODSCODE", itemsTable.Rows[0]["GOODSCODE"].ToString()),
+                                           new CDAParameter("INSPECTVERSION", Convert.ToInt32(itemsTable.Rows[0]["INSPECTVERSION"]) + 1),
+                                           new CDAParameter("REMARKS", itemsTable.Rows[0]["REMARKS"]),
+                                           new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]),
+                                           new CDAParameter("CREATEUSERID", HttpContext.Current.Session["userId"]),
+                                           new CDAParameter("UPDATEUSERID", HttpContext.Current.Session["userId"])
+                                       );
+                                        object newID = conn.ExecuteScalar(@"SELECT SEQ_PM_FQCITEMS_ID.currval from dual");
+
+                                        //产品
+                                        for (int i = 0; i < goodsTable.Rows.Count; i++)
+                                        {
+                                            int goodsresult = conn.ExecuteNonQuery(@"
+                                                INSERT INTO TP_PM_FQCITEMSGOODS ( ITEMSID, GOODSID, GOODSCODE, ACCOUNTID, CREATEUSERID, UPDATEUSERID, REMARKS )
+                                                    VALUES ( @ITEMSID@, @GOODSID@, @GOODSCODE@, @ACCOUNTID@, @CREATEUSERID@, @UPDATEUSERID@, @REMARKS@ )",
+                                            new CDAParameter("ITEMSID", newID),
+                                            new CDAParameter("GOODSID", goodsTable.Rows[i]["GOODSID"].ToString()),
+                                            new CDAParameter("GOODSCODE", goodsTable.Rows[i]["GOODSCODE"].ToString()),
+                                            new CDAParameter("REMARKS", goodsTable.Rows[i]["REMARKS"]),
+                                            new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]),
+                                            new CDAParameter("CREATEUSERID", HttpContext.Current.Session["userId"]),
+                                            new CDAParameter("UPDATEUSERID", HttpContext.Current.Session["userId"])
+                                          );
+                                        }
+
+                                        //明细
+                                        for (int i = 0; i < detailTable.Rows.Count; i++)
+                                        {
+                                            int detailresult = conn.ExecuteNonQuery(@"
+                                                INSERT INTO TP_PM_FQCITEMSDETAIL ( 
+                                                    ITEMSID,
+                                                    INSPECTITEM,
+                                                    INSPECTTOOL,
+                                                    INSPECTMARK,
+                                                    INSPECTWAY,
+                                                    ISINSPECT,
+                                                    INSPECTBASIS,
+                                                    DEFECTGRADE,
+                                                    TECHNICALREQUIREMENT,
+                                                    LOWERLIMIT,
+                                                    UPPERLIMIT,
+                                                    INSPECTCOUNT,
+                                                    ISAVERAGE,  
+                                                    UNITNAME,
+                                                    REMARKS,
+                                                    ACCOUNTID,CREATEUSERID,UPDATEUSERID
+                                                ) VALUES ( 
+                                                    @ITEMSID@,
+                                                    @INSPECTITEM@,
+                                                   (SELECT DISTINCT T.DICTIONARYID AS ID FROM TP_MST_DATADICTIONARY T WHERE T.VALUEFLAG = 1 AND T.DICTIONARYTYPE = 'TPC022' AND T.DICTIONARYVALUE=@INSPECTTOOL@),
+                                                   (SELECT DISTINCT T.DICTIONARYID AS ID FROM TP_MST_DATADICTIONARY T WHERE T.VALUEFLAG = 1 AND T.DICTIONARYTYPE = 'TPC023' AND T.DICTIONARYVALUE=@INSPECTMARK@),
+                                                    @INSPECTWAY@,
+                                                    @ISINSPECT@,
+                                                    @INSPECTBASIS@,
+                                                    @DEFECTGRADE@,
+                                                    @TECHNICALREQUIREMENT@,
+                                                    @LOWERLIMIT@,
+                                                    @UPPERLIMIT@,
+                                                    @INSPECTCOUNT@,
+                                                    @ISAVERAGE@,
+                                                    @UNITNAME@,
+                                                    @REMARKS@,
+                                                    @ACCOUNTID@,@CREATEUSERID@,@UPDATEUSERID@
+                                                )
+                                                ",
+                                                                 new CDAParameter("ITEMSID", newID),
+                                                                 new CDAParameter("INSPECTITEM", detailTable.Rows[i]["INSPECTITEM"]),
+                                                                 new CDAParameter("INSPECTTOOL", detailTable.Rows[i]["INSPECTTOOL"]),
+                                                                 new CDAParameter("INSPECTMARK", detailTable.Rows[i]["INSPECTMARK"]),
+                                                                 new CDAParameter("INSPECTWAY", detailTable.Rows[i]["INSPECTWAY"]),
+                                                                 new CDAParameter("ISINSPECT", detailTable.Rows[i]["ISINSPECT"]),
+                                                                 new CDAParameter("INSPECTBASIS", detailTable.Rows[i]["INSPECTBASIS"]),
+                                                                 new CDAParameter("DEFECTGRADE", detailTable.Rows[i]["DEFECTGRADE"]),
+                                                                 new CDAParameter("TECHNICALREQUIREMENT", detailTable.Rows[i]["TECHNICALREQUIREMENT"]),
+                                                                 new CDAParameter("LOWERLIMIT", detailTable.Rows[i]["LOWERLIMIT"]),
+                                                                 new CDAParameter("UPPERLIMIT", detailTable.Rows[i]["UPPERLIMIT"]),
+                                                                 new CDAParameter("INSPECTCOUNT", detailTable.Rows[i]["INSPECTCOUNT"]),
+                                                                 new CDAParameter("ISAVERAGE", detailTable.Rows[i]["ISAVERAGE"]),
+                                                                 new CDAParameter("UNITNAME", detailTable.Rows[i]["UNITNAME"]),
+                                                                 new CDAParameter("REMARKS", detailTable.Rows[i]["REMARKS"]),
+                                                                 new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]),
+                                                                 new CDAParameter("CREATEUSERID", HttpContext.Current.Session["userId"]),
+                                                                 new CDAParameter("UPDATEUSERID", HttpContext.Current.Session["userId"])
+                                                              );
+                                        }
+                                    }
+                                    else
+                                    {
+                                        //明细
+                                        for (int i = 0; i < detailTable.Rows.Count; i++)
+                                        {
+                                            int detailresult = conn.ExecuteNonQuery(@"
+                        INSERT INTO TP_PM_FQCITEMSDETAIL ( 
+                            ITEMSID,
+                            INSPECTITEM,
+                            INSPECTTOOL,
+                            INSPECTMARK,
+                            INSPECTWAY,
+                            ISINSPECT,
+                            INSPECTBASIS,
+                            DEFECTGRADE,
+                            TECHNICALREQUIREMENT,
+                            LOWERLIMIT,
+                            UPPERLIMIT,
+                            INSPECTCOUNT,
+                            ISAVERAGE,  
+                            UNITNAME,
+                            REMARKS,
+                            ACCOUNTID,CREATEUSERID,UPDATEUSERID
+                        ) VALUES ( 
+                            @ITEMSID@,
+                            @INSPECTITEM@,
+                            @INSPECTTOOL@,
+                            @INSPECTMARK@,
+                            @INSPECTWAY@,
+                            @ISINSPECT@,
+                            @INSPECTBASIS@,
+                            @DEFECTGRADE@,
+                            @TECHNICALREQUIREMENT@,
+                            @LOWERLIMIT@,
+                            @UPPERLIMIT@,
+                            @INSPECTCOUNT@,
+                            @ISAVERAGE@,
+                            @UNITNAME@,
+                            @REMARKS@,
+                            @ACCOUNTID@,@CREATEUSERID@,@UPDATEUSERID@
+                        )
+                        ",
+                                               new CDAParameter("ITEMSID", itemsID),
+                                               new CDAParameter("INSPECTITEM", detailTable.Rows[i]["INSPECTITEM"]),
+                                               new CDAParameter("INSPECTTOOL", detailTable.Rows[i]["INSPECTTOOL"]),
+                                               new CDAParameter("INSPECTMARK", detailTable.Rows[i]["INSPECTMARK"]),
+                                               new CDAParameter("INSPECTWAY", detailTable.Rows[i]["INSPECTWAY"]),
+                                               new CDAParameter("ISINSPECT", detailTable.Rows[i]["ISINSPECT"]),
+                                               new CDAParameter("INSPECTBASIS", detailTable.Rows[i]["INSPECTBASIS"]),
+                                               new CDAParameter("DEFECTGRADE", detailTable.Rows[i]["DEFECTGRADE"]),
+                                               new CDAParameter("TECHNICALREQUIREMENT", detailTable.Rows[i]["TECHNICALREQUIREMENT"]),
+                                               new CDAParameter("LOWERLIMIT", detailTable.Rows[i]["LOWERLIMIT"]),
+                                               new CDAParameter("UPPERLIMIT", detailTable.Rows[i]["UPPERLIMIT"]),
+                                               new CDAParameter("INSPECTCOUNT", detailTable.Rows[i]["INSPECTCOUNT"]),
+                                               new CDAParameter("ISAVERAGE", detailTable.Rows[i]["ISAVERAGE"]),
+                                               new CDAParameter("UNITNAME", detailTable.Rows[i]["UNITNAME"]),
+                                               new CDAParameter("REMARKS", detailTable.Rows[i]["REMARKS"]),
+                                               new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]),
+                                               new CDAParameter("CREATEUSERID", HttpContext.Current.Session["userId"]),
+                                               new CDAParameter("UPDATEUSERID", HttpContext.Current.Session["userId"])
+                                            );
+                                        }
+                                    }
+                                }
+                                conn.Commit();
+                            }
+                            context.Response.Write(new JsonResult(JsonStatus.success).ToJson());
+                        }
+                        else
+                        {
+                            context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
+                        }
+                        break;
+                    }
+
                 default:
                     {
                         break;
@@ -161,7 +434,7 @@ public class fqcitemsdetail : IHttpHandler, IReadOnlySessionState
     /// <returns></returns>
     private string batch(string jsondata, string sid)
     {
-        using(IDataAccess conn = DataAccess.Create())
+        using (IDataAccess conn = DataAccess.Create())
         {
             conn.BeginTransaction();
             int itemsID = Convert.ToInt32(sid);
@@ -182,7 +455,7 @@ public class fqcitemsdetail : IHttpHandler, IReadOnlySessionState
                 );
 
                 if (itemsdetailsTable != null && itemsdetailsTable.Rows.Count > 0)
-                { 
+                {
                     DataTable itemsTable = conn.ExecuteDatatable(@" SELECT 
                         m.ITEMSID,
                         m.INSPECTTYPE,
@@ -309,8 +582,8 @@ public class fqcitemsdetail : IHttpHandler, IReadOnlySessionState
                         ) VALUES ( 
                             @ITEMSID@,
                             @INSPECTITEM@,
-                            @INSPECTTOOL@,
-                            @INSPECTMARK@,
+                           (SELECT DISTINCT T.DICTIONARYID AS ID FROM TP_MST_DATADICTIONARY T WHERE T.VALUEFLAG = 1 AND T.DICTIONARYTYPE = 'TPC022' AND T.DICTIONARYVALUE=@INSPECTTOOL@),
+                           (SELECT DISTINCT T.DICTIONARYID AS ID FROM TP_MST_DATADICTIONARY T WHERE T.VALUEFLAG = 1 AND T.DICTIONARYTYPE = 'TPC023' AND T.DICTIONARYVALUE=@INSPECTMARK@),
                             @INSPECTWAY@,
                             @ISINSPECT@,
                             @INSPECTBASIS@,
@@ -417,7 +690,7 @@ public class fqcitemsdetail : IHttpHandler, IReadOnlySessionState
             }
             conn.Commit();
             return new JsonResult(JsonStatus.success).ToJson();
-        } 
+        }
     }
 
     /// <summary>
@@ -807,6 +1080,7 @@ public class fqcitemsdetail : IHttpHandler, IReadOnlySessionState
         public bool fqcitemsdetailButtonExport = false;
         public bool fqcitemsdetailButtonReload = false;
         public bool fqcitemsdetailButtonBatch = false;
+        public bool fqcitemsdetailButtonImport = false;
     }
 
     private class xRecord