public void Notify(params object[] args) { if (args != null && args.Length != 0 && args[0] is EntityEvent) { BusinessEntity.EntityKey key = ((EntityEvent)args[0]).EntityKey; if (!(key == null)) { SingleWorkPlan Singleworkplan = key.GetEntity() as SingleWorkPlan; if (Context.LoginOrg.Code == "10") { bool flag = PubHelper.IsUsedDMSAPI(); if (flag) { string dmssaleno = string.Empty; if (Singleworkplan.SrcDoc != null && Singleworkplan.SrcDoc.PLSKey != null && Singleworkplan.SrcDoc.PLS.ProjectKey != null) { SOLine soline = SOLine.Finder.Find(string.Format("SO.Org={0} and Project={1}", Context.LoginOrg.ID.ToString(), Singleworkplan.SrcDoc.PLS.ProjectKey.ID.ToString()), new OqlParam[0]); if (soline != null) { dmssaleno = soline.SO.DescFlexField.PubDescSeg5; } } if (!string.IsNullOrEmpty(dmssaleno)) { try { SI03ImplService service = new SI03ImplService(); // service.Url = PubHelper.GetAddress(service.Url); vehicleInfoDto dto = new vehicleInfoDto(); if (Singleworkplan.SrcDoc != null && Singleworkplan.SrcDoc.PLSKey != null && Singleworkplan.SrcDoc.PLS.ProjectKey != null) { SOLine soline = SOLine.Finder.Find(string.Format("SO.Org={0} and Project={1}", Context.LoginOrg.ID.ToString(), Singleworkplan.SrcDoc.PLS.ProjectKey.ID.ToString()), new OqlParam[0]); if (soline != null) { dto.dmsSaleNo = soline.SO.DescFlexField.PubDescSeg5; } } dto.commissionNo = Singleworkplan.WorkCode; dto.vin = Singleworkplan.VINFinal; if (Singleworkplan.ItemMasterKey != null) { dto.erpMaterialCode = Singleworkplan.ItemMaster.Code; } dto.flowingCode = Singleworkplan.VIN; dto.oldVin = string.Empty; dto.nodeStatus = Singleworkplan.PlanStatus.Value.ToString(); vehicleInfoDto resultdto = service.Do(dto); if (resultdto != null && resultdto.flag == 0) { throw new System.ApplicationException(resultdto.errMsg); } } catch (System.Exception e) { throw new System.ApplicationException("调用DMS接口错误:" + e.Message); } } } } } } }
public void Notify(params object[] args) { if (args != null && args.Length != 0 && args[0] is EntityEvent) { BusinessEntity.EntityKey key = ((EntityEvent)args[0]).EntityKey; if (!(key == null)) { CompleteRpt rpt = key.GetEntity() as CompleteRpt; bool flag = PubHelper.IsUsedDMSAPI(); if (flag) { // 制造组织(成都)的才做完工报告 if (Context.LoginOrg.Code == PubHelper.Const_OrgCode_Chengdu) { if (rpt.ProjectKey != null) { Project project = Project.Finder.Find("Code='" + rpt.Project.Code.ToString() + "' and org=" + rpt.Project.MasterOrg.ID.ToString(), new OqlParam[0]); if (project != null) { SOLine soline = SOLine.Finder.Find(string.Format("Project={0}", project.ID.ToString()), new OqlParam[0]); if (soline != null && !string.IsNullOrEmpty(soline.SO.DescFlexField.PubDescSeg5)) { if (((rpt.MOKey != null && rpt.MO.MODocType.Code != "MO02") || rpt.PLSKey != null ) // 物料一样,说明是整车完工 && soline.ItemInfo.ItemID.Code == rpt.Item.Code ) { if (rpt.DocState == CompleteRptStateEnum.Approved && rpt.OriginalData.DocState == CompleteRptStateEnum.Approving) { try { SI03ImplService service = new SI03ImplService(); // service.Url = PubHelper.GetAddress(service.Url); vehicleInfoDto dto = new vehicleInfoDto(); if (rpt.ProjectKey != null) { dto.dmsSaleNo = rpt.Project.Code; } dto.vin = rpt.DescFlexField.PubDescSeg12; dto.erpMaterialCode = rpt.Item.Code; // 等待上线0,上线1,下线滞留2,下线调试3,最终检验4,总装入库5,调试检验6,车辆整改7 dto.nodeStatus = "4"; dto.oldVin = string.Empty; dto.flowingCode = ((rpt.DescFlexField.PubDescSeg12.Length >= 8) ? rpt.DescFlexField.PubDescSeg12.Substring(rpt.DescFlexField.PubDescSeg12.Length - 8, 8) : rpt.DescFlexField.PubDescSeg12); vehicleInfoDto resultdto = service.Do(dto); if (resultdto != null && resultdto.flag == 0) { throw new System.ApplicationException(resultdto.errMsg); } } catch (System.Exception e) { throw new System.ApplicationException("调用DMS接口错误:" + e.Message); } } else if (rpt.DescFlexField.PrivateDescSeg21 != rpt.OriginalData.DescFlexField.PrivateDescSeg21) //// 新增是不是要写??? //if (rpt.DocState == CompleteRptStateEnum.Opened // || rpt.DocState == CompleteRptStateEnum.Approving // ) { try { SI03ImplService service = new SI03ImplService(); // service.Url = PubHelper.GetAddress(service.Url); vehicleInfoDto dto = new vehicleInfoDto(); if (rpt.ProjectKey != null) { dto.dmsSaleNo = rpt.Project.Code; } dto.vin = rpt.DescFlexField.PubDescSeg12; dto.erpMaterialCode = rpt.Item.Code; // 等待上线0,上线1,下线滞留2,下线调试3,最终检验4,总装入库5,调试检验6,车辆整改7 dto.nodeStatus = "4"; dto.oldVin = rpt.DescFlexField.PrivateDescSeg21; dto.flowingCode = ((rpt.DescFlexField.PrivateDescSeg21.Length >= 8) ? rpt.DescFlexField.PrivateDescSeg21.Substring(rpt.DescFlexField.PrivateDescSeg21.Length - 8, 8) : rpt.DescFlexField.PrivateDescSeg21); vehicleInfoDto resultdto = service.Do(dto); if (resultdto != null && resultdto.flag == 0) { throw new System.ApplicationException(resultdto.errMsg); } } catch (System.Exception e) { throw new System.ApplicationException("调用DMS接口错误:" + e.Message); } } } else { System.DateTime arg_42B_0 = rpt.ActualRcvTime; if (rpt.MOKey != null && rpt.MO.MODocType.Code == "MO02") { try { SI09ImplService service2 = new SI09ImplService(); service2.Url = PubHelper.GetAddress(service2.Url); //vehicleChangeInfoDto d = service2.receive(new vehicleChangeInfoDto //{ // vin = rpt.DescFlexField.PubDescSeg12, // docStatus = 7 //}); vehicleChangeInfoDto dto = new vehicleChangeInfoDto(); // 等待上线0,上线1,下线滞留2,下线调试3,最终检验4,总装入库5,调试检验6,车辆整改7 dto.vin = rpt.DescFlexField.PubDescSeg12; dto.docStatus = 7; vehicleChangeInfoDto d = service2.Do(dto); if (d != null && d.flag == 0) { throw new System.ApplicationException(d.errMsg); } } catch (System.Exception e) { throw new System.ApplicationException("调用DMS接口错误:" + e.Message); } } } } } } } } } } }