/// <summary> /// 上传运单号 /// </summary> private static void UploadOrder() { ResultModelOfboolean result = new ResultModelOfboolean(); List <Model_Huadong_Tms_Order> list = new List <Model_Huadong_Tms_Order>(); try { //根据每次查询运单数量为条件查询几条信息 DataTable dt = HuadongTmsOrderServer.GethuadongTmsOrder(Common._MaxUploadOrderCount); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { Model_Huadong_Tms_Order huadong = new Model_Huadong_Tms_Order(); huadong.Idk__BackingField = Convert.ToInt32(row["id"]); huadong.RelationIdk__BackingField = row["relationId"].ToString(); list.Add(huadong); } //后台接口,上传数据 result = Common._PdaServer.UploadHuadongTmsOrder(list.ToArray()); } } catch (Exception ex) { throw ex; } finally { if (result.Data) { HuadongTmsOrderServer.DeleteUploadHuadongTmsOrder(list.Select(l => l.RelationIdk__BackingField).ToList()); } } }
/// <summary> /// 查询华东运单的信息 /// </summary> /// <param name="order"></param> /// <returns></returns> public static Model_Huadong_Tms_Order Queryhuadongtmsorder(Model_Huadong_Tms_Order order) { string sql = "select * from huadong_tms_order where id=?id"; MySqlParameter[] para = new MySqlParameter[1]; para[0] = new MySqlParameter("id", order.Id); Model_Huadong_Tms_Order huadongtmsorder = _SqlHelp.ExecuteObject <Model_Huadong_Tms_Order>(sql, para); return(huadongtmsorder); }
/// <summary> /// 添加华东医药托运订单与惊尘运单关联表 信息 /// </summary> /// <param name="waybillbase"></param> /// <returns></returns> public static int AddhuadongWaybillbase(Model_Huadong_Tms_Order waybillbase, string HD) { string sql = "insert into huadong_tmsorder_waybillbase(relationId,number) values(?relationId, ?number)"; MySqlParameter[] para = new MySqlParameter[2]; para[0] = new MySqlParameter("relationId", waybillbase.RelationId); para[1] = new MySqlParameter("number", HD); int result = _SqlHelp.ExecuteNonQuery(sql, para); return(result); }
/// <summary> /// 插入华东医药托运订单的关联编号信息 /// </summary> /// <param name="rela">华东医药托运订单主体信息</param> /// <returns></returns> public static int UpdateHuadong(string order, Model_Huadong_Tms_Order rela) { string sql = "update huadong_tms_order set relationId=?relationId where id=?id"; MySqlParameter[] para = new MySqlParameter[2]; para[0] = new MySqlParameter("relationId", order); para[1] = new MySqlParameter("id", rela.Id); int reslut = _SqlHelp.ExecuteNonQuery(sql, para); return(reslut); }
/// <summary> /// 添加运单信息 /// </summary> /// <param name="huadongtms"></param> /// <returns></returns> public static int AddWaybillBase(Model_Huadong_Tms_Order huadongtms) { //从配置文件中读取寄货客户单位id和name int temp = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Huadong_Id"]); string senderorg = System.Configuration.ConfigurationManager.AppSettings["Huadong_Name"]; string receiverId = null; int billingCount = 0; int stage = 0; string SenderTel = ""; DateTime beginAt = DateTime.Now; string signinAt = null; string picPostbackAt = null; long number = 1000000000; string sqlnumber = "select * from waybill_base where company=1;"; List <Model_Waybill_Base> list = _SqlHelp.ExecuteObjects <Model_Waybill_Base>(sqlnumber); number = number + list.Count + 1; string HD = "99" + number; string sql = "insert into waybill_base(number,senderId,senderOrg,senderPerson,senderTel,senderAddress,receiverId,receiverOrg,receiverPerson,receiverTel,receiverAddress,billingCount,stage,beginAt,signinAt,picPostbackAt,company) " + " values(?number,?senderId,?senderOrg,?senderPerson,?senderTel,?senderAddress,?receiverId,?receiverOrg,?receiverPerson,?receiverTel,?receiverAddress,?billingCount,?stage,?beginAt,?signinAt,?picPostbackAt,?company)"; MySqlParameter[] para = new MySqlParameter[17]; para[0] = new MySqlParameter("number", HD); para[1] = new MySqlParameter("senderId", temp); para[2] = new MySqlParameter("senderOrg", senderorg); para[3] = new MySqlParameter("senderPerson", huadongtms.EXTCOL12); //寄件人 para[4] = new MySqlParameter("senderTel", SenderTel); //寄件人电话 para[5] = new MySqlParameter("senderAddress", huadongtms.EXTCOL11); //寄件人地址 para[6] = new MySqlParameter("receiverId", receiverId); //收货客户单位 id para[7] = new MySqlParameter("receiverOrg", huadongtms.CUSTOMERNAME); //收货单位 para[8] = new MySqlParameter("receiverPerson", huadongtms.RECEIVEMAN); //收货人 para[9] = new MySqlParameter("receiverTel", huadongtms.RECEIVEPHONE); //收货人电话 para[10] = new MySqlParameter("receiverAddress", huadongtms.RECEIVEADDR); //收货人地址 para[11] = new MySqlParameter("billingCount", billingCount); para[12] = new MySqlParameter("stage", stage); para[13] = new MySqlParameter("beginAt", beginAt); para[14] = new MySqlParameter("signinAt", signinAt); para[15] = new MySqlParameter("picPostbackAt", picPostbackAt); para[16] = new MySqlParameter("company", Enum_Company.ThirdParty); int result = 0; result = _SqlHelp.ExecuteNonQuery(sql, para); //插入关联表信息 if (result > 0) { result = AddhuadongWaybillbase(huadongtms, HD); } return(result); }
/// <summary> /// 查询华东订单信息 /// </summary> /// <param name="huadong">华东医药托运订单主体信息</param> /// <returns></returns> public static List <Model_Huadong_Tms_Order> GethuadongTms(Model_Huadong_Tms_Order huadong) { List <Model_Huadong_Tms_Order> list = new List <Model_Huadong_Tms_Order>(); if (huadong != null) { string sql = "select id,relationId,code,SRCEXPNO,ROADID,SHIPDETAILID,TOTALID,LEGCODE,SHIPMENTCODE,OPERATIONTYPE,DEMANDARRIVETIME," + "senderOrg,senderPerson,senderTel,senderAddress,receiverOrg,receiverPerson,receiverTel,receiverAddress " + " from huadong_tms_order where (SHIPDETAILID = ?SHIPDETAILID or LEGCODE = ?LEGCODE ) ;"; MySqlParameter[] para = new MySqlParameter[2]; para[0] = new MySqlParameter("SHIPDETAILID", huadong.RelationId); para[1] = new MySqlParameter("LEGCODE", huadong.RelationId); list = _SqlHelp.ExecuteObjects <Model_Huadong_Tms_Order>(sql, para); } return(list); }
/// <summary> /// 上传第三方运单号 /// </summary> private static void UploadThirdOrder() { ResultModelOfboolean result = new ResultModelOfboolean(); List <Model_Huadong_Tms_Order> list = new List <Model_Huadong_Tms_Order>(); string msg = string.Empty; string err = string.Empty; try { //根据每次查询运单数量为条件查询几条信息 DataTable dt = HuadongTmsOrderServer.GethuadongTmsOrder(Common._MaxUploadOrderCount); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow row in dt.Rows) { Model_Huadong_Tms_Order huadong = new Model_Huadong_Tms_Order(); huadong.Idk__BackingField = Convert.ToInt32(row["id"]); huadong.RelationIdk__BackingField = row["relationId"].ToString(); list.Add(huadong); msg = huadong.RelationIdk__BackingField; } FrmParent.ParentForm.SetNewInfo("正在上报第三方运单" + msg + ",请稍候...", null); //后台接口,上传数据 result = Common._PdaServer.UploadHuadongTmsOrder(list.ToArray()); } } catch (Exception ex) { err = ex.Message; throw ex; } finally { if (result.Data) { HuadongTmsOrderServer.DeleteUploadHuadongTmsOrder(list.Select(l => l.RelationIdk__BackingField).ToList()); } else if (string.IsNullOrEmpty(err)) { err = result.Message; } err = err == null ? string.Empty : err; FrmParent.ParentForm.SetNewInfo(string.Format("{0}{1} {2}", (msg.Length == 0 ? "没有待上报的第三方运单." : "上报第三方运单"), msg, (err.Length == 0 ? (msg.Length == 0 ? "" : "成功") : "失败 " + err)), err.Length == 0); } }
/// <summary> /// 查询运单信息是否存在第三方信息 /// </summary> /// <param name="huadong"></param> /// <returns></returns> public static List <Model_Waybill_Base> QueryWaybill(Model_Huadong_Tms_Order huadong) { List <Model_Waybill_Base> list = null; //Model_Huadong_Tmsorder_Waybillbase huadongtmsorder = new Model_Huadong_Tmsorder_Waybillbase(); string distinctSql = string.Format("select * from huadong_tmsorder_waybillbase where relationId in('{0}')", huadong.RelationId); Model_Huadong_Tmsorder_Waybillbase huadongtmsorder = _SqlHelp.ExecuteObject <Model_Huadong_Tmsorder_Waybillbase>(distinctSql); if (huadongtmsorder != null) { string sql = "select id,number,senderId,senderOrg,senderPerson,senderTel,senderAddress,receiverId,receiverOrg," + "receiverPerson,receiverTel,receiverAddress,billingCount,stage,beginAt,signinAt,picPostbackAt from waybill_base " + " where number = ?number"; MySqlParameter[] para = new MySqlParameter[1]; para[0] = new MySqlParameter("number", huadongtmsorder.number); list = _SqlHelp.ExecuteObjects <Model_Waybill_Base>(sql, para); } return(list); }
/// <summary> /// 第三方运单信息 /// </summary> /// <param name="huadong"></param> /// <returns></returns> public static bool GethuadongTmsOrder(List <Model_Huadong_Tms_Order> huadong) { if (huadong.Count == 0) { return(false); } bool result = false; try { int distinctCount = 0; foreach (Model_Huadong_Tms_Order order in huadong) { //1.查询运单表中存在运单号的信息, List <Model_Waybill_Base> way = QueryWaybill(order); if (way == null) { //根据运单号查询华东医药托运订单信息 List <Model_Huadong_Tms_Order> huadongtms = GethuadongTms(order); if (huadongtms.Count > 0) { foreach (Model_Huadong_Tms_Order rela in huadongtms) { //判断华东药托运订单的relationId字段是否为空 if (string.IsNullOrEmpty(rela.RelationId)) { //把运单号插入华东医药托运订单的relationId字段中 int reslult = UpdateHuadong(order.RelationId, rela); if (reslult > 0) { //查询华东运单信息 Model_Huadong_Tms_Order huadongtmsorder = Queryhuadongtmsorder(rela); //根据运单号查询的信息插入运单记录运单表信息 if (AddWaybillBase(huadongtmsorder) > 0) { result = true; HuaDongFcCoTable(order.RelationId); } else { result = false; } } else { return(false); } } else { distinctCount++; } } } else { distinctCount++; } } else { distinctCount++; } } if (distinctCount == huadong.Count) { return(true); } } catch (Exception ex) { throw ex; } return(result); }