using System; using System.Linq; using System.Text; using System.Web.Mvc; using DSWeb.MvcShipping.DAL.CRM_QUOTATIONDAL; using DSWeb.MvcShipping.Models.CRM_QUOTATION; using DSWeb.MvcShipping.Models.MsOpAireBill; using DSWeb.MvcShipping.Helper; using DSWeb.MvcShipping.Comm.Cookie; using HcUtility.Comm; using HcUtility.Core; using System.Collections.Generic; using System.IO; using System.Data; using System.Data.OleDb; using DSWeb.Areas.CommMng.DAL; using DSWeb.Areas.RptMng.Comm; using DSWeb.Areas.CommMng.Models; using DSWeb.MvcShipping.DAL.MsBaseInfoDAL; using DSWeb.MvcShipping.DAL.MsSysBillNoSet; using DSWeb.MvcShipping.Models.MsSysBillNoSet; using DSWeb.MvcShipping.Models.MsOpApply; using DSWeb.MvcShipping.DAL.MsOpApplyDAL; using DSWeb.MvcShipping.DAL.MsSysParamSet; using DSWeb.TruckMng.Helper.Repository; using System.Net; using System.Net.Mail; using Microsoft.Office.Interop.Excel; using Microsoft.Practices.EnterpriseLibrary.Data; using DSWeb.MvcShipping.DAL.MsOpSeaeDAL; using DSWeb.MvcShipping.Models.MsOpSeae; using DSWeb.MvcShipping.DAL.MsCompanysDAL; using DSWeb.MvcShipping.Models.MsChFee; using DSWeb.EntityDA; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text.RegularExpressions; using DSWeb.DataAccess; namespace DSWeb.MvcShipping.Controllers { [JsonRequestBehavior] public class CRM_QUOTATION_CUSTController : Controller { // // GET: public ActionResult Index() { return View(); } public ActionResult Edit() { return View(); } public ContentResult GetDataList(int start, int limit, string sort, string condition,string load) { var dataList = CRM_QUOTATIONDAL.GetDataList(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort, load); var list = dataList.Skip(start).Take(limit); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetData(string handle, string condition,string BLTYPE) { CRM_QUOTATIONmb head = null; if (handle == "edit") { head = CRM_QUOTATIONDAL.GetData(condition); } if (head == null) { head = new CRM_QUOTATIONmb(); head.BLSTATUS = "0"; head.PORTLOAD = "CNTAO"; head.VALIDDATE = DateTime.Now.ToString(); head.ASKDATE = DateTime.Now.ToString(); /* head.OP = Convert.ToString(Session["SHOWNAME"]); head.INPUTBY= Convert.ToString(Session["SHOWNAME"]); head.CUSTSERVICE = Convert.ToString(Session["SHOWNAME"]); head.PFREIGHT = "0"; head.PVALUEFEE = "0"; head.PCARRIEROT = "0"; head.POTFREIGHT = "0"; head.PTOTAL = "0"; head.CFREIGHT = "0"; head.CVALUEFEE = "0"; head.CCARRIEROT = "0"; head.COTFREIGHT = "0"; head.CTOTAL = "0";*/ } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult GetCARRIERList ( string condition) { var dataList = CRM_QUOTATIONDAL.GetCARRIERList(condition); var list = dataList; var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() }); return new ContentResult() { Content = json }; } public ContentResult Save ( string opstatus, string data, string DetailBody, string DetailDelBody, string CARRIERBody ) { var aaa = ""; //var dataall = data.Replace("}", ",") + (data2.Replace("{", "")).Replace("}", ",") + data3.Replace("{", ""); //var dataall = data.Replace("}", ",") + data2.Replace("{", ""); var headData = JsonConvert.Deserialize(data); var DetailbodyList = JsonConvert.Deserialize>(DetailBody); var DetaildelbodyList = JsonConvert.Deserialize>(DetailDelBody); var CARRIERbodyList = JsonConvert.Deserialize>(CARRIERBody); if (opstatus == "add") { headData.GID = PubSysDAL.GetBillNo("0403"); } var isPost = true; var errorstr = ""; var isuse = false; var iscreatecustno = false; if (headData.CORPID == ""||headData.CORPID ==null) { headData.CORPID = Convert.ToString(Session["COMPANYID"]); } /* if (headData.MBLNO != "" && headData.MBLNO != null && headData.BLTYPE == "国内主单" ) { var ct = CRM_QUOTATIONDAL.GetRdCount(" MBLNO='" + headData.MBLNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "' and BLTYPE='国内主单'"); if (ct != 0) { isPost = false; errorstr = "主单号"; } } */ if (opstatus == "add") { //headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]); headData.CREATETIME = DateTime.Now.ToString(); //headData.BSSTATUS = false; //headData.FEESTATUS = false; headData.DbOperationType = DbOperationType.DbotIns; headData.ModelUIStatus = "I"; } else if (opstatus == "edit") { headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; } else { headData.DbOperationType = DbOperationType.DbotDel; } //if (headData.MASTERNO == null || headData.MASTERNO =="") { headData.MASTERNO = headData.BSNO; } if (headData.ETA == "") headData.ETA = null; if (headData.ETD == "") headData.ETD = null; //if (headData.STLDATE == "") headData.STLDATE = null; //if (headData.INSPECTIONDATE == "") headData.INSPECTIONDATE = null; //if (headData.CUSTOMDATE == "") headData.CUSTOMDATE = null; ////headData.PORTLOAD = MsBaseInfoDAL.DelPortCn(headData.PORTLOAD); ////headData.PORTDISCHARGE = MsBaseInfoDAL.DelPortCn(headData.PORTDISCHARGE); //var BSNO = headData.BSNO; /* if (headData.BLTYPE == "国内主单" && headData.MASTERNO!="" && opstatus!="add") { //如果是编辑 需要根据MASTERNO,清除库存主单使用记录 CRM_QUOTATIONDAL.ExecSql(" update op_airn_RECEIPT set RSTATUS='入库',OP='" + Convert.ToString(Session["SHOWNAME"]) + "',OPDATE=getdate() where GID=(select Masterno from OP_AIRN where BSNO='" + headData.BSNO + "') "); }*/ if (isPost) { headData.MODIFIEDUSER = Convert.ToString(Session["SHOWNAME"]); headData.MODIFIEDTIME = DateTime.Now.ToString(); var UPD="update CRM_QUOTATION set PORTLOAD='"+headData.PORTLOAD+"',PORTDISCHARGE='"+headData.PORTDISCHARGE+"'" + " ,ETD='" + headData.ETD + "',ETA='" + headData.ETA + "'" + " ,TT='" + headData.TT + "',GOODSNAME='" + headData.GOODSNAME + "'" + " ,_20GP=" + headData._20GP + ",_40GP=" + headData._40GP + "" + " ,_40HC=" + headData._40HC + ",_45=" + headData._45 + "" + " ,CTN='" + headData.CTN + "',CTN2='" + headData.CTN2 + "'" + " ,CTNNUM=" + headData.CTNNUM + ",CTNNUM2=" + headData.CTNNUM2 + "" + " ,REMARK='" + headData.REMARK + "'" +" where GID in(select CARRIERCQGID from CRM_QUOTATION_LINK where CUSTCQGID='"+headData.GID+"')"; var modb = new ModelObjectRepository(); DBResult result = modb.Save(headData, ModelObjectConvert.ToModelObjectList(DetailbodyList), ModelObjectConvert.ToModelObjectList(DetaildelbodyList), ModelObjectConvert.ToModelObjectList(CARRIERbodyList), null); /* else { //MsSysBillNoSetDAL.DeleteBsNo(headData.CUSTNO); } */ if (result.Success == true) { CRM_QUOTATIONDAL.ExecSql(UPD); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = CRM_QUOTATIONDAL.GetData("CQ.GID='" + headData.GID + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { /* if (iscreatecustno == true) MsSysBillNoSetDAL.DeleteBsNo(headData.CUSTNO); * */ var jsonRespose = new JsonResponse { Success = false, Message =errorstr+"重复,不允许保存!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } public ContentResult SaveChild ( string opstatus, string data, string parentgid, string DetailBody, string DetailDelBody ) { var headData = JsonConvert.Deserialize(data); if (opstatus == "add" && headData.GID == "") { headData.GID = PubSysDAL.GetBillNo("0403"); } CRM_QUOTATIONDAL.ExecSql(" delete from CRM_QUOTATION_LINK where CUSTCQGID='" + parentgid + "' and CARRIERCQGID='" + headData.GID + "'"); CRM_QUOTATIONDAL.ExecSql(" insert into CRM_QUOTATION_LINK (GID,CUSTCQGID,CARRIERCQGID) values(newid(), '" + parentgid + "','" + headData.GID + "') "); return Save(opstatus, data, DetailBody, DetailDelBody,null); } public ContentResult SetUse ( string DetailBody) { var DetailbodyList = JsonConvert.Deserialize>(DetailBody); var GIDList = ""; foreach (var _d in DetailbodyList) { if (GIDList == "") { GIDList = "'"+_d.GID+"'"; } else { GIDList = GIDList+",'" + _d.GID + "'"; } } var SQL = "Update crm_quotation_detail set ISUSE=1-isnull(ISUSE,0) where GID in(" + GIDList + ")"; var _r = CRM_QUOTATIONDAL.ExecSql(SQL); var jsonRespose = new JsonResponse(); if (_r > 0) { jsonRespose = new JsonResponse { Success = true, Message = "设置完成", Data = null }; }else jsonRespose = new JsonResponse { Success = false, Message = "设置0条数据", Data = null }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult AddChild ( string opstatus, string data ) { var aaa = ""; var headData = JsonConvert.Deserialize(data); if (opstatus == "add") { headData.GID = PubSysDAL.GetBillNo("0403"); } var isPost = true; var errorstr = ""; var isuse = false; var iscreatecustno = false; if (headData.CORPID == "" || headData.CORPID == null) { headData.CORPID = Convert.ToString(Session["COMPANYID"]); } if (opstatus == "add") { //headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]); headData.CREATETIME = DateTime.Now.ToString(); //headData.BSSTATUS = false; //headData.FEESTATUS = false; headData.DbOperationType = DbOperationType.DbotIns; headData.ModelUIStatus = "I"; } else if (opstatus == "edit") { headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; } else { headData.DbOperationType = DbOperationType.DbotDel; } if (headData.ETA == "") headData.ETA = null; if (headData.ETD == "") headData.ETD = null; if (isPost) { headData.MODIFIEDUSER = Convert.ToString(Session["SHOWNAME"]); headData.MODIFIEDTIME = DateTime.Now.ToString(); if (headData.BLSTATUS == "0") { headData.BLSTATUS = "1"; } var modb = new ModelObjectRepository(); DBResult result = modb.Save(headData); if (result.Success == true) { var Child = new CRM_QUOTATIONmb(); Child.GID = PubSysDAL.GetBillNo("0403"); Child.CREATETIME = DateTime.Now.ToString(); Child.CREATEUSER = Convert.ToString(Session["SHOWNAME"]); Child.DbOperationType = DbOperationType.DbotIns; Child.ModelUIStatus = "I"; Child.BLTYPE = "供应商报价"; Child.PORTLOAD = headData.PORTLOAD; Child.PORTDISCHARGE = headData.PORTDISCHARGE; Child.ETD = headData.ETD; Child.ETA = headData.ETA; Child.QUOTATIONDATE = headData.QUOTATIONDATE; Child.CARRIER = headData.CARRIER; Child.ENTREPORT = headData.ENTREPORT; Child.TT = headData.TT; Child.GOODSNAME = headData.GOODSNAME; Child._20GP = headData._20GP; Child._40GP = headData._40GP; Child._40HC = headData._40HC; Child._45 = headData._45; Child.CTN = headData.CTN; Child.CTN2 = headData.CTN2; Child.CTNNUM = headData.CTNNUM; Child.CTNNUM2 = headData.CTNNUM2; Child.CREATEUSER = Convert.ToString(Session["SHOWNAME"]); Child.MODIFIEDUSER = Convert.ToString(Session["SHOWNAME"]); Child.CREATETIME = DateTime.Now.ToString(); Child.MODIFIEDTIME = DateTime.Now.ToString(); Child.ASKDATE = DateTime.Now.ToString(); var modb2 = new ModelObjectRepository(); result = modb2.Save(Child); if (result.Success == true) { CRM_QUOTATIONDAL.ExecSql(" delete from CRM_QUOTATION_LINK where CUSTCQGID='" + headData.GID + "' and CARRIERCQGID='" + Child.GID + "'"); CRM_QUOTATIONDAL.ExecSql(" insert into CRM_QUOTATION_LINK (GID,CUSTCQGID,CARRIERCQGID) values(newid(), '" + headData.GID + "','" + Child.GID + "') "); CRM_QUOTATIONDAL.ExecSql(" insert into CRM_QUOTATION_CARRIER (GID,LINKGID,CARRIER,FREEDAYS) select newid(),'" + Child.GID + "',CARRIER,0 from CRM_QUOTATION_CARRIER where LINKGID='" + headData.GID + "' "); } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = CRM_QUOTATIONDAL.GetData("CQ.GID='" + headData.GID + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { var jsonRespose = new JsonResponse { Success = false, Message = errorstr + "重复,不允许保存!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } public ContentResult SaveChild2(string ChildBody) { var ChildBodyList = JsonConvert.Deserialize>(ChildBody); if (ChildBodyList != null) { foreach (var _h in ChildBodyList) { _h.MODIFIEDTIME = DateTime.Now.ToString(); _h.MODIFIEDUSER = Session["SHOWNAME"].ToString(); } } var modb = new ModelObjectRepository(); DBResult result = modb.Save( ModelObjectConvert.ToModelObjectList(ChildBodyList) ); //刷新父窗口上的父节点 var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult Delete(string data) { var head = JsonConvert.Deserialize(data); var isfee = CRM_QUOTATIONDAL.GetFeeCount(head.GID); if (isfee) { var jsonRespose = new JsonResponse { Success = false, Message ="此报价单内存在报价,请先删除她的所有报价才能删除此报价单!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { var BSNO = head.GID; var modb = new ModelObjectDB(); DBResult result = new DBResult(); result = modb.Delete(head); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } public ContentResult Delete2 ( string data ) { var head = JsonConvert.Deserialize(data); var BSNO = head.GID; var modb = new ModelObjectDB(); DBResult result = new DBResult(); result = modb.Delete(head, " delete from crm_QUOTATION_DETAIL where LINKGID='" + BSNO + "'"); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult AddDetail ( string BJ_GID, string XJ_GID,string CARRIER ) { //向客户报价的单号;向供应商询价的单号;船公司名 var jsonRespose = new JsonResponse { Success = false, Message = "", Data = null }; var _carrierList = BasicDataRefDAL.GeneralSelect("select CARRIER GVALUE, GID from CRM_QUOTATION_CARRIER where LINKGID='" + BJ_GID + "' and LINKGID2='" + XJ_GID + "' and CARRIER='" + CARRIER + "'"); if (_carrierList.Count() > 0) { jsonRespose.Success = true; jsonRespose.Message = "已有船公司信息"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { var cmdupdate = db.GetSqlStringCommand("insert into CRM_QUOTATION_CARRIER (GID,LINKGID,LINKGID2,CARRIER,FREEDAYS,REMARK,VALIDDATE,VALIDDATE_END) select top 1 newid(),'" + BJ_GID + "','" + XJ_GID + "',CARRIER,FREEDAYS,REMARK,VALIDDATE,VALIDDATE_END from CRM_QUOTATION_CARRIER where LINKGID='" + XJ_GID + "' and CARRIER='" + CARRIER + "'"); cmdupdate.Parameters.Clear(); //db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); //db.AddInParameter(cmdupdate, "@GID", DbType.String, billno); db.ExecuteNonQuery(cmdupdate, tran); jsonRespose.Success = true; jsonRespose.Message = "添加成功"; tran.Commit(); } catch (Exception e) { tran.Rollback(); jsonRespose.Success = false; jsonRespose.Message = e.Message; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; //return result; } return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } //var billList = bill.Split(','); } public ContentResult DelDetail ( String bill ) { var result = new DBResult(); var billList = bill.Split(','); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { foreach (var billno in billList) { var cmdupdate = db.GetSqlStringCommand("delete from CRM_QUOTATION_DETAIL where GID=@GID "); cmdupdate.Parameters.Clear(); //db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); db.AddInParameter(cmdupdate, "@GID", DbType.String, billno); db.ExecuteNonQuery(cmdupdate, tran); } result = new DBResult(); result.Success = true; result.Message = "删除成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "删除错误,请重试或联系系统管理员"; //return result; } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = null }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult DelCARRIER ( String bill ) { var result = new DBResult(); var billList = bill.Split(','); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { foreach (var billno in billList) { var strSql = new StringBuilder(); strSql.Append(" delete from CRM_QUOTATION_DETAIL where LINKGID=(select LINKGID from CRM_QUOTATION_CARRIER where GID=@GID1) "); strSql.Append(" and CARRIER=(select CARRIER from CRM_QUOTATION_CARRIER where GID=@GID4) "); strSql.Append(" and (select count(*) from CRM_QUOTATION_CARRIER where carrier= (select CARRIER from CRM_QUOTATION_CARRIER where GID=@GID2) and LINKGID=(select LINKGID from CRM_QUOTATION_CARRIER where GID=@GID5) )<=1 "); strSql.Append(" delete from CRM_QUOTATION_CARRIER where GID=@GID3 "); var cmdupdate = db.GetSqlStringCommand(strSql.ToString()); cmdupdate.Parameters.Clear(); //db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); db.AddInParameter(cmdupdate, "@GID1", DbType.String, billno); db.AddInParameter(cmdupdate, "@GID2", DbType.String, billno); db.AddInParameter(cmdupdate, "@GID3", DbType.String, billno); db.AddInParameter(cmdupdate, "@GID4", DbType.String, billno); db.AddInParameter(cmdupdate, "@GID5", DbType.String, billno); db.ExecuteNonQuery(cmdupdate, tran); } result = new DBResult(); result.Success = true; result.Message = "删除成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "删除错误,请重试或联系系统管理员"; //return result; } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = null }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult MakeOpseae ( string data ) { var aaa = ""; var headData = JsonConvert.Deserialize(data); var OpSeae = new MsOpSeae(); if (headData.CORPID == "" || headData.CORPID == null) { headData.CORPID = Convert.ToString(Session["COMPANYID"]); } headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; if (headData.ETA == "") headData.ETA = null; if (headData.ETD == "") headData.ETD = null; headData.REMARK = headData.REMARK +" "+ DateTime.Now.ToShortDateString()+"生成海运进口业务;"; var modb = new ModelObjectRepository(); DBResult result = modb.Save(headData); if (result.Success == true) { OpSeae.CREATETIME = DateTime.Now.ToString(); OpSeae.OP = Session["SHOWNAME"].ToString(); OpSeae.BSNO = "topseae" + Guid.NewGuid().ToString(); OpSeae.MASTERNO = OpSeae.BSNO; var company = MsCompanysDAL.GetNoPicData("GID='" + Convert.ToString(Session["COMPANYID"]) + "'"); var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='海运出口'", Convert.ToString(Session["COMPANYID"]), company.DBNAME); var custno = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.ETD.ToString().Trim(), DateTime.Now.ToString(), company.DBNAME); OpSeae.CUSTNO = custno; if (OpSeae.CUSTNO == "") { OpSeae.CUSTNO = headData.GID; } var portload = BasicDataRefDAL.GetLoadportbyEDI(headData.PORTLOAD); OpSeae.PORTLOAD = MsBaseInfoDAL.DelPortCn(portload[0].CodeAndName); OpSeae.PORTLOADID = headData.PORTLOAD; OpSeae.CUSTOMERNAME = headData.SHORTNAME; var portdischarge = BasicDataRefDAL.GetCodeDisportbyEDICODE(headData.PORTDISCHARGE); OpSeae.PORTDISCHARGE = MsBaseInfoDAL.DelPortCn(portdischarge[0].CodeAndName); OpSeae.PORTDISCHARGEID = headData.PORTDISCHARGE; OpSeae.CARRIER = headData.CARRIER; OpSeae.ETD = headData.ETD; OpSeae.REMARK = "通过报价单自动生成("+headData.GID+")"; OpSeae.DbOperationType = DbOperationType.DbotIns; OpSeae.ModelUIStatus = "I"; var DetailList = CRM_QUOTATIONDAL.GetDetailList(" LINKGID='"+headData.GID+"'"); var FeeList = new List(); foreach (var _d in DetailList) { var _F = new MsChFee(); _F.GId = Guid.NewGuid().ToString(); _F.BsNo = ""; _F.TaxUnitPrice = Convert.ToDecimal(_d.UNITPRICE); _F.UnitPrice = Convert.ToDecimal(_d.UNITPRICE); _F.Unit = _d.UNIT; _F.Quantity = 0; _F.CustomerName = _d.SHORTNAME; _F.FeeType = 1; _F.FeeStatus = 1; _F.FeeName = _d.FEENAME; FeeList.Add(_F); } foreach (var _d in DetailList) { var _F = new MsChFee(); _F.GId = Guid.NewGuid().ToString(); _F.BsNo = ""; _F.TaxUnitPrice = Convert.ToDecimal(_d.UNITPRICE); _F.UnitPrice = Convert.ToDecimal(_d.UNITPRICE); _F.Unit = _d.UNIT; _F.Quantity = 0; //_F.CustomerName = _d.SHORTNAME; _F.FeeType = 2; _F.FeeStatus = 1; _F.FeeName = _d.FEENAME; FeeList.Add(_F); } var modb2 = new ModelObjectRepository(); result = modb2.Save(OpSeae , ModelObjectConvert.ToModelObjectList(FeeList) , null ); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = CRM_QUOTATIONDAL.GetData("CQ.GID='" + headData.GID + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = CRM_QUOTATIONDAL.GetData("CQ.GID='" + headData.GID + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } public ContentResult AddDetailCarrier ( string DetailGID, string LINKGID, string NEWLINKGID, string CARRIER ) { CRM_QUOTATIONDAL.ExecSql(" delete from CRM_QUOTATION_CARRIER where linkgid='" + NEWLINKGID + "' and carrier='" + CARRIER + "' "); var sql2=new StringBuilder(); sql2.Append(" insert into CRM_QUOTATION_CARRIER (GID,linkgid,carrier,freedays,remark) "); sql2.Append(" select top 1 newid(), '" + NEWLINKGID + "','" + CARRIER + "',freedays,remark from CRM_QUOTATION_CARRIER where linkgid ='" + LINKGID + "' and CARRIER='" + CARRIER + "' "); var jsonRespose = new JsonResponse { Success = true, Message = "", Data = null }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #region 明细信息 public ContentResult GetDetailList ( string condition ) { var dataList = CRM_QUOTATIONDAL.GetDetailList(condition); //var list = dataList.Skip(start).Take(limit); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } #endregion #region 邮件和EXCEL模板处理 public ContentResult SendMailXJ ( string data,string data2,string URLID ) { System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); var head = JsonConvert.Deserialize(data);//向供应商询价 var head2 = JsonConvert.Deserialize(data2);//客户询价、向客户报价 //head2 = CRM_QUOTATIONDAL.GetData("GID='"+head2.GID+"'"); if (head.CONTACTNAME == "") { var json = JsonConvert.Serialize(new { Success = false, Message = "发送失败 没有设定联系人" }); return new ContentResult() { Content = json }; } //首先获取自己和对方的邮箱 var SenderName = Session["SHOWNAME"].ToString(); var SenderEmail = ""; var SenderCompany = Session["COMPANYNAME"].ToString(); var ReceiverName = head.CONTACTNAME; var ReceiverEmail = ""; var ReceiverCompany = head.SHORTNAME; var strSql = new StringBuilder(); strSql.Append(" select (select EMAIL1 from user_baseinfo where USERID='" + Session["USERID"].ToString() + "') SenderEmail, "); strSql.Append(" (select email from info_client_contact where linkid='" + head.CLIENTGID + "' and SHOWNAME='" + head.CONTACTNAME + "' ) ReceiverEmail"); DataSet ds = new DataSet(); Database db = DatabaseFactory.CreateDatabase(); try { using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { SenderEmail = Convert.ToString(reader["SenderEmail"]); ReceiverEmail = Convert.ToString(reader["ReceiverEmail"]); } reader.Close(); } } catch (Exception) { } finally { } if (ReceiverEmail == "" || SenderEmail == "") { var json = JsonConvert.Serialize(new { Success = false, Message = "发送失败 没有设定自己(个人设置-修改个人信息)或对方联系人(往来单位-联系人信息)的邮箱地址" }); return new ContentResult() { Content = json }; } //getemail msg.To.Add(ReceiverEmail); msg.From = new MailAddress(SenderEmail, Session["SHOWNAME"].ToString(), System.Text.Encoding.UTF8); /* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/ var Subject = ""; var Body = new StringBuilder(); Subject = " 询价:From " + SenderCompany; if (head.ETD != "") Subject = Subject + " 船期" + head2.ETD.Substring(0, 10); if (head.PORTLOAD != "") Subject = Subject + " 装货港" + head2.PORTLOAD_REF; if (head.PORTDISCHARGE != "") Subject = Subject + " 卸货港" + head2.PORTDISCHARGE_REF; var URL = "http://123.57.17.72:8729/index.aspx?" + URLID; Body.Append(" 询价公司:" + SenderCompany); Body.Append("
联系人:" + SenderName ); Body.Append("
邮箱:" + SenderEmail ); if (head.PORTLOAD != "") Body.Append("
装货港:" + head.PORTLOAD_REF); if (head.PORTDISCHARGE != "") Body.Append("
卸货港:" + head.PORTDISCHARGE_REF); if (head.ETD != "") Body.Append("
船期:" + head2.ETD.Substring(0,10)); if (head.REMARK != "") Body.Append("
其他说明:" + head2.REMARK); Body.Append("
"); Body.Append("
"); Body.Append("打开报价页面,填写报价并提交"); /* Body.Append(" 订舱公司:" + SenderCompany); Body.Append("
订舱人:" + SenderName + "   电话:" + SenderMobile + "   邮箱:" + SenderEmail); if (Opseae.CNTR != "") Body.Append("
箱型箱量:" + Opseae.CNTR); if (Opseae.ETD != "") Body.Append("
船期:" + Opseae.ETD); if (Opseae.CNTR != "") Body.Append("
目的地:" + Opseae.DESTINATION); if (Opseae.BOOKINGDESCRIPTION != "") Body.Append("
订舱说明:" + Opseae.BOOKINGDESCRIPTION); */ msg.Subject = Subject;//邮件标题 msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码 msg.Body = Body.ToString();//邮件内容 msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码 msg.IsBodyHtml = true;//是否是HTML邮件 msg.Priority = MailPriority.High;//邮件优先级 /* 不使用邮件附件 var sfile = getXJ2(head, head2); msg.Attachments.Add(new Attachment(sfile)); msg.Attachments[0].Name = Session["COMPANYNAME"].ToString() + "_" + Session["SHOWNAME"].ToString() + "_询价.xls"; * */ var content = ""; AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(content, null, "text/html"); /* LinkedResource lrImage = new LinkedResource(@"D:\DSWebservice\a.jpg", "image/gif"); lrImage.ContentId = "Email001"; htmlBody.LinkedResources.Add(lrImage); msg.AlternateViews.Add(htmlBody);*/ SmtpClient client = new SmtpClient(); client.Credentials = new System.Net.NetworkCredential("admin@dongshengsoft.com", "ds!@#)(*"); //在71info.com注册的邮箱和密码 client.Host = "smtpcom.263xmail.com"; object userState = msg; var Result = ""; try { //client.SendAsync(msg, userState); //简单一点儿可以 client.Send(msg); CRM_QUOTATIONDAL.ExecSql("update CRM_QUOTATION set ASKDATE='" + DateTime.Now.ToString() + "' , BLSTATUS=1 where GID='"+head.GID+"'"); /* if (System.IO.File.Exists(Path.GetFullPath(sfile))) { System.IO.File.Delete(Path.GetFullPath(sfile)); } */ var json = JsonConvert.Serialize(new { Success = true, Message = "发送成功" }); return new ContentResult() { Content = json }; } catch (System.Net.Mail.SmtpException ex) { Result = ex.Message; var json = JsonConvert.Serialize(new { Success = false, Message = "发送失败 " + Result }); return new ContentResult() { Content = json }; } } public string getXJ ( CRM_QUOTATIONmb head, CRM_QUOTATIONmb head2 ) { //var head = MsOpSeaeDAL.GetData("BSNO='" + mbill + "'"); var bodyList = CRM_QUOTATIONDAL.GetDetailList(" LINKGID ='"+head2.GID+"' "); Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); //Microsoft.Office.Interop.Excel.Application application = new Microsoft.Office.Interop.Excel.ApplicationClass() var path = Server.MapPath("../../CRM_QUOTATION_EXCEL/output"); var path2 = Server.MapPath("../../CRM_QUOTATION_EXCEL/model/"); var result = new DBResult(); if (excel == null) { return ""; } else { if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string expfilename = path + "\\" + head.GID + ".xls"; string excelFilePath = path2 + "XJ.xls"; Workbook workbook = excel.Workbooks.Open(excelFilePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); Worksheet mySheet = workbook.Sheets[1] as Worksheet; var _i=2; if (bodyList.Count == 0) { mySheet.Cells[_i, 1] = head.SHORTNAME; mySheet.Cells[_i, 2] = head.CARRIER; mySheet.Cells[_i, 3] = head.ETD.Substring(0,10); mySheet.Cells[_i, 4] = head.TT; _i++; } else { foreach (var _c in bodyList) { mySheet.Cells[_i, 1] = head.SHORTNAME; mySheet.Cells[_i, 2] = head.CARRIER; mySheet.Cells[_i, 3] = head.ETD.Substring(0, 10); mySheet.Cells[_i, 4] = head.TT; mySheet.Cells[_i, 5] = _c.CTN; mySheet.Cells[_i, 10] = _c.REMARK; _i++; } } if (System.IO.File.Exists(Path.GetFullPath(expfilename))) { System.IO.File.Delete(Path.GetFullPath(expfilename)); } mySheet.SaveAs(expfilename, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); workbook.Close(true, Type.Missing, Type.Missing); workbook = null; excel.Quit(); excel = null; var filename = Path.GetFileName(expfilename); //return "../../CRM_QUOTATION_EXCEL/output/" + filename; return expfilename.Replace("\\", "/"); } } public ContentResult SendMailBJ(string data ) { System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); var head2 = JsonConvert.Deserialize(data);//向供应商报价 var head = CRM_QUOTATIONDAL.GetData("cq.GID='" + head2.GID + "'"); var BodyList = CRM_QUOTATIONDAL.GetDetailList("LINKGID='"+head2.GID+"'"); //查询一下报价单涉及几个船公司 /*var strSql1 = new StringBuilder(); strSql1.Append(" select distinct carrier as GVALUE "); strSql1.Append(" ,(isnull(('目的港免箱期'+(select top 1 convert(varchar(10),freedays) from CRM_QUOTATION_CARRIER "); strSql1.Append(" where CARRIER=crm_quotation_detail.CARRIER and LINKGID in (select linkgid2 from crm_quotation_detail where LINKGID=crm_quotation_detail.LINKGID))+'天 '),'') "); strSql1.Append(" +isnull((' 备注'+(select top 1 remark from CRM_QUOTATION_CARRIER "); strSql1.Append(" where CARRIER=crm_quotation_detail.CARRIER and LINKGID in (select linkgid2 from crm_quotation_detail where LINKGID=crm_quotation_detail.LINKGID))+''),'') "); strSql1.Append(" +isnull(( ' 有效期'+(select dbo.trimdate(VALIDDATE)+'至'+dbo.trimdate(VALIDDATE_END) from CRM_QUOTATION where GID =crm_quotation_detail.linkgid2)),'') "); strSql1.Append(" ) GID"); strSql1.Append(" from crm_quotation_detail where linkGID='" + head2.GID + "'");*/ var CarrierList = CRM_QUOTATIONDAL.GetCARRIERList(" linkGID='" + head2.GID + "'"); //var _i = 0; //var AmountRMB = 0M; //var AmountUSD = 0M; if (head.CONTACTNAME == "") { var json = JsonConvert.Serialize(new { Success = false, Message = "发送失败 没有设定联系人" }); return new ContentResult() { Content = json }; } //首先获取自己和对方的邮箱 var SenderName = Session["SHOWNAME"].ToString(); var SenderEmail = ""; var SenderCompany = Session["COMPANYNAME"].ToString(); var ReceiverName = head.CONTACTNAME; var ReceiverEmail = ""; var ReceiverCompany = head.SHORTNAME; var strSql = new StringBuilder(); strSql.Append(" select (select EMAIL1 from user_baseinfo where USERID='" + Session["USERID"].ToString() + "') SenderEmail, "); strSql.Append(" (select email from info_client_contact where linkid='" + head.CLIENTGID + "' and SHOWNAME='" + head.CONTACTNAME + "' ) ReceiverEmail"); DataSet ds = new DataSet(); Database db = DatabaseFactory.CreateDatabase(); try { using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { SenderEmail = Convert.ToString(reader["SenderEmail"]); ReceiverEmail = Convert.ToString(reader["ReceiverEmail"]); } reader.Close(); } } catch (Exception) { } finally { } if (ReceiverEmail == "" || SenderEmail == "") { var json = JsonConvert.Serialize(new { Success = false, Message = "发送失败 没有设定自己(个人设置-修改个人信息)或对方联系人(往来单位-联系人信息)的邮箱地址" }); return new ContentResult() { Content = json }; } //getemail msg.To.Add(ReceiverEmail); msg.From = new MailAddress(SenderEmail, Session["SHOWNAME"].ToString(), System.Text.Encoding.UTF8); /* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/ var Subject = ""; var Body = new StringBuilder(); Subject = " 报价:From " + SenderCompany; if (head.ETD != "") Subject = Subject + " 船期" + head.ETD.Substring(0, 10); if (head.PORTLOAD != "") Subject = Subject + " 装货港" + head.PORTLOAD; if (head.PORTDISCHARGE != "") Subject = Subject + " 卸货港" + head.PORTDISCHARGE; //var URL = "http://123.57.17.72/index.aspx?" + URLID; var CTN=""; if (decimal.Parse(head._20GP) != 0M){ CTN = CTN + "20GP*" + (Convert.ToInt32(decimal.Parse(head._20GP))).ToString(); } if (decimal.Parse(head._40GP) != 0M){ if (CTN != "") { CTN = CTN + " , "; } CTN = CTN + " 40GP*" + (Convert.ToInt32(decimal.Parse(head._40GP))).ToString(); } if (decimal.Parse(head._40HC) != 0M){ if (CTN != "") { CTN = CTN + " , "; } CTN = CTN + " 40HC*" + (Convert.ToInt32(decimal.Parse(head._40HC))).ToString(); } if (decimal.Parse(head._45) != 0M){ if (CTN != "") { CTN = CTN + " , "; } CTN = CTN + " 45GP*" + (Convert.ToInt32(decimal.Parse(head._45))).ToString(); } if (decimal.Parse(head.CTNNUM) != 0M){ if (CTN != "") { CTN = CTN + " , "; } CTN = CTN + " " + head.CTN + "*" + (Convert.ToInt32(decimal.Parse(head.CTNNUM))).ToString(); } if (decimal.Parse(head.CTNNUM2) != 0M) { if (CTN != "") { CTN = CTN + " , "; } CTN = CTN + " " + head.CTN2 + "*" + (Convert.ToInt32(decimal.Parse(head.CTNNUM2))).ToString(); } Body.Append(" 报价公司:" + SenderCompany); foreach (var _carrier in CarrierList) { string[] FEELIST = new string[BodyList.Count()]; var AmountRMB = 0M; var AmountUSD = 0M; var _i = 0; //var head_Cust = new CRM_QUOTATIONmb(); foreach (var _f in BodyList) { if (_f.CARRIER != _carrier.CARRIER) { continue; } else { //head_Cust = CRM_QUOTATIONDAL.GetData("cq.GID='" + _f.LINKGID2 + "'"); var _FEE = _f.FEENAME + ":"; var feename = _f.FEENAME + ":"; var Amount = 0M; if (decimal.Parse(_f.UNITPRICE) != 0M) { if (_FEE != feename) { _FEE = _FEE + "+ "; } _FEE = _FEE + (_f.UNITPRICE.TrimEnd('0')).TrimEnd('.') + "*1"; Amount = Amount + decimal.Parse(_f.UNITPRICE); } else { if (decimal.Parse(head._20GP) != 0M) { if (_FEE != feename) { _FEE = _FEE + "+ "; } _FEE = _FEE + (_f._20GP.TrimEnd('0')).TrimEnd('.') + "*" + (Convert.ToInt32(decimal.Parse(head._20GP))).ToString(); Amount = Amount + decimal.Parse(_f._20GP) * decimal.Parse(head._20GP); } if (decimal.Parse(head._40GP) != 0M) { if (_FEE != feename) { _FEE = _FEE + "+ "; } _FEE = _FEE + (_f._40GP.TrimEnd('0')).TrimEnd('.') + "*" + (Convert.ToInt32(decimal.Parse(head._40GP))).ToString(); Amount = Amount + decimal.Parse(_f._40GP) * decimal.Parse(head._40GP); } if (decimal.Parse(head._40HC) != 0M) { if (_FEE != feename) { _FEE = _FEE + "+ "; } _FEE = _FEE + (_f._40HC.TrimEnd('0')).TrimEnd('.') + "*" + (Convert.ToInt32(decimal.Parse(head._40HC))).ToString(); Amount = Amount + decimal.Parse(_f._40HC) * decimal.Parse(head._40HC); } if (decimal.Parse(head._45) != 0M) { if (_FEE != feename) { _FEE = _FEE + "+ "; } _FEE = _FEE + (_f._45.TrimEnd('0')).TrimEnd('.') + "*" + (Convert.ToInt32(decimal.Parse(head._45))).ToString(); Amount = Amount + decimal.Parse(_f._45) * decimal.Parse(head._45); } if (decimal.Parse(head.CTNNUM) != 0M) { if (_FEE != feename) { _FEE = _FEE + "+ "; } _FEE = _FEE + (_f.CTNPRICE.TrimEnd('0')).TrimEnd('.') + "*" + (Convert.ToInt32(decimal.Parse(head.CTNNUM))).ToString(); Amount = Amount + decimal.Parse(_f.CTNPRICE) * decimal.Parse(head.CTNNUM); } if (decimal.Parse(head.CTNNUM2) != 0M) { if (_FEE != feename) { _FEE = _FEE + "+ "; } _FEE = _FEE + (_f.CTNPRICE2.TrimEnd('0')).TrimEnd('.') + "*" + (Convert.ToInt32(decimal.Parse(head.CTNNUM2))).ToString(); Amount = Amount + decimal.Parse(_f.CTNPRICE2) * decimal.Parse(head.CTNNUM2); } } var BBFH = "¥"; if (_f.CURRENCY == "RMB") { AmountRMB = AmountRMB + Amount; } else { BBFH = "$"; AmountUSD = AmountUSD + Amount; } FEELIST[_i] = _FEE + " = " + BBFH +""+ (Math.Round(Amount, 2).ToString().TrimEnd('0')).TrimEnd('.'); _i++; } } var CarrierInfo = new StringBuilder(); if (_carrier.FREEDAYS!=""){ CarrierInfo.Append(" 目的港免箱期:" + _carrier.FREEDAYS + "  "); } if (_carrier.VALIDDATE!="" && _carrier.VALIDDATE_END!=""){ CarrierInfo.Append(" 有效期:从" + _carrier.VALIDDATE.Substring(0, 10) + "到" + _carrier.VALIDDATE_END.Substring(0, 10) + "  "); } if (_carrier.REMARK != "") { CarrierInfo.Append(" 备注:" + _carrier.REMARK); } Body.Append("
"); Body.Append("
"); Body.Append(" "); Body.Append("船公司:"+_carrier.CARRIER); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); if (_i > 1) for (var _j = 1; _j <_i; _j++) { Body.Append(""); Body.Append(""); Body.Append(""); } var HJ = ""; HJ = "$" + Math.Round(AmountUSD, 2).ToString() + "    "; HJ =HJ+ "¥" + Math.Round(AmountRMB, 2).ToString() + ""; Body.Append(""); Body.Append(""); Body.Append(""); Body.Append(""); Body.Append("
起止地点" + head.PORTLOAD_REF + "-" + head.PORTDISCHARGE_REF + "/" + head.PORTLOAD + "-" + head.PORTDISCHARGE + "
出运货量" + CTN + "
其他信息" + CarrierInfo + "
订舱说明" + head.REMARK + "
费用明细" + FEELIST[0] + "
" + FEELIST[_j] + "
分类合计" + HJ + "
"); Body.Append(""); Body.Append(""); Body.Append(""); } Body.Append("
联系人:" + SenderName); Body.Append("
邮箱:" + SenderEmail); msg.Subject = Subject;//邮件标题 msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码 msg.Body = Body.ToString();//邮件内容 msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码 msg.IsBodyHtml = true;//是否是HTML邮件 msg.Priority = MailPriority.High;//邮件优先级 /* 不使用邮件附件 var sfile = getXJ2(head, head2); msg.Attachments.Add(new Attachment(sfile)); msg.Attachments[0].Name = Session["COMPANYNAME"].ToString() + "_" + Session["SHOWNAME"].ToString() + "_询价.xls"; * */ var content = ""; AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(content, null, "text/html"); /* LinkedResource lrImage = new LinkedResource(@"D:\DSWebservice\a.jpg", "image/gif"); lrImage.ContentId = "Email001"; htmlBody.LinkedResources.Add(lrImage); msg.AlternateViews.Add(htmlBody);*/ SmtpClient client = new SmtpClient(); client.Credentials = new System.Net.NetworkCredential("admin@dongshengsoft.com", "ds!@#)(*"); //在71info.com注册的邮箱和密码 client.Host = "smtpcom.263xmail.com"; object userState = msg; var Result = ""; try { //client.SendAsync(msg, userState); //简单一点儿可以 client.Send(msg); CRM_QUOTATIONDAL.ExecSql("update CRM_QUOTATION set ASKDATE='" + DateTime.Now.ToString() + "' where GID='" + head.GID + "'"); /* if (System.IO.File.Exists(Path.GetFullPath(sfile))) { System.IO.File.Delete(Path.GetFullPath(sfile)); } */ var json = JsonConvert.Serialize(new { Success = true, Message = "发送成功" }); return new ContentResult() { Content = json }; } catch (System.Net.Mail.SmtpException ex) { Result = ex.Message; var json = JsonConvert.Serialize(new { Success = false, Message = "发送失败 " + Result }); return new ContentResult() { Content = json }; } } #endregion #region 保存为excel文件 protected string getXJ2 ( CRM_QUOTATIONmb head, CRM_QUOTATIONmb head2 ) { /* T_ALL_DA T_ALL_DA = new T_ALL_DA();*/ //var strDataIndex = "WMSDATE,CUSTOMERNAME,BLNO,STORAGENAME,GOODSNAME,GOODSMODEL,hj_GOODSRKSL,hj_GOODSPFSL_OUT,hj_GOODSPFSL_MONTH,hj_GOODSSTOCK,hj_GOODSPACK,hj_GOODSPACKPFSL,hj_GOODSPACKPFSL_MONTH,hj_GOODSPACKSTOCK,CONTRACTNO,CHARGEUNIT,CUSTOMNO,GOODSGRADE,GOODSSLICE,GOODSSTANDARD,REMARK,hj_GOODSPACKACTUAL,hj_GOODSRKSLACTUAL,AREANAME";//字段名称 var strHeader = "代理\t船东\t船期\t航程\t箱型量\tALLIN海运费\t人民币杂费\t有效期\t目的港免箱使\t备注";//中文名称 /* String strSql = "select " + strDataIndex + " from ("; DataSet DS = T_ALL_DA.GetAllSQL(strSql.Trim()); */ DataSet DS2 = new DataSet(); System.Data.DataTable _tab = new System.Data.DataTable("TAB_1"); DataColumn dc = null; /* dc = _tab.Columns.Add("ID", Type.GetType("System.Int32")); dc.AutoIncrement = true;//自动增加 dc.AutoIncrementSeed = 1;//起始为1 dc.AutoIncrementStep = 1;//步长为1 dc.AllowDBNull = false;// */ dc = _tab.Columns.Add("代理", Type.GetType("System.String")); dc = _tab.Columns.Add("船东", Type.GetType("System.String")); dc = _tab.Columns.Add("船期", Type.GetType("System.String")); dc = _tab.Columns.Add("航程", Type.GetType("System.String")); dc = _tab.Columns.Add("箱型量", Type.GetType("System.String")); dc = _tab.Columns.Add("ALLIN海运费", Type.GetType("System.String")); dc = _tab.Columns.Add("人民币杂费", Type.GetType("System.String")); dc = _tab.Columns.Add("有效期", Type.GetType("System.String")); dc = _tab.Columns.Add("目的港免箱使", Type.GetType("System.String")); dc = _tab.Columns.Add("备注", Type.GetType("System.String")); DS2.Tables.Add(_tab); var bodyList = CRM_QUOTATIONDAL.GetDetailList(" LINKGID ='" + head2.GID + "' "); /*var Row1 = DS2.Tables[0].NewRow(); Row1[0] = "代理"; Row1[1] = "船东"; Row1[2] = "船期"; Row1[3] = "航程"; Row1[4] = "箱型量"; Row1[5] = "ALLIN海运费"; Row1[6] = "人民币杂费"; Row1[7] = "有效期"; Row1[8] = "目的港免箱使"; Row1[9] = "备注"; DS2.Tables[0].Rows.Add(Row1);*/ var _i = 2; if (bodyList.Count == 0) { var Row = DS2.Tables[0].NewRow(); Row[0] = head.SHORTNAME; Row[1] = head.CARRIER; Row[2] = head.ETD.Substring(0, 10); Row[3] = head.TT; _i++; DS2.Tables[0].Rows.Add(Row); } else { foreach (var _c in bodyList) { var Row = DS2.Tables[0].NewRow(); /* for (var _j = 0; _j < 10; _j++) { System.Data.DataRow _R = new System.Data.DataRow(); Row.ItemArray. }*/ Row[0] = head.SHORTNAME; Row[1] = head.CARRIER; Row[2] = head.ETD.Substring(0, 10); Row[3] = head.TT; Row[4] = _c.CTN + "*" + _c.CTNNUM; _i++; DS2.Tables[0].Rows.Add(Row); } } if (DS2 != null) { ExcelDA ExcelDA = new EntityDA.ExcelDA(); MemoryStream ms = ExcelDA.RenderToExcel(DS2.Tables[0], strHeader.Trim()); //ExcelDA.RenderToBrowser(ms, Context, "report.xls"); var path = Server.MapPath("../../CRM_QUOTATION_EXCEL/output/"); string expfilename = path + "\\" + head.GID +"_"+ DateTime.Now.ToString("HHmmssfff")+ ".xls"; /* if (System.IO.File.Exists(Path.GetFullPath(expfilename))) { System.IO.File.Delete(Path.GetFullPath(expfilename)); }*/ FileStream fs = new FileStream(expfilename, FileMode.OpenOrCreate); BinaryWriter w = new BinaryWriter(fs); w.Write(ms.ToArray()); fs.Close(); ms.Close(); return expfilename; } else { return ""; } } #endregion #region 审核 是否允许发出报价 public ContentResult StartAudit(String USERID, String bill) { var result = new DBResult(); var WorkFlowName = "CRMInfoFaqInfo"; var billList = bill.Split(','); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { foreach (var billno in billList) { Resultmb WorkResult = WorkFlowDAL.WorkFlowStart(WorkFlowName, billno, USERID,billno,billno,""); if (WorkResult.Success == true) { var cmdupdate = db.GetSqlStringCommand("update CRM_QUOTATION set BLSTATUS=2 where GID=@GID "); cmdupdate.Parameters.Clear(); //db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); db.AddInParameter(cmdupdate, "@GID", DbType.String, billno); db.ExecuteNonQuery(cmdupdate, tran); } else { result.Success = false; result.Message = "审核错误!"; } } result = new DBResult(); result.Success = true; result.Message = "审核成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "审核错误,请重试或联系系统管理员"; //return result; } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = null }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult ResetAudit(String USERID, String bill) { var result = new DBResult(); var WorkFlowName = "CRMInfoFaqInfo"; var billList = bill.Split(','); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { foreach (var billno in billList) { Resultmb WorkResult = WorkFlowDAL.WorkFlowReset(WorkFlowName, billno, USERID); if (WorkResult.Success == true) { var cmdupdate = db.GetSqlStringCommand("update CRM_QUOTATION set BLSTATUS=1 where GID=@GID "); cmdupdate.Parameters.Clear(); //db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); db.AddInParameter(cmdupdate, "@GID", DbType.String, billno); db.ExecuteNonQuery(cmdupdate, tran); } else { result.Success = false; result.Message = "审核错误!"; } } result = new DBResult(); result.Success = true; result.Message = "审核成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "审核错误,请重试或联系系统管理员"; //return result; } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = null }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult Audit(String USERID, String bill) { var result = new DBResult(); var WorkFlowName = "CRMInfoFaqInfo"; var billList = bill.Split(','); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { foreach (var billno in billList) { Resultmb WorkResult = WorkFlowDAL.InsertWorkFlowDo(WorkFlowName, billno, USERID,""); if (WorkResult.Success == true) { var cmdupdate = db.GetSqlStringCommand("update CRM_QUOTATION set BLSTATUS=3 where GID=@GID "); cmdupdate.Parameters.Clear(); //db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); db.AddInParameter(cmdupdate, "@GID", DbType.String, billno); db.ExecuteNonQuery(cmdupdate, tran); } else { result.Success = false; result.Message = "审核错误!"; } } result = new DBResult(); result.Success = true; result.Message = "审核成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "审核错误,请重试或联系系统管理员"; } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = null }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult AuditBack(String USERID, String bill) { var result = new DBResult(); var WorkFlowName = "CRMInfoFaqInfo"; var billList = bill.Split(','); Database db = DatabaseFactory.CreateDatabase(); using (var conn = db.CreateConnection()) { conn.Open(); var tran = conn.BeginTransaction(); try { foreach (var billno in billList) { Resultmb WorkResult = WorkFlowDAL.DeleteWorkFlowDo(WorkFlowName, billno, USERID,""); if (WorkResult.Success == true) { var cmdupdate = db.GetSqlStringCommand("update CRM_QUOTATION set BLSTATUS=1 where GID=@GID "); cmdupdate.Parameters.Clear(); //db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); db.AddInParameter(cmdupdate, "@GID", DbType.String, billno); db.ExecuteNonQuery(cmdupdate, tran); } else { result.Success = false; result.Message = "审核错误!"; } } result = new DBResult(); result.Success = true; result.Message = "审核成功"; tran.Commit(); } catch (Exception) { tran.Rollback(); result.Success = false; result.Message = "审核错误,请重试或联系系统管理员"; } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = null }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #endregion } }