using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; using System.IO; using System.Linq; using System.Text; using System.Web.Mvc; using System.Web.UI.MobileControls; using DSWeb.Areas.CommMng.DAL; using DSWeb.Areas.TruckMng.DAL.MsWlBs; using DSWeb.Areas.TruckMng.Models.Comm; using DSWeb.Areas.TruckMng.Models.MsWlBs; using DSWeb.TruckMng.Comm.Cookie; using DSWeb.TruckMng.Helper; using DSWeb.TruckMng.Helper.Repository; using HcUtility.Comm; using HcUtility.Core; using DSWeb.Areas.RptMng.Comm; using DSWeb.MvcShipping.DAL.MsSysBillNoSet; using DSWeb.Areas.TruckMng.DAL.MsRptPcHeadEdit; using DSWeb.SoftMng.Filter; namespace DSWeb.Areas.TruckMng.Controllers { /// /// 托运单 /// [JsonRequestBehavior] public class MsWlBsCtnController : Controller { // // GET: /TruckMng/WlBsCard/ public ActionResult Index() { return View(); } // // GET: /TruckMng/WlBsCard/Edit public ActionResult Edit() { return View(); } public ActionResult PcIndex() { return View(); } public ActionResult PcEdit() { return View(); } public ActionResult AuditIndex() { return View(); } [SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器 public ContentResult GetDataList(int start, int limit, string sort, string condition) { var dataList = MsWlBsDAL.GetDataList(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request),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 }; } [SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器 public ContentResult GetListSum(string condition) { var rangstr = MsWlPcDAL.GetRangDAStr("index", Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)); if (!string.IsNullOrEmpty(rangstr)) { if (!string.IsNullOrEmpty(condition)) { condition = condition + " and " + rangstr; } else { condition = rangstr; } } var strSql = new StringBuilder(); strSql.Append("SELECT convert(varchar(20),sum(case when isnull(BsStatus,0)=0 then 1 else 0 end))+'/'+convert(varchar(20),sum(case when isnull(BsStatus,0)=0 then KGS else 0 end)) NCOUNT,convert(varchar(20),sum(case when isnull(BsStatus,0)=0 then 0 else 1 end))+'/'+convert(varchar(20),sum(case when isnull(BsStatus,0)=0 then 0 else KGS end)) PCOUNT,SUM(KGS) KGS,SUM(CBM) CBM "); strSql.Append(" from tMsWlBsHead "); // strSql.Append(" left join (select RefBillNoSe,sum(isnull(GOODSCOUNT,0)) PKGS,sum(isnull(CBM,0)) CBM,sum(isnull(Ton,0)) KGS FROM tMsWlPcHead GROUP BY RefBillNoSe ) PC ON (PC.RefBillNoSe=tMsWlBsHead.BillNo)"); 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, 1, dbRptResult, "Result_Set", true); return new ContentResult() { Content = json }; } // // GET:/TruckMng/WlBsCard/GetData/ [SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器 public ContentResult GetData(string handle, string condition) { MsWlBsHead head = null; if (handle == "edit") { var list = MsWlBsDAL.GetDataList(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)); if (list.Count > 0) head = list[0]; } if (head == null) { head = new MsWlBsHead(); head.DispatchCode = CookieConfig.GetCookie_UserCode(Request); head.DispatchName=CookieConfig.GetCookie_UserName(Request); head.DispatchCode_Ref = head.DispatchCode + "-" + head.DispatchName; } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } [SqlKeyWordsFilter(Type = "Action")]//sql 防注入过滤器 public JsonResult GetPcBodyList(string condition,string sort) { var list = MsWlBsDAL.GetPcBodyList(condition,sort); return Json(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() }); } public ContentResult GetIsPrint(string billno,string Gid) { var IsPring = true; IsPring = MsWlBsDAL.GetBsIsPrint(billno,Gid); var json = JsonConvert.Serialize( new { Success = IsPring, Message = "此托单下所有费用都审核通过后,才可以打印托单!" }); return new ContentResult() { Content = json }; } public ContentResult Delete(string data) { if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "") { var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } // var head = JsonConvert.Deserialize(data); var isfee = MsWlBsDAL.GetFeeCount(head.gId); if (isfee) { var jsonRespose = new JsonResponse { Success = false, Message = "此票业务存在费用,请先删除费用才能删除此票业务!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { var BSNO = head.BillNo; var modb = new ModelObjectDB(); DBResult result = modb.Delete(head); if (result.Success == true) { MsSysBillNoSetDAL.DeleteBsNo(head.CUSTNO); } if (result.Success == true) { var bodylist = MsWlBsDAL.GetPcBodyList("d.BSNO='" + head.BillNo + "'"); if (bodylist != null) { foreach (var enumValue in bodylist) { MsWlBsDAL.DeletetruckDetail(enumValue); MsWlBsDAL.p_update_status(enumValue.LogisticsNo); } } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } public ContentResult DeletetruckDetail(string data) { var head = JsonConvert.Deserialize(data); DBResult result = MsWlBsDAL.DeletetruckDetail(head); MsWlBsDAL.p_update_status(head.LogisticsNo); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } // // GET:/TruckMng/WlBsCard/Save public ContentResult SubmitAudit(string opstatus, string data, string ctnbody, string ctndelbody, string fixbody, string fixdelbody, string chfeebody, string chfeedelbody) { var head = JsonConvert.Deserialize(data); var ctnBodyList = JsonConvert.Deserialize>(ctnbody); var ctnBodyDelList = JsonConvert.Deserialize>(ctndelbody); var fixBodyList = JsonConvert.Deserialize>(fixbody); var fixBodyDelList = JsonConvert.Deserialize>(fixdelbody); var chfeeBodyList = JsonConvert.Deserialize>(chfeebody); var chfeeBodyDelList = JsonConvert.Deserialize>(chfeedelbody); if (opstatus == "add") { head.BillNo = PubSysDAL.GetBillNo("0112"); //获取物流号 head.DbOperationType = DbOperationType.DbotIns; head.ModelUIStatus = "I"; head.UserCode = CookieConfig.GetCookie_UserCode(Request); head.UserName = CookieConfig.GetCookie_UserName(Request); head.OrgCode = CookieConfig.GetCookie_OrgCode(Request); head.OrgName = CookieConfig.GetCookie_OrgName(Request); head.LrDate = DateTime.Now; head.TRANSSTATUS = "新建"; } else if (opstatus == "edit") { head.DbOperationType = DbOperationType.DbotUpd; head.ModelUIStatus = "E"; } else { head.DbOperationType = DbOperationType.DbotDel; } var modb = new ModelObjectRepository(); DBResult result = modb.Save(head, ModelObjectConvert.ToModelObjectList(ctnBodyList), ModelObjectConvert.ToModelObjectList(ctnBodyDelList), ModelObjectConvert.ToModelObjectList(fixBodyList), ModelObjectConvert.ToModelObjectList(fixBodyDelList), ModelObjectConvert.ToModelObjectList(chfeeBodyList), ModelObjectConvert.ToModelObjectList(chfeeBodyDelList)); if (result.Success == true) { var headList = new List(); headList.Add(head); result = MsWlBsDAL.SubmitAudit(CookieConfig.GetCookie_UserId(Request),headList); if (result.Success == true && head.CONTRACTNO != "" && head.TEMPLATENAME != "") { result = MsWlBsDAL.CreateFeeDetail(head, ctnBodyList, CookieConfig.GetCookie_UserId(Request)); } } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsWlBsDAL.GetHeadDataByBillNo(head.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SubmitAuditBack(string data) { var head = JsonConvert.Deserialize(data); var headList = new List(); headList.Add(head); var isfee = MsWlBsDAL.GetFeeCount(head.GId, " CARGO_GID='" + head.GId + "' and (SETTLEMENT<>0 or INVOICE<>0 and ORDERAMOUNT<>0 and ORDERINVOICE<>0) "); if (!isfee) { var jsonRespose2 = new JsonResponse { Success = false, Message = "此票生成费用已做申请或结算或开票,不能驳回!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } var result = MsWlBsDAL.SubmitAuditBack(CookieConfig.GetCookie_UserId(Request), headList); if (result.Success == true) { result = MsWlBsDAL.DelCreateFee(head, Convert.ToString(Session["USERID"])); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsWlBsDAL.GetHeadDataByBillNo(head.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult Audit(string data) { var head = JsonConvert.Deserialize(data); var headList = new List(); headList.Add(head); var result = MsWlBsDAL.AuditList(headList,CookieConfig.GetCookie_UserId(Request)); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsWlBsDAL.GetHeadDataByBillNo(head.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult AuditList(string data) { var headList = JsonConvert.Deserialize>(data); var modb = new ModelObjectDB(); DBResult result = MsWlBsDAL.AuditList(headList, Convert.ToString(Session["USERID"])); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult AuditBack(string data,string reason) { var head = JsonConvert.Deserialize(data); var headList = new List(); headList.Add(head); var result = MsWlBsDAL.AuditBackList(headList, CookieConfig.GetCookie_UserId(Request), reason); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsWlBsDAL.GetHeadDataByBillNo(head.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult AuditBackList(string data, string reason) { var headList = JsonConvert.Deserialize>(data); var modb = new ModelObjectDB(); DBResult result = MsWlBsDAL.AuditBackList(headList, Convert.ToString(Session["USERID"]), reason); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult AddBill(string opstatus, string data, string body) { var headData = JsonConvert.Deserialize(data); var bodyList = JsonConvert.Deserialize>(body); var isPost = true; var errorstr = ""; var custno = ""; if (opstatus == "add") { var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='陆运'", Convert.ToString(Session["COMPANYID"])); billnoset.BILLTYPE = "0111"; billnoset.RULEDATETYPE = "业务日期"; var bsdate = headData.ExpDate; if (bsdate == "" || bsdate == null) bsdate = DateTime.Now.ToString("yyyy-MM-dd"); headData.BillNo = MsSysBillNoSetDAL.GetBillNo(billnoset, bsdate, DateTime.Now.ToString("yyyy-MM")); //获取合同号 headData.OrgCode = CookieConfig.GetCookie_OrgCode(Request); headData.DbOperationType = DbOperationType.DbotIns; headData.TRANSSTATUS = "新建"; } else if (opstatus == "edit") { headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; } else { headData.DbOperationType = DbOperationType.DbotDel; } //if ( !string.IsNullOrEmpty(headData.ExpDate)){ // headData.ExpDate = headData.ExpDate.Replace("T", " "); //} //if ( !string.IsNullOrEmpty(headData.ExpDate)) //{ // headData.ExpDate = headData.ExpDate.Substring(0, 10); //} //if ( !string.IsNullOrEmpty(headData.ArriveDate)) //{ // headData.ArriveDate = headData.ArriveDate.Substring(0, 10); //} //if (!string.IsNullOrEmpty(headData.ReturnDate)) //{ // headData.ReturnDate = headData.ReturnDate.Substring(0, 10); //} if (!string.IsNullOrEmpty(headData.LrDate)) { headData.LrDate = headData.LrDate.Substring(0, 10); } else { var currentTime = System.DateTime.Now; headData.LrDate = currentTime.ToString("d"); } var BSNO = headData.gId; if (isPost) { var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); if (result.Success == true) { result=MsWlBsDAL.AddBill(headData, bodyList, Convert.ToString(Session["USERID"])); if (result.Success == true) { if (bodyList != null) { foreach (var bulk in bodyList) { MsWlBsDAL.p_update_status(bulk.GId); } } } } else { MsSysBillNoSetDAL.DeleteBsNo(custno); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsRptPcHeadEditDAL.GetWFSDData("GID='" + BSNO + "'") }; 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 AddBillAuto(string data) { var head = JsonConvert.Deserialize(data); //var bodyList = JsonConvert.Deserialize>(body); var headData = new MsWlPcHead_WFSDEdit(); var isPost = true; var errorstr = ""; var custno = ""; var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='陆运'", Convert.ToString(Session["COMPANYID"])); billnoset.BILLTYPE = "0111"; billnoset.RULEDATETYPE = "业务日期"; var bsdate = headData.ExpDate; if (bsdate == "" || bsdate == null) bsdate = DateTime.Now.ToString("yyyy-MM-dd"); headData.BillNo = MsSysBillNoSetDAL.GetBillNo(billnoset, bsdate, DateTime.Now.ToString("yyyy-MM")); //获取合同号 headData.OrgCode = CookieConfig.GetCookie_OrgCode(Request); headData.DbOperationType = DbOperationType.DbotIns; headData.gId = "PC" + Guid.NewGuid().ToString(); headData.PGid = headData.gId; headData.UserCode = CookieConfig.GetCookie_UserCode(Request); headData.UserName = Convert.ToString(Session["SHOWNAME"]); headData.BLTYPE = "派车单票"; headData.TRANSSTATUS = "新建"; headData.DstArea = head.DstArea; headData.DetiNation = head.PORTLOAD; headData.ArriveDate = head.NeedArriveDate; headData.LoadPlace =head.DetiNation; headData.CUSTNO = head.MblNo; headData.CustLikeManName = head.DetiLinkMan; headData.VoyVeg = head.VoyVeg; headData.EtDate = head.EtDate; headData.EndPortDate = head.EndPortDate; headData.YardName=head.SendYardCode; headData.CustomerName = head.CustName; if (!string.IsNullOrEmpty(headData.LrDate)) { headData.LrDate = headData.LrDate.Substring(0, 10); } else { var currentTime = System.DateTime.Now; headData.LrDate = currentTime.ToString("d"); } var BSNO = headData.gId; if (isPost) { var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); if (result.Success == true) { var bodyList = new List(); bodyList.Add(head); MsWlBsDAL.AddBill(headData, bodyList, Convert.ToString(Session["USERID"])); MsWlBsDAL.p_update_status(head.GId); } else { MsSysBillNoSetDAL.DeleteBsNo(custno); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsRptPcHeadEditDAL.GetWFSDData("GID='" + BSNO + "'") }; 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 AddDetail(string opstatus, string data, string body) { var headData = JsonConvert.Deserialize(data); var bodyList = JsonConvert.Deserialize>(body); var isPost = true; var errorstr = ""; var custno = ""; if (opstatus == "add") { var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='陆运'", Convert.ToString(Session["COMPANYID"])); billnoset.BILLTYPE = "0111"; billnoset.RULEDATETYPE = "业务日期"; var bsdate = headData.ExpDate; if (bsdate == "" || bsdate == null) bsdate = DateTime.Now.ToString("yyyy-MM-dd"); headData.BillNo = MsSysBillNoSetDAL.GetBillNo(billnoset, bsdate, DateTime.Now.ToString("yyyy-MM")); //获取合同号 headData.OrgCode = CookieConfig.GetCookie_OrgCode(Request); headData.DbOperationType = DbOperationType.DbotIns; headData.TRANSSTATUS = "新建"; } else if (opstatus == "edit") { headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; } else { headData.DbOperationType = DbOperationType.DbotDel; } if (!string.IsNullOrEmpty(headData.LrDate)) { headData.LrDate = headData.LrDate.Substring(0, 10); } else { var currentTime = System.DateTime.Now; headData.LrDate = currentTime.ToString("d"); } var BSNO = headData.gId; if (isPost) { var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); if (result.Success == true) { result=MsWlBsDAL.AddDetail(headData, bodyList, Convert.ToString(Session["USERID"])); if (result.Success == true) { MsWlBsDAL.p_update_status(bodyList[0].BillNo); } } else { MsSysBillNoSetDAL.DeleteBsNo(custno); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsRptPcHeadEditDAL.GetWFSDData("GID='" + BSNO + "'") }; 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 UpTransStatus(string data, string transstatus) { if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "") { var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } // var OpTruckBulk = JsonConvert.Deserialize(data); var bodyList = new List(); bodyList.Add(OpTruckBulk); var result = MsWlBsDAL.UpTransStatus(bodyList, transstatus); //if (transstatus == "已回单" && result.Success == true) //{ // MsOpTruckBulkPcDAL.UphuidanStatus(OpTruckBulk.BSNO); var BSNO = OpTruckBulk.gId; var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsRptPcHeadEditDAL.GetWFSDData("GID='" + BSNO + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult UpTransStatusList(string data, string transstatus) { if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "") { var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } // var bodyList = JsonConvert.Deserialize>(data); var result = MsWlBsDAL.UpTransStatus(bodyList, transstatus); //if (transstatus == "已回单" && result.Success == true) //{ // if (bodyList != null) // { // foreach (var enumValue in bodyList) // { // MsOpTruckBulkPcDAL.UphuidanStatus(enumValue.BSNO); // } // } //} var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult CreateFeeDetail(string data, string ctnbody) { var head = JsonConvert.Deserialize(data); var ctnBodyList = JsonConvert.Deserialize>(ctnbody); DBResult result = MsWlBsDAL.CreateFeeDetail(head, ctnBodyList,CookieConfig.GetCookie_UserId(Request)); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsWlBsDAL.GetHeadDataByBillNo(head.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SaveNew(string opstatus, string data, string ctnbody, string ctndelbody) { var head = JsonConvert.Deserialize(data); var ctnBodyList = JsonConvert.Deserialize>(ctnbody); var ctnBodyDelList = JsonConvert.Deserialize>(ctndelbody); if (opstatus == "add") { head.BillNo = PubSysDAL.GetBillNo("0112"); //获取物流号 head.DbOperationType = DbOperationType.DbotIns; head.ModelUIStatus = "I"; head.UserCode = CookieConfig.GetCookie_UserCode(Request); head.UserName = CookieConfig.GetCookie_UserName(Request); head.OrgCode = CookieConfig.GetCookie_OrgCode(Request); head.OrgName = CookieConfig.GetCookie_OrgName(Request); head.LrDate = DateTime.Now; } else if (opstatus == "edit") { head.DbOperationType = DbOperationType.DbotUpd; head.ModelUIStatus = "E"; } else { head.DbOperationType = DbOperationType.DbotDel; } //判断是否允许提单号重复 if (head.MblNo != "" && head.MblNo != null) { if (!MsWlBsDAL.checkMBLNOValid(head.MblNo,head.BillNo)) { var json = JsonConvert.Serialize(new { Success = false, Message = "提单号不允许重复进行托单录入!" }); return new ContentResult() { Content = json }; } } var modb = new ModelObjectRepository(); DBResult result = modb.Save(head, ModelObjectConvert.ToModelObjectList(ctnBodyList), ModelObjectConvert.ToModelObjectList(ctnBodyDelList)); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsWlBsDAL.GetHeadDataByBillNo(head.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } //public ContentResult Delete(string data) //{ // var head = JsonConvert.Deserialize(data); // var modb = new ModelObjectDBBill(); // DBResult result = modb.Delete(head, // "delete from tMsWlBsCtn where BillNo='" + head.BillNo + "'", // "delete from tMsWlBsFixed where BillNo='" + head.BillNo + "'", // "delete from ch_fee where BsNo='"+head.GId+"'"); // var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; // return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; //} #region 明细表部分 public JsonResult GetCtnBodyList(string billno) { var condition = " BillNo='" + billno + "'"; List list = MsWlBsDAL.GetCtnBodyList(condition); return Json(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() }); } public JsonResult GetFeeBodyList(string billno) { var condition = " BillNo='" + billno + "'"; List list = MsWlBsDAL.GetBodyList(condition); return Json(new { Success = true, Message = "查询成功", totalCount = list.Count, data = list.ToList() }); } #endregion #region 相关联部分 #endregion #region 参照部分 #endregion //TruckMng/MsWlBs/File [HttpPost] public ActionResult FileBak() { if (Request.Files.Count != 1) { return Json(new { success = false, msg = "请选择上传的文件" }, "text/html"); } var file = Request.Files["file"]; if (file == null) { return Json(new { success = false, msg = "上传文件发生未知错误,请重新上传" }, "text/html"); } if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "") { var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } string ext = Path.GetExtension(file.FileName).ToLower(); if (ext == ".asp" || ext == ".aspx") { return Json(new { success = false, msg = "上传文件发生未知错误,请重新上传" }, "text/html"); } var path = Server.MapPath("../../UploadFiles/Bs"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var size = file.ContentLength; var name = Path.GetFileName(file.FileName); var usercode = CookieConfig.GetCookie_UserCode(Request); string filename = path + "\\" + usercode + DateTime.Now.ToString("yyyyMMddHHmmssfff") + name; if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); } file.SaveAs(filename); if (!System.IO.File.Exists(filename)) { return Json(new { success = false, msg = "上传的Excel不包含数据" }, "text/html"); } List sheets = ExcelSheetName(filename); if (sheets.Count == 0) { return Json(new { success = false, msg = "上传的Excel不包含数据" }, "text/html"); } try { var sheetname = sheets[0]; string excelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties=Excel 8.0;"; OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "]", excelConn); DataSet ds = new DataSet(); oada.Fill(ds); if (ds.Tables.Count == 0) { return Json(new { success = false, msg = "上传的Excel不包含数据" }, "text/html"); } var table = ds.Tables[0]; if (table.Rows.Count == 0 || table.Rows.Count == 1) { return Json(new { success = false, msg = "上传的Excel不包含数据" }, "text/html"); } var customerFieldName = table.Columns[0].ColumnName; if (customerFieldName != "委托单位") { return Json(new { success = false, msg = "上传的Excel不是标准的格式,请重新选择" }, "text/html"); } var message = string.Empty; List headList; var isSucess = MsWlBsDAL.ImportExcelData(Request, table, out message, out headList); if (!isSucess) { return Json(new { success = false, msg = message }, "text/html"); } return Json(new { success = true, msg = "上传成功,共生成" + Convert.ToString(headList.Count)+"个托单", dataList = headList.ToList() }, "text/html"); } catch (Exception) { return Json(new { success = false, msg = "读取Excel文件出错,请确认文件正确性" }, "text/html"); } } //TruckMng/MsWlBs/File [HttpPost] public ContentResult File() { var jsonRespose = new JsonResponse { Success = false, Message = "" }; if (Request.Files.Count != 1) { jsonRespose.Success = false; jsonRespose.Message = "请选择上传的文件"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var file = Request.Files["file"]; if (file == null) { jsonRespose.Success = false; jsonRespose.Message = "上传文件发生未知错误,请重新上传"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "") { var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } string ext = Path.GetExtension(file.FileName).ToLower(); if (ext == ".asp" || ext == ".aspx") { jsonRespose.Success = false; jsonRespose.Message = "不允许上传ASP或ASPX文件"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var path = Server.MapPath("../../UploadFiles/Bs"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var size = file.ContentLength; var name = Path.GetFileName(file.FileName); var usercode = CookieConfig.GetCookie_UserCode(Request); string filename = path + "\\" + usercode + DateTime.Now.ToString("yyyyMMddHHmmssfff") + name; 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) }; } List sheets = ExcelSheetName(filename); if (sheets.Count == 0) { jsonRespose.Success = false; jsonRespose.Message = "上传的Excel不包含数据02"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } try { var sheetname = sheets[0]; string excelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties=Excel 8.0;"; OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "]", excelConn); DataSet ds = new DataSet(); 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 customerFieldName = table.Columns[0].ColumnName; if ((customerFieldName != "委托单位") && (customerFieldName != "运单号")) { jsonRespose.Success = false; jsonRespose.Message = "上传的Excel不是标准的格式,请重新选择"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var message = string.Empty; List headList; if (customerFieldName == "委托单位") { var isSucess = MsWlBsDAL.ImportExcelData(Request, table, out message, out headList); if (!isSucess) { jsonRespose.Success = false; jsonRespose.Message = message; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } else { var isSucess = MsWlBsDAL.ImportExcelUpdateData(Request, table, out message, out headList); if (!isSucess) { jsonRespose.Success = false; jsonRespose.Message = message; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } //jsonRespose.Success = true; //jsonRespose.Message = "上传成功,共生成" + Convert.ToString(headList.Count) + "个托单"; //jsonRespose.Data = headList.ToList(); //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;"; 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; } } }