public List<DeliverMasterQuery> JudgeOrdid(DeliverMaster dm) { try { return _ideliver.JudgeOrdid(dm); } catch (Exception ex) { throw new Exception("DeliverMasterMgr-->JudgeOrdid-->" + ex.Message, ex); } }
public List<DeliverMasterQuery> DeliverVerifyList(DeliverMaster deliver, out int totalCount) { try { return _ideliver.DeliverVerifyList(deliver, out totalCount); } catch (Exception ex) { throw new Exception("DeliverMasterMgr-->DeliverVerifyList-->" + ex.Message, ex); } }
public void Add(DeliverMaster dm) { StringBuilder sbSql = new StringBuilder(); try { sbSql.AppendFormat(@"insert into deliver_master(deliver_id,detail_id,delivery_status) values()"); } catch (Exception ex) { throw new Exception(" DeliverMasterDao-->Add-->" + ex.Message + sbSql.ToString(), ex); } }
public List<DeliverMasterQuery> JudgeOrdid(DeliverMaster dm) { StringBuilder sbSql = new StringBuilder(); try { sbSql.Append(@"SELECT dm.deliver_id,dm.order_id,dm.delivery_status,CONCAT('(',tp2.parameterName,tp1.parameterName,')') as delivery_store_name,dm.delivery_store from deliver_master dm "); sbSql.Append(@"LEFT JOIN deliver_detail dd ON dm.deliver_id = dd.deliver_id "); sbSql.Append(@"LEFT JOIN order_detail od ON dd.detail_id=od.detail_id "); sbSql.Append(@"LEFT JOIN t_parametersrc tp1 ON dm.delivery_store = tp1.parameterCode AND tp1.parameterType='Deliver_Store' "); sbSql.Append(@"LEFT JOIN t_parametersrc tp2 ON od.product_freight_set = tp2.parameterCode AND tp2.parameterType='product_freight' "); sbSql.Append(@" where 1=1"); if (dm.deliver_id != 0) { sbSql.AppendFormat(@" AND dm.deliver_id='{0}' ", dm.deliver_id); } if (dm.order_id != 0) { sbSql.AppendFormat(@" AND dm.order_id='{0}' ", dm.order_id); } sbSql.Append(" limit 1;"); return _access.getDataTableForObj<DeliverMasterQuery>(sbSql.ToString()); } catch (Exception ex) { throw new Exception(" DeliverMasterDao-->JudgeOrdid-->" + ex.Message + sbSql.ToString(), ex); } }
public List<DeliverMasterQuery> DeliverVerifyList(DeliverMaster dm, out int totalCount) { StringBuilder sbSql = new StringBuilder(); try { totalCount = 0; //sbSql.Append(@"SELECT dm.deliver_id,dm.order_id,pi.item_id,od.product_name,od.buy_num,tp.remark AS 'status',CONCAT('(',tp2.parameterName,tp1.parameterName,')') as delivery_store_name from deliver_master dm "); //sbSql.Append(@"LEFT JOIN deliver_detail dd ON dm.deliver_id = dd.deliver_id "); //sbSql.Append(@"LEFT JOIN order_detail od ON dd.detail_id = od.detail_id "); //sbSql.Append(@"LEFT JOIN product_item pi ON od.item_id = pi.item_id "); //sbSql.Append(@"LEFT JOIN product p ON pi.product_id = p.product_id "); //sbSql.Append(@"LEFT JOIN t_parametersrc tp ON od.detail_status = tp.parameterCode AND tp.parameterType='order_status' "); //sbSql.Append(@"LEFT JOIN t_parametersrc tp1 ON dm.delivery_store = tp1.parameterCode AND tp1.parameterType='Deliver_Store' "); //sbSql.Append(@"LEFT JOIN t_parametersrc tp2 ON od.product_freight_set = tp2.parameterCode AND tp2.parameterType='product_freight' "); //od.detail_status,dd.detail_id, od.parent_name, od.product_spec_name,od.product_freight_set,od.item_vendor_id,od.product_mode,od.combined_mode,od.parent_id,od.item_mode,od.pack_id,od.parent_num,p.product_mode, // 轉型錯誤 dd.delivery_status, sbSql.Append(@"select pi.item_id, od.product_name, od.buy_num,dd.deliver_id, dm.order_id,tp.remark AS 'status',CONCAT('(',tp2.parameterName,tp1.parameterName,')') as delivery_store_name from deliver_detail dd left join order_detail od on dd.detail_id=od.detail_id left join product_item pi on od.item_id=pi.item_id left join product p on p.product_id=pi.product_id left join deliver_master dm ON dm.deliver_id = dd.deliver_id LEFT JOIN t_parametersrc tp ON od.detail_status = tp.parameterCode AND tp.parameterType='order_status' LEFT JOIN t_parametersrc tp1 ON dm.delivery_store = tp1.parameterCode AND tp1.parameterType='Deliver_Store' LEFT JOIN t_parametersrc tp2 ON od.product_freight_set = tp2.parameterCode AND tp2.parameterType='product_freight' "); sbSql.Append(@" where 1=1 "); if (dm.deliver_id != 0 && dm.order_id != 0) { //sbSql.AppendFormat(@" AND dm.deliver_id='{0}' AND dm.order_id='{1}' ", dm.deliver_id, dm.order_id); sbSql.AppendFormat(@" AND dd.deliver_id='{0}' ", dm.deliver_id); } sbSql.Append(@" order by od.item_vendor_id asc ,od.item_id asc "); //if (dm.IsPage) //{ // System.Data.DataTable _dt = _access.getDataTable(sbSql.ToString()); // if ( _dt.Rows.Count > 0) // { // totalCount = _dt.Rows.Count; // } // sbSql.AppendFormat(" limit {0},{1}", dm.Start, dm.Limit); //} return _access.getDataTableForObj<DeliverMasterQuery>(sbSql.ToString()); } catch (Exception ex) { throw new Exception(" DeliverMasterDao-->DeliverVerifyList-->" + ex.Message + sbSql.ToString(), ex); } }
public int DeliverMasterEdit(DeliverMaster dm, int type) { try { return _IDeliverDetailDao.DeliverMasterEdit(dm, type); } catch (Exception ex) { throw new Exception("DeliverDetailMgr-->DeliverMasterEdit-->" + ex.Message, ex); } }
/// <summary> /// 下一次出貨 /// </summary> /// <param name="deliver_id"></param> /// <param name="detail_id"></param> public string Split(string deliver_id, string[] detail_ids) { MySqlCommand mySqlCmd = new MySqlCommand(); MySqlConnection mySqlConn = new MySqlConnection(connString); SerialDao serialDao = new SerialDao(""); StringBuilder sql = new StringBuilder(); System.Net.IPAddress[] addlist = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList; string detail_id = "("; foreach (var item in detail_ids) { detail_id += item + ","; } detail_id = detail_id.TrimEnd(','); detail_id += ")"; int i = 0; string ip = string.Empty; if (addlist.Length > 0) { ip = addlist[0].ToString(); } int user_id = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; try { if (mySqlConn != null && mySqlConn.State == System.Data.ConnectionState.Closed) { mySqlConn.Open(); } mySqlCmd.Connection = mySqlConn; mySqlCmd.Transaction = mySqlConn.BeginTransaction(); mySqlCmd.CommandType = System.Data.CommandType.Text; sql.AppendFormat(@" SELECT order_id,type,export_id,import_id,freight_set,delivery_name,delivery_mobile,"); sql.AppendFormat(@" delivery_phone, delivery_zip,delivery_store,delivery_address from deliver_master "); sql.AppendFormat(@" where deliver_id='{0}';", deliver_id); List<DeliverMaster> store = _access.getDataTableForObj<DeliverMaster>(sql.ToString()); DeliverMaster dm = new DeliverMaster(); if (store.Count > 0) { dm = store[0]; } mySqlCmd.CommandText = serialDao.Update(76); //deliver_master dm.deliver_id = uint.Parse(mySqlCmd.ExecuteScalar().ToString()); dm.creator = user_id; dm.verifier = user_id; dm.created = DateTime.Now; dm.modified = DateTime.Now; sql.Clear(); sql.AppendFormat(@"INSERT INTO deliver_master (deliver_id,order_id,ticket_id,type,export_id,import_id,freight_set,"); sql.AppendFormat(@"delivery_status,delivery_name,delivery_mobile,delivery_phone,delivery_zip,"); sql.AppendFormat(@"delivery_address,delivery_store,delivery_code,delivery_freight_cost,"); //sql.AppendFormat(@"sms_date,arrival_date,estimated_delivery_date,estimated_arrival_date,"); sql.AppendFormat(@" estimated_arrival_period, "); sql.AppendFormat(@"creator,verifier,created,modified,export_flag,data_chg,work_status)"); sql.AppendFormat(@" values('{0}','{1}','{2}','{3}','{4}','{5}','{6}',", dm.deliver_id, dm.order_id, dm.ticket_id, dm.type, dm.export_id, dm.import_id, dm.freight_set); sql.AppendFormat(@"'{0}','{1}','{2}','{3}','{4}',", dm.delivery_status, dm.delivery_name, dm.delivery_mobile, dm.delivery_phone, dm.delivery_zip); sql.AppendFormat(@"'{0}','{1}','{2}','{3}',", dm.delivery_address, dm.delivery_store, dm.delivery_code, dm.delivery_freight_cost); //sql.AppendFormat(@"'{0}','{1}','{2}','{3}','{4}',",null,null, null,null, dm.estimated_arrival_period); sql.AppendFormat(@" '{0}',", dm.estimated_arrival_period); sql.AppendFormat(@"'{0}','{1}','{2}','{3}','{4}','{5}','{6}');", dm.creator, dm.verifier, dm.created.ToString("yyyy-MM-dd HH:mm:ss"), dm.modified.ToString("yyyy-MM-dd HH:mm:ss"), dm.export_flag, dm.data_chg, dm.work_status); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); sql.Clear(); sql.AppendFormat(@" update deliver_detail set deliver_id='{0}'", dm.deliver_id); sql.AppendFormat(@" where deliver_id='{0}' and detail_id in {1};", deliver_id, detail_id); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); sql.Clear(); if (dm.delivery_store == 42)//到店取貨 { sql.AppendFormat(@" SELECT order_id FROM split_single_remind WHERE order_id ='{0}'; ", dm.order_id); mySqlCmd.CommandText = sql.ToString(); object ob = mySqlCmd.ExecuteScalar(); sql.Clear(); if (ob == null) { sql.AppendFormat(@" insert into split_single_remind SET order_id='{0}', status=0, set_time='{1}';", dm.order_id, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); sql.Clear(); } } DeliverStatus dstatus = new DeliverStatus(); dstatus.deliver_id = int.Parse(deliver_id); dstatus.state = 3; dstatus.settime = DateTime.Now; dstatus.endtime = DateTime.Now; dstatus.freight_type = int.Parse(dm.delivery_store.ToString()) == 42 ? 12 : 11; dstatus.Logistics_providers = int.Parse(dm.delivery_store.ToString()); sql.AppendFormat(@" insert into deliver_status (deliver_id,state,settime,endtime,freight_type,Logistics_providers)"); sql.AppendFormat(@" values('{0}','{1}','{2}',", dstatus.deliver_id, dstatus.state, dstatus.settime.ToString("yyyy-MM-dd HH:mm:ss")); sql.AppendFormat(@" '{0}','{1}','{2}');", dstatus.endtime.ToString("yyyy-MM-dd HH:mm:ss"), dstatus.freight_type, dstatus.Logistics_providers); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); sql.Clear(); //供應商自出 if (dm.type == 2) { uint sumtotal = 0; sql.Clear(); sql.AppendFormat(@"SELECT os.slave_id, order_id,vendor_id, slave_status,"); sql.AppendFormat(@"SUM(od.single_money * od.buy_num) AS subtotal"); sql.AppendFormat(@" from order_slave os LEFT JOIN order_detail od on os.slave_id=od.slave_id"); sql.AppendFormat(@" where od.detail_id in {0} GROUP BY os.slave_id limit 1;", detail_id); DataTable dt = _access.getDataTable(sql.ToString()); for (int j = 0; j < detail_ids.Length; j++) { if (dt.Rows.Count > 0) { DataRow dr = dt.Rows[0]; uint subtotal = (!string.IsNullOrEmpty(dr["subtotal"].ToString())) ? uint.Parse(dr["subtotal"].ToString()) : 0; sumtotal += subtotal; } } sql.Clear(); sql.AppendFormat(@" update order_slave set slave_product_subtotal=slave_product_subtotal-{0},", sumtotal); sql.AppendFormat(@" slave_amount=slave_amount-{0},slave_updatedate='{1}', ", sumtotal, uint.Parse(CommonFunction.GetPHPTime(DateTime.Now.ToString()).ToString())); sql.AppendFormat(@" slave_ipfrom='{0}' where slave_id='{1}';", ip, dt.Rows.Count.ToString() != "0" ? dt.Rows[0]["slave_id"].ToString() : ""); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); sql.Clear(); OrderSlave os = new OrderSlave(); mySqlCmd.CommandText = serialDao.Update(30); //order_slave os.Slave_Id = uint.Parse(mySqlCmd.ExecuteScalar().ToString()); os.Slave_Product_Subtotal = sumtotal; os.Slave_Amount = sumtotal; if (dt.Rows.Count > 0 && !string.IsNullOrEmpty(dt.Rows[0]["order_id"].ToString())) { os.Order_Id = uint.Parse(dt.Rows[0]["order_id"].ToString()); } if (dt.Rows.Count > 0 && !string.IsNullOrEmpty(dt.Rows[0]["vendor_id"].ToString())) { os.Vendor_Id = uint.Parse(dt.Rows[0]["vendor_id"].ToString()); } if (dt.Rows.Count > 0 && !string.IsNullOrEmpty(dt.Rows[0]["slave_status"].ToString())) { os.Slave_Status = uint.Parse(dt.Rows[0]["slave_status"].ToString()); } os.Slave_Ipfrom = ip; os.Slave_Updatedate = uint.Parse(CommonFunction.GetPHPTime(DateTime.Now.ToString()).ToString()); sql.Clear(); sql.AppendFormat(@"INSERT into order_slave (slave_id,order_id,vendor_id,slave_freight_normal,slave_freight_low,"); sql.AppendFormat(@"slave_product_subtotal,slave_amount,slave_status,slave_note,slave_date_delivery,"); sql.AppendFormat(@"slave_date_cancel,slave_date_return,slave_date_close,account_status,slave_updatedate,slave_ipfrom)"); sql.AppendFormat(@" VALUES('{0}','{1}','{2}','{3}','{4}',", os.Slave_Id, os.Order_Id, os.Vendor_Id, os.Slave_Freight_Normal, os.Slave_Freight_Low); sql.AppendFormat(@"'{0}','{1}','{2}','{3}','{4}',", os.Slave_Product_Subtotal, os.Slave_Amount, os.Slave_Status, os.Slave_Note, os.Slave_Date_Delivery); sql.AppendFormat(@"'{0}','{1}','{2}','{3}',", os.Slave_Date_Cancel, os.Slave_Date_Return, os.Slave_Date_Close, os.Account_Status == true ? 1 : 0); sql.AppendFormat(@"'{0}','{1}');", os.Slave_Updatedate, os.Slave_Ipfrom); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); sql.Clear(); sql.AppendFormat(@" update order_detail set slave_id='{0}' where detail_id in {1};", os.Slave_Id, detail_id); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); } mySqlCmd.Transaction.Commit(); return dm.deliver_id.ToString(); } catch (Exception ex) { mySqlCmd.Transaction.Rollback(); return null; throw new Exception("DeliverDetailDao-->Split-->" + ex.Message + sql.ToString(), ex); } finally { if (mySqlConn != null && mySqlConn.State == System.Data.ConnectionState.Open) { mySqlConn.Close(); } } }
/// <summary> /// 修改出貨方式 改自出 改寄倉 改調度 /// </summary> /// <param name="deliver_id">出貨單號</param> /// <param name="detail_id"></param> /// <param name="product_mode">出貨方式</param> /// <returns></returns> public string ProductMode(string deliver_id, string detail_id, string product_mode) { MySqlCommand mySqlCmd = new MySqlCommand(); MySqlConnection mySqlConn = new MySqlConnection(connString); SerialDao serialDao = new SerialDao(""); StringBuilder allsql = new StringBuilder(); StringBuilder sql = new StringBuilder(); int i = 0; System.Net.IPAddress[] addlist = System.Net.Dns.GetHostByName(System.Net.Dns.GetHostName()).AddressList; string ip = string.Empty; //ip = CommonFunction.GetClientIP(); if (addlist.Length > 0) { ip = addlist[0].ToString(); } int user_id = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; try { if (mySqlConn != null && mySqlConn.State == System.Data.ConnectionState.Closed) { mySqlConn.Open(); } mySqlCmd.Connection = mySqlConn; mySqlCmd.Transaction = mySqlConn.BeginTransaction(); mySqlCmd.CommandType = System.Data.CommandType.Text; sql.AppendLine(@"SELECT od.item_vendor_id,od.product_freight_set,od.single_money,od.buy_num,os.order_id,os.slave_id "); sql.AppendFormat(@" from order_detail od LEFT JOIN order_slave os on od.slave_id=os.slave_id WHERE od.detail_id='{0}' limit 1;", detail_id); DataTable dt = _access.getDataTable(sql.ToString()); allsql.Append(sql.ToString()); sql.Clear(); string freightset = string.Empty; string vendorid = string.Empty; string orderid = "0"; string slaveid = "0"; string itemvendorid = "0"; string vendormap = "0"; uint subtotal = 0; object ob; if (dt.Rows.Count > 0) { switch (dt.Rows[0]["product_freight_set"].ToString()) { case "1": case "3": freightset = "1"; break; case "2": case "4": case "5": case "6": freightset = "2"; break; default: break; } if (freightset == "1") { vendormap = "2";//吉甲地統倉 } else if (freightset == "2") { vendormap = "92";//吉甲地冷凍倉 } if (!string.IsNullOrEmpty(dt.Rows[0]["single_money"].ToString()) && !string.IsNullOrEmpty(dt.Rows[0]["buy_num"].ToString())) { subtotal = uint.Parse(dt.Rows[0]["single_money"].ToString().Trim()) * uint.Parse(dt.Rows[0]["buy_num"].ToString().Trim()); } orderid = dt.Rows[0]["order_id"].ToString(); slaveid = dt.Rows[0]["slave_id"].ToString(); itemvendorid = dt.Rows[0]["item_vendor_id"].ToString(); } #region 對order_slave表和order_deta表的操作 vendorid = product_mode == "2" ? vendormap : itemvendorid; sql.AppendFormat(@"SELECT slave_id from order_slave where order_id='{0}' ", orderid); sql.AppendFormat(@" and vendor_id='{0}' and slave_status=2;", vendorid); mySqlCmd.CommandText = sql.ToString(); string newslaveid = string.Empty; ob = mySqlCmd.ExecuteScalar(); if (ob != null) { newslaveid = ob.ToString(); } allsql.Append(sql.ToString()); sql.Clear(); if (string.IsNullOrEmpty(newslaveid)) { mySqlCmd.CommandText = serialDao.Update(30); //order_slave allsql.Append(mySqlCmd.CommandText); newslaveid = mySqlCmd.ExecuteScalar().ToString(); OrderSlave os = new OrderSlave(); os.Slave_Id = uint.Parse(newslaveid); os.Order_Id = (!string.IsNullOrEmpty(orderid)) ? uint.Parse(orderid) : 0; os.Vendor_Id = (!string.IsNullOrEmpty(vendorid)) ? uint.Parse(vendorid) : 0; os.Slave_Product_Subtotal = subtotal; os.Slave_Amount = subtotal; os.Slave_Status = 2;//待出貨 os.Slave_Updatedate = uint.Parse(CommonFunction.GetPHPTime(DateTime.Now.ToString()).ToString()); os.Slave_Ipfrom = ip; sql.AppendFormat(@"INSERT into order_slave (slave_id,order_id,vendor_id,slave_freight_normal,slave_freight_low,"); sql.AppendFormat(@"slave_product_subtotal,slave_amount,slave_status,slave_note,slave_date_delivery,"); sql.AppendFormat(@"slave_date_cancel,slave_date_return,slave_date_close,account_status,slave_updatedate,slave_ipfrom)"); sql.AppendFormat(@" VALUES('{0}','{1}','{2}','{3}','{4}',", os.Slave_Id, os.Order_Id, os.Vendor_Id, os.Slave_Freight_Normal, os.Slave_Freight_Low); sql.AppendFormat(@"'{0}','{1}','{2}','{3}','{4}',", os.Slave_Product_Subtotal, os.Slave_Amount, os.Slave_Status, os.Slave_Note, os.Slave_Date_Delivery); sql.AppendFormat(@"'{0}','{1}','{2}','{3}',", os.Slave_Date_Cancel, os.Slave_Date_Return, os.Slave_Date_Close, os.Account_Status == true ? 1 : 0); sql.AppendFormat(@"'{0}','{1}');", os.Slave_Updatedate, os.Slave_Ipfrom); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); allsql.Append(sql.ToString()); sql.Clear(); } if (newslaveid != slaveid) { sql.AppendFormat(@" update order_slave set slave_product_subtotal=slave_product_subtotal+{0},", subtotal); sql.AppendFormat(@" slave_amount=slave_amount+{0},slave_updatedate='{1}',", subtotal, CommonFunction.GetPHPTime(DateTime.Now.ToString())); sql.AppendFormat(@" slave_ipfrom='{0}' where slave_id='{1}'; ", ip, newslaveid); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); allsql.Append(sql.ToString()); sql.Clear(); } //更新order_detail表的slave_id,product_mode字段 sql.AppendFormat(@" update order_detail set slave_id='{0}',product_mode='{1}'", newslaveid, product_mode); sql.AppendFormat(@" where detail_id='{0}';", detail_id); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); allsql.Append(sql.ToString()); sql.Clear(); if (newslaveid != slaveid) { sql.AppendFormat(" select count(slave_id) from order_detail where slave_id='{0}';", slaveid); mySqlCmd.CommandText = sql.ToString(); string count = mySqlCmd.ExecuteScalar().ToString(); allsql.Append(sql.ToString()); sql.Clear(); if (count == "0") { sql.AppendFormat(@" DELETE FROM order_slave where slave_id='{0}';", slaveid); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); allsql.Append(sql.ToString()); sql.Clear(); } else { sql.AppendFormat(@" update order_slave set slave_product_subtotal=slave_product_subtotal-{0},", subtotal); sql.AppendFormat(@" slave_amount=slave_amount-{0},slave_updatedate='{1}',", subtotal, CommonFunction.GetPHPTime(DateTime.Now.ToString())); sql.AppendFormat(@" slave_ipfrom='{0}' where slave_id='{1}'; ", ip, slaveid); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); allsql.Append(sql.ToString()); sql.Clear(); } } #endregion #region 對deliver_master表和deliver_detail表的操作 sql.AppendLine(@"SELECT deliver_id,order_id,ticket_id,type,export_id,import_id,freight_set,delivery_status,"); sql.AppendLine(@" delivery_name,delivery_mobile,delivery_phone,delivery_zip,delivery_address,delivery_store,delivery_code,"); sql.AppendLine(@"delivery_freight_cost,delivery_date,sms_date,arrival_date,estimated_delivery_date,estimated_arrival_date,"); sql.AppendLine(@"estimated_arrival_period,creator,verifier,created,modified,export_flag,data_chg,work_status"); sql.AppendFormat(@" FROM deliver_master WHERE deliver_id='{0}' LIMIT 1;", deliver_id); // sql.AppendFormat(@" select * from deliver_master where deliver_id='{0}' limit 1;", deliver_id); List<DeliverMaster> store = _access.getDataTableForObj<DeliverMaster>(sql.ToString()); DeliverMaster dm = new DeliverMaster(); if (store.Count > 0) { dm = store[0]; } allsql.Append(sql.ToString()); sql.Clear(); string exportid = product_mode == "1" ? itemvendorid : vendormap;//是否是改自出 string deliverytype = product_mode == "1" ? "2" : "1"; sql.AppendFormat(@"SELECT deliver_id from deliver_master where "); sql.AppendFormat(@" order_id='{0}' and type='{1}' and export_id='{2}' and freight_set='{3}' ;", orderid, deliverytype, exportid, freightset); mySqlCmd.CommandText = sql.ToString(); ob = mySqlCmd.ExecuteScalar(); string newdeliverid = string.Empty; if (ob != null) { newdeliverid = ob.ToString(); } allsql.Append(sql.ToString()); sql.Clear(); if (string.IsNullOrEmpty(newdeliverid)) { mySqlCmd.CommandText = serialDao.Update(76); //deliver_master allsql.Append(mySqlCmd.CommandText); newdeliverid = mySqlCmd.ExecuteScalar().ToString(); dm.ticket_id = 0; dm.type = uint.Parse(deliverytype);//出貨類別,1:統倉出貨,2:供應商自行出貨,3:供應商調度出貨,4:退貨,5:退貨瑕疵,6:瑕疵(目前數據中只有1和2兩種) dm.export_id = int.Parse(exportid); dm.import_id = 0; dm.deliver_id = uint.Parse(newdeliverid); dm.creator = user_id; dm.verifier = user_id; dm.created = DateTime.Now; dm.modified = DateTime.Now; sql.AppendFormat(@"INSERT INTO deliver_master (deliver_id,order_id,ticket_id,type,export_id,import_id,freight_set,"); sql.AppendFormat(@"delivery_status,delivery_name,delivery_mobile,delivery_phone,delivery_zip,"); sql.AppendFormat(@"delivery_address,delivery_store,delivery_code,delivery_freight_cost,"); //sql.AppendFormat(@"sms_date,arrival_date,estimated_delivery_date,estimated_arrival_date,estimated_arrival_period,"); sql.AppendFormat(@"estimated_arrival_period, "); sql.AppendFormat(@"creator,verifier,created,modified,export_flag,data_chg,work_status)"); sql.AppendFormat(@" values('{0}','{1}','{2}','{3}','{4}','{5}','{6}',", dm.deliver_id, dm.order_id, dm.ticket_id, dm.type, dm.export_id, dm.import_id, dm.freight_set); sql.AppendFormat(@"'{0}','{1}','{2}','{3}','{4}',", dm.delivery_status, dm.delivery_name, dm.delivery_mobile, dm.delivery_phone, dm.delivery_zip); sql.AppendFormat(@"'{0}','{1}','{2}','{3}',", dm.delivery_address, dm.delivery_store, dm.delivery_code, dm.delivery_freight_cost); sql.AppendFormat(@"'{0}',", dm.estimated_arrival_period); sql.AppendFormat(@"'{0}','{1}','{2}','{3}','{4}','{5}','{6}');", dm.creator, dm.verifier, dm.created.ToString("yyyy-MM-dd HH:mm:ss"), dm.modified.ToString("yyyy-MM-dd HH:mm:ss"), dm.export_flag, dm.data_chg, dm.work_status); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); allsql.Append(sql.ToString()); sql.Clear(); } if (newdeliverid != deliver_id) { sql.AppendFormat(@" update deliver_detail set deliver_id='{0}' ", newdeliverid); sql.AppendFormat(@" where deliver_id='{0}' and detail_id='{1}'; ", deliver_id, detail_id); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); allsql.Append(sql.ToString()); sql.Clear(); sql.Append(Shrink(deliver_id)); if (sql.Length > 0) { mySqlCmd.CommandText = sql.ToString(); mySqlCmd.ExecuteNonQuery(); allsql.Append(sql.ToString()); sql.Clear(); } } sql.AppendFormat(@" SELECT deliver_id from deliver_master WHERE order_id='{0}'", orderid); sql.AppendFormat(@" and type=101 and export_id='{0}' and freight_set='{1}';", itemvendorid, freightset); mySqlCmd.CommandText = sql.ToString(); ob = mySqlCmd.ExecuteScalar(); string deliver_101_id = string.Empty; if (ob != null) { deliver_101_id = ob.ToString(); } allsql.Append(sql.ToString()); sql.Clear(); //自出 寄倉 if (product_mode == "1" || product_mode == "2") { sql.AppendFormat(@" DELETE FROM deliver_detail where deliver_id='{0}'", deliver_101_id); sql.AppendFormat(@" and detail_id='{0}'; ", detail_id); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); allsql.Append(sql.ToString()); sql.Clear(); sql.Append(Shrink(deliver_101_id)); if (sql.Length > 0) { mySqlCmd.CommandText = sql.ToString(); mySqlCmd.ExecuteNonQuery(); allsql.Append(sql.ToString()); sql.Clear(); } } else if (product_mode == "3") { if (string.IsNullOrEmpty(deliver_101_id)) { mySqlCmd.CommandText = serialDao.Update(76); //deliver_master allsql.Append(mySqlCmd.CommandText); deliver_101_id = mySqlCmd.ExecuteScalar().ToString(); //DeliverMaster dm = new DeliverMaster(); dm.ticket_id = 0; dm.type = 101; dm.export_id = int.Parse(itemvendorid); dm.import_id = 0; dm.deliver_id = uint.Parse(deliver_101_id); dm.creator = user_id; dm.verifier = user_id; dm.created = DateTime.Now; dm.modified = DateTime.Now; sql.AppendFormat(@"INSERT INTO deliver_master (deliver_id,order_id,ticket_id,type,export_id,import_id,freight_set,"); sql.AppendFormat(@"delivery_status,delivery_name,delivery_mobile,delivery_phone,delivery_zip,"); sql.AppendFormat(@"delivery_address,delivery_store,delivery_code,delivery_freight_cost,"); //sql.AppendFormat(@"sms_date,arrival_date,estimated_delivery_date,estimated_arrival_date,estimated_arrival_period,"); sql.AppendFormat(@" estimated_arrival_period,"); sql.AppendFormat(@"creator,verifier,created,modified,export_flag,data_chg,work_status)"); sql.AppendFormat(@" values('{0}','{1}','{2}','{3}','{4}','{5}','{6}',", dm.deliver_id, dm.order_id, dm.ticket_id, dm.type, dm.export_id, dm.import_id, dm.freight_set); sql.AppendFormat(@"'{0}','{1}','{2}','{3}','{4}',", dm.delivery_status, dm.delivery_name, dm.delivery_mobile, dm.delivery_phone, dm.delivery_zip); sql.AppendFormat(@"'{0}','{1}','{2}','{3}',", dm.delivery_address, dm.delivery_store, dm.delivery_code, dm.delivery_freight_cost); sql.AppendFormat(@"'{0}',", dm.estimated_arrival_period); sql.AppendFormat(@"'{0}','{1}','{2}','{3}','{4}','{5}','{6}');", dm.creator, dm.verifier, dm.created.ToString("yyyy-MM-dd HH:mm:ss"), dm.modified.ToString("yyyy-MM-dd HH:mm:ss"), dm.export_flag, dm.data_chg, dm.work_status); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); allsql.Append(sql.ToString()); sql.Clear(); DeliverDetail dd = new DeliverDetail(); dd.deliver_id = uint.Parse(deliver_101_id); dd.detail_id = uint.Parse(detail_id); sql.AppendFormat(@" INSERT INTO deliver_detail (deliver_id,detail_id,delivery_status)"); sql.AppendFormat(@" VALUES ('{0}','{1}','{2}');", dd.deliver_id, dd.detail_id, dd.delivery_status); mySqlCmd.CommandText = sql.ToString(); i = mySqlCmd.ExecuteNonQuery(); allsql.Append(sql.ToString()); sql.Clear(); } } #endregion mySqlCmd.Transaction.Commit(); return newdeliverid; } catch (Exception ex) { mySqlCmd.Transaction.Rollback(); throw new Exception("DeliverDetailDao-->ProductMode-->" + ex.Message + sql.ToString(), ex); } finally { if (mySqlConn != null && mySqlConn.State == System.Data.ConnectionState.Open) { mySqlConn.Close(); } } }
/// <summary> /// 編輯 /// </summary> /// <param name="dm"></param> /// <param name="type">區分變更到貨時間還是變更收件人資料</param> /// <returns></returns> public int DeliverMasterEdit(DeliverMaster dm, int type) { StringBuilder sql = new StringBuilder(); int user_id = (System.Web.HttpContext.Current.Session["caller"] as Caller).user_id; try { sql.AppendFormat(@" update deliver_master set "); if (type == 1) { if (dm.estimated_delivery_date != DateTime.MinValue) { sql.AppendFormat(@" estimated_delivery_date='{0}',", dm.estimated_delivery_date.ToString("yyyy-MM-dd")); } else { sql.AppendFormat(@" estimated_delivery_date=null,"); } if (dm.estimated_arrival_date != DateTime.MinValue) { sql.AppendFormat(@" estimated_arrival_date='{0}',", dm.estimated_arrival_date.ToString("yyyy-MM-dd")); } else { sql.AppendFormat(@" estimated_arrival_date=null,"); } sql.AppendFormat(@" estimated_arrival_period='{0}' ", dm.estimated_arrival_period); } if (type == 2) { sql.AppendFormat(@" delivery_name='{0}',delivery_mobile='{1}',delivery_phone='{2}',", dm.delivery_name, dm.delivery_mobile, dm.delivery_phone); sql.AppendFormat(@" delivery_zip='{0}',delivery_address='{1}'", dm.delivery_zip, dm.delivery_address); } sql.AppendFormat(@" ,modified='{0}',verifier='{1}' ", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), user_id); sql.AppendFormat(@" where deliver_id='{0}';", dm.deliver_id); return _access.execCommand(sql.ToString()); } catch (Exception ex) { throw new Exception(" DeliverMasterDao-->DeliverMasterEdit-->" + ex.Message + sql.ToString(), ex); } }
/// <summary> /// 修改物流單號 出貨日期 出貨信息 /// </summary> /// <returns></returns> public HttpResponseBase DeliverDetailEdit() { string json = string.Empty; try { _DeliverDetailMgr = new DeliverDetailMgr(mySqlConnectionString); string deliver_id = Request.Params["deliver_id"]; string delivery_store = string.Empty; string delivery_code = string.Empty; string delivery_date = string.Empty; string sms_date = string.Empty; bool success = false; if (!string.IsNullOrEmpty(Request.Params["delivery_store"]) && !string.IsNullOrEmpty(Request.Params["delivery_code"])) { delivery_store = Request.Params["delivery_store"]; delivery_code = Request.Params["delivery_code"]; delivery_date = Request.Params["delivery_date"]; success = _DeliverDetailMgr.DeliveryCode(deliver_id, delivery_store, delivery_code, delivery_date, "0"); if (success) { json = "{success:true}"; } else { json = "{success:false}"; } } else if (!string.IsNullOrEmpty(Request.Params["sms_date"])) { Sms sms = new Sms(); sms.memo = deliver_id; string smsid = _DeliverDetailMgr.GetSmsId(sms); if (!string.IsNullOrEmpty(smsid)) { int i = _DeliverDetailMgr.UpSmsTime(deliver_id, sms_date, smsid); if (i > 0) { json = "{success:true}"; } else { json = "{success:false}"; } } else { json = "{success:false}"; } } else { DeliverMaster dm = new DeliverMaster(); int type = int.Parse(Request.Params["type"]); dm.deliver_id = uint.Parse(deliver_id); if (type == 1) { if (!string.IsNullOrEmpty(Request.Params["estimated_arrival_date"])) { dm.estimated_arrival_date = DateTime.Parse(Request.Params["estimated_arrival_date"]); } if (!string.IsNullOrEmpty(Request.Params["estimated_delivery_date"])) { dm.estimated_delivery_date = DateTime.Parse(Request.Params["estimated_arrival_date"]); } dm.estimated_arrival_period = int.Parse(Request.Params["estimated_arrival_period"]); //dm.estimated_delivery_date = DateTime.Parse(Request.Params["estimated_delivery_date"]); } if (type == 2) { dm.delivery_name = Request.Params["delivery_name"]; dm.delivery_mobile = Request.Params["delivery_mobile"]; dm.delivery_phone = Request.Params["delivery_phone"]; dm.delivery_zip = uint.Parse(Request.Params["delivery_zip"]); dm.delivery_address = Request.Params["delivery_address"]; } int j = _DeliverDetailMgr.DeliverMasterEdit(dm, type); if (j == 1) { json = "{success:true}"; } else { json = "{success:false}"; } } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }
/// <summary> /// 驗證訂單編號和出貨單號的對應 /// </summary> /// <returns></returns> public HttpResponseBase JudgeOrdid() { string json = String.Empty; DeliverMaster dm = new DeliverMaster(); List<DeliverMasterQuery> list = new List<DeliverMasterQuery>(); _DeliverMsterMgr = new DeliverMasterMgr(mySqlConnectionString); int msg = 0; try { string deliver_id = Request.Params["deliver_id"]; string D = deliver_id.Substring(0, 1); if (D == "D") { deliver_id = deliver_id.Substring(1, deliver_id.Length - 1); uint deliver; int ord; if (uint.TryParse(deliver_id, out deliver)) { dm.deliver_id = uint.Parse(deliver_id); } if (int.TryParse(Request.Params["order_id"], out ord)) { dm.order_id = int.Parse(Request.Params["order_id"]); } if (dm.deliver_id != 0 && dm.order_id != 0) { list = _DeliverMsterMgr.JudgeOrdid(dm); } if (list.Count > 0) { foreach (var item in list) { if (item.delivery_status >= 3) { msg = 2; } } json = "{success:true,msg:" + msg + ",data:" + JsonConvert.SerializeObject(list, Formatting.Indented) + "}";//返回json數據 } else { dm.deliver_id = 0; list = _DeliverMsterMgr.JudgeOrdid(dm); if (list.Count > 0) { msg = 5; json = "{success:true,msg:" + msg + ",data:" + JsonConvert.SerializeObject(list, Formatting.Indented) + "}";//返回json數據 } else { json = "{success:true,msg:1}"; } } } else { json = "{success:true,msg:3}"; } } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:false,msg:0}"; } this.Response.Clear(); this.Response.Write(json.ToString()); this.Response.End(); return this.Response; }
/// <summary> /// 出貨確認列表 /// </summary> /// <returns></returns> public HttpResponseBase DeliverVerifyList() { DeliverMaster dm = new DeliverMaster(); _DeliverMsterMgr = new DeliverMasterMgr(mySqlConnectionString); List<DeliverMasterQuery> stores = new List<DeliverMasterQuery>(); string json = string.Empty; try { dm.deliver_id = uint.Parse(Request.Params["deliver_id"]); dm.order_id = int.Parse(Request.Params["order_id"]); int totalCount = 0; stores = _DeliverMsterMgr.DeliverVerifyList(dm, out totalCount); json = "{success:true,data:" + JsonConvert.SerializeObject(stores) + "}";//返回json數據 } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); json = "{success:true,totalCount:0,data:[]}"; } this.Response.Clear(); this.Response.Write(json); this.Response.End(); return this.Response; }