using System; using System.Linq; using System.Text; using System.Web.Mvc; using DSWeb.MvcShipping.DAL.MsOpAireDAL; using DSWeb.MvcShipping.Models.MsOpAire; using DSWeb.MvcShipping.Models.MsOpAireBill; using DSWeb.MvcShipping.Helper; using HcUtility.Comm; using HcUtility.Core; using DSWeb.MvcShipping.DAL.MsBaseInfoDAL; using DSWeb.MvcShipping.DAL.MsSysBillNoSet; using DSWeb.MvcShipping.Models.MsOpApply; using DSWeb.MvcShipping.DAL.MsSysParamSet; using DSWeb.EntityDA; using DSWeb.MvcShipping.DAL.MsInfoClient; using DSWeb.MvcShipping.Comm.Cookie; namespace DSWeb.MvcShipping.Controllers { [JsonRequestBehavior] public class MsOpAireController : Controller { // // GET: public ActionResult Index() { return View(); } public ActionResult Edit() { return View(); } public ActionResult SaleEdit() { return View(); } public ActionResult SaleIndex() { return View(); } public ActionResult FeeEdit() { return View(); } public ActionResult FenList() { return View(); } public ActionResult SeaeFeeView() { return View(); } public ActionResult FeeAmendEdit() { return View(); } public ActionResult ReceiptEdit() { return View(); } public ActionResult BillEdit() { return View(); } public ActionResult FenEdit() { return View(); } public ActionResult PiLiangFeeEdit() { return View(); } public ActionResult HistryFeeIndex() { return View(); } public ActionResult HistryBillIndex() { return View(); } public ActionResult FenBillList() { return View(); } public ActionResult PiLiangFenFee() { return View(); } public ActionResult PiLiangOpBill() { return View(); } public ActionResult EditView() { return View(); } public ContentResult GetDataList(int start, int limit, string sort, string condition,string load) { var dataList = MsOpAireDAL.GetDataList(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort,load); var list = dataList.Skip(start).Take(limit); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetSaleDataList(int start, int limit, string sort, string condition, string load) { var dataList = MsOpAireDAL.GetSaleDataList(condition, Convert.ToString(Session["SHOWNAME"]), sort, load, Convert.ToString(Session["USERID"]), Convert.ToString(Session["COMPANYID"])); 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 sort, string condition) { var dataListStr = MsOpAireDAL.GetDataListStr(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功",data = dataListStr }); return new ContentResult() { Content = json }; } public ContentResult GetFenList(int start, int limit, string sort, string condition) { var dataList = MsOpAireDAL.GetFenList(condition, 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 GetData(string handle, string condition) { MsOpAire head = null; if (handle == "edit") { head = MsOpAireDAL.GetData(condition); } if (head == null) { head = new MsOpAire(); head.OP = Convert.ToString(Session["SHOWNAME"]); head.INPUTBY= Convert.ToString(Session["SHOWNAME"]); head.CUSTSERVICE = Convert.ToString(Session["SHOWNAME"]); var SALEORDERDEPTBYOP = MsSysParamSetDAL.GetData("PARAMNAME='SALEORDERDEPTBYOP'"); if (SALEORDERDEPTBYOP.PARAMVALUE == "1") { head.SALEDEPT = Convert.ToString(Session["DEPTNAME"]); } } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult Save(string opstatus, string data, string data2) { var aaa = ""; var dataall = data.Replace("}", ",") + data2.Replace("{", ""); var headData = JsonConvert.Deserialize(dataall); var isPost = true; var errorstr = ""; var isuse = false; var iscreatecustno = false; var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='空运出口' AND RULEBLNO='委托编号' ", Convert.ToString(Session["COMPANYID"])); if (billnoset.BILLTYPE != "") isuse = true; if (headData.CUSTNO == "") { if (isuse) { var FENCUSTNOE = MsSysParamSetDAL.GetData("PARAMNAME='FENCUSTNOE'"); if (FENCUSTNOE.PARAMVALUE == "1" && headData.MASTERNO != "" && headData.BSNO != headData.MASTERNO) { headData.CUSTNO = MsSysBillNoSetDAL.GetFenCustNo(headData.MASTERNO, "op_aire"); } else { headData.CUSTNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.ETD.ToString().Trim(), headData.ACCDATE.ToString().Trim(), "", headData.OP, headData.SALECORPID); iscreatecustno = true; } } } else { //if (!isuse) { // { var ct = MsOpAireDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND CUSTNO='" + headData.CUSTNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); if (ct != 0) { isPost = false; errorstr = "委托编号"; } // } //} } if (headData.CORPID == ""||headData.CORPID ==null) { headData.CORPID = CookieConfig.GetCookie_CompanyId(Request); } if (headData.MBLNO != "" && headData.MBLNO != null && headData.BLTYPE != "拼箱分票" && headData.BLTYPE != "空运分票") { var mblreapeat = MsSysParamSetDAL.GetData("PARAMNAME='AireMblrepeat'"); if (mblreapeat.PARAMVALUE != "1") { var ct = MsOpAireDAL.GetRdCount("MASTERNO<>'" + headData.BSNO + "' AND MBLNO='" + headData.MBLNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); if (ct != 0) { isPost = false; errorstr = "主提单号"; } } } if (headData.HBLNO != "" && headData.HBLNO != null) { var mblreapeat = MsSysParamSetDAL.GetData("PARAMNAME='AireHblrepeat'"); if (mblreapeat.PARAMVALUE != "1") { var ct = MsOpAireDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND HBLNO='" + headData.HBLNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); if (ct != 0) { isPost = false; errorstr = "分提单号"; } } } else { var billnosethblno = MsSysBillNoSetDAL.GetData("OPLBNAME='空运出口' AND RULEBLNO='分提单号' ", Convert.ToString(Session["COMPANYID"])); if (billnosethblno.BILLTYPE != "" && billnosethblno.ISAUTO == "1") { var hblno = MsSysBillNoSetDAL.GetBillNo(billnosethblno, headData.ETD.ToString().Trim(), headData.ACCDATE.ToString().Trim(), "", headData.OP, headData.SALECORPID); headData.HBLNO = hblno; } } if (headData.ORDERNO != "" && headData.ORDERNO != null) { var ct = MsOpAireDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND ORDERNO='" + headData.ORDERNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); if (ct != 0) { isPost = false; errorstr = "订舱编号"; } } if (headData.ETD != "" && headData.CUSTOMERNAME != "")// headData.STLDATE == "" && { //根据客户、开船日计算账期 var _dmb = MsInfoClientDAL.GetSTLDATE(headData.CUSTOMERNAME, "海运出口", headData.ETD, headData.SALE); headData.STLNAME = _dmb.STLNAME; headData.STLDATE = _dmb.STLDATE; if (_dmb.STLNAME == "") { headData.STLNAME = "现结买单"; headData.STLDATE = headData.ETD; } if (_dmb.BSSOURCE != "") headData.BSSOURCE = _dmb.BSSOURCE; } if (opstatus == "add") { headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]); headData.BSDATE = DateTime.Now; headData.BSSTATUS = false; headData.FEESTATUS = false; headData.DbOperationType = DbOperationType.DbotIns; } else if (opstatus == "edit") { headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; } else { headData.DbOperationType = DbOperationType.DbotDel; } if (headData.MASTERNO == null || headData.MASTERNO =="") { headData.MASTERNO = headData.BSNO; } if (headData.ETA == "") headData.ETA = null; if (headData.ETD == "") headData.ETD = null; if (headData.STLDATE == "") headData.STLDATE = null; if (headData.DELIVERYDATE == "") headData.DELIVERYDATE = null; if (headData.INSPECTIONDATE == "") headData.INSPECTIONDATE = null; if (headData.CUSTOMDATE == "") headData.CUSTOMDATE = null; headData.PORTLOAD = MsBaseInfoDAL.DelPortCn(headData.PORTLOAD); headData.PORTDISCHARGE = MsBaseInfoDAL.DelPortCn(headData.PORTDISCHARGE); if (headData.KGS == "") headData.KGS = "0"; if (headData.PKGS == "") headData.PKGS = "0"; if (headData.CBM == "") headData.CBM = "0"; if (headData.FEEKGS == "") headData.FEEKGS = "0"; if (headData.PRICE == "") headData.PRICE = "0"; if (headData.TTLFREIGHT == "") headData.TTLFREIGHT = "0"; if (headData.OTFEE1AMOUNT == "") headData.OTFEE1AMOUNT = "0"; if (headData.OTFEE2AMOUNT == "") headData.OTFEE2AMOUNT = "0"; if (headData.OTFEE3AMOUNT == "") headData.OTFEE3AMOUNT = "0"; if (headData.OTFEE4AMOUNT == "") headData.OTFEE4AMOUNT = "0"; if (headData.OTFEE5AMOUNT == "") headData.OTFEE5AMOUNT = "0"; if (headData.OTFEE6AMOUNT == "") headData.OTFEE6AMOUNT = "0"; if (headData.OTFEE7AMOUNT == "") headData.OTFEE7AMOUNT = "0"; if (headData.OTFEE8AMOUNT == "") headData.OTFEE8AMOUNT = "0"; var BSNO = headData.BSNO; if (isPost) { var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); if (result.Success == true) { } else { MsSysBillNoSetDAL.DeleteBsNo(headData.CUSTNO); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsOpAireDAL.GetData("BSNO='" + BSNO + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { if (iscreatecustno == true) MsSysBillNoSetDAL.DeleteBsNo(headData.CUSTNO); var jsonRespose = new JsonResponse { Success = false, Message =errorstr+"重复,不允许保存!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } public ContentResult Delete(string data) { var head = JsonConvert.Deserialize(data); var isfee = MsOpAireDAL.GetFeeCount(head.BSNO); if (isfee) { var jsonRespose = new JsonResponse { Success = false, Message ="此票业务存在费用,请先删除费用才能删除此票业务!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { if (head.BLTYPE == "空运主票") { T_ALL_DA T_ALL_DA = new T_ALL_DA(); var BLCOUNT = T_ALL_DA.GetStrSQL("BLCOUNT", "select count(*) BLCOUNT from OP_SEAE WHERE MASTERNO='" + head.BSNO + "' AND BSNO<>'" + head.BSNO + "'"); if (BLCOUNT == "0") { var BSNO = head.BSNO; var modb = new ModelObjectDB(); DBResult result = modb.Delete(head); if (result.Success == true) { MsSysBillNoSetDAL.DeleteBsNo(head.CUSTNO); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { var jsonRespose = new JsonResponse { Success = false, Message = "此票空运主票存在分票业务,请先删除分票信息!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } else { var BSNO = head.BSNO; var modb = new ModelObjectDB(); DBResult result = modb.Delete(head); if (result.Success == true) { MsSysBillNoSetDAL.DeleteBsNo(head.CUSTNO); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } } #region 提单信息 public ContentResult GetBillList(int start, int limit, string sort, string condition) { var dataList = MsOpAireDAL.GetBillList(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 GetBillData(string handle, string condition) { MsOpAireBill head = null; if (handle == "edit") { head = MsOpAireDAL.GetBillData(condition); } if (head == null) { head = new MsOpAireBill(); head.INPUTBY = Convert.ToString(Session["SHOWNAME"]); } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult BillSave(string opstatus, string data,string body) { var headData = JsonConvert.Deserialize(data); if (opstatus == "add") { headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]); headData.AS_ID = Guid.NewGuid().ToString(); headData.DbOperationType = DbOperationType.DbotIns; } else if (opstatus == "edit") { headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; } else { headData.DbOperationType = DbOperationType.DbotDel; } if (headData.ETA == "") headData.ETA = null; if (headData.ETD == "") headData.ETD = null; if (headData.ISSUEDATE == "") headData.ISSUEDATE = null; if (headData.KGS == "") headData.KGS = "0"; if (headData.PKGS == "") headData.PKGS = "0"; if (headData.CBM == "") headData.CBM = "0"; if (headData.FEEKGS == "") headData.FEEKGS = "0"; if (headData.PRICE == "") headData.PRICE = "0"; if (headData.TTLFREIGHT == "") headData.TTLFREIGHT = "0"; if (headData.TOTALAMOUNT == "") headData.TOTALAMOUNT = "0"; if (headData.OTFEE1AMOUNT == "") headData.OTFEE1AMOUNT = "0"; if (headData.OTFEE2AMOUNT == "") headData.OTFEE2AMOUNT = "0"; if (headData.OTFEE3AMOUNT == "") headData.OTFEE3AMOUNT = "0"; if (headData.OTFEE4AMOUNT == "") headData.OTFEE4AMOUNT = "0"; if (headData.OTFEE5AMOUNT == "") headData.OTFEE5AMOUNT = "0"; if (headData.OTFEE6AMOUNT == "") headData.OTFEE6AMOUNT = "0"; if (headData.OTFEE7AMOUNT == "") headData.OTFEE7AMOUNT = "0"; if (headData.OTFEE8AMOUNT == "") headData.OTFEE8AMOUNT = "0"; var modb = new ModelObjectDB(); var AS_ID = headData.AS_ID; DBResult result = modb.Save(headData); //if (result.Success == true) //{ // result = MsOpSeaeDAL.SaveBillDetail(AS_ID, bodyList, Convert.ToString(Session["USERID"])); //} var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsOpAireDAL.GetBillData("AS_ID='" + AS_ID + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult BillDelete(string data) { var head = JsonConvert.Deserialize(data); var modb = new ModelObjectDB(); var AS_ID = head.AS_ID; DBResult result = modb.Delete(head); //if (result.Success == true) { MsOpSeaeDAL.DeleteDetail(AS_ID); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #endregion #region 生成报关信息 public ContentResult SaveBG(string data, string data2) { var aaa = ""; var head = JsonConvert.Deserialize(data.Replace("}", ",") + data2.Replace("{", "")); var headData = new MsOpApply(); if (headData.CORPID == "" || headData.CORPID == null) { headData.CORPID = Convert.ToString(Session["COMPANYID"]); } headData.MASTERNO = head.BSNO; headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]); headData.BSDATE = DateTime.Now; headData.DbOperationType = DbOperationType.DbotIns; headData.CUSTOMERNAME = head.CUSTOMERNAME; headData.MBLNO = head.MBLNO; headData.VESSEL = head.VESSEL; headData.BSSOURCE = head.BSSOURCE; headData.BSSOURCEDETAIL = head.BSSOURCEDETAIL; headData.ETD = head.ETD; headData.ETA = head.ETA; if (head.PKGS == "") headData.PKGS = 0; else headData.PKGS =Convert.ToInt32(head.PKGS); if (head.KGS=="") headData.KGS =0; else headData.KGS = Convert.ToDecimal(head.KGS); if (head.CBM == "") headData.CBM = 0; else headData.CBM = Convert.ToDecimal(head.CBM); headData.PORTLOAD = head.PORTLOAD; headData.PORTDISCHARGE = head.PORTDISCHARGE; headData.SALE = head.SALE; headData.SALEDEPT = head.SALEDEPT; headData.BSTYPE = "3"; headData.CUSTOMNO = head.CUSTOMNO; headData.CUSTOMDATE = head.CUSTOMDATE; headData.INSPECTIONNO = head.INSPECTIONNO; headData.INSPECTIONDATE = head.INSPECTIONDATE; headData.ENTERP = head.ENTERP; headData.ENTERPID = head.ENTERPID; var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); if (result.Success == true) { result.Success = true; result.Message = "生成成功"; } else { result.Success = false; result.Message = "生成过程发生错误"; } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #endregion // } }