|  |  | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 var WorkBookName = HttpContext.Current.Request["WorkBookName"]; | 
 |  |  |                 DBUtility.ClsPub.HOrgID = long.Parse(HttpContext.Current.Request["HOrgID"]); | 
 |  |  |                 //获取文件名称 | 
 |  |  |                 var file = HttpContext.Current.Request.Files[0]; | 
 |  |  |                 //获取文件物理路径 | 
 |  |  | 
 |  |  |                 var error = ""; | 
 |  |  |  | 
 |  |  |                 //查询工艺路线没有的列 | 
 |  |  |                 if (!tb2.Columns.Contains("物料代码")) | 
 |  |  |                     error += "没有找到【物料代码】的标题,"; | 
 |  |  |                 if (!tb2.Columns.Contains("产品代码")) | 
 |  |  |                     error += "没有找到【产品代码】的标题,"; | 
 |  |  |  | 
 |  |  |                 if (!tb2.Columns.Contains("工序")) | 
 |  |  |                     error += "没有找到【工序】的标题,"; | 
 |  |  |                | 
 |  |  |                 if (!tb2.Columns.Contains("工作中心名称")) | 
 |  |  |                     error += "没有找到【工作中心名称】的标题,"; | 
 |  |  |                 if (!tb2.Columns.Contains("工作中心")) | 
 |  |  |                     error += "没有找到【工作中心】的标题,"; | 
 |  |  |  | 
 |  |  |                 if (!tb2.Columns.Contains("加工数量")) | 
 |  |  |                     error += "没有找到【加工数量】的标题,"; | 
 |  |  |  | 
 |  |  |                 if (!tb2.Columns.Contains("开工余量固数")) | 
 |  |  |                     error += "没有找到【开工余量固数】的标题,"; | 
 |  |  |                 if (!tb2.Columns.Contains("本道开工余量")) | 
 |  |  |                     error += "没有找到【本道开工余量】的标题,"; | 
 |  |  |  | 
 |  |  |                 if (!tb2.Columns.Contains("开工余量天数")) | 
 |  |  |                     error += "没有找到【开工余量天数】的标题,"; | 
 |  |  |                 if (!tb2.Columns.Contains("本道固定开工天数")) | 
 |  |  |                     error += "没有找到【本道固定开工天数】的标题,"; | 
 |  |  |  | 
 |  |  |                 if (!tb2.Columns.Contains("班产定额")) | 
 |  |  |                     error += "没有找到【班产定额】的标题,"; | 
 |  |  |  | 
 |  |  |                 if (!tb2.Columns.Contains("工价")) | 
 |  |  |                     error += "没有找到【工价】的标题,"; | 
 |  |  |                 if (!tb2.Columns.Contains("工序工价")) | 
 |  |  |                     error += "没有找到【工序工价】的标题,"; | 
 |  |  |  | 
 |  |  |                 if (!tb2.Columns.Contains("工序号")) | 
 |  |  |                     error += "没有找到【工序号】的标题,"; | 
 |  |  |                 if (!tb2.Columns.Contains("工序序号")) | 
 |  |  |                     error += "没有找到【工序序号】的标题,"; | 
 |  |  |  | 
 |  |  |                 if (!tb2.Columns.Contains("工艺参数")) | 
 |  |  |                     error += "没有找到【工艺参数】的标题,"; | 
 |  |  | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 Checkdata(tb2); | 
 |  |  |  | 
 |  |  |                 string hnumber = ""; | 
 |  |  |                 if (tb2.Rows.Count > 0) | 
 |  |  |                 objJsonResult = (json)Checkdata(tb2); | 
 |  |  |                 if (objJsonResult.code == "0") | 
 |  |  |                 { | 
 |  |  |                     hnumber = DBUtility.ClsPub.isStrNull(tb2.Rows[0]["物料代码"].ToString()); | 
 |  |  |                     return objJsonResult; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 for (int i = 0; i <= tb2.Rows.Count - 1; i++) | 
 |  |  |                 { | 
 |  |  |                     string sHNumber = ""; | 
 |  |  |                     if (DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料代码"].ToString()) != "") | 
 |  |  |                     if (DBUtility.ClsPub.isStrNull(tb2.Rows[i]["产品代码"].ToString()) != "") | 
 |  |  |                     { | 
 |  |  |                         // | 
 |  |  |                         sHNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料代码"].ToString()); | 
 |  |  |                         sHNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["产品代码"].ToString()); | 
 |  |  |                         //审核代码是否合理 | 
 |  |  |                         if (!DBUtility.ClsPub.AllowNumber(sHNumber)) | 
 |  |  |                         { | 
 |  |  | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         if (hnumber == DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料代码"].ToString())) | 
 |  |  |                         //得到物料内码 | 
 |  |  |                         if (!oMaterHlp.GetInfoByNumber(sHNumber)) | 
 |  |  |                         { | 
 |  |  |                             //得到物料内码 | 
 |  |  |                             if (!oMaterHlp.GetInfoByNumber(sHNumber)) | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.code = "0"; | 
 |  |  |                                 objJsonResult.count = 0; | 
 |  |  |                                 objJsonResult.Message = "第" + i.ToString() + "行," + sHNumber + "没有找到对应的物料!"; | 
 |  |  |                                 objJsonResult.data = null; | 
 |  |  |                                 return objJsonResult; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         else | 
 |  |  |                         { | 
 |  |  |                             DataSet Ds; | 
 |  |  |                             ClsCN oCn = new ClsCN(); | 
 |  |  |                             bool b = false; | 
 |  |  |                             // 判断是否存在工艺路线 | 
 |  |  |                             Ds = oCn.RunProcReturn("Select HMaterID from Gy_RoutingBillMain Where HMaterID=" + oMaterHlp.omodel.HItemID.ToString(), "Gy_RoutingBillMain"); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                             hnumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料代码"].ToString()); | 
 |  |  |                             sHNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["物料代码"].ToString()); | 
 |  |  |  | 
 |  |  |                             //审核代码是否合理 | 
 |  |  |                             if (!DBUtility.ClsPub.AllowNumber(sHNumber)) | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.code = "0"; | 
 |  |  |                                 objJsonResult.count = 0; | 
 |  |  |                                 objJsonResult.Message = "物料代码中不能出现连续‘.’并且首位末位不能为‘.’!"; | 
 |  |  |                                 objJsonResult.data = null; | 
 |  |  |                                 return objJsonResult; | 
 |  |  |                             } | 
 |  |  |                             //得到物料内码 | 
 |  |  |                             if (!oMaterHlp.GetInfoByNumber(sHNumber)) | 
 |  |  |                             { | 
 |  |  |                                 objJsonResult.code = "0"; | 
 |  |  |                                 objJsonResult.count = 0; | 
 |  |  |                                 objJsonResult.Message = "第" + i.ToString() + "行," + sHNumber + "没有找到对应的物料!"; | 
 |  |  |                                 objJsonResult.data = null; | 
 |  |  |                                 return objJsonResult; | 
 |  |  |                             } | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = "第" + (i + 1).ToString() + "行," + sHNumber + "没有找到对应的物料!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                     else | 
 |  |  |                     { | 
 |  |  |                         objJsonResult.code = "0"; | 
 |  |  |                         objJsonResult.count = 0; | 
 |  |  |                         objJsonResult.Message = "第" + i.ToString() + "行,没有找到对应的物料!"; | 
 |  |  |                         objJsonResult.Message = "第" + (i + 1).ToString() + "行,没有找到对应的物料!"; | 
 |  |  |                         objJsonResult.data = null; | 
 |  |  |                         return objJsonResult; | 
 |  |  |                     } | 
 |  |  | 
 |  |  |                 Single sHPassRate = 0; | 
 |  |  |  | 
 |  |  |                 // | 
 |  |  |                 sHNumber = DBUtility.ClsPub.isStrNull(dt.Rows[i]["物料代码"].ToString()); | 
 |  |  |                 sHNumberCen = DBUtility.ClsPub.isStrNull(dt.Rows[i]["工作中心名称"].ToString()); | 
 |  |  |                 sHNumber = DBUtility.ClsPub.isStrNull(dt.Rows[i]["产品代码"].ToString()); | 
 |  |  |                 sHNumberCen = DBUtility.ClsPub.isStrNull(dt.Rows[i]["工作中心"].ToString()); | 
 |  |  |                 sHNamePoc = DBUtility.ClsPub.isStrNull(dt.Rows[i]["工序"].ToString()); | 
 |  |  |                 sWorkQty = DBUtility.ClsPub.isSingle(dt.Rows[i]["加工数量"].ToString()); | 
 |  |  |                 sHPassRate = DBUtility.ClsPub.isSingle(dt.Rows[i]["良率"].ToString()); | 
 |  |  | 
 |  |  |             oCN.Commit(); | 
 |  |  |             objJsonResult.code = "1"; | 
 |  |  |             objJsonResult.count = 1; | 
 |  |  |             objJsonResult.Message = "单据保存成功!"; | 
 |  |  |             objJsonResult.Message = objJsonResult.Message; | 
 |  |  |             objJsonResult.data = null; | 
 |  |  |             return objJsonResult; | 
 |  |  |         } | 
 |  |  | 
 |  |  |                     list.Add(dic); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 int TrueCount = 0, SumCount = 0; | 
 |  |  |                 var hnumber = ""; | 
 |  |  |                 var HBillNo = ""; | 
 |  |  |                 long HInterID = 0; | 
 |  |  |                 int[] num = new int[2] { 1, 0 }; | 
 |  |  |  | 
 |  |  |                 for (int i = 0; i < list.Count; i++) | 
 |  |  |                 { | 
 |  |  |                     long HInterID = 0; | 
 |  |  |                     var HBillNo = ""; | 
 |  |  |                     if (list[i]["单据号"].ToString() == "" && list[i]["hmainid"].ToString() == "") | 
 |  |  |                     //获取物料数据 | 
 |  |  |                     ds = oCN.RunProcReturn("select * from h_v_IF_Material Where HNumber='" + list[i]["产品代码"].ToString() + "' and HUSEORGID=" + omdelMian.HOrgID, "h_v_IF_Material"); | 
 |  |  |                     var HMaterNumber = list[i]["产品代码"].ToString(); | 
 |  |  |                     var HMaterID = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
 |  |  |                     var Hunitid = ds.Tables[0].Rows[0]["Hunitid"].ToString(); | 
 |  |  |                     var HUnitNumber = ds.Tables[0].Rows[0]["HUnitNumber"].ToString(); | 
 |  |  |  | 
 |  |  |                     var HName = list[i]["工艺路线名称"].ToString(); | 
 |  |  |                     var HPicNumVer = list[i]["图号版本"].ToString(); | 
 |  |  |                     var HPicNumAssemble = list[i]["总装图号"].ToString(); | 
 |  |  |                     var HMaterTexture = list[i]["材质"].ToString(); | 
 |  |  |                     var HProductNum = list[i]["成品编号"].ToString(); | 
 |  |  |                     var HVerNum = list[i]["版本"].ToString(); | 
 |  |  |                     var HMainPrice = list[i]["工序工价"].ToString(); | 
 |  |  |  | 
 |  |  |                     if (hnumber != list[i]["产品代码"].ToString()) | 
 |  |  |                     { | 
 |  |  |                         //获取相同主表的子表的添加次数 HEntryID | 
 |  |  |                         num[0] = 1; | 
 |  |  |                         hnumber = list[i]["产品代码"].ToString(); | 
 |  |  |                         HBillNo = DBUtility.ClsPub.CreateBillCode_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo, true);//获得一个新的单据号 | 
 |  |  |                         HInterID = DBUtility.ClsPub.CreateBillID_Prod(BillType, ref DBUtility.ClsPub.sExeReturnInfo);//获得一个新的id | 
 |  |  |                         var HICMOBillNo = list[i]["生产订单号*"].ToString(); | 
 |  |  |                         var HICMOEntrySEQ = list[i]["生产订单明细行号*"].ToString(); | 
 |  |  |                         var HWorkShopID = list[i]["HWorkShopID"].ToString(); | 
 |  |  |                         var HSourceID = list[i]["HSourceID"].ToString(); | 
 |  |  |                         var HYX = list[i]["优先级"].ToString(); | 
 |  |  |                         var HEmpID = list[i]["HEmpID"].ToString(); | 
 |  |  |                         var HMaterID = list[i]["HMaterID"].ToString(); | 
 |  |  |                         var HMaterName = list[i]["物料名称"].ToString(); | 
 |  |  |                         var HMaterModel = list[i]["规格型号"].ToString(); | 
 |  |  |                         var HUnitID = list[i]["HUnitID"].ToString(); | 
 |  |  |                         var HBatchNo = list[i]["批次号"].ToString(); | 
 |  |  |                         var HSeOrderBillQty = list[i]["销售订单数量"].ToString(); | 
 |  |  |                         var HPlanQty = list[i]["生产订单数量"].ToString(); | 
 |  |  |                         var HCompleteQty = list[i]["总齐套数量"].ToString(); | 
 |  |  |                         var HOrderType = ""; | 
 |  |  |                         var HDate = ""; | 
 |  |  |                         var HMainSourceInterID = list[i]["ICMOBillHInterID"].ToString(); | 
 |  |  |                         var HMainSourceEntryID = list[i]["ICMOBillHEntryID"].ToString(); | 
 |  |  |  | 
 |  |  |                         ds = oCN.RunProcReturn($"select * from  Sc_WorkBillSortBillMain where HMainSourceInterID={HMainSourceInterID}" + | 
 |  |  |                           $" and HMainSourceEntryID={HMainSourceEntryID} and HICMOBillNo='{HICMOBillNo}' and HICMOEntrySEQ={HICMOEntrySEQ} and HSourceID={HSourceID}", "Sc_WorkBillSortBillMain"); | 
 |  |  |                         if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |                         { | 
 |  |  |                             objJsonResult.code = "0"; | 
 |  |  |                             objJsonResult.count = 0; | 
 |  |  |                             objJsonResult.Message = $"第{i + 1}行生产资源有重复,请修改!"; | 
 |  |  |                             objJsonResult.data = null; | 
 |  |  |                             return objJsonResult; | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         //主表 | 
 |  |  |                         oCN.RunProc("insert into Sc_WorkBillSortBillMain(HInterID,HBillNo,HYear,HPeriod,HBillType," + | 
 |  |  |                             "HBillSubType,HDate,HBillStatus,HMaker,HMakeDate,HICMOBillNo,HOrderType," + | 
 |  |  |                             "HICMOEntrySEQ,HWorkShopID,HSourceID, HYX, HEmpID," + | 
 |  |  |                             " HMaterID, HMaterName, HMaterModel, HUnitID, HBatchNo," + | 
 |  |  |                             " HSeOrderBillQty, HPlanQty, HCompleteQty,HPreparatDate," + | 
 |  |  |                             "HMainSourceInterID,HMainSourceEntryID)values" + | 
 |  |  |                             $"({HInterID},'{HBillNo}',{DateTime.Now.Year},{DateTime.Now.Month},'{BillType}'," + | 
 |  |  |                             $"'{BillType}',GETDATE(),1,'{user}','{HDate}','{HICMOBillNo}','{HOrderType}'," + | 
 |  |  |                             $"{(HICMOEntrySEQ == "" ? 0.ToString() : HICMOEntrySEQ)},{(HWorkShopID == "" ? 0.ToString() : HWorkShopID)},{(HSourceID == "" ? 0.ToString() : HSourceID)}, {(HYX == "" ? 0.ToString() : HYX)}, {(HEmpID == "" ? 0.ToString() : HEmpID)}," + | 
 |  |  |                             $" {(HMaterID == "" ? 0.ToString() : HMaterID)}, '{HMaterName}', '{HMaterModel}', {(HUnitID == "" ? 0.ToString() : HUnitID)}, '{HBatchNo}'," + | 
 |  |  |                             $" {(HSeOrderBillQty == "" ? 0.ToString() : HSeOrderBillQty)}, {(HPlanQty == "" ? 0.ToString() : HPlanQty)}, {(HCompleteQty == "" ? 0.ToString() : HCompleteQty)},getdate()," + | 
 |  |  |                             $" {HMainSourceInterID},{HMainSourceEntryID})"); | 
 |  |  |                         //添加主表数据 | 
 |  |  |                         oCN.RunProc("insert into Gy_RoutingBillMain(HInterID, HBillNo, HYear, HPeriod, HBillType, HDate, HBillStatus, " + | 
 |  |  |                                       "HMaker, HMakeDate,HMaterNumber, HMaterID, Hunitid, HUnitNumber, HName," + | 
 |  |  |                                       "HPicNumVer, HPicNumAssemble, HMaterTexture, HProductNum, HVerNum, HRoutingGroupID, HStandard, HRemark,HMainPrice" + | 
 |  |  |                                       ",HOrgID)values" + | 
 |  |  |                                       $"({HInterID}, '{HBillNo}', {omdelMian.HYear}, {omdelMian.HPeriod}, '{BillType}', GETDATE(), 1" + | 
 |  |  |                                       $", '{user}', GETDATE(), '{HMaterNumber}', {HMaterID}, {Hunitid}, '{HUnitNumber}', '{HName}'," + | 
 |  |  |                                       $" '{HPicNumVer}', '{HPicNumAssemble}', '{HMaterTexture}', '{HProductNum}', '{HVerNum}', 0, 1, '',{(HMainPrice==""?"0":HMainPrice)}" + | 
 |  |  |                                       $",{omdelMian.HOrgID})"); | 
 |  |  |                         //获取主表添加的次数 | 
 |  |  |                         num[1]++; | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     int SumDay = 31; //动态两月之差 DateTime.Now.AddMonths(1).AddDays(-1).Subtract(DateTime.Now).Days; | 
 |  |  |                     //获取供应商 | 
 |  |  |                     ds = oCN.RunProcReturn("select * from h_v_Gy_SupplierList Where 供应商代码='" + list[i]["供应商代码"].ToString()+"'", "h_v_Gy_SupplierList"); | 
 |  |  |                     var HSupID = "0"; | 
 |  |  |                     if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |                         HSupID = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
 |  |  |  | 
 |  |  |                     for (int j = 0; j < SumDay; j++) | 
 |  |  |                     { | 
 |  |  |                         //主表子表都有数据 | 
 |  |  |                         if (list[i][DateTime.Now.AddDays(j).ToString("yyyy-MM-dd")].ToString() != "") | 
 |  |  |                         { | 
 |  |  |                             SumCount += 1; | 
 |  |  |                             ////保存子表 | 
 |  |  |                             objJsonResult = RoutAddBillSub(HInterID == 0 ? list[i]["hmainid"].ToString() : HInterID.ToString() | 
 |  |  |                                 , HBillNo == "" ? list[i]["单据号"].ToString() : HBillNo | 
 |  |  |                                  , DateTime.Parse(DateTime.Now.AddDays(j).ToString("yyyy-MM-dd").ToString()) | 
 |  |  |                                  , int.Parse(list[i][DateTime.Now.AddDays(j).ToString("yyyy-MM-dd")].ToString())); | 
 |  |  |                     //获取工序 | 
 |  |  |                     ds = oCN.RunProcReturn("select * from Gy_Process Where HNumber='" + list[i]["工序代码"].ToString() + "'", "Gy_Process"); | 
 |  |  |                     var HProcID = "0"; | 
 |  |  |                     if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |                         HProcID = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
 |  |  |  | 
 |  |  |                             if (objJsonResult.count == 1) | 
 |  |  |                             { | 
 |  |  |                                 TrueCount += 1; | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                         //主表有数据 子表无数据 | 
 |  |  |                         if (j == 30 && SumCount == 0 && HInterID != 0 && HBillNo != "") | 
 |  |  |                         { | 
 |  |  |                             objJsonResult = RoutAddBillSub(HInterID.ToString(), HBillNo, DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd").ToString()), 0); | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                     //获取工作中心 | 
 |  |  |                     ds = oCN.RunProcReturn("select * from Gy_WorkCenter Where HName='" + list[i]["工作中心"].ToString() + "'", "Gy_WorkCenter"); | 
 |  |  |                     var HCenterID = "0"; | 
 |  |  |                     if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |                         HCenterID = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
 |  |  |  | 
 |  |  |                 if (TrueCount != SumCount) | 
 |  |  |                 { | 
 |  |  |                     objJsonResult.code = "0"; | 
 |  |  |                     objJsonResult.count = 0; | 
 |  |  |                     objJsonResult.Message = objJsonResult.Message; | 
 |  |  |                     objJsonResult.data = null; | 
 |  |  |                     return objJsonResult; | 
 |  |  |                     var HProcNo = list[i]["工序序号"].ToString(); | 
 |  |  |                     var HTimeUnit = list[i]["时间单位"].ToString(); | 
 |  |  |                     var hworkqty = list[i]["加工数量"].ToString(); | 
 |  |  |                     var HFixPrice = list[i]["班产定额"].ToString(); | 
 |  |  |                     var HBadPrice = list[i]["不合格单价"].ToString(); | 
 |  |  |                     var HWasterPrice = list[i]["报废单价"].ToString(); | 
 |  |  |                     var HBeginFixQty = list[i]["本道固定开工天数"].ToString(); | 
 |  |  |                     var HBeginDayQty = list[i]["本道开工余量"].ToString(); | 
 |  |  |                     var HFixWorkDays = list[i]["上道等待天数"].ToString(); | 
 |  |  |                     var HTrunWorkDays = list[i]["上道循环周期"].ToString(); | 
 |  |  |                     var HAutoTrunFlag = list[i]["自动转移"].ToString(); | 
 |  |  |                     var HSupFlag = list[i]["外协标记"].ToString(); | 
 |  |  |                     var HTechnologyParameter = list[i]["工艺参数"].ToString(); | 
 |  |  |                     var HPicNum = list[i]["图纸编号"].ToString(); | 
 |  |  |                     var HProcCheckNote = list[i]["本工序确认记录"].ToString(); | 
 |  |  |                     var hpassrate = list[i]["良率"].ToString(); | 
 |  |  |                     var hremark = list[i]["备注"].ToString(); | 
 |  |  |                     var HMouldNo = list[i]["模具编号"].ToString(); | 
 |  |  |                     var HProcWorkNum = list[i]["程序号"].ToString(); | 
 |  |  |                     //物料分类 | 
 |  |  |  | 
 |  |  |                     oCN.RunProc("Insert into Gy_RoutingBillSub (HInterID,HEntryID,HSupID,HProcID,HCenterID,HProcNO,HTimeUnit" + | 
 |  |  |                                 ", hworkqty, HFixPrice, HBadPrice, HWasterPrice, HBeginFixQty, HBeginDayQty, HFixWorkDays" + | 
 |  |  |                                 ", HTrunWorkDays, HAutoTrunFlag, HSupFlag, HTechnologyParameter, HPicNum, HProcCheckNote" + | 
 |  |  |                                 ", hpassrate, hremark, HMouldNo, HProcWorkNum, HReadyTime, HQueueTime, HMoveTime, HUnitTime)values" + | 
 |  |  |                                 $"({HInterID}, {num[0]}, {HSupID}, {HProcID},{HCenterID}, '{HProcNo}', '{HTimeUnit}'" + | 
 |  |  |                                 $", {hworkqty}, {(HFixPrice==""?"0": HFixPrice)}, {(HBadPrice == "" ? "0": HBadPrice)}, {(HWasterPrice == "" ? "0": HWasterPrice)}, {(HBeginFixQty == "" ? "0": HBeginFixQty)}, {(HBeginDayQty == "" ? "0": HBeginDayQty)}, {(HFixWorkDays == "" ? "0": HFixWorkDays)}" + | 
 |  |  |                                 $", {(HTrunWorkDays == "" ? "0": HTrunWorkDays)},{(HAutoTrunFlag == "True" ? "1": "0")},{(HSupFlag == "True" ? "1" : "0")}, '{HTechnologyParameter}', '{HPicNum}', '{HProcCheckNote}'" + | 
 |  |  |                                 $", {hpassrate}, '{hremark}', '{HMouldNo}', '{HProcWorkNum}', 0, 0, 0, 0)"); | 
 |  |  |                     //自增次数 | 
 |  |  |                     num[0]++; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 objJsonResult.code = "1"; | 
 |  |  |                 objJsonResult.count = 1; | 
 |  |  |                 objJsonResult.Message = null; | 
 |  |  |                 objJsonResult.Message = "导入完成,共" + num[1] + "个工艺路线"; | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  | 
 |  |  |                 objJsonResult.data = null; | 
 |  |  |                 return objJsonResult; | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public json RoutAddBillSub(string HInterID, string HBillNo, DateTime date, int HQTY) | 
 |  |  |         { | 
 |  |  |             //获取表格数据 | 
 |  |  |             ds = oCN.RunProcReturn($"select * from  h_v_JIT_Sc_WorkBillSortBillList where 单据号='{HBillNo}'", "h_v_JIT_Sc_WorkBillSortBillList"); | 
 |  |  |  | 
 |  |  |             int count = 0; | 
 |  |  |             if (ds.Tables[0].Rows.Count > 0) | 
 |  |  |             { | 
 |  |  |                 //判断子表是否有当日的日期以及日期所对应的数量 | 
 |  |  |                 for (int i = 0; i < ds.Tables[0].Rows.Count; i++) | 
 |  |  |                 { | 
 |  |  |                     if (DateTime.Parse(ds.Tables[0].Rows[i]["日计划生产日期"].ToString()) == date) | 
 |  |  |                     { | 
 |  |  |                         oCN.RunProc($"update Sc_WorkBillSortBillSub set HMasterDate='{date}',HQty={HQTY}" + | 
 |  |  |                             $"  where HInterID={HInterID} and HEntryID={ds.Tables[0].Rows[i]["hsubid"].ToString()}"); | 
 |  |  |                         count += 1; | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             if (count != 1) | 
 |  |  |             { | 
 |  |  |                 //插入子表 | 
 |  |  |                 oCN.RunProc("insert into Sc_WorkBillSortBillSub(HInterID,HEntryID," + | 
 |  |  |                     "HMasterDate,HQty)" + | 
 |  |  |                             $"values({HInterID}, {(ds.Tables[0].Rows.Count + 1)}," + | 
 |  |  |                             $" '{date}', {HQTY})"); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             objJsonResult.code = "1"; | 
 |  |  |             objJsonResult.count = 1; | 
 |  |  |             objJsonResult.Message = null; | 
 |  |  |             objJsonResult.data = null; | 
 |  |  |             return objJsonResult; | 
 |  |  |         } | 
 |  |  |         #endregion | 
 |  |  |     } |