using System; using System.Linq; using System.Web.Mvc; using System.Collections.Generic; using System.Data; using System.IO; using HcUtility.Comm; using DSWeb.Areas.MvcShipping.DAL.Message; using DSWeb.TruckMng.Comm.Cookie; using DSWeb.TruckMng.Helper; using DSWeb.TruckMng.Helper.Repository; using System.Web.Script.Serialization; using System.Collections; using System.Data.OleDb; using DSWeb.Areas.CommMng.DAL; using JsonHelper; using DSWeb.EntityDA; using HcUtility.Core; using DSWeb.MvcShipping.DAL.MsOpCtnrDAL; using DSWeb.MvcShipping.Models.MsOpCtnr; using DSWeb.MvcShipping.DAL.MsSysBillNoSet; using System.Text; using DSWeb.Areas.RptMng.Comm; using DSWeb.MvcShipping.DAL.MsContainerSetCtn; namespace DSWeb.MvcShipping.Controllers { public class MsOpCtnrController : Controller { // // GET: public ActionResult Index ( ) { return View(); } public ActionResult InEdit() { return View(); } public ActionResult SellIndex() { return View(); } public ActionResult SellEdit() { return View(); } public ActionResult DynaIndex() { return View(); } public ActionResult DynaEdit() { return View(); } public ActionResult RptIndex() { return View(); } // // GET: / public ContentResult GetDataList ( int start, int limit, string sort, string condition ) { int count = 0; var dataList = MsOpCtnrDAL.GetDataList(condition, start, limit, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), out count, sort); var timeStamp = DateTime.Now.ToShortDateString(); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList(), timeStamp = timeStamp }); return new ContentResult() { Content = json }; } public ContentResult GetCtnrList(int start, int limit, string sort, string condition) { var dataList = MsOpCtnrDAL.GetCtnrList(condition, 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 GetDynaList(int start, int limit, string sort, string condition) { var dataList = MsOpCtnrDAL.GetDynaList(condition, 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 GetCtnrDetailList(int start, int limit, string sort, string condition) { var dataList = MsOpCtnrDAL.GetDetailList(condition, 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 GetCtnrSellDetail(int start, int limit, string sort, string condition) { var dataList = MsOpCtnrDAL.GetDetailList(condition, 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 GetCtnrSearchList(int start, int limit, string sort, string condition) { var dataList = MsOpCtnrDAL.GetSearchDetailList(condition, 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 GetData(string handle, string condition) { CtnrList head = null; var timeStamp = DateTime.Now.ToShortDateString(); if (handle == "edit") { head = MsOpCtnrDAL.GetData(condition, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); } else { head = new CtnrList(); head.BSNO = Guid.NewGuid().ToString(); head.BSDATE = DateTime.Now.ToString("yyyy-MM-dd"); head.ACCDATE= DateTime.Now.ToString("yyyy-MM"); head.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss"); head.CREATEUSER = CookieConfig.GetCookie_UserId(Request); head.MODIFIEDTIME = head.CREATETIME; head.MODIFIEDUSER = head.CREATEUSER; head.FEESTATUS = false; } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head, timeStamp = timeStamp }); return new ContentResult() { Content = json }; } public ContentResult GetCodeCtnList() { int count = 0; var dataList = MsOpCtnrDAL.GetCodeCtnList(); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult Save(string opstatus, string data, string CtnrInBody, string CtnrInBodyDel) { var head = JsonConvert.Deserialize(data); var DetailBodyList = JsonConvert.Deserialize>(CtnrInBody); var DetailBodyListAX = JsonConvert.Deserialize>(CtnrInBody); var DetailBodyDelList = JsonConvert.Deserialize>(CtnrInBodyDel); List MngDetailList = new List(); DBResult result = new DBResult(false,"",null); bool bSell = head.BLTYPE == "卖箱" ? true : false; if (opstatus == "add") { head.DbOperationType = DbOperationType.DbotIns; head.ModelUIStatus = "I"; head.CORPID = Convert.ToString(Session["COMPANYID"]).Trim(); if (string.IsNullOrEmpty(head.BSNO)) head.BSNO =Guid.NewGuid().ToString().Replace("-", ""); ; head.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss"); head.CREATEUSER = CookieConfig.GetCookie_UserId(Request); head.MODIFIEDTIME = head.CREATETIME; head.MODIFIEDUSER = head.CREATEUSER; if (head.ETD == "") head.ETD = null; if (head.RETURNDATE == "") head.RETURNDATE = null; var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='租买箱'", Convert.ToString(Session["COMPANYID"])); head.BILLNO= MsSysBillNoSetDAL.GetBillNo(billnoset, head.BSDATE.ToString().Trim(), head.ACCDATE.ToString().Trim()); List cntrsumlist = new List(); if (DetailBodyListAX != null) { foreach (CtnrDetailAX item in DetailBodyListAX) { CtnrMngDetail MngDetail = new CtnrMngDetail(); MngDetail.GID = Guid.NewGuid().ToString().Replace("-", ""); //MngDetail.BSNO = head.BSNO;//关联不需要 MngDetail.CTNGID = item.CTNGID; MngDetail.DRFEENAME = item.DRFEENAME; MngDetail.CRFEENAME = item.CRFEENAME; MngDetail.CR = item.CR; MngDetail.DR = item.DR; MngDetailList.Add(MngDetail); var isfind = false; cntrsumlist.ForEach(i => { if (i.CTNALL == item.CTNALL) { i.CTNNUM = i.CTNNUM + 1; isfind = true; } }); if (!isfind) { var cntrsum = new CNTRSUM(); cntrsum.CTNALL = item.CTNALL; cntrsum.CTNNUM = 1; cntrsumlist.Add(cntrsum); } } } var cntrsumstr = ""; var cntrnumsql = "update op_ctnmng set MBLNO=MBLNO "; var codectndisp = MsContainerSetCtnDAL.GetData(""); var iteu = 0; foreach (var item in cntrsumlist) { cntrsumstr = cntrsumstr + " " + item.CTNALL.ToString() + "*" + item.CTNNUM.ToString(); if (codectndisp.CNT1 != "" && codectndisp.CNT1 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR1=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT2 != "" && codectndisp.CNT2 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR2=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT3 != "" && codectndisp.CNT3 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR3=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT4 != "" && codectndisp.CNT4 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR4=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT5 != "" && codectndisp.CNT5 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR5=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT6 != "" && codectndisp.CNT6 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR6=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT7 != "" && codectndisp.CNT7 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR7=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT8 != "" && codectndisp.CNT8 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR8=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT9 != "" && codectndisp.CNT9 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR9=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT10 != "" && codectndisp.CNT10 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR10=" + item.CTNNUM.ToString(); } else { cntrnumsql = cntrnumsql + ",OTCNTR=" + item.CTNNUM.ToString(); } if (item.CTNALL.IndexOf("40") > 0 || item.CTNALL.IndexOf("45") > 0) { iteu = iteu + item.CTNNUM * 2; } else iteu = iteu + item.CTNNUM; } cntrnumsql = cntrnumsql + ",TEU=" + iteu.ToString() + " where BSNO='" + head.BSNO + "'"; cntrsumstr = cntrsumstr.TrimStart(); head.CNTRTOTAL = cntrsumstr; var modb = new ModelObjectRepository(); if (DetailBodyList == null) { DetailBodyList = new List(); } result = modb.Save(head, ModelObjectConvert.ToModelObjectList(MngDetailList), ModelObjectConvert.ToModelObjectList(null) ); if (result.Success) { T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA(); bool bl = T_ALL_DA.GetExecuteSqlCommand(cntrnumsql); if (DetailBodyList != null) { var modbDetail = new ModelObjectRepository(); foreach (CtnrDetail item in DetailBodyList) { item.DbOperationType = DbOperationType.DbotIns; item.ModelUIStatus = "I"; item.BSNO = head.BSNO; result = modbDetail.Save(item); if (result.Success) { CtnrDyDetail dyDetail = new CtnrDyDetail(); dyDetail.GID = Guid.NewGuid().ToString().Replace("-", ""); dyDetail.CNTRNO = item.CNTRNO; dyDetail.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss"); dyDetail.CREATEUSER = CookieConfig.GetCookie_UserId(Request); dyDetail.CTNEF = item.CTNEF; dyDetail.CTNGID = item.CTNGID; dyDetail.CTNSTATUS =head.BLTYPE; dyDetail.CTNSTATUSTIME = item.CTNSTATUSTIME; dyDetail.MBLNO = item.MBLNO; dyDetail.YARD = item.YARD; dyDetail.PORT = item.PORT; dyDetail.CUSTNO = item.CUSTNO; dyDetail.REMARK = item.REMARK; dyDetail.BSNO = head.BSNO; var modbDy = new ModelObjectRepository(); dyDetail.ModelUIStatus = "I"; dyDetail.DbOperationType = DbOperationType.DbotIns; result = modbDy.Save(dyDetail); } } } } } else if (opstatus == "edit") { if (MsOpCtnrDAL.DeleteAll(head.BSNO,true)) { head.DbOperationType = DbOperationType.DbotIns; head.ModelUIStatus = "I"; head.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss"); head.CREATEUSER = CookieConfig.GetCookie_UserId(Request); head.CORPID = Convert.ToString(Session["COMPANYID"]).Trim(); head.MODIFIEDTIME = head.CREATETIME; head.MODIFIEDUSER = head.CREATEUSER; if (head.ETD == "") head.ETD = null; if (head.RETURNDATE == "") head.RETURNDATE = null; List cntrsumlist = new List(); if (DetailBodyListAX != null) { foreach (CtnrDetailAX item in DetailBodyListAX) { CtnrMngDetail MngDetail = new CtnrMngDetail(); MngDetail.GID = Guid.NewGuid().ToString().Replace("-", ""); //MngDetail.BSNO = head.BSNO;//关联不需要 MngDetail.CTNGID = item.CTNGID; MngDetail.DRFEENAME = item.DRFEENAME; MngDetail.CRFEENAME = item.CRFEENAME; MngDetail.CR = item.CR; MngDetail.DR = item.DR; MngDetailList.Add(MngDetail); var isfind = false; cntrsumlist.ForEach(i => { if (i.CTNALL == item.CTNALL) { i.CTNNUM = i.CTNNUM + 1; isfind = true; } }); if (!isfind) { var cntrsum = new CNTRSUM(); cntrsum.CTNALL = item.CTNALL; cntrsum.CTNNUM = 1; cntrsumlist.Add(cntrsum); } } } var cntrsumstr = ""; var codectndisp = MsContainerSetCtnDAL.GetData(""); var cntrnumsql = "update op_ctnmng set MBLNO=MBLNO"; var iteu = 0; foreach (var item in cntrsumlist) { cntrsumstr = cntrsumstr + " " + item.CTNALL.ToString() + "*" + item.CTNNUM.ToString(); if (codectndisp.CNT1 != "" && codectndisp.CNT1 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR1=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT2 != "" && codectndisp.CNT2 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR2=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT3 != "" && codectndisp.CNT3 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR3=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT4 != "" && codectndisp.CNT4 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR4=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT5 != "" && codectndisp.CNT5 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR5=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT6 != "" && codectndisp.CNT6 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR6=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT7 != "" && codectndisp.CNT7 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR7=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT8 != "" && codectndisp.CNT8 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR8=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT9 != "" && codectndisp.CNT9 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR9=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT10 != "" && codectndisp.CNT10 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR10=" + item.CTNNUM.ToString(); } else { cntrnumsql = cntrnumsql + ",OTCNTR=" + item.CTNNUM.ToString(); } if (item.CTNALL.IndexOf("40") > 0 || item.CTNALL.IndexOf("45") > 0) { iteu = iteu + item.CTNNUM * 2; } else iteu = iteu + item.CTNNUM; } cntrnumsql = cntrnumsql + ",TEU="+iteu.ToString()+" where BSNO='"+head.BSNO+"'"; cntrsumstr = cntrsumstr.TrimStart(); head.CNTRTOTAL = cntrsumstr; var modb = new ModelObjectRepository(); if (DetailBodyList == null) { DetailBodyList = new List(); } result = modb.Save(head, ModelObjectConvert.ToModelObjectList(MngDetailList), ModelObjectConvert.ToModelObjectList(null) ); if (result.Success ) { T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA(); bool bl = T_ALL_DA.GetExecuteSqlCommand(cntrnumsql); if (DetailBodyList != null) { var modbDetail = new ModelObjectRepository(); foreach (CtnrDetail item in DetailBodyList) { item.DbOperationType = DbOperationType.DbotIns; item.ModelUIStatus = "I"; item.BSNO = head.BSNO; result = modbDetail.Save(item); if (result.Success) { CtnrDyDetail dyDetail = new CtnrDyDetail(); dyDetail.GID = Guid.NewGuid().ToString().Replace("-", ""); dyDetail.CNTRNO = item.CNTRNO; dyDetail.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss"); dyDetail.CREATEUSER = CookieConfig.GetCookie_UserId(Request); dyDetail.CTNEF = item.CTNEF; dyDetail.CTNGID = item.CTNGID; dyDetail.CTNSTATUS =head.BLTYPE; dyDetail.CTNSTATUSTIME = item.CTNSTATUSTIME; dyDetail.MBLNO = item.MBLNO; dyDetail.YARD = item.YARD; dyDetail.PORT = item.PORT; dyDetail.CUSTNO = item.CUSTNO; dyDetail.REMARK = item.REMARK; dyDetail.BSNO = head.BSNO; var modbDy = new ModelObjectRepository(); dyDetail.ModelUIStatus = "I"; dyDetail.DbOperationType = DbOperationType.DbotIns; result = modbDy.Save(dyDetail); } } } } } } var jsonRespose = new JsonResponse(); jsonRespose.Success = result.Success; jsonRespose.Message = result.Message; jsonRespose.Data = MsOpCtnrDAL.GetData(" BSNO='" + head.BSNO + "'", CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } [HttpPost] public ActionResult CtrnFromExcel() { DBResult result = new DBResult(); if (Request.Files.Count == 0) { result.Success = false; result.Message = "参数错误"; return Json(result); } try { var excelfile = Request.Files[0]; string strMsg; string ext = Path.GetExtension(excelfile.FileName).ToLower(); if (ext != ".xls" && ext != ".xlsx") { result.Success = false; result.Message ="文件必须为EXCEL格式!"; return Json(result); } // var bsno = Request.Form["bsno"]; // var head = MsOpCtnrDAL.GetData("BSNO='"+bsno+"'", CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); DataTable dt = BasicDataRefDAL.ExcelToDatatable(excelfile.InputStream, ext, out strMsg); if (!string.IsNullOrEmpty(strMsg)) { result.Success = false; result.Message = strMsg; return Json(result); } if (dt.Rows.Count > 0) { var ctnlist=new List(); foreach (DataRow row in dt.Rows) { CtnrDetailAX item = new CtnrDetailAX(); item.CTNALL = row["箱型"].ToString(); item.CNTRNO = row["箱号"].ToString(); item.CTNEFREF = row["空重"].ToString(); item.CNTRSOURCE = row["箱源"].ToString(); item.PORT = row["当前地点"].ToString(); item.YARD = row["当前场站"].ToString(); item.CRFEENAME = row["应付费用名称"].ToString(); item.CR = row["应付费用"].ToString(); if (item.CTNEFREF == "重") item.CTNEF = "F"; else item.CTNEF = "E"; if (item.CTNEFREF.Length > 50) item.CTNEFREF = ""; if (item.CNTRSOURCE.Length > 50) item.CNTRSOURCE = ""; if (item.PORT.Length > 50) item.PORT = ""; if (item.YARD.Length > 50) item.YARD = ""; if (item.CRFEENAME.Length > 50) item.CRFEENAME = ""; if (item.CR.Length > 50) item.CR = "0"; ctnlist.Add(item); } var json = JsonConvert.Serialize(new { success = true, Message = "查询成功", totalCount = ctnlist.Count, data = ctnlist.ToList()}); return new ContentResult() { Content = json }; } else { result.Success = false; result.Message = "excel无数据!"; } } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return Json(result); } public ContentResult SaveSell(string opstatus, string data, string CtnrInBody, string CtnrInBodyDel) { var head = JsonConvert.Deserialize(data); var DetailBodyList = JsonConvert.Deserialize>(CtnrInBody); var DetailBodyListAX = JsonConvert.Deserialize>(CtnrInBody); var DetailBodyDelList = JsonConvert.Deserialize>(CtnrInBodyDel); List MngDetailList = new List(); DBResult result = new DBResult(false, "", null); bool bSell = (head.BLTYPE == "卖箱"|| head.BLTYPE == "退租") ? true : false; if (opstatus == "add") { head.DbOperationType = DbOperationType.DbotIns; head.ModelUIStatus = "I"; head.CORPID = Convert.ToString(Session["COMPANYID"]).Trim(); head.BSNO = Guid.NewGuid().ToString().Replace("-", ""); ; head.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss"); head.CREATEUSER = CookieConfig.GetCookie_UserId(Request); head.MODIFIEDTIME = head.CREATETIME; head.MODIFIEDUSER = head.CREATEUSER; if (head.ETD == "") head.ETD = null; if (head.RETURNDATE == "") head.RETURNDATE = null; var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='租买箱'", Convert.ToString(Session["COMPANYID"])); head.BILLNO = MsSysBillNoSetDAL.GetBillNo(billnoset, head.BSDATE.ToString().Trim(), head.ACCDATE.ToString().Trim()); List cntrsumlist = new List(); if (DetailBodyListAX != null) { foreach (CtnrDetailAX item in DetailBodyListAX) { CtnrMngDetail MngDetail = new CtnrMngDetail(); MngDetail.GID = Guid.NewGuid().ToString().Replace("-", ""); //MngDetail.BSNO = head.BSNO;//关联不需要 MngDetail.CTNGID = item.CTNGID; MngDetail.DRFEENAME = item.DRFEENAME; MngDetail.CRFEENAME = item.CRFEENAME; MngDetail.CR ="0"; MngDetail.DR = item.DR; MngDetailList.Add(MngDetail); var isfind = false; cntrsumlist.ForEach(i => { if (i.CTNALL == item.CTNALL) { i.CTNNUM = i.CTNNUM + 1; isfind = true; } }); if (!isfind) { var cntrsum = new CNTRSUM(); cntrsum.CTNALL = item.CTNALL; cntrsum.CTNNUM = 1; cntrsumlist.Add(cntrsum); } } } var cntrsumstr = ""; var cntrnumsql = "update op_ctnmng set MBLNO=MBLNO "; var codectndisp = MsContainerSetCtnDAL.GetData(""); var iteu = 0; foreach (var item in cntrsumlist) { cntrsumstr = cntrsumstr + " " + item.CTNALL.ToString() + "*" + item.CTNNUM.ToString(); if (codectndisp.CNT1 != "" && codectndisp.CNT1 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR1=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT2 != "" && codectndisp.CNT2 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR2=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT3 != "" && codectndisp.CNT3 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR3=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT4 != "" && codectndisp.CNT4 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR4=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT5 != "" && codectndisp.CNT5 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR5=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT6 != "" && codectndisp.CNT6 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR6=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT7 != "" && codectndisp.CNT7 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR7=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT8 != "" && codectndisp.CNT8 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR8=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT9 != "" && codectndisp.CNT9 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR9=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT10 != "" && codectndisp.CNT10 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR5=" + item.CTNNUM.ToString(); } else { cntrnumsql = cntrnumsql + ",OTCNTR=" + item.CTNNUM.ToString(); } if (item.CTNALL.IndexOf("40") > 0 || item.CTNALL.IndexOf("45") > 0) { iteu = iteu + item.CTNNUM * 2; } else iteu = iteu + item.CTNNUM; } cntrnumsql = cntrnumsql + ",TEU=" + iteu.ToString() + " where BSNO='" + head.BSNO + "'"; cntrsumstr = cntrsumstr.TrimStart(); head.CNTRTOTAL = cntrsumstr; var modb = new ModelObjectRepository(); if (DetailBodyList == null) { DetailBodyList = new List(); } result = modb.Save(head, ModelObjectConvert.ToModelObjectList(MngDetailList), ModelObjectConvert.ToModelObjectList(null) ); if (result.Success) { T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA(); bool bl = T_ALL_DA.GetExecuteSqlCommand(cntrnumsql); if (DetailBodyList != null) { foreach (CtnrDetail item in DetailBodyList) { if (result.Success) { CtnrDyDetail dyDetail = new CtnrDyDetail(); dyDetail.GID = Guid.NewGuid().ToString().Replace("-", ""); dyDetail.CNTRNO = item.CNTRNO; dyDetail.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss"); dyDetail.CREATEUSER = CookieConfig.GetCookie_UserId(Request); dyDetail.CTNEF = item.CTNEF; dyDetail.CTNGID = item.CTNGID; dyDetail.CTNSTATUS =head.BLTYPE; dyDetail.CTNSTATUSTIME = item.CTNSTATUSTIME; dyDetail.MBLNO = item.MBLNO; dyDetail.YARD = item.YARD; dyDetail.PORT = item.PORT; dyDetail.CUSTNO = item.CUSTNO; dyDetail.REMARK = item.REMARK; dyDetail.BSNO = head.BSNO; var modbDy = new ModelObjectRepository(); dyDetail.ModelUIStatus = "I"; dyDetail.DbOperationType = DbOperationType.DbotIns; result = modbDy.Save(dyDetail); } } if (bSell || head.RETURNTYPE == "卖箱") { MsOpCtnrDAL.UpCtnStop(head.BSNO, DetailBodyList); } if (head.BLTYPE == "租出" && head.RETURNTYPE == "返箱") { MsOpCtnrDAL.UpCtnIsReturn(head.BSNO, DetailBodyList); } if (head.BLTYPE == "返箱") { MsOpCtnrDAL.UpCtnIsReturn(head.BSNO, DetailBodyList, "0"); } } } } else if (opstatus == "edit") { if (MsOpCtnrDAL.DeleteAll(head)) { head.DbOperationType = DbOperationType.DbotIns; head.ModelUIStatus = "I"; head.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss"); head.CREATEUSER = CookieConfig.GetCookie_UserId(Request); head.CORPID = Convert.ToString(Session["COMPANYID"]).Trim(); head.MODIFIEDTIME = head.CREATETIME; head.MODIFIEDUSER = head.CREATEUSER; if (head.ETD == "") head.ETD = null; if (head.RETURNDATE == "") head.RETURNDATE = null; List cntrsumlist = new List(); if (DetailBodyListAX != null) { foreach (CtnrDetailAX item in DetailBodyListAX) { CtnrMngDetail MngDetail = new CtnrMngDetail(); MngDetail.GID = Guid.NewGuid().ToString().Replace("-", ""); //MngDetail.BSNO = head.BSNO;//关联不需要 MngDetail.CTNGID = item.CTNGID; MngDetail.DRFEENAME = item.DRFEENAME; MngDetail.CRFEENAME = item.CRFEENAME; MngDetail.CR = item.CR; MngDetail.DR = item.DR; MngDetailList.Add(MngDetail); var isfind = false; cntrsumlist.ForEach(i => { if (i.CTNALL == item.CTNALL) { i.CTNNUM = i.CTNNUM + 1; isfind = true; } }); if (!isfind) { var cntrsum = new CNTRSUM(); cntrsum.CTNALL = item.CTNALL; cntrsum.CTNNUM = 1; cntrsumlist.Add(cntrsum); } } } var cntrsumstr = ""; var cntrnumsql = "update op_ctnmng set MBLNO=MBLNO "; var codectndisp = MsContainerSetCtnDAL.GetData(""); var iteu = 0; foreach (var item in cntrsumlist) { cntrsumstr = cntrsumstr + " " + item.CTNALL.ToString() + "*" + item.CTNNUM.ToString(); if (codectndisp.CNT1 != "" && codectndisp.CNT1 == item.CTNALL) { cntrnumsql = cntrnumsql+ ",CNTR1=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT2 != "" && codectndisp.CNT2 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR2=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT3 != "" && codectndisp.CNT3 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR3=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT4 != "" && codectndisp.CNT4 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR4=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT5 != "" && codectndisp.CNT5 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR5=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT6 != "" && codectndisp.CNT6 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR6=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT7 != "" && codectndisp.CNT7 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR7=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT8 != "" && codectndisp.CNT8 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR8=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT9 != "" && codectndisp.CNT9 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR9=" + item.CTNNUM.ToString(); } else if (codectndisp.CNT10 != "" && codectndisp.CNT10 == item.CTNALL) { cntrnumsql = cntrnumsql + ",CNTR10=" + item.CTNNUM.ToString(); } else { cntrnumsql = cntrnumsql + ",OTCNTR=" + item.CTNNUM.ToString(); } if (item.CTNALL.IndexOf("40") > 0 || item.CTNALL.IndexOf("45") > 0) { iteu = iteu + item.CTNNUM * 2; } else iteu = iteu + item.CTNNUM; } cntrnumsql = cntrnumsql + ",TEU=" + iteu.ToString() + " where BSNO='" + head.BSNO + "'"; cntrsumstr = cntrsumstr.TrimStart(); head.CNTRTOTAL = cntrsumstr; var modb = new ModelObjectRepository(); if (DetailBodyList == null) { DetailBodyList = new List(); } result = modb.Save(head, ModelObjectConvert.ToModelObjectList(MngDetailList), ModelObjectConvert.ToModelObjectList(null) ); if (result.Success) { T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA(); bool bl = T_ALL_DA.GetExecuteSqlCommand(cntrnumsql); if (DetailBodyList != null) { var modbDetail = new ModelObjectRepository(); foreach (CtnrDetail item in DetailBodyList) { if (result.Success) { CtnrDyDetail dyDetail = new CtnrDyDetail(); dyDetail.GID = Guid.NewGuid().ToString().Replace("-", ""); dyDetail.CNTRNO = item.CNTRNO; dyDetail.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss"); dyDetail.CREATEUSER = CookieConfig.GetCookie_UserId(Request); dyDetail.CTNEF = item.CTNEF; dyDetail.CTNGID = item.CTNGID; dyDetail.CTNSTATUS =head.BLTYPE; dyDetail.CTNSTATUSTIME = item.CTNSTATUSTIME; dyDetail.MBLNO = item.MBLNO; dyDetail.YARD = item.YARD; dyDetail.PORT = item.PORT; dyDetail.CUSTNO = item.CUSTNO; dyDetail.REMARK = item.REMARK; dyDetail.BSNO = head.BSNO; var modbDy = new ModelObjectRepository(); dyDetail.ModelUIStatus = "I"; dyDetail.DbOperationType = DbOperationType.DbotIns; result = modbDy.Save(dyDetail); } } if (bSell) { MsOpCtnrDAL.UpCtnStop(head.BSNO, DetailBodyList); } if (head.BLTYPE == "租出" && head.RETURNTYPE == "返箱") { MsOpCtnrDAL.UpCtnIsReturn(head.BSNO, DetailBodyList); } if (head.BLTYPE == "返箱") { MsOpCtnrDAL.UpCtnIsReturn(head.BSNO, DetailBodyList,"0"); } } } } } var jsonRespose = new JsonResponse(); jsonRespose.Success = result.Success; jsonRespose.Message = result.Message; jsonRespose.Data = MsOpCtnrDAL.GetData(" BSNO='" + head.BSNO + "'", CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SaveSellDetail(string headdata, string data, string bsno) { var head = JsonConvert.Deserialize(headdata); var ctndetail = JsonConvert.Deserialize>(data); DBResult result = MsOpCtnrDAL.SaveSellDetail(head, ctndetail, head.BSNO, CookieConfig.GetCookie_UserId(Request)); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SaveDyna(string opstatus, string data) { var head = JsonConvert.Deserialize(data); DBResult result = new DBResult(false, "", null); head.DbOperationType = DbOperationType.DbotUpd; head.ModelUIStatus = "E"; var modb = new ModelObjectDB(); result = modb.Save(head); if (result.Success && opstatus == "add") { CtnrDyDetail dyDetail = new CtnrDyDetail(); dyDetail.DbOperationType = DbOperationType.DbotIns; dyDetail.ModelUIStatus = "I"; dyDetail.GID = Guid.NewGuid().ToString().Replace("-", ""); dyDetail.CNTRNO = head.CNTRNO; dyDetail.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss"); dyDetail.CREATEUSER = CookieConfig.GetCookie_UserId(Request); dyDetail.CTNEF = head.CTNEF; dyDetail.CTNGID = head.CTNGID; dyDetail.CTNSTATUS = head.CTNSTATUS; dyDetail.CTNSTATUSTIME = head.CTNSTATUSTIME; dyDetail.MBLNO = head.MBLNO; dyDetail.YARD = head.YARD; dyDetail.PORT = head.PORT; dyDetail.CUSTNO = head.CUSTNO; dyDetail.REMARK = head.REMARK; var modbDy = new ModelObjectDB(); result = modbDy.Save(dyDetail); } var jsonRespose = new JsonResponse(); jsonRespose.Success = result.Success; jsonRespose.Message = result.Message; jsonRespose.Data = MsOpCtnrDAL.GetDynaList(" CTNGID='" + head.CTNGID + "'", ""); return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult PLCntrStatus(string data, string modifydata) { var DetailBodyList = JsonConvert.Deserialize>(data); var CtnrDyDetail = JsonConvert.Deserialize(modifydata); DBResult result = null; if (DetailBodyList != null) { foreach (CtnrDetail item in DetailBodyList) { CtnrDyDetail dyDetail = new CtnrDyDetail(); dyDetail.DbOperationType = DbOperationType.DbotIns; dyDetail.ModelUIStatus = "I"; dyDetail.GID = Guid.NewGuid().ToString().Replace("-", ""); dyDetail.CNTRNO = item.CNTRNO; dyDetail.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss"); dyDetail.CREATEUSER = CookieConfig.GetCookie_UserId(Request); dyDetail.CTNEF = CtnrDyDetail.CTNEF; dyDetail.CTNGID = item.CTNGID; dyDetail.CTNSTATUS = CtnrDyDetail.CTNSTATUS; dyDetail.CTNSTATUSTIME = CtnrDyDetail.CTNSTATUSTIME; dyDetail.MBLNO = CtnrDyDetail.MBLNO; dyDetail.YARD = CtnrDyDetail.YARD; dyDetail.PORT = CtnrDyDetail.PORT; dyDetail.CUSTNO = CtnrDyDetail.CUSTNO; dyDetail.REMARK = CtnrDyDetail.REMARK; var modbDy = new ModelObjectDB(); result = modbDy.Save(dyDetail); } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } [HttpPost] public ActionResult CtrnStatusFromExcel() { DBResult result = new DBResult(); if (Request.Files.Count == 0) { result.Success = false; result.Message = "参数错误"; return Json(result); } try { var excelfile = Request.Files[0]; string strMsg; string ext = Path.GetExtension(excelfile.FileName).ToLower(); if (ext != ".xls" && ext != ".xlsx") { result.Success = false; result.Message = "文件必须为EXCEL格式!"; return Json(result); } // var bsno = Request.Form["bsno"]; // var head = MsOpCtnrDAL.GetData("BSNO='"+bsno+"'", CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); DataTable dt = BasicDataRefDAL.ExcelToDatatable(excelfile.InputStream, ext, out strMsg); if (!string.IsNullOrEmpty(strMsg)) { result.Success = false; result.Message = strMsg; return Json(result); } T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA(); if (dt.Rows.Count > 0) { var ctnlist = new List(); foreach (DataRow row in dt.Rows) { CtnrDyDetail dyDetail = new CtnrDyDetail(); dyDetail.DbOperationType = DbOperationType.DbotIns; dyDetail.ModelUIStatus = "I"; dyDetail.GID = Guid.NewGuid().ToString().Replace("-", ""); dyDetail.CNTRNO = row["箱号"].ToString(); dyDetail.CREATETIME = DateTime.Now.ToString("yyyy - MM - dd HH: mm:ss"); dyDetail.CREATEUSER = CookieConfig.GetCookie_UserId(Request); var CTNEFREF = row["空重"].ToString(); if (CTNEFREF == "重") dyDetail.CTNEF = "F"; else dyDetail.CTNEF = "E"; var CTNGID = T_ALL_DA.GetStrSQL("CTNGID", "select top 1 CTNGID from op_ctnmng_ctndetail where CNTRNO='" + dyDetail.CNTRNO + "'"); dyDetail.CTNGID = CTNGID; dyDetail.CTNSTATUS = row["当前动态"].ToString(); var cntrstatustime = row["动态时间"].ToString(); try { dyDetail.CTNSTATUSTIME =Convert.ToDateTime(cntrstatustime).ToString("yyyy-MM-dd"); } catch (Exception) { dyDetail.CTNSTATUSTIME = DateTime.Now.ToString("yyyy - MM - dd"); } dyDetail.MBLNO = row["主提单号"].ToString(); dyDetail.YARD = row["场站"].ToString(); dyDetail.PORT = row["地点"].ToString(); dyDetail.CUSTNO =""; var remark= row["动态备注"].ToString(); if (remark.Length == 36) remark = ""; dyDetail.REMARK = remark; var modbDy = new ModelObjectDB(); result = modbDy.Save(dyDetail); } var json = JsonConvert.Serialize(new { success = true, Message = "查询成功", totalCount = ctnlist.Count, data = ctnlist.ToList() }); return new ContentResult() { Content = json }; } else { result.Success = false; result.Message = "excel无数据!"; } } catch (Exception ex) { result.Success = false; result.Message = ex.Message; } return Json(result); } public ContentResult CreateCost(string data, string CtnrInBody,string flag) { var head = JsonConvert.Deserialize(data); var DetailBodyListAX = JsonConvert.Deserialize>(CtnrInBody); string msg = ""; bool rst = false; string userid = Session["USERID"] == null ? "" : Session["USERID"].ToString(); if (flag == "0") rst = MsOpCtnrDAL.CreateCost(head, DetailBodyListAX, userid, out msg); else if (flag == "1") rst = MsOpCtnrDAL.CancelCost(head, userid, out msg); var json = JsonConvert.Serialize(new { Success = rst, Message = msg, totalCount = 1 }); return new ContentResult() { Content = json }; } public ContentResult Delete(string data, string USERID) { var CtnrList = JsonConvert.Deserialize>(data); var errstr = ""; foreach (var enumValue in CtnrList) { var isfee = MsOpCtnrDAL.GetFeeCount(enumValue.BSNO); if (isfee) { if (errstr == "") errstr = enumValue.CUSTNO; else errstr = errstr + "," + enumValue.CUSTNO; } else { } } string msg = ""; if (errstr != "") { var jsonRespose2 = new JsonResponse { Success =false, Message = errstr+" 已存在费用,不允许删除!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } bool success = MsOpCtnrDAL.Delete(CtnrList,out msg); var jsonRespose = new JsonResponse { Success = success, Message = msg }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult DeleteSell(string data, string USERID) { var CtnrList = JsonConvert.Deserialize>(data); var errstr = ""; foreach (var enumValue in CtnrList) { var isfee = MsOpCtnrDAL.GetFeeCount(enumValue.BSNO); if (isfee) { if (errstr == "") errstr = enumValue.CUSTNO; else errstr = errstr + "," + enumValue.CUSTNO; } else { } } string msg = ""; if (errstr != "") { var jsonRespose2 = new JsonResponse { Success = false, Message = errstr + " 已存在费用,不允许删除!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } bool success = MsOpCtnrDAL.Delete(CtnrList, out msg); var jsonRespose = new JsonResponse { Success = success, Message = msg }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult DeleteDetail(string data,string bsno) { var head = JsonConvert.Deserialize >(data); DBResult result = MsOpCtnrDAL.DeleteCtnDetail(head, bsno,true); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult DeleteSellDetail(string headdata,string data, string bsno) { var head = JsonConvert.Deserialize(headdata); var ctndetail = JsonConvert.Deserialize>(data); DBResult result = MsOpCtnrDAL.DeleteCtnDetail(head, ctndetail, head.BSNO, false); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult GetCtnSum(string condition) { condition = condition.Replace("'", "''"); var strSql = new StringBuilder(); strSql.Append(" declare @sql NVARCHAR(max) "); strSql.Append(" set @sql='select b.PORT,b.YARD,b.CTNSTATUS' "); strSql.Append(" select @sql=@sql+',sum(case when b.CTNALL='''+t.CTNALL+''' then 1 else 0 end) as C'+t.CTNALL "); strSql.Append(" from (select distinct CTNALL from op_ctnmng_ctndetail) as t"); strSql.Append(" set @sql=@sql+' from v_op_ctnmng_ctndetail b "); if (!string.IsNullOrEmpty(condition)) { strSql.Append(" Where 1=1 AND " + condition); } else { strSql.Append(" Where 1=1 "); } strSql.Append(" group by b.port,b.yard,b.CTNSTATUS ' "); strSql.Append(" exec(@sql) "); var dbparams = new List(); var paramps_sSQL = new CustomDbParamter(); paramps_sSQL.ParameterName = "@sSQL"; paramps_sSQL.DbType = DbType.String; paramps_sSQL.Direction = ParameterDirection.Input; paramps_sSQL.Value = strSql.ToString(); dbparams.Add(paramps_sSQL); var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set"); var json = RptHelper.GetRptJsonResult(0, 100, dbRptResult, "Result_Set", true); return new ContentResult() { Content = json }; } public ContentResult GetCtnList(string condition) { var strSql = new StringBuilder(); strSql.Append(" select distinct CTNALL from op_ctnmng_ctndetail "); if (!string.IsNullOrEmpty(condition)) { strSql.Append(" Where " + condition); } var dbparams = new List(); var paramps_sSQL = new CustomDbParamter(); paramps_sSQL.ParameterName = "@sSQL"; paramps_sSQL.DbType = DbType.String; paramps_sSQL.Direction = ParameterDirection.Input; paramps_sSQL.Value = strSql.ToString(); dbparams.Add(paramps_sSQL); var dbRptResult = PubSysDAL.GetMsSqlPrcDataSet("sMsExesqlQry", dbparams, "Result_Set"); var json = RptHelper.GetRptJsonResult(0, 20, dbRptResult, "Result_Set", true); return new ContentResult() { Content = json }; } } }