|  |  |  | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | string hnumber = ""; | 
|---|
|  |  |  | if (tb2.Rows.Count > 0) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | hnumber = DBUtility.ClsPub.isStrNull(tb2.Rows[0]["产品代码"].ToString()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (int i = 0; i <= tb2.Rows.Count - 1; i++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | string sHNumber = ""; | 
|---|
|  |  |  | if (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+1).ToString() + "行," + sHNumber + "没有找到对应的物料!"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 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 + 1).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 | 
|---|
|  |  |  | 
|---|
|  |  |  | oCN.Commit(); | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = "单据保存成功!"; | 
|---|
|  |  |  | objJsonResult.Message = objJsonResult.Message; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | var hnumber = ""; | 
|---|
|  |  |  | var HBillNo = ""; | 
|---|
|  |  |  | long HInterID = 0; | 
|---|
|  |  |  | int[] num = new int[2] { 1, 0 }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (int i = 0; i < list.Count; i++) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //获取物料数据 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from h_v_IF_Material Where HNumber=" + list[i]["产品代码"].ToString() + " and HUSEORGID=" + omdelMian.HOrgID, "h_v_IF_Material"); | 
|---|
|  |  |  | 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]["物料代码"].ToString(); | 
|---|
|  |  |  | var HUnitNumber = ds.Tables[0].Rows[0]["物料代码"].ToString(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取工序 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Gy_Process Where HNumber=" + list[i]["工序代码"].ToString(), "Gy_Process"); | 
|---|
|  |  |  | var HProcID = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取工作中心 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from Gy_WorkCenter Where HNumber=" + list[i]["工作中心代码"].ToString(), "Gy_WorkCenter"); | 
|---|
|  |  |  | var HCenterID = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (hnumber != list[i]["产品代码"].ToString()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | 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 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 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 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //添加主表数据 | 
|---|
|  |  |  | 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]++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取供应商 | 
|---|
|  |  |  | ds = oCN.RunProcReturn("select * from h_v_Gy_SupplierList Where HNumber=" + list[i]["供应商代码"].ToString(), "h_v_Gy_SupplierList"); | 
|---|
|  |  |  | var HSupID = ds.Tables[0].Rows[0]["HItemID"].ToString(); | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取工序 | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取工作中心 | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var HProcNo = list[i]["工序序号"].ToString(); | 
|---|
|  |  |  | var HTimeUnit = list[i]["时间单位"].ToString(); | 
|---|
|  |  |  | var hworkqty = list[i]["加工数量"].ToString(); | 
|---|
|  |  |  | var HFixPrice = list[i]["班产定额"].ToString(); | 
|---|
|  |  |  | var HMainPrice = list[i]["工序工价"].ToString(); | 
|---|
|  |  |  | var HBadPrice = list[i]["不合格单价"].ToString(); | 
|---|
|  |  |  | var HWasterPrice = list[i]["报废单价"].ToString(); | 
|---|
|  |  |  | var HBeginFixQty = 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]++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    //主表 | 
|---|
|  |  |  | //    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})"); | 
|---|
|  |  |  | //} | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //    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())); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //            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); | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  | //    } | 
|---|
|  |  |  | //} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //if (TrueCount != SumCount) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    objJsonResult.code = "0"; | 
|---|
|  |  |  | //    objJsonResult.count = 0; | 
|---|
|  |  |  | //    objJsonResult.Message = objJsonResult.Message; | 
|---|
|  |  |  | //    objJsonResult.data = null; | 
|---|
|  |  |  | //    return objJsonResult; | 
|---|
|  |  |  | //} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | objJsonResult.code = "1"; | 
|---|
|  |  |  | objJsonResult.count = 1; | 
|---|
|  |  |  | objJsonResult.Message = null; | 
|---|
|  |  |  | objJsonResult.Message = "导入完成,共" + num[1] + "个工艺路线"; | 
|---|
|  |  |  | objJsonResult.data = null; | 
|---|
|  |  |  | return objJsonResult; | 
|---|
|  |  |  | } | 
|---|