namespace BLL { using Newtonsoft.Json.Linq; using System; using System.Timers; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public static class MCSWebService { #region 启动监视器 系统启动5分钟 /// /// 监视组件 /// private static Timer messageTimer; /// /// 启动监视器,不一定能成功,根据系统设置决定对监视器执行的操作 系统启动5分钟 /// public static void StartMonitor() { if (messageTimer != null) { messageTimer.Stop(); messageTimer.Dispose(); messageTimer = null; } messageTimer = new Timer { AutoReset = true }; messageTimer.Elapsed += new ElapsedEventHandler(GetCLData); messageTimer.Interval = 1000 * 60 * 60 * 24;// 60分钟 60000 * adTimeJ; messageTimer.Start(); } #endregion public static void GetCLData(object sender, ElapsedEventArgs e) { getPojectInfo(); getVendor(); var projects = from x in Funs.DB.Base_Project where x.CLProjectCode != null select x; foreach (var project in projects) { //getPoDetails(project.CLProjectCode ?? 0); //getIssueDetails(project.CLProjectCode ?? 0); //getPartNoInfo(project.CLProjectCode ?? 0); getShelvesNo(project.CLProjectCode ?? 0); getSubcontractor(project.CLProjectCode ?? 0); //getReqDetails(project.CLProjectCode ?? 0); getMTODetailInfo(project.CLProjectCode ?? 0); getContractListInfo(project.CLProjectCode ?? 0); getContractListSumInfo(project.CLProjectCode ?? 0); getPipelineMaterialListInfo(project.CLProjectCode ?? 0); getPipelineMaterialCodeListInfo(project.CLProjectCode ?? 0); getPipelineSupplierListInfo(project.CLProjectCode ?? 0); getArrivalDetailListInfo(project.CLProjectCode ?? 0); getCheckOutDetailListInfo(project.CLProjectCode ?? 0); getPipelineMaterialSumListInfo(project.CLProjectCode ?? 0); getRequestDetailListInfo(project.CLProjectCode ?? 0); } } public static void getRequestDetailListInfo(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPojectReport(projectId, "现场请购明细一览表"); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_RequestDetailList where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_RequestDetailList.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_RequestDetailList mTODetail = new Model.CLGL_RequestDetailList(); mTODetail.Id = SQLHelper.GetNewID(); mTODetail.ProjectId = projectId.ToString(); mTODetail.C1 = item["请购单号"].ToString(); mTODetail.C2 = item["请购单名称"].ToString(); mTODetail.C3 = item["专业名称"].ToString(); mTODetail.C4 = item["材料编码"].ToString(); mTODetail.C5 = item["位号"].ToString(); mTODetail.C6 = item["属性1"].ToString(); mTODetail.C7 = item["属性2"].ToString(); mTODetail.C8 = item["属性3"].ToString(); mTODetail.C9 = item["属性4"].ToString(); mTODetail.C10 = item["属性5"].ToString(); mTODetail.C11 = item["属性6"].ToString(); mTODetail.C12 = item["属性7"].ToString(); mTODetail.C13 = item["属性8"].ToString(); mTODetail.C14 = item["属性9"].ToString(); mTODetail.C15 = item["属性10"].ToString(); mTODetail.C16 = item["属性11"].ToString(); mTODetail.C17 = item["属性12"].ToString(); mTODetail.C18 = item["属性13"].ToString(); mTODetail.C19 = item["属性14"].ToString(); mTODetail.C20 = item["属性15"].ToString(); mTODetail.C21 = item["属性16"].ToString(); mTODetail.C22 = item["属性17"].ToString(); mTODetail.C23 = item["属性18"].ToString(); mTODetail.C24 = item["属性19"].ToString(); mTODetail.C25 = item["属性20"].ToString(); mTODetail.C26 = item["主项号"].ToString(); mTODetail.C27 = item["装置号"].ToString(); mTODetail.C28 = item["设计量"].ToString(); mTODetail.C29 = item["请购量"].ToString(); mTODetail.C30 = item["请购说明"].ToString(); mTODetail.C31 = item["材料用途"].ToString(); db.CLGL_RequestDetailList.InsertOnSubmit(mTODetail); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getRequestDetailListInfo" + ex.Message); } } public static void getPipelineMaterialSumListInfo(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPipeMaterilalByType(projectId); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_PipelineMaterialSumList where x.ProjectId == projectId.ToString() && x.Type=="M" select x; if (q.Count() > 0) { db.CLGL_PipelineMaterialSumList.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_PipelineMaterialSumList mTODetail = new Model.CLGL_PipelineMaterialSumList(); mTODetail.Id = SQLHelper.GetNewID(); mTODetail.ProjectId = projectId.ToString(); mTODetail.Type = "M"; mTODetail.C1 = item["材料类别"].ToString(); mTODetail.C2 = item["设计量"].ToString(); mTODetail.C3 = item["预制量"].ToString(); mTODetail.C4 = item["采购量"].ToString(); mTODetail.C5 = item["采购量百分比"].ToString(); mTODetail.C6 = item["已到货"].ToString(); mTODetail.C7 = item["已到货百分比"].ToString(); mTODetail.C8 = item["已领料"].ToString(); mTODetail.C9 = item["已领料百分比"].ToString(); mTODetail.C10 = item["采购量MTO"].ToString(); mTODetail.C11 = item["采购量百分比MTO"].ToString(); db.CLGL_PipelineMaterialSumList.InsertOnSubmit(mTODetail); db.SubmitChanges(); } } var details2 = mscsC.getPipeMaterilalByAera(projectId); if (!string.IsNullOrEmpty(details2)) { var q = from x in db.CLGL_PipelineMaterialSumList where x.ProjectId == projectId.ToString() && x.Type == "I" select x; if (q.Count() > 0) { db.CLGL_PipelineMaterialSumList.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details2); foreach (var item in arr) { Model.CLGL_PipelineMaterialSumList mTODetail = new Model.CLGL_PipelineMaterialSumList(); mTODetail.Id = SQLHelper.GetNewID(); mTODetail.ProjectId = projectId.ToString(); mTODetail.Type = "I"; mTODetail.C12 = item["施工单位"].ToString(); mTODetail.C13 = item["装置号"].ToString(); mTODetail.C14 = item["装置名称"].ToString(); mTODetail.C1 = item["材料种类"].ToString(); mTODetail.C2 = item["设计量"].ToString(); mTODetail.C3 = item["预制量"].ToString(); mTODetail.C4 = item["采购量"].ToString(); mTODetail.C5 = item["采购量百分比"].ToString(); mTODetail.C6 = item["已到货"].ToString(); mTODetail.C7 = item["已到货百分比"].ToString(); mTODetail.C8 = item["已领料"].ToString(); mTODetail.C9 = item["已领料百分比"].ToString(); mTODetail.C10 = item["采购量MTO"].ToString(); mTODetail.C11 = item["采购量百分比MTO"].ToString(); db.CLGL_PipelineMaterialSumList.InsertOnSubmit(mTODetail); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getContractListInfo" + ex.Message); } } public static void getCheckOutDetailListInfo(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPojectReport(projectId, "现场出库明细一览表"); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_CheckOutDetailList where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_CheckOutDetailList.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_CheckOutDetailList mTODetail = new Model.CLGL_CheckOutDetailList(); mTODetail.Id = SQLHelper.GetNewID(); mTODetail.ProjectId = projectId.ToString(); mTODetail.C1 = item["专业"].ToString(); mTODetail.C2 = item["领料单号"].ToString(); mTODetail.C3 = item["领料时间"].ToString(); mTODetail.C4 = item["出库原因"].ToString(); mTODetail.C5 = item["物资类别"].ToString(); mTODetail.C6 = item["领料截止时间"].ToString(); mTODetail.C7 = item["领料单位"].ToString(); mTODetail.C8 = item["领料人"].ToString(); mTODetail.C9 = item["发料人"].ToString(); mTODetail.C10 = item["审批状态"].ToString(); mTODetail.C11 = item["发料方式"].ToString(); mTODetail.C12 = item["材料名称"].ToString(); mTODetail.C13 = item["材料编码"].ToString(); mTODetail.C14 = item["位号"].ToString(); mTODetail.C15 = item["规格"].ToString(); mTODetail.C16 = item["申领量"].ToString(); mTODetail.C17 = item["批准量"].ToString(); mTODetail.C18 = item["实发量"].ToString(); mTODetail.C19 = item["班组"].ToString(); mTODetail.C20 = item["申请人"].ToString(); mTODetail.C21 = item["货架编号"].ToString(); mTODetail.C22 = item["发料备注"].ToString(); mTODetail.C23 = item["装置号"].ToString(); mTODetail.C24 = item["管线号"].ToString(); mTODetail.C25 = item["单位"].ToString(); mTODetail.C26 = item["合同号"].ToString(); db.CLGL_CheckOutDetailList.InsertOnSubmit(mTODetail); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getCheckOutDetailListInfo" + ex.Message); } } public static void getArrivalDetailListInfo(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPojectReport(projectId, "现场到货明细一览表"); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_ArrivalDetailList where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_ArrivalDetailList.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_ArrivalDetailList mTODetail = new Model.CLGL_ArrivalDetailList(); mTODetail.Id = SQLHelper.GetNewID(); mTODetail.ProjectId = projectId.ToString(); mTODetail.C1 = item["供应商名称"].ToString(); mTODetail.C2 = item["合同号"].ToString(); mTODetail.C3 = item["请购单号"].ToString(); mTODetail.C4 = item["箱号"].ToString(); mTODetail.C5 = item["材料编码"].ToString(); mTODetail.C6 = item["位号"].ToString(); mTODetail.C7 = item["材料名称"].ToString(); mTODetail.C8 = item["属性2"].ToString(); mTODetail.C9 = item["属性3"].ToString(); mTODetail.C10 = item["属性4"].ToString(); mTODetail.C11 = item["属性5"].ToString(); mTODetail.C12 = item["属性6"].ToString(); mTODetail.C13 = item["属性7"].ToString(); mTODetail.C14 = item["属性8"].ToString(); mTODetail.C15 = item["属性9"].ToString(); mTODetail.C16 = item["属性10"].ToString(); mTODetail.C17 = item["属性11"].ToString(); mTODetail.C18 = item["属性12"].ToString(); mTODetail.C19 = item["属性13"].ToString(); mTODetail.C20 = item["属性14"].ToString(); mTODetail.C21 = item["属性15"].ToString(); mTODetail.C22 = item["属性16"].ToString(); mTODetail.C23 = item["属性17"].ToString(); mTODetail.C24 = item["属性18"].ToString(); mTODetail.C25 = item["属性19"].ToString(); mTODetail.C26 = item["属性20"].ToString(); mTODetail.C27 = item["计量单位"].ToString(); mTODetail.C28 = item["装置号"].ToString(); mTODetail.C29 = item["到货量"].ToString(); mTODetail.C30 = item["到货批次号"].ToString(); mTODetail.C31 = item["货架编号"].ToString(); db.CLGL_ArrivalDetailList.InsertOnSubmit(mTODetail); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getContractListInfo" + ex.Message); } } public static void getPipelineSupplierListInfo(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPojectReport(projectId, "管道供货商概要一览表"); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_PipelineSupplierList where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_PipelineSupplierList.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_PipelineSupplierList mTODetail = new Model.CLGL_PipelineSupplierList(); mTODetail.Id = SQLHelper.GetNewID(); mTODetail.ProjectId = projectId.ToString(); mTODetail.C1 = item["供货商"].ToString(); mTODetail.C2 = item["合同号"].ToString(); mTODetail.C3 = item["合同名称"].ToString(); mTODetail.C4 = item["合同交货日期"].ToString(); mTODetail.C5 = item["采购量"].ToString(); mTODetail.C6 = item["到货量"].ToString(); db.CLGL_PipelineSupplierList.InsertOnSubmit(mTODetail); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getPipelineSupplierListInfo" + ex.Message); } } public static void getPipelineMaterialCodeListInfo(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPojectReport(projectId, "管道材料编码统计一览表"); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_PipelineMaterialCodeList where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_PipelineMaterialCodeList.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_PipelineMaterialCodeList mTODetail = new Model.CLGL_PipelineMaterialCodeList(); mTODetail.Id = SQLHelper.GetNewID(); mTODetail.ProjectId = projectId.ToString(); mTODetail.C1 = item["材料编码"].ToString(); mTODetail.C2 = item["位号"].ToString(); mTODetail.C3 = item["材料名称"].ToString(); mTODetail.C4 = item["SIZE1"].ToString(); mTODetail.C5 = item["SIZE2"].ToString(); mTODetail.C6 = item["SCH1"].ToString(); mTODetail.C7 = item["SCH2"].ToString(); mTODetail.C8 = item["压力等级"].ToString(); mTODetail.C9 = item["端面"].ToString(); mTODetail.C10 = item["螺栓长度"].ToString(); mTODetail.C11 = item["标准"].ToString(); mTODetail.C12 = item["材质"].ToString(); mTODetail.C13 = item["装置号"].ToString(); mTODetail.C14 = item["设计量"].ToString(); mTODetail.C15 = item["请购量"].ToString(); mTODetail.C16 = item["裕量(采购量-设计量)"].ToString(); mTODetail.C17 = item["采购量"].ToString(); mTODetail.C18 = item["到货量"].ToString(); mTODetail.C19 = item["实发量"].ToString(); db.CLGL_PipelineMaterialCodeList.InsertOnSubmit(mTODetail); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getPipelineMaterialCodeListInfo" + ex.Message); } } public static void getPipelineMaterialListInfo(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPojectReport(projectId, "管道材料状态一览表"); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_PipelineMaterialList where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_PipelineMaterialList.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_PipelineMaterialList mTODetail = new Model.CLGL_PipelineMaterialList(); mTODetail.Id = SQLHelper.GetNewID(); mTODetail.ProjectId = projectId.ToString(); mTODetail.C1 = item["主项号"].ToString(); mTODetail.C2 = item["材料编码"].ToString(); mTODetail.C3 = item["材料名称"].ToString(); mTODetail.C4 = item["位号"].ToString(); mTODetail.C5 = item["管道等级"].ToString(); mTODetail.C6 = item["SIZE1"].ToString(); mTODetail.C7 = item["SIZE2"].ToString(); mTODetail.C8 = item["SCH1"].ToString(); mTODetail.C9 = item["SCH2"].ToString(); mTODetail.C10 = item["压力等级"].ToString(); mTODetail.C11 = item["端面"].ToString(); mTODetail.C12 = item["螺栓长度"].ToString(); mTODetail.C13 = item["材质"].ToString(); mTODetail.C14 = item["标准"].ToString(); mTODetail.C15 = item["材料用途"].ToString(); mTODetail.C16 = item["设计量"].ToString(); mTODetail.C17 = item["采购量"].ToString(); mTODetail.C18 = item["计量单位"].ToString(); mTODetail.C19 = item["备注"].ToString(); mTODetail.C20 = item["原产地"].ToString(); mTODetail.C21 = item["采购包编号"].ToString(); mTODetail.C22 = item["采购包名称"].ToString(); mTODetail.C23 = item["合同号"].ToString(); mTODetail.C24 = item["请购单号"].ToString(); mTODetail.C25 = item["请购单备注"].ToString(); mTODetail.C26 = item["专业名称"].ToString(); mTODetail.C27 = item["签订日期"].ToString(); mTODetail.C28 = item["合同交货日期"].ToString(); mTODetail.C29 = item["供货商"].ToString(); mTODetail.C30 = item["施工需求时间"].ToString(); mTODetail.C31 = item["到货量"].ToString(); mTODetail.C32 = item["可用库存量"].ToString(); mTODetail.C33 = item["实发量"].ToString(); db.CLGL_PipelineMaterialList.InsertOnSubmit(mTODetail); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getPipelineMaterialListInfo" + ex.Message); } } public static void getContractListSumInfo(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPojectReport(projectId, "合同清单汇总表"); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_ContractListSum where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_ContractListSum.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_ContractListSum mTODetail = new Model.CLGL_ContractListSum(); mTODetail.Id = SQLHelper.GetNewID(); mTODetail.ProjectId = projectId.ToString(); mTODetail.C1 = item["专业"].ToString(); mTODetail.C2 = item["合同号"].ToString(); mTODetail.C3 = item["合同名称"].ToString(); mTODetail.C4 = item["供货商"].ToString(); mTODetail.C5 = item["签订日期"].ToString(); mTODetail.C6 = item["交货日期"].ToString(); mTODetail.C7 = item["采购总量"].ToString(); mTODetail.C8 = item["发货总量"].ToString(); mTODetail.C9 = item["到货总量"].ToString(); db.CLGL_ContractListSum.InsertOnSubmit(mTODetail); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getContractListSumInfo" + ex.Message); } } public static void getContractListInfo(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPojectReport(projectId, "合同清单一览表"); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_ContractList where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_ContractList.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_ContractList mTODetail = new Model.CLGL_ContractList(); mTODetail.Id = SQLHelper.GetNewID(); mTODetail.ProjectId = projectId.ToString(); mTODetail.C1 = item["合同号"].ToString(); mTODetail.C2 = item["合同名称"].ToString(); mTODetail.C3 = item["请购单号"].ToString(); mTODetail.C4 = item["专业"].ToString(); mTODetail.C5 = item["签订日期"].ToString(); mTODetail.C6 = item["合同交货日期"].ToString(); mTODetail.C7 = item["供应商"].ToString(); mTODetail.C8 = item["材料编码"].ToString(); mTODetail.C9 = item["位号"].ToString(); mTODetail.C10 = item["材料等级"].ToString(); mTODetail.C11 = item["材料名称"].ToString(); mTODetail.C12 = item["规格"].ToString(); mTODetail.C13 = item["设计量"].ToString(); mTODetail.C14 = item["余量"].ToString(); mTODetail.C15 = item["请购量"].ToString(); mTODetail.C16 = item["采购量"].ToString(); mTODetail.C17 = item["发货量"].ToString(); mTODetail.C18 = item["到货量"].ToString(); mTODetail.C19 = item["备注"].ToString(); mTODetail.C20 = item["装置号"].ToString(); mTODetail.C21 = item["主项号"].ToString(); mTODetail.C22 = item["材料用途"].ToString(); mTODetail.C23 = item["计量单位"].ToString(); db.CLGL_ContractList.InsertOnSubmit(mTODetail); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getContractListInfo" + ex.Message); } } public static void getPojectInfo() { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPojectInfo(); if (!string.IsNullOrEmpty(details)) { JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.Base_Project project = db.Base_Project.FirstOrDefault(x => x.ProjectCode == item["项目编码"].ToString()); if (project != null) { project.CLProjectCode = Funs.GetNewInt(item["项目ID"].ToString()); db.SubmitChanges(); } } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getPojectInfo" + ex.Message); } } public static void getPoDetails(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPoDetails(projectId); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_ContractQuantitySheet where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_ContractQuantitySheet.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_ContractQuantitySheet contractQuantitySheet = new Model.CLGL_ContractQuantitySheet(); contractQuantitySheet.PPGUID = item["PPGUID"].ToString(); contractQuantitySheet.ProjectId = projectId.ToString(); contractQuantitySheet.MaterialUse = item["材料用途"].ToString(); contractQuantitySheet.ContractCode = item["合同号"].ToString(); contractQuantitySheet.Major = item["专业"].ToString(); contractQuantitySheet.PSGUID = item["PSGUID"].ToString(); contractQuantitySheet.RDGUID = item["RDGUID"].ToString(); contractQuantitySheet.MaterialCode = item["材料编码"].ToString(); contractQuantitySheet.TagNo = item["位号"].ToString(); contractQuantitySheet.BuyQuantity = item["采购量"].ToString(); contractQuantitySheet.Remark = item["备注"].ToString(); contractQuantitySheet.DeviceCode = item["装置号"].ToString(); contractQuantitySheet.MainItemCode = item["主项号"].ToString(); contractQuantitySheet.UnitName = item["企业中文名称"].ToString(); db.CLGL_ContractQuantitySheet.InsertOnSubmit(contractQuantitySheet); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getPoDetails" + ex.Message); } } public static void getIssueDetails(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getIssueDetails(projectId); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_PickMaterialRecord where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_PickMaterialRecord.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_PickMaterialRecord pickMaterialRecord = new Model.CLGL_PickMaterialRecord(); pickMaterialRecord.IDGUID = item["IDGUID"].ToString(); pickMaterialRecord.ProjectId = projectId.ToString(); pickMaterialRecord.PickCode = item["领料单号"].ToString(); pickMaterialRecord.PickDate = Funs.GetNewDateTime(item["领料时间"].ToString()); pickMaterialRecord.PickUnit = item["领料单位"].ToString(); pickMaterialRecord.PickLimitDate = Funs.GetNewDateTime(item["领料截止时间"].ToString()); pickMaterialRecord.State = item["领料单审批状态代码"].ToString(); pickMaterialRecord.ISGUID = item["ISGUID"].ToString(); pickMaterialRecord.PLGUID = item["PLGUID"].ToString(); pickMaterialRecord.Major = item["专业"].ToString(); pickMaterialRecord.PSGUID = item["PSGUID"].ToString(); pickMaterialRecord.MaterialCode = item["材料编码"].ToString(); pickMaterialRecord.TagNo = item["位号"].ToString(); pickMaterialRecord.ClaimQuantity = item["申领量"].ToString(); pickMaterialRecord.ApproveQuantity = item["批准量"].ToString(); pickMaterialRecord.ActualQuantity = item["实发量"].ToString(); pickMaterialRecord.DHGUID = item["DHGUID"].ToString(); pickMaterialRecord.Remark = item["发料备注"].ToString(); pickMaterialRecord.DeviceCode = item["装置号"].ToString(); pickMaterialRecord.MainItemCode = item["主项号"].ToString(); db.CLGL_PickMaterialRecord.InsertOnSubmit(pickMaterialRecord); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getIssueDetails" + ex.Message); } } public static void getPartNoInfo(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPartNoInfo(projectId); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_Material where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_Material.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_Material material = new Model.CLGL_Material(); material.Id = SQLHelper.GetNewID(); material.ProjectId = projectId.ToString(); material.MaterialCode = item["材料编码"].ToString(); material.TagNo = item["位号"].ToString(); material.MaterialName = item["材料名称"].ToString(); material.Def = item["规格描述"].ToString(); material.Unit = item["计量单位"].ToString(); db.CLGL_Material.InsertOnSubmit(material); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getPartNoInfo" + ex.Message); } } public static void getMTODetailInfo(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getPojectReport(projectId, "MTO明细信息一览表"); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_Material where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_Material.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_MTODetail mTODetail = new Model.CLGL_MTODetail(); mTODetail.Id = SQLHelper.GetNewID(); mTODetail.ProjectId = projectId.ToString(); mTODetail.DeviceNo = item["装置号"].ToString(); mTODetail.IsoNo = item["区域管线号"].ToString(); mTODetail.IsoClass = item["管线等级"].ToString(); mTODetail.MaterialCode = item["材料编码"].ToString(); mTODetail.TagNo = item["位号"].ToString(); mTODetail.MaterialName = item["材料名称"].ToString(); mTODetail.SIZE1 = item["SIZE1"].ToString(); mTODetail.SIZE2 = item["SIZE2"].ToString(); mTODetail.SCH1 = item["SCH1"].ToString(); mTODetail.SCH2 = item["SCH2"].ToString(); mTODetail.PressClass = item["压力等级"].ToString(); mTODetail.EndFace = item["端面"].ToString(); mTODetail.BoltLength = item["螺栓长度"].ToString(); mTODetail.Standard = item["标准"].ToString(); mTODetail.Material = item["材质"].ToString(); mTODetail.PrefabricationStatus = item["预制状态"].ToString(); mTODetail.DesignNum = item["设计数量"].ToString(); mTODetail.PlanCheckOutNum = item["预出库量"].ToString(); mTODetail.CheckOutNum = item["出库量"].ToString(); mTODetail.StockNumByDeviceNo = item["库存量(按装置号)"].ToString(); mTODetail.StockNumWholePlant = item["库存量(全厂)"].ToString(); db.CLGL_MTODetail.InsertOnSubmit(mTODetail); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getMTODetailInfo" + ex.Message); } } public static void getShelvesNo(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getShelvesNo(projectId); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_GoodsShelves where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_GoodsShelves.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_GoodsShelves goodsShelves = new Model.CLGL_GoodsShelves(); goodsShelves.DHGUID = item["DHGUID"].ToString(); goodsShelves.ProjectId = projectId.ToString(); goodsShelves.GoodsShelvesCode = item["货架编号"].ToString(); goodsShelves.Def = item["货架编号描述"].ToString(); db.CLGL_GoodsShelves.InsertOnSubmit(goodsShelves); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getPartNoInfo" + ex.Message); } } public static void getSubcontractor(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getSubcontractor(projectId); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_SubUnit where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_SubUnit.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_SubUnit subUnit = new Model.CLGL_SubUnit(); subUnit.Id = SQLHelper.GetNewID(); subUnit.ProjectId = projectId.ToString(); subUnit.SubUnitCode = item["分包商编号"].ToString(); subUnit.SubUnitName = item["分包商名称"].ToString(); db.CLGL_SubUnit.InsertOnSubmit(subUnit); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getSubcontractor" + ex.Message); } } public static void getVendor() { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getVendor(); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_Supplier select x; if (q.Count() > 0) { db.CLGL_Supplier.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_Supplier supplier = new Model.CLGL_Supplier(); supplier.Id = SQLHelper.GetNewID(); supplier.SupplierName = item["企业中文名称"].ToString(); supplier.SupplierCode = item["厂商企标ID"].ToString(); db.CLGL_Supplier.InsertOnSubmit(supplier); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getVendor" + ex.Message); } } public static void getReqDetails(long projectId) { try { using (var db = new Model.SGGLDB(Funs.ConnString)) { MCSService.WebService1SoapClient mscsC = new MCSService.WebService1SoapClient(); var details = mscsC.getReqDetails(projectId); if (!string.IsNullOrEmpty(details)) { var q = from x in db.CLGL_PurchaseRequisition where x.ProjectId == projectId.ToString() select x; if (q.Count() > 0) { db.CLGL_PurchaseRequisition.DeleteAllOnSubmit(q); db.SubmitChanges(); } JArray arr = JArray.Parse(details); foreach (var item in arr) { Model.CLGL_PurchaseRequisition purchaseRequisition = new Model.CLGL_PurchaseRequisition(); purchaseRequisition.Id = SQLHelper.GetNewID(); purchaseRequisition.RSGUID = item["RSGUID"].ToString(); purchaseRequisition.ProjectId = projectId.ToString(); purchaseRequisition.PurchaseRequisitionCode = item["请购单号"].ToString(); purchaseRequisition.PurchaseRequisitionName = item["请购单名称"].ToString(); purchaseRequisition.SiteRequisition = item["现场请购"].ToString(); purchaseRequisition.Major = item["专业名称"].ToString(); purchaseRequisition.RDGUID = item["RDGUID"].ToString(); purchaseRequisition.MaterialClass = item["材料等级"].ToString(); purchaseRequisition.MaterialCode = item["材料编码"].ToString(); purchaseRequisition.TagNo = item["位号"].ToString(); purchaseRequisition.DesignQuantity = item["设计量"].ToString(); purchaseRequisition.SurplusQuantity = item["余量"].ToString(); purchaseRequisition.RequisitionQuantity = item["请购量"].ToString(); purchaseRequisition.Def = item["请购说明"].ToString(); purchaseRequisition.DeviceCode = item["装置号"].ToString(); purchaseRequisition.MainItemCode = item["主项号"].ToString(); purchaseRequisition.MaterialUse = item["材料用途"].ToString(); purchaseRequisition.Remark = item["采购说明"].ToString(); db.CLGL_PurchaseRequisition.InsertOnSubmit(purchaseRequisition); db.SubmitChanges(); } } } } catch (Exception ex) { ErrLogInfo.WriteLog(ex, "材料管理接口定时器", "MCSWebService.getVendor" + ex.Message); } } } }