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)) { if (Singleworkplan.OriginalData.PlanStatus != Singleworkplan.PlanStatus && (Singleworkplan.PlanStatus == SingleWorkPlanStatusEnum.Online || Singleworkplan.PlanStatus == SingleWorkPlanStatusEnum.Wait)) { 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 BusinessException(resultdto.errMsg); } } catch (System.Exception e) { throw new BusinessException("调用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 entity = key.GetEntity() as CompleteRpt; bool flag = PubHelper.IsUsedDMSAPI(); if (flag) { // 制造组织(成都)的才做完工报告 if (Context.LoginOrg.Code == PubHelper.Const_OrgCode_Chengdu) { if (entity.ProjectKey != null) { Project project = Project.Finder.Find("Code='" + entity.Project.Code.ToString() + "' and org=" + entity.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 (((entity.MOKey != null && entity.MO.MODocType.Code != "MO02") || entity.PLSKey != null ) // 物料一样,说明是整车完工 && soline.ItemInfo.ItemID.Code == entity.Item.Code ) { // 审核,更新成 最终检验; // 关闭,更新成 总装入库; if (entity.DocState == CompleteRptStateEnum.Approved && entity.OriginalData.DocState == CompleteRptStateEnum.Approving) { vehicleInfoDto resultdto = null; try { SI03ImplService service = new SI03ImplService(); // service.Url = PubHelper.GetAddress(service.Url); vehicleInfoDto dto = new vehicleInfoDto(); if (entity.ProjectKey != null) { dto.dmsSaleNo = entity.Project.Code; } dto.vin = entity.DescFlexField.PubDescSeg12; dto.erpMaterialCode = entity.Item.Code; // 等待上线0,上线1,下线滞留2,下线调试3,最终检验4,总装入库5,调试检验6,车辆整改7 dto.nodeStatus = "4"; dto.oldVin = string.Empty; // VIN短码 dto.flowingCode = ((entity.DescFlexField.PubDescSeg12.Length >= 8) ? entity.DescFlexField.PubDescSeg12.Substring(entity.DescFlexField.PubDescSeg12.Length - 8, 8) : entity.DescFlexField.PubDescSeg12); // 发动机号 dto.engineNo = entity.DescFlexField.PrivateDescSeg5; resultdto = service.Do(dto); //if (resultdto != null && resultdto.flag == 0) //{ // throw new BusinessException(resultdto.errMsg); //} } catch (System.Exception e) { throw new BusinessException("调用DMS接口异常:" + e.Message); } if (resultdto != null && resultdto.flag == 0) { if (resultdto.errMsg.IsNull()) { throw new BusinessException("调用DMS接口错误,错误标记(flag)为0,但是无错误消息返回!"); } else { throw new BusinessException("调用DMS接口执行失败:" + resultdto.errMsg); } } } else if (entity.DocState == CompleteRptStateEnum.Received && (entity.OriginalData.DocState == CompleteRptStateEnum.Approved || entity.OriginalData.DocState == CompleteRptStateEnum.QualityChecked || entity.OriginalData.DocState == CompleteRptStateEnum.Approving ) ) { // 2017-07-27 wf 只传最终检验状态,后续不传给DMS;DMS自己系统中会有相关操作;DMS这个接口,强制更新成状态4,无论传入状态是什么; //vehicleInfoDto resultdto = null; //try //{ // SI03ImplService service = new SI03ImplService(); // // service.Url = PubHelper.GetAddress(service.Url); // vehicleInfoDto dto = new vehicleInfoDto(); // if (entity.ProjectKey != null) // { // dto.dmsSaleNo = entity.Project.Code; // } // dto.vin = entity.DescFlexField.PubDescSeg12; // dto.erpMaterialCode = entity.Item.Code; // // 等待上线0,上线1,下线滞留2,下线调试3,最终检验4,总装入库5,调试检验6,车辆整改7 // dto.nodeStatus = "5"; // dto.oldVin = string.Empty; // // VIN短码 // dto.flowingCode = ((entity.DescFlexField.PubDescSeg12.Length >= 8) ? entity.DescFlexField.PubDescSeg12.Substring(entity.DescFlexField.PubDescSeg12.Length - 8, 8) : entity.DescFlexField.PubDescSeg12); // // 发动机号 // dto.engineNo = entity.DescFlexField.PrivateDescSeg5; // resultdto = service.Do(dto); //} //catch (System.Exception e) //{ // throw new BusinessException("调用DMS接口异常:" + e.Message); //} //if (resultdto != null && resultdto.flag == 0) //{ // if (resultdto.errMsg.IsNull()) // { // throw new BusinessException("调用DMS接口错误,错误标记(flag)为0,但是无错误消息返回!"); // } // else // { // throw new BusinessException("调用DMS接口执行失败:" + resultdto.errMsg); // } //} } // 关闭后,不会改VIN码,而且现在好像不用私有段21了,用的是公共段12 //else if ((entity.DocState == CompleteRptStateEnum.Approved // || entity.DocState == CompleteRptStateEnum.Received // || entity.DocState == CompleteRptStateEnum.QualityChecked // ) // && entity.DescFlexField.PrivateDescSeg21 != entity.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 (entity.ProjectKey != null) // { // dto.dmsSaleNo = entity.Project.Code; // } // dto.vin = entity.DescFlexField.PubDescSeg12; // dto.erpMaterialCode = entity.Item.Code; // // 等待上线0,上线1,下线滞留2,下线调试3,最终检验4,总装入库5,调试检验6,车辆整改7 // dto.nodeStatus = "4"; // dto.oldVin = entity.DescFlexField.PrivateDescSeg21; // // VIN短码 // dto.flowingCode = ((entity.DescFlexField.PrivateDescSeg21.Length >= 8) ? entity.DescFlexField.PrivateDescSeg21.Substring(entity.DescFlexField.PrivateDescSeg21.Length - 8, 8) : entity.DescFlexField.PrivateDescSeg21); // // 发动机号 // dto.engineNo = entity.DescFlexField.PrivateDescSeg5; // vehicleInfoDto resultdto = service.Do(dto); // if (resultdto != null && resultdto.flag == 0) // { // throw new BusinessException(resultdto.errMsg); // } // } // catch (System.Exception e) // { // throw new BusinessException("调用DMS接口异常:" + e.Message); // } //} } else { if (entity.MOKey != null && entity.MO.MODocType.Code == "MO02") { System.DateTime arg_42B_0 = entity.ActualRcvTime; if (entity.DocState == CompleteRptStateEnum.Approved && entity.OriginalData.DocState == CompleteRptStateEnum.Approving) { vehicleChangeInfoDto resultdto = null; 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 = entity.DescFlexField.PubDescSeg12; dto.docStatus = 7; resultdto = service2.Do(dto); //if (resultdto != null && resultdto.flag == 0) //{ // throw new BusinessException(resultdto.errMsg); //} } catch (System.Exception e) { throw new BusinessException("调用DMS接口异常:" + e.Message); } if (resultdto != null && resultdto.flag == 0) { if (resultdto.errMsg.IsNull()) { throw new BusinessException("调用DMS接口错误,错误标记(flag)为0,但是无错误消息返回!"); } else { throw new BusinessException("调用DMS接口执行失败:" + resultdto.errMsg); } } } else if (entity.DocState == CompleteRptStateEnum.Received && (entity.OriginalData.DocState == CompleteRptStateEnum.Approved || entity.OriginalData.DocState == CompleteRptStateEnum.QualityChecked || entity.OriginalData.DocState == CompleteRptStateEnum.Approving ) ) { vehicleChangeInfoDto resultdto = null; 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 = entity.DescFlexField.PubDescSeg12; dto.docStatus = 5; resultdto = service2.Do(dto); //if (resultdto != null && resultdto.flag == 0) //{ // throw new BusinessException(resultdto.errMsg); //} } catch (System.Exception e) { throw new BusinessException("调用DMS接口异常:" + e.Message); } if (resultdto != null && resultdto.flag == 0) { if (resultdto.errMsg.IsNull()) { throw new BusinessException("调用DMS接口错误,错误标记(flag)为0,但是无错误消息返回!"); } else { throw new BusinessException("调用DMS接口执行失败:" + resultdto.errMsg); } } } } } } } } //return; // MES推送DMS接口 /* // 生产线采集点 * EntityName DisplayName DefaultTableName AssemblyName ViewName UIClassName UIAssemblyName IsMainView UID FilterOriginalOPath URI Container[装配assemblyID] ClassName * COM.DaYun.MES.CJDBE.CarTestCQRecord 车辆调试过程检验质量问题记录 dayun_cartestcqrecord COM.DaYun.MES.DaYunCJDBE CJDHead_CarTestCQRecord DaYunCJDUIModel.DaYunCJDUIMainFromWebPart COM.DaYun.MES.UI.DaYunCJDUI.WebPart 0 CAB27503-D7D5-4E05-84FB-A084202EE8C3 mes.cjd 66be41ba-d206-4bae-8f52-379345be90ee DaYunCJDUIModel.DaYunCJDUIMainFromWebPart * COM.DaYun.MES.CJDBE.CarTestQRecord 车辆调试过程质量问题记录 dayun_cartestqrecord COM.DaYun.MES.DaYunCJDBE CJDHead_CarTestQRecord DaYunCJDUIModel.DaYunCJDUIMainFromWebPart COM.DaYun.MES.UI.DaYunCJDUI.WebPart 0 CAB27503-D7D5-4E05-84FB-A084202EE8C3 mes.cjd 66be41ba-d206-4bae-8f52-379345be90ee DaYunCJDUIModel.DaYunCJDUIMainFromWebPart * COM.DaYun.MES.CJDBE.CJDHead 生产采集点 dayun_cjd COM.DaYun.MES.DaYunCJDBE CJDHead DaYunCJDUIModel.DaYunCJDUIMainFromWebPart COM.DaYun.MES.UI.DaYunCJDUI.WebPart 1 CAB27503-D7D5-4E05-84FB-A084202EE8C3 mes.cjd 66be41ba-d206-4bae-8f52-379345be90ee DaYunCJDUIModel.DaYunCJDUIMainFromWebPart * COM.DaYun.MES.CJDBE.CarAssemblyQRecord 车辆装配过程质量问题记录 dayun_carassemblyqrecord COM.DaYun.MES.DaYunCJDBE CJDHead_CarAssemblyQRecord DaYunCJDUIModel.DaYunCJDUIMainFromWebPart COM.DaYun.MES.UI.DaYunCJDUI.WebPart 0 CAB27503-D7D5-4E05-84FB-A084202EE8C3 mes.cjd 66be41ba-d206-4bae-8f52-379345be90ee DaYunCJDUIModel.DaYunCJDUIMainFromWebPart * COM.DaYun.MES.CJDBE.CarCQRecord 车辆最终检测质量问题记录 dayun_carcqrecord COM.DaYun.MES.DaYunCJDBE CJDHead_CarCQRecord DaYunCJDUIModel.DaYunCJDUIMainFromWebPart COM.DaYun.MES.UI.DaYunCJDUI.WebPart 0 CAB27503-D7D5-4E05-84FB-A084202EE8C3 mes.cjd 66be41ba-d206-4bae-8f52-379345be90ee DaYunCJDUIModel.DaYunCJDUIMainFromWebPart * COM.DaYun.MES.CJDBE.CJDLine 关重件绑定 danyun_cjdline COM.DaYun.MES.DaYunCJDBE CJDHead_CJDLine DaYunCJDUIModel.DaYunCJDUIMainFromWebPart COM.DaYun.MES.UI.DaYunCJDUI.WebPart 0 CAB27503-D7D5-4E05-84FB-A084202EE8C3 mes.cjd 66be41ba-d206-4bae-8f52-379345be90ee DaYunCJDUIModel.DaYunCJDUIMainFromWebPart * COM.DaYun.MES.CJDBE.CarAssemblyCQRecord 车辆装配过程检验质量问题记录 dayun_carassemblycqrecord COM.DaYun.MES.DaYunCJDBE CJDHead_CarAssemblyCQRecord DaYunCJDUIModel.DaYunCJDUIMainFromWebPart COM.DaYun.MES.UI.DaYunCJDUI.WebPart 0 CAB27503-D7D5-4E05-84FB-A084202EE8C3 mes.cjd 66be41ba-d206-4bae-8f52-379345be90ee DaYunCJDUIModel.DaYunCJDUIMainFromWebPart */ /* // CJDHead_CarTestCQRecord DaYunCJDUIModel.DaYunCJDUIMainFromWebPart COM.DaYun.MES.UI.DaYunCJDUI.WebPart * OnPush56 * private void OnPush56_Click_Extend(object sender, EventArgs e) * { * this.OnPush56_Click_DefaultImpl(sender, e); * this.Push(); * this.SaveClick0_Click_Extend(sender, e); * } * private void Push() * { * if (this.Model.CJDHead.FocusedRecord != null && this.Model.CJDHead.FocusedRecord.Dtzyplan_PlanStatus.HasValue) * { * switch (this.Model.CJDHead.FocusedRecord.Dtzyplan_PlanStatus.Value) * { * case 1: * this.Model.CJDHead.FocusedRecord.Status = new int?(3); * break; * case 3: * this.Model.CJDHead.FocusedRecord.Status = new int?(6); * break; * case 4: * this.Model.CJDHead.FocusedRecord.Status = new int?(5); * break; * case 6: * this.Model.CJDHead.FocusedRecord.Status = new int?(4); * break; * } * } * } */ if (entity.DocType != null // 底盘完工报告(单据类型 = 总装完工报告) && entity.DocType.Code == Const_MesDocTypeCode // VIN码有值 && entity.DescFlexField.PubDescSeg12.IsNotNullOrWhiteSpace() ) { // 审核 if (entity.DocState == CompleteRptStateEnum.Approved && entity.OriginalData.DocState == CompleteRptStateEnum.Approving) { CJDHead cjdHead = GetCJDHead(entity); if (cjdHead != null && cjdHead.CJDLine != null && cjdHead.CJDLine.Count > 0 ) { mesDataTmpDto resultdto = null; try { SI01ImplService service = new SI01ImplService(); List <mesDataTmpDto> lstMesDTO = new List <mesDataTmpDto>(); string strVin = entity.DescFlexField.PubDescSeg12; foreach (CJDLine cjdLine in cjdHead.CJDLine) { if (cjdLine.ItemMaster != null) { // service.Url = PubHelper.GetAddress(service.Url); mesDataTmpDto dto = new mesDataTmpDto(); // vin底盘号 ,bomdm 配件图号, gysdm供应商代码 pjtm 配件条码 pch 批次号, dto.vin = strVin; // bomdm 配件图号 dto.bomdm = GetItemCode(cjdLine); // gysdm供应商代码 if (cjdLine.Supplyer != null) { dto.gysdm = cjdLine.Supplyer.Code; } // pjtm 配件条码 dto.pjtm = cjdLine.SN; // pch 批次号 采集点没有(从SN条码解析出来) // *110377*f0701006*j2914n1h-010* // *供应商*批次号*料号* dto.pch = GetLotCode(cjdLine); lstMesDTO.Add(dto); } } if (lstMesDTO.Count > 0) { resultdto = service.Do(lstMesDTO.ToArray()); } } catch (System.Exception e) { throw new BusinessException("调用DMS接口SI01[MES接口]异常:" + e.Message); } if (resultdto != null && resultdto.flag == 0) { throw new BusinessException("调用DMS接口SI01[MES接口]执行失败:" + resultdto.errMsg); } } } } } } } } }
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)) { CompleteRptRcvLine entity = key.GetEntity() as CompleteRptRcvLine; CompleteRpt rpt = entity.CompleteRpt; // 改为在完工报告单上判断,审核、最终检验,关闭、总装入库; return; if (entity == null || rpt == null ) { return; } 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 ) { //CompleteRpt rpt = entity.CompleteRpt; if (rpt.DocState == CompleteRptStateEnum.Received && rpt.OriginalData.DocState == CompleteRptStateEnum.Approved) { 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 = "5"; 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 BusinessException(resultdto.errMsg); } } catch (System.Exception e) { throw new BusinessException("调用DMS接口错误:" + e.Message); } } } } } } } } } } }