public static void ReadPx_报关单号(ArchiveOperationForm masterForm) { IControlManager masterCm = masterForm.ControlManager; if (masterCm.DisplayManager.DataControls["报关单号"].SelectedDataValue == null) { ServiceProvider.GetService <IMessageBox>().ShowWarning("请输入报关单号!"); return; } string bgdh = masterCm.DisplayManager.DataControls["报关单号"].SelectedDataValue.ToString().Trim(); 报关单数据 bgdInfo = null; foreach (KeyValuePair <string, string> id in Get_nbediRead_ID()) { nbediRead m_nbediRead = new nbediRead(); m_nbediRead.SetLoginInfo(id.Key, id.Value); bgdInfo = m_nbediRead.长短号查询报关单数据(bgdh); if (bgdInfo != null && !string.IsNullOrEmpty(bgdInfo.报关单号)) { break; } } if (bgdInfo == null) { return; } AskToReplace(masterCm, "报关单号", bgdInfo.报关单长号); AskToReplace(masterCm, "抬头", bgdInfo.经营单位); AskToReplace(masterCm, "提单号", bgdInfo.提运单号); AskToReplace(masterCm, "核销单号", bgdInfo.批准文号); AskToReplace(masterCm, "通关单号", bgdInfo.通关单号); AskToReplace(masterCm, "箱号", bgdInfo.箱号); AskToReplace(masterCm, "箱量", bgdInfo.箱量); AskToReplace(masterCm, "委托时间", bgdInfo.申报日期); AskToReplace(masterCm, "船名航次", bgdInfo.船名航次); AskToReplace(masterCm, "报关单快照", bgdInfo.网页快照); AskToReplace(masterCm, "报关员编号", bgdInfo.报关员); AskToReplace(masterCm, "报关公司", bgdInfo.报关公司); if (string.IsNullOrEmpty(bgdInfo.提运单号)) { return; } IControlManager detailCm = (((IArchiveDetailFormWithDetailGrids)masterForm.ArchiveDetailForm).DetailGrids[0] as IArchiveGrid).ControlManager; IList <集装箱数据> boxList = 查询出口集装箱数据By提单号航次(bgdInfo.提运单号.Trim(), bgdInfo.船名航次.Split('/')[1]); string 进港地 = null; DateTime? 离港时间 = null; foreach (集装箱数据 data in boxList) { bool have = false; foreach (Xceed.Grid.DataRow row in ((IArchiveDetailFormWithDetailGrids)masterForm.ArchiveDetailForm).DetailGrids[0].DataRows) { if (row.Cells["箱号"].Value != null && row.Cells["箱号"].Value.ToString().Trim() == data.集装箱号.Trim()) { have = true; break; } 进港地 = (string)NameValueMappingCollection.Instance.FindColumn2FromColumn1("人员单位_港区堆场", "全称", "编号", data.堆场区); 离港时间 = data.Real进场时间; } if (!have) { 拼箱箱 newItem = new 拼箱箱 { 箱号 = data.集装箱号, 箱型 = Feng.Utils.ConvertHelper.ChangeType(data.箱型, typeof(箱型)) as 箱型, 装货地编号 = (string)NameValueMappingCollection.Instance.FindColumn2FromColumn1("人员单位_港区堆场", "全称", "编号", data.堆场区), 进港时间 = data.Real进场时间, 提箱时间 = data.Real提箱时间 }; detailCm.AddNew(); detailCm.DisplayManager.Items[detailCm.DisplayManager.Position] = newItem; detailCm.EndEdit(); } } AskToReplace(masterCm, "进港地编号", 进港地); AskToReplace(masterCm, "离港时间", 离港时间); }
public static void ReadCk_报关单号(ArchiveOperationForm masterForm) { IControlManager masterCm = masterForm.ControlManager; if (masterCm.DisplayManager.DataControls["报关单号"].SelectedDataValue == null) { ServiceProvider.GetService <IMessageBox>().ShowWarning("请输入报关单号!"); return; } string bgdh = masterCm.DisplayManager.DataControls["报关单号"].SelectedDataValue.ToString().Trim(); 报关单数据 bgdInfo = null; foreach (KeyValuePair <string, string> id in Get_nbediRead_ID()) { m_nbediRead = new nbediRead(); m_nbediRead.SetLoginInfo(id.Key, id.Value); bgdInfo = m_nbediRead.长短号查询报关单数据(bgdh); if (bgdInfo != null && !string.IsNullOrEmpty(bgdInfo.报关单号)) { break; } } if (bgdInfo == null) { ReadCk(masterForm); } else { AskToReplace(masterCm, "报关单号", bgdInfo.报关单长号); AskToReplace(masterCm, "抬头", bgdInfo.经营单位); AskToReplace(masterCm, "提单号", bgdInfo.提运单号); AskToReplace(masterCm, "核销单号", bgdInfo.批准文号); AskToReplace(masterCm, "通关单号", bgdInfo.通关单号); AskToReplace(masterCm, "箱号", bgdInfo.箱号); AskToReplace(masterCm, "箱量", bgdInfo.箱量); AskToReplace(masterCm, "委托时间", bgdInfo.申报日期); AskToReplace(masterCm, "船名航次", bgdInfo.船名航次); //AskToReplace(masterCm, "报关单快照", bgdInfo.网页快照); AskToReplace(masterCm, "报关员编号", bgdInfo.报关员); AskToReplace(masterCm, "报关公司", bgdInfo.报关公司); if (string.IsNullOrEmpty(bgdInfo.提运单号)) { return; } IControlManager detailCm = (((IArchiveDetailFormWithDetailGrids)masterForm.ArchiveDetailForm).DetailGrids[0] as IArchiveGrid).ControlManager; IList <集装箱数据> boxList = m_nbediRead.查询集装箱数据(bgdInfo.提运单号.Trim(), bgdInfo.船名航次.Split('/')[0], bgdInfo.船名航次.Split('/')[1]); //IList<集装箱数据> boxList = 查询出口集装箱数据By提单号航次(bgdInfo.提运单号.Trim(), bgdInfo.船名航次.Split('/')[1]); string 进港地 = null; //bool is查验 = true; // 海关查验是否正常,异常将不查询查验结果 foreach (集装箱数据 data in boxList) { bool have = false; foreach (Xceed.Grid.DataRow row in ((IArchiveDetailFormWithDetailGrids)masterForm.ArchiveDetailForm).DetailGrids[0].DataRows) { if (row.Cells["箱号"].Value != null && row.Cells["箱号"].Value.ToString().Trim() == data.集装箱号.Trim()) { have = true; break; } 进港地 = (string)NameValueMappingCollection.Instance.FindColumn2FromColumn1("人员单位_港区堆场", "全称", "编号", data.堆场区); } if (!have) { int xx = 0; if (int.TryParse(data.箱型, out xx)) { if (xx < 40) { xx = 20; } if (xx >= 45) { xx = 41; } else { xx = 40; } } int?箱型编号 = null; if (xx != 0) { 箱型编号 = xx; } 出口箱 newItem = new 出口箱 { 箱号 = data.集装箱号, 箱型编号 = 箱型编号, 装货地编号 = (string)NameValueMappingCollection.Instance.FindColumn2FromColumn1("人员单位_港区堆场", "全称", "编号", data.堆场区), 进港时间 = data.Real进场时间, //提箱时间 = data.Real提箱时间 }; //if (is查验) //{ // try // { // 查询海关查验结果(newItem); // } // catch (Exception ex) // { // is查验 = false; // MessageForm.ShowError(ex.Message, "海关查验"); // } //} detailCm.AddNew(); detailCm.DisplayManager.Items[detailCm.DisplayManager.Position] = newItem; detailCm.EndEdit(); } } AskToReplace(masterCm, "进港地编号", 进港地); 保存报关单快照(bgdInfo.报关单长号, bgdInfo.网页快照); } }