/// <summary> /// 查虚拟手持终端号 /// </summary> /// <returns></returns> public string SelectRemote() { Dictionary <string, string> list = DAL.ctosDAL.SelectRemote(); //去掉已使用的终端号 QcSet.T_OCR_QCSETDataTable dt = DAL.cctdbDAL.SelectQCSet(); foreach (QcSet.T_OCR_QCSETRow row in dt) { if (list.ContainsKey(row.DEVICE_NO)) { list.Remove(row.DEVICE_NO); } } if (list.Count == 0) { throw new Exception("虚拟无线终端号已用完!"); } string str = string.Empty; foreach (string key in list.Keys) { str = string.Format("{0},{1}", key, list[key]); break; } return(str); }
private void InitQc() { this.Cursor = Cursors.WaitCursor; try { List <string> list = new List <string>(); list.Add("ALL"); OCR.BLL.QcSetBLL b = new QcSetBLL(); using (QcSet.T_OCR_QCSETDataTable dt = b.SelectQCSet()) { foreach (QcSet.T_OCR_QCSETRow r in dt) { list.Add(r.TRVALCRANE_NO); } } cbbQC.DataSource = list; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { this.Cursor = Cursors.Default; } }
/// <summary> /// 查桥吊作业配置 /// </summary> /// <returns></returns> public static QcSet.T_OCR_QCSETRow SelectQCSet(string qcno) { HttpHelper httpHelper = new HttpHelper(); string host = ConnectionHelper.GetOracleConnectionString("SCT_API_HOST"); string url = string.Format("{0}/api/QC/SelectQCSetByQCNo?qcno={1}", host, qcno); string resultStr = httpHelper.HttpGet(url); QcSet.T_OCR_QCSETDataTable result = JsonConvert.DeserializeObject <QcSet.T_OCR_QCSETDataTable>(resultStr); return(result[0]); //IDbCommand command = SqlHelper.Oracle.CreateDbCommand(Config.ConnectionString, "OCR.pkg_ocr.p_select_qcset1", CommandType.StoredProcedure); //((IDataParameter)command.Parameters["p_qc"]).Value = qcno; //QcSet ds = new QcSet(); //SqlHelper.Oracle.FillDataSet(Config.ConnectionString, command, ds, new string[] { ds.T_OCR_QCSET.TableName }); //if (ds.T_OCR_QCSET.Count > 0) return ds.T_OCR_QCSET[0]; //else return null; }
/// <summary> /// 查桥吊作业配置 /// </summary> /// <returns></returns> public QcSet.T_OCR_QCSETDataTable SelectQCSet() { QcSet.T_OCR_QCSETDataTable dt = DAL.cctdbDAL.SelectQCSet(); return(dt); }
public override string Deal() { StringBuilder msg = new StringBuilder(); try { jobBLL bll = new jobBLL(); //读取待同步数据 using (DataSet ds = bll.GetOcrDBCnt(MaxId)) { //查桥吊作业配置 if (ds.Tables[0].Rows.Count > 0) { QcSet.T_OCR_QCSETDataTable qc = bll.SelectQCSet(); //逐条写入二次开发数据库 foreach (DataRow dr in ds.Tables[0].Rows) { try { MaxId = Convert.ToInt32(dr["dock_id"]); bool flag = false; dr["isarchived"] = "N"; foreach (QcSet.T_OCR_QCSETRow row in qc) { if (row.TRVALCRANE_NO == dr["trval_no"].ToString() && row.STATUS == "作业中") { int dock_status = Convert.ToInt32(dr["dock_status"]); dr["driver_no"] = row.DRIVER_ID; dr["ship_code"] = row.SHIP_CODE; dr["c_voyage"] = dock_status == 0 ? row.OUT_VOYAGE_CODE : row.IN_VOYAGE_CODE; dr["COMMEND_ID"] = row.COMMEND_ID; dr["BERTH_NUM"] = row.BERTH_NUM; dr["ENAM"] = row.VESSELALIASE; //dr["Cstatus"] = dock_status == 0 && row.SHIPMENT_DEAL == "关" ? Convert.ToInt32(Config.CStatus.LoadWaitAuto) : Convert.ToInt32(Config.CStatus.WaitHandle); //2017-9-29 叶君腾 增加卸船自动确认 dr["Cstatus"] = row.SHIPMENT_DEAL == "关" ? Convert.ToInt32(Config.CStatus.LoadWaitAuto) : Convert.ToInt32(Config.CStatus.WaitHandle); dr["SERVICECODE"] = dock_status == 0 ? row.OUTVESSELLINECODE : row.INVESSELLINECODE; if (row.WORKTYPE == "外理" || row.WORKTYPE == "现场" || row.WORKTYPE == "核封") { //外理作业模式 dr["Cstatus"] = Convert.ToInt32(Config.CStatus.ExOnly); } flag = true; break; } } if (!flag) { dr["Cstatus"] = Convert.ToInt32(Config.CStatus.NoQcSet); dr["isarchived"] = "A"; AddResult(string.Format("箱{0} {1}", dr["trval_no"].ToString(), "桥吊作业配置异常")); } bll.InsertCnt(dr); AddResult(string.Format("箱{0} {1} {2}", dr["dock_id"].ToString(), dr["container_no"].ToString(), dr["trval_no"].ToString())); } catch (Exception ex) { AddResult(string.Format("箱{0} {1}", dr["dock_id"].ToString(), ex.Message)); } } } } } catch (Exception ex) { AddResult(string.Format("箱 {0}", ex.Message)); } return(msg.ToString()); }
public override string Deal() { StringBuilder msg = new StringBuilder(); try { jobBLL bll = new jobBLL(); //读取待同步数据 using (DataSet ds = bll.GetOcrDBCnt(MaxId)) { //查桥吊作业配置 if (ds.Tables[0].Rows.Count > 0) { QcSet.T_OCR_QCSETDataTable qc = bll.SelectQCSet(); //逐条写入二次开发数据库 foreach (DataRow dr in ds.Tables[0].Rows) { try { MaxId = Convert.ToInt64(dr["dock_id"]); bool flag = false; dr["isarchived"] = "N"; foreach (QcSet.T_OCR_QCSETRow row in qc) { if (row.TRVALCRANE_NO == dr["trval_no"].ToString() && row.STATUS == "作业中") { int dock_status = Convert.ToInt32(dr["dock_status"]); dr["driver_no"] = row.DRIVER_ID; dr["ship_code"] = row.SHIP_CODE; dr["c_voyage"] = dock_status == 0 ? row.OUT_VOYAGE_CODE : row.IN_VOYAGE_CODE; dr["COMMEND_ID"] = row.COMMEND_ID; dr["BERTH_NUM"] = row.BERTH_NUM; dr["ENAM"] = row.VESSELALIASE; //dr["Cstatus"] = dock_status == 0 && row.SHIPMENT_DEAL == "关" ? Convert.ToInt32(Config.CStatus.LoadWaitAuto) : Convert.ToInt32(Config.CStatus.WaitHandle); //2017-9-29 叶君腾 增加卸船自动确认 dr["Cstatus"] = row.SHIPMENT_DEAL == "关" ? Convert.ToInt32(Config.CStatus.LoadWaitAuto) : Convert.ToInt32(Config.CStatus.WaitHandle); dr["SERVICECODE"] = dock_status == 0 ? row.OUTVESSELLINECODE : row.INVESSELLINECODE; if (row.WORKTYPE == "外理" || row.WORKTYPE == "现场" || row.WORKTYPE == "核封") { //外理作业模式 dr["Cstatus"] = Convert.ToInt32(Config.CStatus.ExOnly); } flag = true; break; } } if (!flag) { string TicketId = ConfigurationManager.AppSettings["TICKET_ID"]; if (dr["container_no"] != null && dr["container_no"].ToString() != "未识别") { CtosResult cntInfo = CtosAPIBLL.CM005001(dr["container_no"].ToString(), TicketId); if (cntInfo.ERRORCODE == CtosAPIBLL.SUCCESSCODE && cntInfo.DS.Tables[0].Rows.Count > 0) { int dock_status = Convert.ToInt32(dr["dock_status"]); dr["ship_code"] = dock_status == 0 ? cntInfo.DS.Tables["CM_CONTAINERS"].Rows[0]["OUTEVESSELNAME"].ToString() : cntInfo.DS.Tables["CM_CONTAINERS"].Rows[0]["INEVESSELNAME"].ToString(); dr["c_voyage"] = dock_status == 0 ? cntInfo.DS.Tables["CM_CONTAINERS"].Rows[0]["OUTBOUNDVOY"].ToString() : cntInfo.DS.Tables["CM_CONTAINERS"].Rows[0]["INBOUNDVOY"].ToString(); //dr["COMMEND_ID"] = row.COMMEND_ID; //dr["BERTH_NUM"] = row.BERTH_NUM; dr["ENAM"] = dock_status == 0 ? cntInfo.DS.Tables["CM_CONTAINERS"].Rows[0]["OUTVELALIASE"].ToString() : cntInfo.DS.Tables["CM_CONTAINERS"].Rows[0]["INVELALIASE"].ToString(); //dr["Cstatus"] = dock_status == 0 && row.SHIPMENT_DEAL == "关" ? Convert.ToInt32(Config.CStatus.LoadWaitAuto) : Convert.ToInt32(Config.CStatus.WaitHandle); //2017-9-29 叶君腾 增加卸船自动确认 dr["Cstatus"] = Convert.ToInt32(Config.CStatus.LoadWaitAuto); DataTable dt = OCR.BLL.jobBLL.SelectService(dr["ENAM"].ToString()); dr["SERVICECODE"] = dock_status == 0 ? dt.Rows[0]["outvessellinecode"].ToString() : dt.Rows[0]["invessellinecode"].ToString(); //外理作业模式 dr["Cstatus"] = Convert.ToInt32(Config.CStatus.ExOnly); flag = true; } } } if (!flag) { dr["Cstatus"] = Convert.ToInt32(Config.CStatus.NoQcSet); dr["isarchived"] = "A"; AddResult(string.Format("箱{0} {1}", dr["trval_no"].ToString(), "桥吊作业配置异常")); } bll.InsertCnt(dr); AddResult(string.Format("箱{0} {1} {2}", dr["dock_id"].ToString(), dr["container_no"].ToString(), dr["trval_no"].ToString())); } catch (Exception ex) { SendEmail("*****@*****.**", "[OCR]分发错误", $"Error:{ex.StackTrace}"); } } } } } catch (Exception ex) { AddResult(string.Format("箱 {0}", ex.Message)); } return(msg.ToString()); }