using System; using System.Linq; using System.Web.Mvc; using System.Data.OleDb; using System.Data; using System.Data.Odbc; using DSWeb.MvcShipping.DAL.MsOpSubSeaOrderDAL; using DSWeb.MvcShipping.DAL.MsOpSeaeDAL; using DSWeb.MvcShipping.DAL.MsOpSeaiDAL; using DSWeb.MvcShipping.Models.MsOpSubSeaOrder; using DSWeb.MvcShipping.Models.MsOpSeae; using DSWeb.MvcShipping.Models.MsOpSeai; using DSWeb.MvcShipping.Helper; using DSWeb.MvcShipping.Comm.Cookie; using HcUtility.Comm; using HcUtility.Core; using System.IO; using System.Collections.Generic; using DSWeb.Areas.CommMng.DAL; using DSWeb.MvcShipping.DAL.MsBaseInfoDAL; using DSWeb.MvcShipping.DAL.MsCodeFtpSet; namespace DSWeb.MvcShipping.Controllers { [JsonRequestBehavior] public class MsOpSubSeaOrderController : Controller { public ActionResult Index() { return View(); } public ActionResult Edit() { return View(); } public ActionResult Audit() { return View(); } public ActionResult AuditImport() { return View(); } public ActionResult CtnStatus() { return View(); } public ActionResult CtnStatusImport() { return View(); } public ActionResult Import() { return View(); } public ActionResult AgentImport() { return View(); } public ActionResult AgentExport() { return View(); } public ActionResult EditAgentExport() { return View(); } public ActionResult CtnStatusA() { return View(); } public ActionResult CtnStatusAImport() { return View(); } public ActionResult CompanyOrderFeeEdit() { return View(); } public ActionResult EditArrival() { return View(); } public ActionResult ArrivalList() { return View(); } public ActionResult ArrivalYardList() { return View(); } public ActionResult EditArrivalYard() { return View(); } public ContentResult GetDataList(int start, int limit, string sort, string condition, string billtype, int ortype) { var dataList = MsOpSubSeaOrderDAL.GetDataList(condition,billtype,ortype,Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); 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 GetDataListStr(string condition, string billtype, int ortype) { var dataListStr = MsOpSubSeaOrderDAL.GetDataListStr(condition, billtype, ortype, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", data = dataListStr }); return new ContentResult() { Content = json }; } public ContentResult GetData(string handle, string condition, int billtype, int ortype) { MsOpSubSeaOrder head = null; if (handle == "edit") { head = MsOpSubSeaOrderDAL.GetData(condition,ortype); } if (head == null) { head = new MsOpSubSeaOrder(); head.INPUTBY= Convert.ToString(Session["SHOWNAME"]); head.ORTYPE = ortype; head.BILLTYPE = billtype; if (ortype == 1) { head.ORSTATUSREF = "ENTRY"; } else { head.ORSTATUSREF = "录入"; } } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult GetBodyList(string condition) { var dataList = MsOpSubSeaOrderDAL.GetBodyList(condition); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetFeeList(string condition, int agentfee) { var dataList = MsOpSubSeaOrderDAL.GetFeeList(condition, agentfee); //if (dataList.Count == 0) { // dataList = MsOpSubSeaOrderDAL.GetDefFeeList(Convert.ToString(Session["COMPANYID"]),agentfee); //} var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetArrivaList(int start, int limit, string sort, string condition) { var dataList = MsOpSubSeaOrderDAL.GetArrivalData(condition,sort); 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 }; } public ContentResult GetArrivaListStr(string condition, string sort) { var dataListStr = MsOpSubSeaOrderDAL.GetArrivalDataStr(condition,sort); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功",data = dataListStr }); return new ContentResult() { Content = json }; } public ContentResult GetArrivalData(string handle,string condition,string ordno) { MsOpSubSeaArrival head = null; var headlist = MsOpSubSeaOrderDAL.GetArrivalData(condition); if (headlist.Count > 0) head = headlist[0]; else { var headData = MsOpSubSeaOrderDAL.GetData("ORDNO='" + ordno + "'", 1); head = MsOpSubSeaOrderDAL.SetDefArrivalData(headData, Convert.ToString(Session["SHOWNAME"])); } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult GetArrivalFeeList(string condition) { var dataList = MsOpSubSeaOrderDAL.GetArrivalFeeList(condition); //if (dataList.Count == 0) { // dataList = MsOpSubSeaOrderDAL.GetDefFeeList(Convert.ToString(Session["COMPANYID"]),agentfee); //} var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetArrivalYardList(string condition) { var dataList = MsOpSubSeaOrderDAL.GetArrivalYardList(condition); //if (dataList.Count == 0) { // dataList = MsOpSubSeaOrderDAL.GetDefFeeList(Convert.ToString(Session["COMPANYID"]),agentfee); //} var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetArrivalYardData(string handle, string condition) { MsOpSubSeaArrivalYard head = null; var headlist = MsOpSubSeaOrderDAL.GetArrivalYardList(condition); if (headlist.Count > 0) head = headlist[0]; else { head =new MsOpSubSeaArrivalYard (); } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult GetCtnStatusList(string condition, string billtype) { var dataList = MsOpSubSeaOrderDAL.GetCtnStatusList(condition,billtype,Convert.ToString(Session["COMPANYID"])); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult Save(string opstatus, string data, string data2, string body,string fee,string feecarrier,int ortype) { var headData = JsonConvert.Deserialize(data.Replace("}",",")+data2.Replace("{","")); var bodyList = JsonConvert.Deserialize>(body); var feeList = JsonConvert.Deserialize>(fee); var feecarrierList = JsonConvert.Deserialize>(feecarrier); var BSNO = headData.BSNO; if (opstatus == "add") { headData.ORDNO = PubSysDAL.GetBillNo("0310"); headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]); headData.COMPANYID = Convert.ToString(Session["COMPANYID"]); headData.BSDATE = DateTime.Now; headData.ORSTATUS ="9"; headData.ORSTATUSREF = "录入状态"; headData.DbOperationType = DbOperationType.DbotIns; } else if (opstatus == "edit") { headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; } else { headData.DbOperationType = DbOperationType.DbotDel; } if (headData.ETD == "") headData.ETD = null; if (headData.ETA == "") headData.ETA = null; if (headData.ISSUEDATE == "") headData.ISSUEDATE = null; var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); if (result.Success == true) { result = MsOpSubSeaOrderDAL.SaveDetail(headData, bodyList, Convert.ToString(Session["USERID"])); result = MsOpSubSeaOrderDAL.SaveFee(headData, feeList, Convert.ToString(Session["USERID"]),"1"); result = MsOpSubSeaOrderDAL.SaveFee(headData, feecarrierList, Convert.ToString(Session["USERID"]), "0"); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsOpSubSeaOrderDAL.GetData("BSNO='" + BSNO + "'",ortype) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SaveArrival(string opstatus, string data, string fee) { var headData = JsonConvert.Deserialize(data); var feeList = JsonConvert.Deserialize>(fee); var BSNO = headData.ORDNO; if (headData.GID == "*") { headData.GID = Guid.NewGuid().ToString(); headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]); headData.BSDATE = DateTime.Now; headData.DbOperationType = DbOperationType.DbotIns; } else { headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; } if (headData.REFNO == "") { headData.REFNO = MsOpSubSeaOrderDAL.getREFNo(headData.ETA); } if (headData.ETD == "") headData.ETD = null; if (headData.ETA == "") headData.ETA = null; if (headData.FREETIME == "") headData.FREETIME = null; var str = headData.MARKS; str= str.Replace("\n", "\\"); str = str.Replace("\r", " "); string[] StrList = str.Split('\\'); headData.MARKCOUNT = StrList.Length; var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); if (result.Success == true) { result = MsOpSubSeaOrderDAL.SaveArrivalFee(headData, feeList, Convert.ToString(Session["USERID"])); MsOpSubSeaOrderDAL.p_update_ARRIVEL(BSNO); } var alist = MsOpSubSeaOrderDAL.GetArrivalData("ORDNO='" + BSNO + "'"); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = alist[0] }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SaveArrivalYard(string opstatus, string data) { var headData = JsonConvert.Deserialize(data); var GID=""; if (headData.GID == "*") { GID=Guid.NewGuid().ToString(); headData.GID = GID; headData.DbOperationType = DbOperationType.DbotIns; } else { GID=headData.GID; headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; } var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); MsOpSubSeaArrivalYard head = null; var list = MsOpSubSeaOrderDAL.GetArrivalYardList("GID='"+GID+"'"); if (list.Count > 0) head = list[0]; else head = new MsOpSubSeaArrivalYard(); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = head }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult DeleteDetail(string data) { var head = JsonConvert.Deserialize(data); DBResult result = MsOpSubSeaOrderDAL.DeleteDetail2(head); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult Delete(string data) { var head = JsonConvert.Deserialize(data); var modb = new ModelObjectDB(); DBResult result = modb.Delete(head); if (result.Success == true) { MsOpSubSeaOrderDAL.DeleteDetail(head); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult DeleteArrival(string data) { var head = JsonConvert.Deserialize(data); var modb = new ModelObjectDB(); DBResult result = modb.Delete(head); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult DeleteArrivalYard(string data) { var head = JsonConvert.Deserialize(data); var modb = new ModelObjectDB(); DBResult result = modb.Delete(head); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult DeleteFeeDetail(string data) { var head = JsonConvert.Deserialize(data); DBResult result = MsOpSubSeaOrderDAL.DeleteFeeDetail(head); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult DeleteArrivalFeeDetail(string data) { var head = JsonConvert.Deserialize(data); DBResult result = MsOpSubSeaOrderDAL.DeleteArrivalFeeDetail(head); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult GetCompanyFeeList(string condition) { var dataList = MsOpSubSeaOrderDAL.GetCompanyFeeList(condition,Convert.ToString(Session["COMPANYID"])); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult SaveCompanyFee(string fee) { var feeList = JsonConvert.Deserialize>(fee); DBResult result = MsOpSubSeaOrderDAL.SaveCompanyOrderFee(feeList, Convert.ToString(Session["COMPANYID"])); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsOpSubSeaOrderDAL.GetCompanyFeeList("",Convert.ToString(Session["COMPANYID"])) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #region 审核、撤销审核 public ContentResult GetAuditDataList(int start, int limit, string sort, string condition, string billtype) { var dataList = MsOpSubSeaOrderDAL.GetAuditDataList(condition,billtype,Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); 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 AddSeae(string data, string accdate, string op, string custservice) { var OrderDataList = JsonConvert.Deserialize>(data); DBResult result = null; foreach (var OrderData in OrderDataList) { var headData = new MsOpSeae(); OrderData.ORSTATUS = "0"; OrderData.DbOperationType = DbOperationType.DbotUpd; OrderData.ModelUIStatus = "E"; headData.BSDATE = DateTime.Now; var isuse = MsBaseInfoDAL.GetRuleUse("委托编号", "1"); if (isuse) { headData.CUSTNO = MsOpSeaeDAL.getCodeRule("委托编号", "CUSTNO", headData.BSDATE.ToString().Trim(), headData.ACCDATE.ToString().Trim(), Convert.ToString(Session["USERID"]), Convert.ToString(Session["COMPANYID"])); } headData.CORPID = Convert.ToString(Session["COMPANYID"]); headData.BSDATE = DateTime.Now; headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]); headData.BSSTATUS = false; headData.FEESTATUS = false; headData.DbOperationType = DbOperationType.DbotIns; headData.BSNO = OrderData.BSNO; headData.MBLNO = OrderData.MBLNO; headData.CUSTOMERNAME = OrderData.CUSTOMERNAME; headData.ORDERTYPE = "分部订舱"; headData.SHIPPER = OrderData.SHIPPER; headData.CONSIGNEE = OrderData.CONSIGNEE; headData.NOTIFYPARTY = OrderData.NOTIFYPARTY; headData.VESSEL = OrderData.VESSEL; headData.VOYNO = OrderData.VOYNO; headData.ETD = OrderData.ETD; headData.PORTLOADID = OrderData.PORTLOADID; headData.PORTLOAD = OrderData.PORTLOAD; headData.PORTDISCHARGEID = OrderData.PORTDISCHARGEID; headData.PORTDISCHARGE = OrderData.PORTDISCHARGE; headData.PLACERECEIPT = OrderData.PlACERECEIPT; headData.PLACEDELIVERYID = OrderData.PLACEDELIVERYID; headData.PLACEDELIVERY = OrderData.PLACEDELIVERY; headData.DESTINATIONID = OrderData.DESTINATIONID; headData.DESTINATION = OrderData.DESTINATION; headData.NOBILL = OrderData.NOBILL; headData.ISSUETYPE = OrderData.ISSUETYPE; headData.ISSUEDATE = OrderData.ISSUEDATE; headData.ISSUEPLACE = OrderData.ISSUEPLACE; headData.BLFRT = OrderData.BLFRT; headData.PREPARDAT = OrderData.PREPARDAT; headData.PAYABLEAT = OrderData.PAYABLEAT; headData.SERVICE = OrderData.SERVICE; headData.MARKS = OrderData.MARKS; headData.NOPKGS = OrderData.NOPKGS; headData.DESCRIPTION = OrderData.DESCRIPTION; headData.GOODSNAME = OrderData.GOODSNAME; headData.GROSSWEIGHT = OrderData.GROSSWEIGHT; headData.MEASUREMENT = OrderData.MEASUREMENT; headData.PKGS = OrderData.PKGS.ToString(); headData.KINDPKGS = OrderData.KINDPKGS; headData.KGS = OrderData.KGS.ToString(); headData.CBM = OrderData.CBM.ToString(); headData.TOTALNO = OrderData.TOTALNO; headData.CNTRTOTAL = OrderData.CNTRTOTAL; headData.CARGOID = OrderData.CARGOID; headData.DCLASS = OrderData.DCLASS; headData.DPAGE = OrderData.DPAGE; headData.DUNNO = OrderData.DUNNO; headData.DLABEL = OrderData.DLABEL; headData.LINKMAN = OrderData.LINKMAN; headData.REEFERF = OrderData.REEFERF; headData.TEMPID = OrderData.TEMPID; headData.TEMPSET = OrderData.TEMPSET; headData.TEMPMAX = OrderData.TEMPMAX; headData.TEMPMIN = OrderData.TEMPMIN; headData.REMARK = OrderData.REMARK;//备注 headData.BLTYPE = OrderData.BLTYPE;//装运方式 headData.OP = op;//操作员 headData.CUSTSERVICE = custservice;//客服员 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.ISSUEDATE == "") headData.ISSUEDATE = null; if (headData.CLOSINGDATE == "") headData.CLOSINGDATE = null; var modb = new ModelObjectDB(); result = modb.Save(headData); var BSNO = headData.BSNO; if (result.Success == true) { result = MsOpSubSeaOrderDAL.AddOrderDetail(BSNO, OrderData, Convert.ToString(Session["USERID"])); // result = modb.Save(OrderData); } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = "" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult ImportSeae(string data) { var OrderDataList = JsonConvert.Deserialize>(data); DBResult result = null; foreach (var OrderData in OrderDataList) { var headData = new MsOpSubSeaOrder(); OrderData.DbOperationType = DbOperationType.DbotUpd; OrderData.ModelUIStatus = "E"; headData.BSDATE = DateTime.Now; headData.COMPANYID = Convert.ToString(Session["COMPANYID"]); headData.AGENTID = MsOpSubSeaOrderDAL.GetCustID(OrderData.AGENTID); headData.ORDNO = PubSysDAL.GetBillNo("0310"); headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]); headData.ORSTATUS ="0"; headData.DbOperationType = DbOperationType.DbotIns; headData.BSNO = OrderData.BSNO; headData.MBLNO = OrderData.MBLNO; headData.CUSTOMERNAME = OrderData.CUSTOMERNAME; headData.ORTYPE = 2; headData.BILLTYPE =1; headData.BLTYPE="整箱"; headData.SHIPPER = OrderData.SHIPPER; headData.CONSIGNEE = OrderData.CONSIGNEE; headData.NOTIFYPARTY = OrderData.NOTIFYPARTY; headData.VESSEL = OrderData.VESSEL; headData.VOYNO = OrderData.VOYNO; headData.ETD = OrderData.ETD; headData.PORTLOADID = OrderData.PORTLOADID; headData.PORTLOAD = OrderData.PORTLOAD; headData.PORTDISCHARGEID = OrderData.PORTDISCHARGEID; headData.PORTDISCHARGE = OrderData.PORTDISCHARGE; headData.PlACERECEIPT = "QINGDAO CY"; headData.PLACEDELIVERYID = OrderData.PLACEDELIVERYID; var PLACEDELIVERY = OrderData.PLACEDELIVERY; if (PLACEDELIVERY.IndexOf(",") > 1) { PLACEDELIVERY = PLACEDELIVERY.Substring(0, PLACEDELIVERY.IndexOf(","))+" CY"; } headData.PLACEDELIVERY = PLACEDELIVERY; headData.DESTINATIONID = OrderData.DESTINATIONID; headData.DESTINATION = OrderData.DESTINATION; headData.NOBILL = OrderData.NOBILL; headData.ISSUETYPE = OrderData.ISSUETYPE; headData.ISSUEDATE = OrderData.ISSUEDATE; headData.ISSUEPLACE = OrderData.ISSUEPLACE; headData.BLFRT = OrderData.BLFRT; headData.PREPARDAT = OrderData.PREPARDAT; headData.PAYABLEAT = OrderData.PAYABLEAT; headData.SERVICE = OrderData.SERVICE; headData.MARKS = OrderData.MARKS; headData.NOPKGS = OrderData.NOPKGS; headData.DESCRIPTION = OrderData.DESCRIPTION; headData.GOODSNAME = OrderData.GOODSNAME; headData.GROSSWEIGHT = OrderData.GROSSWEIGHT; headData.MEASUREMENT = OrderData.MEASUREMENT; headData.PKGS = Convert.ToInt32(OrderData.PKGS); headData.KINDPKGS = OrderData.KINDPKGS; headData.KGS = Convert.ToDecimal(OrderData.KGS); headData.CBM = Convert.ToDecimal(OrderData.CBM); headData.TOTALNO = OrderData.TOTALNO; headData.CNTRTOTAL = OrderData.CNTRTOTAL; headData.CARGOID = OrderData.CARGOID; headData.DCLASS = OrderData.DCLASS; headData.DPAGE = OrderData.DPAGE; headData.DUNNO = OrderData.DUNNO; headData.DLABEL = OrderData.DLABEL; headData.LINKMAN = OrderData.LINKMAN; headData.REEFERF = OrderData.REEFERF; headData.TEMPID = OrderData.TEMPID; headData.TEMPSET = OrderData.TEMPSET; headData.TEMPMAX = OrderData.TEMPMAX; headData.TEMPMIN = OrderData.TEMPMIN; headData.REMARK = OrderData.REMARK;//备注 headData.BLTYPE = OrderData.BLTYPE;//装运方式 if (headData.ETA == "") headData.ETA = null; if (headData.ETD == "") headData.ETD = null; if (headData.ISSUEDATE == "" || (Convert.ToDateTime(headData.ISSUEDATE) < Convert.ToDateTime("2010-01-01"))) headData.ISSUEDATE = null; var modb = new ModelObjectDB(); result = modb.Save(headData); var BSNO = headData.BSNO; if (result.Success == true) { var ctnbodyList = MsOpSeaeDAL.GetBodyList("BSNO='" + OrderData.BSNO + "'"); result = MsOpSubSeaOrderDAL.ImportSeaeDetail(BSNO, ctnbodyList, Convert.ToString(Session["USERID"])); } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = "" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult AddSeai(string data, string accdate, string op, string custservice) { var OrderDataList = JsonConvert.Deserialize>(data); DBResult result = null; foreach (var OrderData in OrderDataList) { var headData = new MsOpSeai(); OrderData.ORSTATUS = "0"; OrderData.DbOperationType = DbOperationType.DbotUpd; OrderData.ModelUIStatus = "E"; headData.BSDATE = DateTime.Now.ToString(); var isuse = MsBaseInfoDAL.GetRuleUse("委托编号", "2"); if (isuse) { headData.CUSTNO = MsOpSeaiDAL.getCodeRule("委托编号", "CUSTNO", headData.BSDATE.ToString().Trim(), headData.ACCDATE.ToString().Trim(), Convert.ToString(Session["USERID"]), Convert.ToString(Session["COMPANYID"])); } headData.CORPID = Convert.ToString(Session["COMPANYID"]); headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]); headData.BSSTATUS = false; headData.FEESTATUS = false; headData.DbOperationType = DbOperationType.DbotIns; headData.BSNO = OrderData.BSNO; headData.MBLNO = OrderData.MBLNO; headData.CUSTOMERNAME = OrderData.CUSTOMERNAME; headData.ORDERTYPE = "分部订舱"; headData.SHIPPER = OrderData.SHIPPER; headData.CONSIGNEE = OrderData.CONSIGNEE; headData.NOTIFYPARTY = OrderData.NOTIFYPARTY; headData.VESSEL = OrderData.VESSEL; headData.VOYNO = OrderData.VOYNO; headData.ETD = OrderData.ETD; headData.PORTLOADID = OrderData.PORTLOADID; headData.PORTLOAD = OrderData.PORTLOAD; headData.PORTDISCHARGEID = OrderData.PORTDISCHARGEID; headData.PORTDISCHARGE = OrderData.PORTDISCHARGE; headData.PlACERECEIPT = OrderData.PlACERECEIPT; headData.PLACEDELIVERYID = OrderData.PLACEDELIVERYID; headData.PLACEDELIVERY = OrderData.PLACEDELIVERY; headData.DESTINATIONID = OrderData.DESTINATIONID; headData.DESTINATION = OrderData.DESTINATION; headData.NOBILL = OrderData.NOBILL; headData.ISSUETYPE = OrderData.ISSUETYPE; headData.ISSUEDATE = OrderData.ISSUEDATE; headData.ISSUEPLACE = OrderData.ISSUEPLACE; headData.BLFRT = OrderData.BLFRT; headData.PREPARDAT = OrderData.PREPARDAT; headData.PAYABLEAT = OrderData.PAYABLEAT; headData.SERVICE = OrderData.SERVICE; headData.MARKS = OrderData.MARKS; headData.NOPKGS = OrderData.NOPKGS; headData.DESCRIPTION = OrderData.DESCRIPTION; headData.GOODSNAME = OrderData.GOODSNAME; headData.GROSSWEIGHT = OrderData.GROSSWEIGHT; headData.MEASUREMENT = OrderData.MEASUREMENT; headData.PKGS = OrderData.PKGS; headData.KINDPKGS = OrderData.KINDPKGS; headData.KGS = OrderData.KGS; headData.CBM = OrderData.CBM; headData.TOTALNO = OrderData.TOTALNO; headData.CNTRTOTAL = OrderData.CNTRTOTAL; headData.CARGOID = OrderData.CARGOID; headData.DCLASS = OrderData.DCLASS; headData.DPAGE = OrderData.DPAGE; headData.DUNNO = OrderData.DUNNO; headData.DLABEL = OrderData.DLABEL; headData.LINKMAN = OrderData.LINKMAN; headData.REEFERF = OrderData.REEFERF; headData.TEMPID = OrderData.TEMPID; headData.TEMPSET = OrderData.TEMPSET; headData.TEMPMAX = OrderData.TEMPMAX; headData.TEMPMIN = OrderData.TEMPMIN; headData.REMARK = OrderData.REMARK;//备注 headData.BLTYPE = OrderData.BLTYPE;//装运方式 headData.OP = op;//操作员 headData.CUSTSERVICE = custservice;//客服员 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.ISSUEDATE == "") headData.ISSUEDATE = null; if (headData.CLOSINGDATE == "") headData.CLOSINGDATE = null; var modb = new ModelObjectDB(); result = modb.Save(headData); var BSNO = headData.BSNO; if (result.Success == true) { result = MsOpSubSeaOrderDAL.AddOrderDetail(BSNO, OrderData, Convert.ToString(Session["USERID"])); } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = "" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SubmitAuditForm(string data, string data2, string body, string fee, string feecarrier) { var headData = JsonConvert.Deserialize(data.Replace("}", ",") + data2.Replace("{", "")); var bodyList = JsonConvert.Deserialize>(body); var feeList = JsonConvert.Deserialize>(fee); var feecarrierList = JsonConvert.Deserialize>(feecarrier); headData.ORSTATUS = "1"; headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; if (headData.ETD == "") headData.ETD = null; if (headData.ISSUEDATE == "") headData.ISSUEDATE = null; var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); if (result.Success == true) { result = MsOpSubSeaOrderDAL.SaveDetail(headData, bodyList, Convert.ToString(Session["USERID"])); result = MsOpSubSeaOrderDAL.SaveFee(headData, feeList, Convert.ToString(Session["USERID"]),"1"); result = MsOpSubSeaOrderDAL.SaveFee(headData, feecarrierList, Convert.ToString(Session["USERID"]), "0"); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = "" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SubmitAuditBackForm(string data, string data2, string body,string fee) { var headData = JsonConvert.Deserialize(data.Replace("}", ",") + data2.Replace("{", "")); var bodyList = JsonConvert.Deserialize>(body); var feeList = JsonConvert.Deserialize>(fee); headData.ORSTATUS = "9"; headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; if (headData.ETD == "") headData.ETD = null; if (headData.ISSUEDATE == "") headData.ISSUEDATE = null; var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = "" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SubmitAudit(string data) { var headData = JsonConvert.Deserialize(data); headData.ORSTATUS = "1"; headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; if (headData.ETD == "") headData.ETD = null; if (headData.ISSUEDATE == "") headData.ISSUEDATE = null; var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = "" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SubmitAuditBack(string data) { var headData = JsonConvert.Deserialize(data); headData.ORSTATUS = "9"; headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; if (headData.ETD == "") headData.ETD = null; if (headData.ISSUEDATE == "") headData.ISSUEDATE = null; var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = "" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #endregion #region 箱动态更新 public ContentResult CtnOpStatus(String data,string type,string opdatetime) { var bodyList = JsonConvert.Deserialize>(data); DBResult result = MsOpSubSeaOrderDAL.UpdateCtnStatus(bodyList, type, opdatetime, Convert.ToString(Session["SHOWNAME"])); var json = JsonConvert.Serialize(result); return new ContentResult() { Content = json }; } public ContentResult UpdateCtnStatus(String data, string time, string remarks,string type) { var bodyList = JsonConvert.Deserialize>(data); string userid = Convert.ToString(Session["USERID"]); DBResult result = MsOpSubSeaOrderDAL.UpdateOpCtnStatus(bodyList, time, remarks,type,userid); var json = JsonConvert.Serialize(result); return new ContentResult() { Content = json }; } #endregion #region EDI public ContentResult SaveEDIList(string headData, string mblno) { var headList = JsonConvert.Deserialize>(headData); var path = Server.MapPath("../../EDIFiles/SeaeEdi"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var result = new DBResult(); var error = MsOpSubSeaOrderDAL.IsCreateEdiWD(headList); if (error == "") { var ftpset = MsCodeFtpSetDAL.GetData("EDINAME='IMPWD'", Convert.ToString(Session["COMPANYID"])); var filename = MsOpSubSeaOrderDAL.CreateEdiWD(headList, Convert.ToString(Session["USERCODE"]), path, mblno, ftpset); filename = Path.GetFileName(filename); result.Data = "../../EDIFiles/SeaeEdi/" + filename; result.Success = true; result.Message = filename; } else { result.Success = false; result.Message = error; } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = result.Data }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SaveEDIList2(string headData, string mblno) { var headList = JsonConvert.Deserialize>(headData); var path = Server.MapPath("../../EDIFiles/SeaeEdi"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var result = new DBResult(); var error = MsOpSubSeaOrderDAL.IsCreateEdiWD(headList); if (error == "") { var ftpset = MsCodeFtpSetDAL.GetData("EDINAME='IMPWD'", Convert.ToString(Session["COMPANYID"])); var filename = MsOpSubSeaOrderDAL.CreateEdiWD2(headList, Convert.ToString(Session["USERCODE"]), path, mblno, ftpset); filename = Path.GetFileName(filename); result.Data = "../../EDIFiles/SeaeEdi/" + filename; result.Success = true; result.Message = filename; } else { result.Success = false; result.Message = error; } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = result.Data }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #endregion [HttpPost] public ContentResult ImportDetail() { var jsonRespose = new JsonResponse { Success = false, Message = "" }; if (Request.Files.Count != 1) { jsonRespose.Success = false; jsonRespose.Message = "Pls Select Upload File!"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var file = Request.Files["LoadExcel"]; if (file == null) { jsonRespose.Success = false; jsonRespose.Message = "File is Error,Pls Upload Again"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var path = Server.MapPath("../../UploadFiles/SeaeOrder"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var size = file.ContentLength; var name = Path.GetFileName(file.FileName); var bsno = Request.Form["bsno"]; var usercode = CookieConfig.GetCookie_UserCode(Request); string csvfilename = usercode + DateTime.Now.ToString("yyyyMMddHHmmssfff") + name; string filename = path + "\\" + csvfilename; if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); } file.SaveAs(filename); if (!System.IO.File.Exists(filename)) { jsonRespose.Success = false; jsonRespose.Message = "上传的Excel不包含数据01"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } filename=filename.Replace("//", "/"); //if (filename.ToLower().IndexOf(".csv") > 0) //{ //} //else //{ // if (sheets.Count == 0) // { // jsonRespose.Success = false; // jsonRespose.Message = "上传的Excel不包含数据02"; // return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; // } //} try { string excelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties=Excel 8.0;HDR=Yes;IMEX=1"; if (filename.ToLower().IndexOf(".xlsx") > 0) { excelConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + ";Extended Properties='Excel 12.0 Xml;HDR=Yes;IMEX=1'"; } DataSet ds = new DataSet(); if (filename.ToLower().IndexOf(".csv") > 0) { excelConn = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" + path + ";Extensions=asc,csv,tab,txt"; using (OdbcConnection odbccon = new OdbcConnection(excelConn)) { odbccon.Open(); OdbcCommand odbccom = new OdbcCommand(); odbccom.Connection = odbccon; odbccom.CommandText = "select * from [" + csvfilename + "]"; OdbcDataAdapter odbcda = new OdbcDataAdapter(odbccom); odbcda.Fill(ds); odbccon.Close(); } } else { List sheets = ExcelSheetName(filename); var sheetname = sheets[0]; OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "]", excelConn); oada.Fill(ds); } if (ds.Tables.Count == 0) { jsonRespose.Success = false; jsonRespose.Message = "上传的Excel不包含数据03"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var table = ds.Tables[0]; if (table.Rows.Count == 0 || table.Rows.Count == 1) { jsonRespose.Success = false; jsonRespose.Message = "上传的Excel不包含数据04"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var updatetype = ""; var customerFieldName = table.Columns[0].ColumnName; if (customerFieldName == "AEKYCD") { updatetype = "TOKYO"; } else if (customerFieldName == "№") { updatetype = "YOKOHAMA"; } else if (customerFieldName == "船社名") { updatetype = "MOJI"; } else if (customerFieldName == "EADTKB") { updatetype = "OSAKA"; } var message = string.Empty; List headList; bool isSucess = false; if (updatetype == "1") { isSucess = MsOpSubSeaOrderDAL.ImportCtnData(bsno, table, out message, out headList); } else if (updatetype == "TOKYO") { isSucess = MsOpSubSeaOrderDAL.ImportCtnDataTOKYO(bsno, table, out message, out headList); } else if (updatetype == "YOKOHAMA") { isSucess = MsOpSubSeaOrderDAL.ImportCtnDataYOKOHAMA(bsno, table, out message, out headList); } else if (updatetype == "MOJI") { isSucess = MsOpSubSeaOrderDAL.ImportCtnDataMOJI(bsno, table, out message, out headList); } else if (updatetype == "OSAKA") { isSucess = MsOpSubSeaOrderDAL.ImportCtnDataOSAKA(bsno, table, out message, out headList); } else { isSucess = MsOpSubSeaOrderDAL.ImportCtnData(bsno, table, out message, out headList); } if (!isSucess) { jsonRespose.Success = false; jsonRespose.Message = message; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var json = JsonConvert.Serialize(new { success = true, Message = "上传成功,共生成" + Convert.ToString(headList.Count) + "个托单", data = headList.ToList() }); return new ContentResult() { Content = json }; } catch (Exception) { jsonRespose.Success = false; jsonRespose.Message = "读取Excel文件出错,请确认文件正确性"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } public List ExcelSheetName(string filepath) { var al = new List(); //try //{ string strConn; strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=Excel 8.0;HDR=Yes;IMEX=1"; if (filepath.ToLower().IndexOf(".xlsx") > 0) { strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties=\"Excel 12.0 Xml;HDR=Yes\""; } if (filepath.ToLower().IndexOf(".csv") > 0) { strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties==\"text;HDR=Yes;FMT=Delimited\""; } OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); DataTable sheetNames = conn.GetOleDbSchemaTable (System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); conn.Close(); foreach (DataRow dr in sheetNames.Rows) { al.Add(dr[2].ToString()); } //} //catch (Exception) //{ // return new List(); //} return al; } // } }