using System; using System.Linq; using System.Web.Mvc; using DSWeb.MvcShipping.DAL.MsOpSeaiDAL; using DSWeb.MvcShipping.Models.MsOpSeai; using DSWeb.MvcShipping.Helper; using DSWeb.MvcShipping.Comm.Cookie; using HcUtility.Comm; using HcUtility.Core; using System.Collections.Generic; using DSWeb.MvcShipping.DAL.MsBaseInfoDAL; using DSWeb.EntityDA; using System.IO; using System.Text; using System.Data; using System.Text.RegularExpressions; using com.sun.org.apache.bcel.@internal.generic; using DSWeb.Areas.CommMng.DAL; using DSWeb.Areas.RptMng.Comm; using DSWeb.MvcShipping.DAL.MsCodeFtpSet; using DSWeb.MvcShipping.DAL.MsSysBillNoSet; using DSWeb.MvcShipping.Models.MsSysBillNoSet; using DSWeb.MvcShipping.Models.MsOpApply; using DSWeb.MvcShipping.DAL.MsOpApplyDAL; using DSWeb.MvcShipping.DAL.MsSysParamSet; using DSWeb.MvcShipping.Models.MsOpSeaeToSeai; using DSWeb.SoftMng.DAL.SoftSysTable; using DSWeb.MvcShipping.Models.MsChFee; using DSWeb.MvcShipping.DAL.MsChFeeDAL; using DSWeb.MvcShipping.DAL.MsInfoClient; using Terminal_CDMA; using Microsoft.Office.Interop.Excel; using DSWeb.Areas.CommMng.Models; using DSWeb.MvcShipping.Models.WMSNew; using DSWeb.TruckMng.Helper.Repository; using sun.font; using Type = System.Type; using DSWeb.MvcShipping.DAL.MsCodeOpTemplate; using DSWeb.MvcShipping.DAL.ChMonthCloseDAL; using ikvm.extensions; using java.util.regex; using DSWeb.Common.DB; using DSWeb.Common.Helper; using DSWeb.Areas.SysMng.DAL.SysUser; namespace DSWeb.MvcShipping.Controllers { [JsonRequestBehavior] public class MsOpSeaiController : Controller { #region 窗口页面 public ActionResult Index() { return View(); } public ActionResult HistryFeeIndex() { return View(); } public ActionResult Edit() { return View(); } public ActionResult FeeEdit() { return View(); } public ActionResult SeaiFeeView() { return View(); } public ActionResult FeeAmendEdit() { return View(); } public ActionResult ReceiptEdit() { return View(); } public ActionResult WMSIN() { return View(); } public ActionResult WMSINEdit() { return View(); } public ActionResult WMSOUT() { return View(); } public ActionResult WMSOUTEdit() { return View(); } public ActionResult PiLiangFeeEdit() { return View(); } public ActionResult EditView() { return View(); } public ActionResult SaleIndex() { return View(); } public ActionResult Seae2SeaiIndex() { return View(); } public ActionResult SaleEdit() { return View(); } public ActionResult AmendIndex() { return View(); } public ActionResult AmendFeeEdit() { return View(); } #endregion #region 基本函数 public ContentResult GetDataList(int start, int limit, string sort, string condition) { 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 dataList = MsOpSeaiDAL.GetDataList(start, limit, condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); int count = MsOpSeaiDAL.getTotalCount(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetSaleDataList(int start, int limit, string sort, string condition) { 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 dataList = MsOpSeaiDAL.GetSaleDataList(condition, Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort, Convert.ToString(Session["USERID"])); 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 GetAmendDataList(int start, int limit, string sort, string condition, string load) { 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 dataList = MsOpSeaiDAL.GetAmendDataList(start, limit, condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); int count = MsOpSeaiDAL.getAmendTotalCount(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult GetAmendDataListStr(string sort, string condition) { var dataListStr = MsOpSeaiDAL.GetAmendDataStr(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); var json = JsonConvert.Serialize(new { Success = true, Message = dataListStr.Message, data = dataListStr.Data }); return new ContentResult() { Content = json }; } public ContentResult GetFenList(int start, int limit, string sort, string condition) { var dataList = MsOpSeaiDAL.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 GetDataListStr(string sort, string condition) { var dataListStr = MsOpSeaiDAL.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 GetData(string handle, string condition) { string userid = Convert.ToString(Session["USERID"]); if (userid == "" || userid == null) { var jsonRespose = new JsonResponse { Success = false, Message = "登陆状态失效,请重新登陆进行操作!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } MsOpSeai head = null; if (handle == "edit" || handle == "copyadd") { head = MsOpSeaiDAL.GetData(condition); } if (head == null) { head = new MsOpSeai(); head.OP = Convert.ToString(Session["SHOWNAME"]); head.BSTYPE = "2"; var SALEORDERDEPTBYOP = MsSysParamSetDAL.GetData("PARAMNAME='SALEORDERDEPTBYOP'"); if (SALEORDERDEPTBYOP.PARAMVALUE == "1") { head.SALEDEPT = Convert.ToString(Session["DEPTNAME"]); } } if (handle == "copyadd") { var copyfieldlist = MsCodeOpTemplateDAL.GetCodeOpTemplateDetail(" LINKGID in (select top 1 GID from CODE_OP_TEMPLATE where BSTYPE='海运进口' and op='" + CookieConfig.GetCookie_UserId(Request) + "' or ISPUBLIC='是' order by ISPUBLIC)"); if (copyfieldlist.Count != 0) { } } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult GetCountryForWMSIn(string condition) { CountryModel head = null; head = MsOpSeaiDAL.GetCountryModelData(condition); var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult GetAmendData(string condition) { MsOpSeai head = null; var headlist = MsOpSeaiDAL.GetAmendDataList(0, 1, condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); if (headlist.Count > 0) head = headlist[0]; else head = new MsOpSeai(); var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult GetCopyData(string condition, string copyfee = "false", string copybill="false") { MsOpSeai head = null; var oldhead = MsOpSeaiDAL.GetData(condition); var copyfieldlist = MsCodeOpTemplateDAL.GetCodeOpTemplateDetail(" LINKGID in (select top 1 GID from CODE_OP_TEMPLATE where BSTYPE='海运进口' and (op='" + CookieConfig.GetCookie_UserId(Request) + "' or ISPUBLIC='是') order by ISPUBLIC)"); if (copyfieldlist.Count == 0) { head = oldhead; head.BSNO = "topseai" + Guid.NewGuid().ToString(); head.MASTERNO = ""; head.CUSTNO = ""; head.ORDERNO = ""; head.ORDERTYPE = "操作录入"; head.OP = Convert.ToString(Session["SHOWNAME"]); head.INPUTBY = Convert.ToString(Session["SHOWNAME"]); head.OP = Convert.ToString(Session["SHOWNAME"]); head.BSTYPE = "2"; var SALEORDERDEPTBYOP = MsSysParamSetDAL.GetData("PARAMNAME='SALEORDERDEPTBYOP'"); if (SALEORDERDEPTBYOP.PARAMVALUE == "1") { head.SALEDEPT = Convert.ToString(Session["DEPTNAME"]); } head.BSSTATUS = false; head.FEESTATUS = false; head.BSSTATUSREF = "未锁定"; head.FEESTATUSREF = "未锁定"; if (copyfee == "true") { var feelist = MsChFeeDAL.GetAllDataList(condition); if (feelist != null) { for (int _i = 0; _i < feelist.Count; _i++) { feelist[_i].BsNo = "*"; } MsChFeeDAL.SaveFee(feelist, head.BSNO, CookieConfig.GetCookie_UserId(Request)); } } } else { if (head == null) { head = new MsOpSeai(); head.BSNO = "topseai" + Guid.NewGuid().ToString(); head.ORDERTYPE = "操作录入"; head.OP = Convert.ToString(Session["SHOWNAME"]); head.DOC = Convert.ToString(Session["SHOWNAME"]); head.INPUTBY = Convert.ToString(Session["SHOWNAME"]); head.CUSTSERVICE = Convert.ToString(Session["SHOWNAME"]); var period = ChMonthCloseDAL.GetData("", Convert.ToString(Session["COMPANYID"])); if (Convert.ToDateTime(period.FDAY) > DateTime.Now) { head.ACCDATE = period.PERIOD; } else { head.ACCDATE = DateTime.Now.ToString("yyyy-MM"); } foreach (var enumValue in copyfieldlist) { if (enumValue.FIELDNAME == "ORDERTYPE") head.ORDERTYPE = oldhead.ORDERTYPE; if (enumValue.FIELDNAME == "CUSTOMERNAME") head.CUSTOMERNAME = oldhead.CUSTOMERNAME; if (enumValue.FIELDNAME == "BSSOURCEDETAIL") head.BSSOURCEDETAIL = oldhead.BSSOURCEDETAIL; if (enumValue.FIELDNAME == "BSSOURCE") head.BSSOURCE = oldhead.BSSOURCE; if (enumValue.FIELDNAME == "OP") head.OP = oldhead.OP; if (enumValue.FIELDNAME == "CUSTSERVICE") head.CUSTSERVICE = oldhead.CUSTSERVICE; if (enumValue.FIELDNAME == "SALE") head.SALE = oldhead.SALE; if (enumValue.FIELDNAME == "VESSEL") head.VESSEL = oldhead.VESSEL; if (enumValue.FIELDNAME == "VOYNO") head.VOYNO = oldhead.VOYNO; if (enumValue.FIELDNAME == "ETD") head.ETD = oldhead.ETD; if (enumValue.FIELDNAME == "PORTLOADID") head.PORTLOADID = oldhead.PORTLOADID; if (enumValue.FIELDNAME == "PORTLOAD") head.PORTLOAD = oldhead.PORTLOAD; if (enumValue.FIELDNAME == "PORTDISCHARGEID") head.PORTDISCHARGEID = oldhead.PORTDISCHARGEID; if (enumValue.FIELDNAME == "PORTDISCHARGE") head.PORTDISCHARGE = oldhead.PORTDISCHARGE; if (enumValue.FIELDNAME == "GOODSNAME") head.GOODSNAME = oldhead.GOODSNAME; if (enumValue.FIELDNAME == "CONTRACTNO") head.CONTRACTNO = oldhead.CONTRACTNO; if (enumValue.FIELDNAME == "KGS") head.KGS = oldhead.KGS; if (enumValue.FIELDNAME == "PKGS") head.PKGS = oldhead.PKGS; if (enumValue.FIELDNAME == "KINDPKGS") head.KINDPKGS = oldhead.KINDPKGS; if (enumValue.FIELDNAME == "REMARK") head.REMARK = oldhead.REMARK; if (enumValue.FIELDNAME == "YARD") head.YARD = oldhead.YARD; if (enumValue.FIELDNAME == "BLTYPE") head.BLTYPE = oldhead.BLTYPE; if (enumValue.FIELDNAME == "CBM") head.CBM = oldhead.CBM; if (enumValue.FIELDNAME == "CARRIER") head.CARRIER = oldhead.CARRIER; if (enumValue.FIELDNAME == "TRUCKER") head.TRUCKER = oldhead.TRUCKER; if (enumValue.FIELDNAME == "CUSTOMSNUM") head.CUSTOMSNUM = oldhead.CUSTOMSNUM; if (enumValue.FIELDNAME == "NOPKGS") head.NOPKGS = oldhead.NOPKGS; if (enumValue.FIELDNAME == "GROSSWEIGHT") head.GROSSWEIGHT = oldhead.GROSSWEIGHT; if (enumValue.FIELDNAME == "MEASUREMENT") head.MEASUREMENT = oldhead.MEASUREMENT; if (enumValue.FIELDNAME == "DESCRIPTION") head.DESCRIPTION = oldhead.DESCRIPTION; if (enumValue.FIELDNAME == "TOTALNO") head.TOTALNO = oldhead.TOTALNO; if (enumValue.FIELDNAME == "TRANSNO") head.TRANSNO = oldhead.TRANSNO; if (enumValue.FIELDNAME == "SHIPPERID") head.SHIPPERID = oldhead.SHIPPERID; if (enumValue.FIELDNAME == "CONSIGNEEID") head.CONSIGNEEID = oldhead.CONSIGNEEID; if (enumValue.FIELDNAME == "NOTIFYPARTYID") head.NOTIFYPARTYID = oldhead.NOTIFYPARTYID; if (enumValue.FIELDNAME == "SHIPPER") head.SHIPPER = oldhead.SHIPPER; if (enumValue.FIELDNAME == "CONSIGNEE") head.CONSIGNEE = oldhead.CONSIGNEE; if (enumValue.FIELDNAME == "NOTIFYPARTY") head.NOTIFYPARTY = oldhead.NOTIFYPARTY; if (enumValue.FIELDNAME == "AGENTID") head.AGENTID = oldhead.AGENTID; if (enumValue.FIELDNAME == "AGENT") head.AGENT = oldhead.AGENT; if (enumValue.FIELDNAME == "CLOSINGDATE") head.CLOSINGDATE = oldhead.CLOSINGDATE; if (enumValue.FIELDNAME == "ETA") head.ETA = oldhead.ETA; if (enumValue.FIELDNAME == "PLACERECEIPT" || enumValue.FIELDNAME == "PlACERECEIPT") head.PlACERECEIPT = oldhead.PlACERECEIPT; if (enumValue.FIELDNAME == "PLACERECEIPTID") head.PLACERECEIPTID = oldhead.PLACERECEIPTID; if (enumValue.FIELDNAME == "PLACEDELIVERYID") head.PLACEDELIVERYID = oldhead.PLACEDELIVERYID; if (enumValue.FIELDNAME == "PLACEDELIVERY") head.PLACEDELIVERY = oldhead.PLACEDELIVERY; if (enumValue.FIELDNAME == "DESTINATIONID") head.DESTINATIONID = oldhead.DESTINATIONID; if (enumValue.FIELDNAME == "DESTINATION") head.DESTINATION = oldhead.DESTINATION; if (enumValue.FIELDNAME == "NOBILL") head.NOBILL = oldhead.NOBILL; if (enumValue.FIELDNAME == "ISSUEDATE") head.ISSUEDATE = oldhead.ISSUEDATE; if (enumValue.FIELDNAME == "ISSUEPLACE") head.ISSUEPLACE = oldhead.ISSUEPLACE; if (enumValue.FIELDNAME == "BLFRT") head.BLFRT = oldhead.BLFRT; if (enumValue.FIELDNAME == "PREPARDAT") head.PREPARDAT = oldhead.PREPARDAT; if (enumValue.FIELDNAME == "PAYABLEAT") head.PAYABLEAT = oldhead.PAYABLEAT; if (enumValue.FIELDNAME == "SERVICE") head.SERVICE = oldhead.SERVICE; if (enumValue.FIELDNAME == "MARKS") head.MARKS = oldhead.MARKS; if (enumValue.FIELDNAME == "LANE") head.LANE = oldhead.LANE; if (enumValue.FIELDNAME == "FORWARDER") head.FORWARDER = oldhead.FORWARDER; if (enumValue.FIELDNAME == "INVNO") head.INVNO = oldhead.INVNO; if (enumValue.FIELDNAME == "CARGOID") head.CARGOID = oldhead.CARGOID; if (enumValue.FIELDNAME == "DCLASS") head.DCLASS = oldhead.DCLASS; if (enumValue.FIELDNAME == "DUNNO") head.DUNNO = oldhead.DUNNO; if (enumValue.FIELDNAME == "REEFERF") head.REEFERF = oldhead.REEFERF; if (enumValue.FIELDNAME == "TEMPID") head.TEMPID = oldhead.TEMPID; if (enumValue.FIELDNAME == "TEMPSET") head.TEMPSET = oldhead.TEMPSET; if (enumValue.FIELDNAME == "TEMPMAX") head.TEMPMAX = oldhead.TEMPMAX; if (enumValue.FIELDNAME == "TEMPMIN") head.TEMPMIN = oldhead.TEMPMIN; if (enumValue.FIELDNAME == "ORDTYPE") head.ORDTYPE = oldhead.ORDTYPE; if (enumValue.FIELDNAME == "ORDERNO") head.ORDERNO = oldhead.ORDERNO; if (enumValue.FIELDNAME == "INSURANCEER") head.INSURANCEER = oldhead.INSURANCEER; if (enumValue.FIELDNAME == "INSURANCENO") head.INSURANCENO = oldhead.INSURANCENO; if (enumValue.FIELDNAME == "INAMOUT") head.INAMOUT = oldhead.INAMOUT; if (enumValue.FIELDNAME == "ISFUMIGATION") head.ISFUMIGATION = oldhead.ISFUMIGATION; if (enumValue.FIELDNAME == "ISSTORAGE") head.ISSTORAGE = oldhead.ISSTORAGE; if (enumValue.FIELDNAME == "ISLAND") head.ISLAND = oldhead.ISLAND; if (enumValue.FIELDNAME == "ISCUSTOMS") head.ISCUSTOMS = oldhead.ISCUSTOMS; if (enumValue.FIELDNAME == "ISINSPECTION") head.ISINSPECTION = oldhead.ISINSPECTION; if (enumValue.FIELDNAME == "ISBOOKING") head.ISBOOKING = oldhead.ISBOOKING; if (enumValue.FIELDNAME == "ISAGENT") head.ISAGENT = oldhead.ISAGENT; if (enumValue.FIELDNAME == "ISHBLNO") head.ISHBLNO = oldhead.ISHBLNO; if (enumValue.FIELDNAME == "SERVICE9") head.SERVICE9 = oldhead.SERVICE9; if (enumValue.FIELDNAME == "SERVICE10") head.SERVICE10 = oldhead.SERVICE10; if (enumValue.FIELDNAME == "DOC") head.DOC = oldhead.DOC; if (enumValue.FIELDNAME == "PACKINGTYPE") head.PACKINGTYPE = oldhead.PACKINGTYPE; if (enumValue.FIELDNAME == "WAREHOUSE") head.WAREHOUSE = oldhead.WAREHOUSE; if (enumValue.FIELDNAME == "CLOSEDOCDATE") head.CLOSEDOCDATE = oldhead.CLOSEDOCDATE; if (enumValue.FIELDNAME == "INTOPORTDATE") head.INTOPORTDATE = oldhead.INTOPORTDATE; if (enumValue.FIELDNAME == "MBLFRT") head.MBLFRT = oldhead.MBLFRT; if (enumValue.FIELDNAME == "STLNAME") head.STLNAME = oldhead.STLNAME; if (enumValue.FIELDNAME == "STLDATE") head.STLDATE = oldhead.STLDATE; if (enumValue.FIELDNAME == "OPERATOR") head.OPERATOR = oldhead.OPERATOR; if (enumValue.FIELDNAME == "OPERATORTEL") head.OPERATORTEL = oldhead.OPERATORTEL; if (enumValue.FIELDNAME == "FINANCIALSTAFF") head.FINANCIALSTAFF = oldhead.FINANCIALSTAFF; if (enumValue.FIELDNAME == "SOURCECODE") head.SOURCECODE = oldhead.SOURCECODE; if (enumValue.FIELDNAME == "ISCONTAINERSOC") head.ISCONTAINERSOC = oldhead.ISCONTAINERSOC; if (enumValue.FIELDNAME == "DPAGE") head.DPAGE = oldhead.DPAGE; if (enumValue.FIELDNAME == "DLABEL") head.DLABEL = oldhead.DLABEL; if (enumValue.FIELDNAME == "LINKMAN") head.LINKMAN = oldhead.LINKMAN; if (enumValue.FIELDNAME == "VESSELID") head.VESSELID = oldhead.VESSELID; if (enumValue.FIELDNAME == "ISSUEPLACEID") head.ISSUEPLACEID = oldhead.ISSUEPLACEID; if (enumValue.FIELDNAME == "CUSTOMNO") head.CUSTOMNO = oldhead.CUSTOMNO; if (enumValue.FIELDNAME == "CUSTOMDATE") head.CUSTOMDATE = oldhead.CUSTOMDATE; if (enumValue.FIELDNAME == "INSPECTIONNO") head.INSPECTIONNO = oldhead.INSPECTIONNO; if (enumValue.FIELDNAME == "INSPECTIONDATE") head.INSPECTIONDATE = oldhead.INSPECTIONDATE; if (enumValue.FIELDNAME == "ENTERP") head.ENTERP = oldhead.ENTERP; if (enumValue.FIELDNAME == "TERMSDELIVERY") head.TERMSDELIVERY = oldhead.TERMSDELIVERY; if (enumValue.FIELDNAME == "INSPECTSERVICE") head.INSPECTSERVICE = oldhead.INSPECTSERVICE; if (enumValue.FIELDNAME == "TRADETERM") head.TRADETERM = oldhead.TRADETERM; if (enumValue.FIELDNAME == "SHIPAGENCY") head.SHIPAGENCY = oldhead.SHIPAGENCY; if (enumValue.FIELDNAME == "ISMOREGOOD") head.ISMOREGOOD = oldhead.ISMOREGOOD; if (enumValue.FIELDNAME == "CUSTNO") head.CUSTNO = oldhead.CUSTNO; if (enumValue.FIELDNAME == "MBLNO") head.MBLNO = oldhead.MBLNO; if (enumValue.FIELDNAME == "HBLNO") head.HBLNO = oldhead.HBLNO; if (enumValue.FIELDNAME == "APPLYNO") head.APPLYNO = oldhead.APPLYNO; if (enumValue.FIELDNAME == "UNITOFWEIGHT") head.UNITOFWEIGHT = oldhead.UNITOFWEIGHT; if (enumValue.FIELDNAME == "ISSUETYPE") head.ISSUETYPE = oldhead.ISSUETYPE; if (enumValue.FIELDNAME == "VESSELID") head.VESSELID = oldhead.VESSELID; if (enumValue.FIELDNAME == "SALECORPID") head.SALECORPID = oldhead.SALECORPID; if (enumValue.FIELDNAME == "COUNTRYOFORIGIN") head.COUNTRYOFORIGIN = oldhead.COUNTRYOFORIGIN; if (enumValue.FIELDNAME == "NUMBERPLATE") head.NUMBERPLATE = oldhead.NUMBERPLATE; if (enumValue.FIELDNAME == "UNITS") head.UNITS = oldhead.UNITS; if (enumValue.FIELDNAME == "TRANSKINDPKGS") head.TRANSKINDPKGS = oldhead.TRANSKINDPKGS; if (enumValue.FIELDNAME == "BALES") head.BALES = oldhead.BALES; if (enumValue.FIELDNAME == "CUSTOMSER") head.CUSTOMSER = oldhead.CUSTOMSER; if (enumValue.FIELDNAME == "INSPECTION") head.INSPECTION = oldhead.INSPECTION; if (enumValue.FIELDNAME == "INSPECTIONNO") head.INSPECTIONNO = oldhead.INSPECTIONNO; if (enumValue.FIELDNAME == "INSPECTIONDATE") head.INSPECTIONDATE = oldhead.INSPECTIONDATE; if (enumValue.FIELDNAME == "FBP") head.FBP = oldhead.FBP; if (enumValue.FIELDNAME == "BMDDATE") head.BMDDATE = oldhead.BMDDATE; if (enumValue.FIELDNAME == "MDTDATE") head.MDTDATE = oldhead.MDTDATE; if (enumValue.FIELDNAME == "MT") head.MT = oldhead.MT; if (enumValue.FIELDNAME == "TRADINGAGENCY") head.TRADINGAGENCY = oldhead.TRADINGAGENCY; if (enumValue.FIELDNAME == "GOODSTYPENAME") head.GOODSTYPENAME = oldhead.GOODSTYPENAME; if (enumValue.FIELDNAME == "SHOWNAME") head.SHOWNAME = oldhead.SHOWNAME; if (enumValue.FIELDNAME == "APPROVENO") head.APPROVENO = oldhead.APPROVENO; if (enumValue.FIELDNAME == "GRADE") head.GRADE = oldhead.GRADE; if (enumValue.FIELDNAME == "NOR") head.NOR = oldhead.NOR; if (enumValue.FIELDNAME == "STORAGENAME") head.STORAGENAME = oldhead.STORAGENAME; if (enumValue.FIELDNAME == "ISFORCEDTODESPATCH") head.ISFORCEDTODESPATCH = oldhead.ISFORCEDTODESPATCH; if (enumValue.FIELDNAME == "BSKGS") head.BSKGS = oldhead.BSKGS; if (enumValue.FIELDNAME == "ACTUALKGS") head.ACTUALKGS = oldhead.ACTUALKGS; if (enumValue.FIELDNAME == "DRAFTKGS") head.DRAFTKGS = oldhead.DRAFTKGS; if (enumValue.FIELDNAME == "WHARFSKGS") head.WHARFSKGS = oldhead.WHARFSKGS; if (enumValue.FIELDNAME == "WMSINKGS") head.WMSINKGS = oldhead.WMSINKGS; if (enumValue.FIELDNAME == "WMSOUTKGS") head.WMSOUTKGS = oldhead.WMSOUTKGS; if (enumValue.FIELDNAME == "DIFFERENCEKGS") head.DIFFERENCEKGS = oldhead.DIFFERENCEKGS; if (enumValue.FIELDNAME == "WATERCONTENT") head.WATERCONTENT = oldhead.WATERCONTENT; if (enumValue.FIELDNAME == "WATERDENSITY") head.WATERDENSITY = oldhead.WATERDENSITY; if (enumValue.FIELDNAME == "WMSTYPE") head.WMSTYPE = oldhead.WMSTYPE; if (enumValue.FIELDNAME == "ISMOREGOOD") head.ISMOREGOOD = oldhead.ISMOREGOOD; if (enumValue.FIELDNAME == "CHANGEDOCDATE") head.CHANGEDOCDATE = oldhead.CHANGEDOCDATE; if (enumValue.FIELDNAME == "ISMOREGOOD") head.ISMOREGOOD = oldhead.ISMOREGOOD; if (enumValue.FIELDNAME == "TERMSDELIVERY") head.TERMSDELIVERY = oldhead.TERMSDELIVERY; if (enumValue.FIELDNAME == "INSPECTSERVICE") head.INSPECTSERVICE = oldhead.INSPECTSERVICE; if (enumValue.FIELDNAME == "SHIPAGENCY") head.SHIPAGENCY = oldhead.SHIPAGENCY; if (enumValue.FIELDNAME == "ISBONDED") head.ISBONDED = oldhead.ISBONDED; if (enumValue.FIELDNAME == "TIHUOTIME") head.TIHUOTIME = oldhead.TIHUOTIME; if (enumValue.FIELDNAME == "SJYHDATE") head.SJYHDATE = oldhead.SJYHDATE; if (enumValue.FIELDNAME == "YaXiangDate") head.YaXiangDate = oldhead.YaXiangDate; if (enumValue.FIELDNAME == "YaXiangDiDian") head.YaXiangDiDian = oldhead.YaXiangDiDian; if (enumValue.FIELDNAME == "YaXiangJinE") head.YaXiangJinE = oldhead.YaXiangJinE; if (enumValue.FIELDNAME == "CTNNUM") head.CTNNUM = oldhead.CTNNUM; if (enumValue.FIELDNAME == "WMSCTNNUM") head.WMSCTNNUM = oldhead.WMSCTNNUM; if (enumValue.FIELDNAME == "MaTou") head.MaTou = oldhead.MaTou; if (enumValue.FIELDNAME == "TRADETYPE") head.TRADETYPE = oldhead.TRADETYPE; } if (copyfee == "true") { var feelist = MsChFeeDAL.GetAllDataList(condition); if (feelist != null) { for (int _i = 0; _i < feelist.Count; _i++) { feelist[_i].BsNo = "*"; } MsChFeeDAL.SaveFee(feelist, head.BSNO, CookieConfig.GetCookie_UserId(Request)); } } } } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } public ContentResult GetBodyList(string condition) { var dataList = MsOpSeaiDAL.GetBodyList(condition); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } #region 保存 public ContentResult Save(string opstatus, string data, string data2, string data3, string body, string goodsbody) { 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 headData = JsonConvert.Deserialize(data.Replace("}", ",") + data2.Replace("{", "").Replace("}", ",") + data3.Replace("{", "")); var bodyList = JsonConvert.Deserialize>(body); var goodsbodyList = JsonConvert.Deserialize>(goodsbody); var isPost = true; var errorstr = ""; var iscreatecustno = false; #region 默认值 T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA(); string rq = T_ALL_DA.GetStrSQL("rq", "select getdate() as rq"); if (headData.INPUTBY.ToString().Trim() == "") { headData.INPUTBY = Convert.ToString(Session["SHOWNAME"]); } if (headData.CORPID == "" || headData.CORPID ==null) { headData.CORPID = Convert.ToString(Session["COMPANYID"]); } var isuse = false; var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='海运进口'", Convert.ToString(Session["COMPANYID"])); if (billnoset.BILLTYPE != "") isuse = true; else isuse = MsBaseInfoDAL.GetRuleUse("委托编号", "2"); if (headData.CUSTNO.Trim() == "" || headData.CUSTNO ==null) { if (isuse) { if (billnoset.BILLTYPE != "") { var FENCUSTNOE = MsSysParamSetDAL.GetData("PARAMNAME='FENCUSTNOE'"); if (FENCUSTNOE.PARAMVALUE == "1" && headData.MASTERNO != "" && headData.BSNO != headData.MASTERNO) { headData.CUSTNO = MsSysBillNoSetDAL.GetFenCustNo(headData.MASTERNO, "op_seai"); } else { var CUSTOMHEAD = ""; if (billnoset.CUSTOMHEAD != "") { var HBLCUSTOMHEAD = billnoset.CUSTOMHEAD; if ((HBLCUSTOMHEAD.IndexOf("[SALE]") >= 0) && !string.IsNullOrEmpty(headData.SALE)) { var user = SysUserDAL.GetData("u.SHOWNAME='" + headData.SALE + "'"); if (!string.IsNullOrEmpty(user.NOCODE)) HBLCUSTOMHEAD = HBLCUSTOMHEAD.Replace("[SALE]", user.NOCODE); } if ((HBLCUSTOMHEAD.IndexOf("[OP]") >= 0) && !string.IsNullOrEmpty(headData.OP)) { var user = SysUserDAL.GetData("u.SHOWNAME='" + headData.OP + "'"); if (!string.IsNullOrEmpty(user.NOCODE)) HBLCUSTOMHEAD = HBLCUSTOMHEAD.Replace("[OP]", user.NOCODE); } CUSTOMHEAD = HBLCUSTOMHEAD; var CUST = MsInfoClientDAL.GetData("SHORTNAME='" + headData.CUSTOMERNAME + "'"); CUSTOMHEAD = CUSTOMHEAD.Replace("[CUSTCODE]", CUST.CODENAME); } headData.CUSTNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.ETD.ToString().Trim(), headData.ACCDATE.ToString().Trim(), "", headData.OP, headData.SALECORPID, CUSTOMHEAD); iscreatecustno = true; } } else headData.CUSTNO = MsOpSeaiDAL.getCodeRule("委托编号", "CUSTNO", headData.BSDATE.ToString().Trim(), headData.ACCDATE.ToString().Trim(), Convert.ToString(Session["USERID"]), Convert.ToString(Session["COMPANYID"])); } } else { var ct = MsOpSeaiDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND CUSTNO='" + headData.CUSTNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); if (ct != 0) { isPost = false; errorstr = "委托编号重复"; } } if (headData.CUSTNO == "") { isPost = false; errorstr = "委托编号为空"; } // if (headData.MBLNO != "" && headData.MBLNO != null && headData.BLTYPE != "拼箱分票") { var mblreapeat = MsSysParamSetDAL.GetData("PARAMNAME='SeaiMblrepeat'"); if (mblreapeat.PARAMVALUE != "1") { var ct = MsOpSeaiDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND MBLNO='" + headData.MBLNO + "' and CORPID='" + Convert.ToString(Session["COMPANYID"]) + "'"); if (ct != 0) { isPost = false; errorstr = "主提单号重复"; } } } else { isuse = MsBaseInfoDAL.GetRuleUse("主提单号", "2"); if (isuse) { headData.CUSTNO = MsOpSeaiDAL.getCodeRule("主提单号", "MBLNO", headData.BSDATE.ToString().Trim(), headData.ACCDATE.ToString().Trim(), Convert.ToString(Session["USERID"]), Convert.ToString(Session["COMPANYID"])); } } // if (headData.HBLNO != "" && headData.HBLNO != null) { var mblreapeat = MsSysParamSetDAL.GetData("PARAMNAME='SeaiHblrepeat'"); if (mblreapeat.PARAMVALUE != "1") { var ct = MsOpSeaiDAL.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") { if (billnosethblno.CUSTOMHEAD != "") { var HBLCUSTOMHEAD = billnosethblno.CUSTOMHEAD; var bssource = BasicDataRefDAL.GetSourceData("SOURCENAME='" + headData.BSSOURCE + "'"); var lanelist = BasicDataRefDAL.GetCodeLaneList(); var lane = lanelist.Find(x => x.LANE == headData.LANE); var bstypelist = PubSysDAL.GetEnumValueList(97042, ""); var bstype = bstypelist.Find(x => x.EnumValueName == headData.BLTYPE); HBLCUSTOMHEAD = HBLCUSTOMHEAD.Replace("[BS]", bssource.SOURCECODE); HBLCUSTOMHEAD = HBLCUSTOMHEAD.Replace("[LN]", lane.LANEID); HBLCUSTOMHEAD = HBLCUSTOMHEAD.Replace("[BT]", bstype.EnumValueName_2); // HBLCUSTOMHEAD = HBLCUSTOMHEAD.Replace("[BS]", bssource.SOURCECODE); // HBLCUSTOMHEAD = HBLCUSTOMHEAD.Replace("[BS]", bssource.SOURCECODE); var hblno = MsSysBillNoSetDAL.GetBillNoHblno(billnosethblno, headData.ETD.ToString().Trim(), headData.ACCDATE.ToString().Trim(), HBLCUSTOMHEAD); headData.HBLNO = hblno; } else { 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 = MsOpSeaiDAL.GetRdCount("BSNO<>'" + headData.BSNO + "' AND ORDERNO='" + headData.ORDERNO + "'"); if (ct != 0) { isPost = false; errorstr = "订舱编号重复"; } } // if (headData.ACCDATE.ToString().Trim() == "") { headData.ACCDATE = DateTime.Parse(rq).ToString("yyyy-MM"); } if (headData.BSDATE.ToString().Trim() == "") { headData.BSDATE = rq; } // if (headData.ETD != null) { if (headData.ETD.ToString().Trim() == "") { headData.ETD = null; } } if (headData.ETA != null) { if (headData.ETA.ToString().Trim() == "") { headData.ETA = null; } } if (headData.CUSTOMDATE != null) { if (headData.CUSTOMDATE.ToString().Trim() == "") { headData.CUSTOMDATE = null; } } if (headData.INSPECTIONDATE != null) { if (headData.INSPECTIONDATE.ToString().Trim() == "") { headData.INSPECTIONDATE = null; } } if (headData.BMDDATE != null) { if (headData.BMDDATE.ToString().Trim() == "") { headData.BMDDATE = null; } } if (headData.MDTDATE != null) { if (headData.MDTDATE.ToString().Trim() == "") { headData.MDTDATE = null; } } if (headData.UPDATETIME != null) { if (headData.UPDATETIME.ToString().Trim() == "") { headData.UPDATETIME = null; } } if (headData.CLOSINGDATE != null) { if (headData.CLOSINGDATE.ToString().Trim() == "") { headData.CLOSINGDATE = null; } } if (headData.ISSUEDATE != null) { if (headData.ISSUEDATE.ToString().Trim() == "") { headData.ISSUEDATE = null; } } if (headData.CLOSEDOCDATE != null) { if (headData.CLOSEDOCDATE.ToString().Trim() == "") { headData.CLOSEDOCDATE = null; } } if (headData.INTOPORTDATE != null) { if (headData.INTOPORTDATE.ToString().Trim() == "") { headData.INTOPORTDATE = null; } } if (headData.TARRIFSPAIEDTIEM != null) { if (headData.TARRIFSPAIEDTIEM.ToString().Trim() == "") { headData.TARRIFSPAIEDTIEM = null; } } if (headData.NOR != null) { if (headData.NOR.ToString().Trim() == "") { headData.NOR = null; } } if (headData.STLDATE != null) { if (headData.STLDATE.ToString().Trim() == "") { headData.STLDATE = null; } } if (headData.PORTLOAD == null) { headData.PORTLOAD = ""; } if (headData.PORTDISCHARGE == null) { headData.PORTDISCHARGE = ""; } if (headData.GOODSNAME == null) { headData.GOODSNAME = ""; } if (headData.CUSTOMSER == null) { headData.CUSTOMSER = ""; } if (headData.INSPECTION == null) { headData.INSPECTION = ""; } if (headData.KINDPKGS == null) { headData.KINDPKGS = ""; } if (headData.CARRIER == null) { headData.CARRIER = ""; } if (headData.TRUCKER == null) { headData.TRUCKER = ""; } if (headData.GOODSTYPENAME == null) { headData.GOODSTYPENAME = ""; } if (headData.CURRENCY == null) { headData.CURRENCY = ""; } if (headData.WMSTYPE == null) { headData.WMSTYPE = ""; } if (headData.CHANGEDOCDATE == "") headData.CHANGEDOCDATE = null; if (headData.HGCYDATE == "") headData.HGCYDATE = null; if (headData.CONTRACTDATE == "") headData.CONTRACTDATE = null; //需求编号:SR2017071700004 if (headData.SJYHDATE != null) { if (headData.SJYHDATE.ToString().Trim() == "") { headData.SJYHDATE = null; } } if (headData.YaXiangDate != null) { if (headData.YaXiangDate.ToString().Trim() == "") { headData.YaXiangDate = null; } } #endregion // var nowperiod = ChMonthCloseDAL.GetData("", Convert.ToString(Session["COMPANYID"])); if (opstatus == "add") { #region 默认值 headData.ORDERTYPE = "操作录入"; headData.CREATETIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); if (headData.BSTYPE == null) { headData.BSTYPE = "普通货"; } else { if (headData.BSTYPE.ToString().Trim() == "") { headData.BSTYPE = "普通货"; } } // if (headData.BLTYPE == null) { headData.BLTYPE = "整箱"; } else { if (headData.BLTYPE.ToString().Trim() == "") { headData.BLTYPE = "整箱"; } } // if (headData.MASTERNO == null) { headData.MASTERNO = headData.BSNO; } else { if (headData.MASTERNO.ToString().Trim() == "") { headData.MASTERNO = headData.BSNO; } } #endregion // headData.DbOperationType = DbOperationType.DbotIns; if (Convert.ToDateTime(nowperiod.PERIOD + "-01") > Convert.ToDateTime(headData.ACCDATE + "-01")) { var jsonRespose2 = new JsonResponse { Success = false, Message = "已月末结转,不允许添加业务!", }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } } else if (opstatus == "edit") { headData.DbOperationType = DbOperationType.DbotUpd; headData.ModelUIStatus = "E"; if (Convert.ToDateTime(nowperiod.PERIOD + "-01") > Convert.ToDateTime(headData.ACCDATE + "-01")) { var ACCDATE = T_ALL_DA.GetStrSQL("ACCDATE", "select ACCDATE from v_op_bill WHERE BSNO='" + headData.BSNO + "'"); if (ACCDATE != headData.ACCDATE) { var jsonRespose2 = new JsonResponse { Success = false, Message = "已月末结转,不允许修改会计期间!", }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } } } else { headData.DbOperationType = DbOperationType.DbotDel; } if (opstatus == "add" || opstatus == "edit") { //var _r1 = QY_addWarehouseNotice(headData); var _r2 = QY_ETA_SEND(headData); } 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; } headData.BSSOURCE = headData.BSSOURCE.Trim(); if (headData.MASTERNO == null) { headData.MASTERNO = headData.BSNO; } if (headData.ETA == "") headData.ETA = null; if (headData.ETD == "") headData.ETD = null; if (headData.STLDATE == "") headData.STLDATE = null; if (headData.CUSTOMDATE == "") headData.CUSTOMDATE = null; if (headData.INSPECTIONDATE == "") headData.INSPECTIONDATE = null; if (headData.ISSUEDATE == "") headData.ISSUEDATE = null; if (headData.CLOSEDOCDATE == "") headData.CLOSEDOCDATE = null; if (headData.INTOPORTDATE == "") headData.INTOPORTDATE = null; if (headData.BMDDATE == "") headData.BMDDATE = null; if (headData.MDTDATE == "") headData.MDTDATE = null; if (headData.TARRIFSPAIEDTIEM == "") headData.TARRIFSPAIEDTIEM = null; if (headData.NOR == "") headData.NOR = null; if (headData.UPDATETIME == "") headData.UPDATETIME = null; if (headData.TIHUOTIME == "") headData.TIHUOTIME = null; //需求编号:SR2017071700004 if (headData.SJYHDATE == "") headData.SJYHDATE = null; if (headData.YaXiangDate == "") headData.YaXiangDate = null; #region 判断字段长度 if (isPost) { var seaefield = MsSoftSysTableDAL.GetDefTableDetailList("OP_SEAI"); foreach (var enumValue in seaefield) { if (enumValue.FIELDNAME == "MBLNO" && headData.MBLNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "主提单号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "HBLNO" && headData.HBLNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "分提单号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "CUSTNO" && headData.CUSTNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "委托编号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "ORDERNO" && headData.ORDERNO != null && headData.ORDERNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "订舱编号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "SHIPPERID" && headData.SHIPPERID != null && headData.SHIPPERID.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "发货人代码超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "CONSIGNEEID" && headData.CONSIGNEEID != null && headData.CONSIGNEEID.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "收货人代码超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "NOTIFYPARTYID" && headData.NOTIFYPARTYID != null && headData.NOTIFYPARTYID.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "通知人代码超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "SHIPPER" && headData.SHIPPER != null && headData.SHIPPER.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "发货人超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "CONSIGNEE" && headData.CONSIGNEE != null && headData.CONSIGNEE.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "收货人超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "NOTIFYPARTY" && headData.NOTIFYPARTY != null && headData.NOTIFYPARTY.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "通知人超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "AGENTID" && headData.AGENTID != null && headData.AGENTID.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "代理名称超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "AGENT" && headData.AGENT != null && headData.AGENT.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "代理超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "VESSEL" && headData.VESSEL != null && headData.VESSEL.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "船名超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "VOYNO" && headData.VOYNO != null && headData.VOYNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "航次超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "PORTLOADID" && headData.PORTLOADID != null && headData.PORTLOADID.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "装货港代码超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "PORTLOAD" && headData.PORTLOAD != null && headData.PORTLOAD.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "装货港超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "PORTDISCHARGEID" && headData.PORTDISCHARGEID != null && headData.PORTDISCHARGEID.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "卸货港代码超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "PORTDISCHARGE" && headData.PORTDISCHARGE != null && headData.PORTDISCHARGE.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "卸货港超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "PLACEDELIVERYID" && headData.PLACEDELIVERYID != null && headData.PLACEDELIVERYID.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "交货地代码超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "PLACEDELIVERY" && headData.PLACEDELIVERY != null && headData.PLACEDELIVERY.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "交货地超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "DESTINATIONID" && headData.DESTINATIONID != null && headData.DESTINATIONID.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "目的地代码超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "DESTINATION" && headData.DESTINATION != null && headData.DESTINATION.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "目的地超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "ISSUEPLACE" && headData.ISSUEPLACE != null && headData.ISSUEPLACE.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "签单地点超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "BLFRT" && headData.BLFRT != null && headData.BLFRT.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "付费方式超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "PREPARDAT" && headData.PREPARDAT != null && headData.PREPARDAT.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "预付地点超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "PAYABLEAT" && headData.PAYABLEAT != null && headData.PAYABLEAT.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "到付地点超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "SERVICE" && headData.SERVICE != null && headData.SERVICE.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "运输条款超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "MARKS" && headData.MARKS != null && headData.MARKS.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "唛头超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "NOPKGS" && headData.NOPKGS != null && headData.NOPKGS.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "件数包装超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "DESCRIPTION" && headData.DESCRIPTION != null && headData.DESCRIPTION.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "货物描述超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "GOODSNAME" && headData.GOODSNAME != null && headData.GOODSNAME.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "品名超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "KINDPKGS" && headData.KINDPKGS != null && headData.KINDPKGS.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "包装超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "LANE" && headData.LANE != null && headData.LANE.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "航线超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "INVNO" && headData.INVNO != null && headData.INVNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "发票号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "DCLASS" && headData.DCLASS != null && headData.DCLASS.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "危险品类别超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "DUNNO" && headData.DUNNO != null && headData.DUNNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "危险品编号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "REEFERF" && headData.REEFERF != null && headData.REEFERF.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "冷藏通风量超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "TEMPID" && headData.TEMPID != null && headData.TEMPID.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "温度单位超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "TEMPSET" && headData.TEMPSET != null && headData.TEMPSET.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "设置温度超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "TEMPMAX" && headData.TEMPMAX != null && headData.TEMPMAX.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "最高温度超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "TEMPMIN" && headData.TEMPMIN != null && headData.TEMPMIN.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "最低温度超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "CONTRACTNO" && headData.CONTRACTNO != null && headData.CONTRACTNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "运费协议号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "INSURANCEER" && headData.INSURANCEER != null && headData.INSURANCEER.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "保险人超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "INSURANCENO" && headData.INSURANCENO != null && headData.INSURANCENO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "保险单号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "REMARK" && headData.REMARK != null && headData.REMARK.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "备注超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "STLNAME" && headData.STLNAME != null && headData.STLNAME.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "结算方式超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "ENTERP" && headData.ENTERP != null && headData.ENTERP.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "经营单位超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "LINKMAN" && headData.LINKMAN != null && headData.LINKMAN.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "客户联系人超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "INSPECTSERVICE" && headData.INSPECTSERVICE != null && headData.INSPECTSERVICE.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "报检项目超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "APPLYNO" && headData.APPLYNO != null && headData.APPLYNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "申请放箱号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "CUSTOMNO" && headData.CUSTOMNO != null && headData.CUSTOMNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "报关单号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "INSPECTIONNO" && headData.INSPECTIONNO != null && headData.INSPECTIONNO.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "商检单号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "PLACERECEIPTID" && headData.PLACERECEIPTID != null && headData.PLACERECEIPTID.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "收货地代码超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "TRADETERM" && headData.TRADETERM != null && headData.TRADETERM.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "贸易条款超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "VESSELID" && headData.VESSELID != null && headData.VESSELID.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "船舶呼号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "DPAGE" && headData.DPAGE != null && headData.DPAGE.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "危险品页号超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "TERMSDELIVERY" && headData.TERMSDELIVERY != null && headData.TERMSDELIVERY.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "贸易方式超长,字段长度限制" + enumValue.FIELDLEN; } if (enumValue.FIELDNAME == "DLABEL" && headData.DLABEL != null && headData.DLABEL.Length > Convert.ToInt32(enumValue.FIELDLEN)) { isPost = false; errorstr = "危险品标签超长,字段长度限制" + enumValue.FIELDLEN; } } } #endregion if (isPost) { if (goodsbodyList != null) { foreach (var enumValue in goodsbodyList) { if (enumValue.PONO != "") { if (MsOpSeaiDAL.GetPONOCount(enumValue.BsNo, enumValue.PONO)) { isPost = false; errorstr = errorstr+ " PONO重复"; } } } } } if (isPost) { var modb = new ModelObjectDB(); DBResult result = modb.Save(headData); var BSNO = headData.BSNO; if (result.Success == true) { result = MsOpSeaiDAL.SaveGoodsDetail(headData, goodsbodyList, Convert.ToString(Session["USERID"])); if (headData.APPLYNO != "" && headData.APPLYNO.IndexOf("CPN") > 0 && bodyList.Count == 0) { var applyctnlist = MvcContainer.DAL.MsOpCtnApply.MsOpCtnApplyDAL.GetCtnApplyCtnItemsList("LINKGID in (SELECT GID FROM op_ctnapply WHERE BSNO='" + headData.APPLYNO + "') "); if (applyctnlist.Count != 0) { foreach (var applyctn in applyctnlist) { if (bodyList.FindAll(x => x.CNTRNO == applyctn.CTNNO).Count == 0) { var ctn = new MsOpSeaiDetail(); ctn.BSNO = "*"; ctn.CNTRNO = applyctn.CTNNO; ctn.CTNALL = "20TK"; ctn.CTNNUM = 1; ctn.CTNSTATUS = "F"; ctn.CTN_ID = Guid.NewGuid().ToString(); bodyList.Add(ctn); } } } } result = MsOpSeaiDAL.SaveDetail(headData, bodyList, Convert.ToString(Session["USERID"])); //if (headData.APPLYNO != "" && headData.ETA != null) //{ // var blUpSQL1 = " update op_ctnbscard set I_ETD='" + headData.ETA + "' where IS_RETURE_EMPTY=1 and APPLYNO='" + headData.APPLYNO + "' "; // bool bl1 = T_ALL_DA.GetExecuteSqlCommand(blUpSQL1); //} var istrue = MsBaseInfoDAL.GetUserModuleEnable("modWxOpStatusMsg", Convert.ToString(Session["USERID"])); if (istrue) { if (headData.BSDATE != null && headData.BSDATE != "") { var blUpSQL = " if (select ST_ID from op_status where BSNO='" + headData.BSNO + "' AND STATUS='接单完成') is null insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE,COMPOP) values(NEWID(),'" + headData.BSNO + "','接单完成',1,'" +Convert.ToDateTime(headData.BSDATE).ToString("yyyy-MM-dd HH:mm:ss") + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','1','"+ Convert.ToString(Session["SHOWNAME"]) + "')"; bool bl = T_ALL_DA.GetExecuteSqlCommand(blUpSQL); } if (headData.CUSTOMDATE != null&& headData.CUSTOMDATE!="") { var blUpSQL = " if (select ST_ID from op_status where BSNO='" + headData.BSNO + "' AND STATUS='通关完成') is null insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE,COMPOP) values(NEWID(),'" + headData.BSNO + "','通关完成',1,'" + Convert.ToDateTime(headData.CUSTOMDATE).ToString("yyyy-MM-dd HH:mm:ss") + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','1','" + Convert.ToString(Session["SHOWNAME"]) + "')"; bool bl = T_ALL_DA.GetExecuteSqlCommand(blUpSQL); } if (headData.TIHUOTIME != null && headData.TIHUOTIME != "") { var blUpSQL = " if (select ST_ID from op_status where BSNO='" + headData.BSNO + "' AND STATUS='入库状态') is null insert into op_status(ST_ID,BSNO,STATUS,ISCOMP,COMPTIME,INPUTTIME,STTYPE,COMPOP) values(NEWID(),'" + headData.BSNO + "','入库状态',1,'" + Convert.ToDateTime(headData.TIHUOTIME).ToString("yyyy-MM-dd HH:mm:ss") + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','1','" + Convert.ToString(Session["SHOWNAME"]) + "')"; bool bl = T_ALL_DA.GetExecuteSqlCommand(blUpSQL); } } } else { MsSysBillNoSetDAL.DeleteBsNo(headData.CUSTNO); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsOpSeaiDAL.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 DeleteDetail(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); DBResult result = MsOpSeaiDAL.DeleteDetail2(head); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } 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 = MsOpSeaiDAL.GetFeeCount(head.BSNO); if (isfee) { var jsonRespose = new JsonResponse { Success = false, Message ="此票业务存在费用,请先删除费用才能删除此票业务!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { DBResult result=null; if (head.ORDERTYPE != "网上订舱") { 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_SEAI WHERE MASTERNO='" + head.BSNO + "' AND BSNO<>'" + head.BSNO + "'"); if (BLCOUNT == "0") { var BSNO = head.BSNO; var modb = new ModelObjectDB(); result = modb.Delete(head); if (result.Success == true) { MsOpSeaiDAL.DeleteDetail(head); MsSysBillNoSetDAL.DeleteBsNo(head.CUSTNO); } var jsonRespose3 = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose3) }; } else { var jsonRespose2 = new JsonResponse { Success = false, Message = "此票拼箱主票存在分票业务,请先删除分票信息!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } } else { var BSNO = head.BSNO; var modb = new ModelObjectDB(); result = modb.Delete(head); if (result.Success == true) { MsSysBillNoSetDAL.DeleteBsNo(head.CUSTNO); } if (result.Success == true) { MsOpSeaiDAL.DeleteDetail(head); } } } else { result.Success = false; result.Message = "网上订舱不能删除"; } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } #endregion public ContentResult GetCtnSum(string condition) { var rangstr = MsOpSeaiDAL.GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); if (!string.IsNullOrEmpty(rangstr)) { if (!string.IsNullOrEmpty(condition)) { condition = condition + " and " + rangstr; } else { condition = rangstr; } } condition = condition.Replace("'", "''"); var strSql = new StringBuilder(); strSql.Append(" declare @sql NVARCHAR(max) "); strSql.Append(" set @sql='select S.NOBILL,S.PKGS,S.KGS,S.CBM,S.NETKGS,S.WMSCTNNUM ' "); strSql.Append(" select @sql=@sql+',sum(case C.CTNALL when '''+t.CTN+''' then C.CTNNUM else 0 end) as C'+t.CTN "); strSql.Append(" from (select CTN from code_ctn ) as t"); strSql.Append(" set @sql=@sql+',sum(C.TEU) TEU from op_ctn C left join op_seai B on (B.bsno=C.bsno) "); strSql.Append(" left join (SELECT COUNT(BSNO) AS NOBILL,SUM(KGS) KGS,SUM(PKGS) PKGS,SUM(CBM) CBM,SUM(NETWEIGHT) NETKGS,SUM(ISNULL(W.WMSCTNNUM,0)) WMSCTNNUM"); strSql.Append(" from op_seai B LEFT JOIN (SELECT ASSOCIATEDNO,COUNT(DISTINCT CNTRNO) WMSCTNNUM FROM WMS_IN WHERE ISNULL(CNTRNO,'''')<>'''' GROUP BY ASSOCIATEDNO) W ON W.ASSOCIATEDNO=B.BSNO "); if (!string.IsNullOrEmpty(condition)) { strSql.Append(" Where " + condition); } strSql.Append(" ) S ON (1=1) "); if (!string.IsNullOrEmpty(condition)) { strSql.Append(" Where B.BSNO IS NOT NULL AND " + condition); } else { strSql.Append(" Where B.BSNO IS NOT NULL "); } strSql.Append(" GROUP BY S.NOBILL,S.KGS,S.PKGS,S.CBM,S.NETKGS,S.WMSCTNNUM ' "); 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, 1, dbRptResult, "Result_Set", true); return new ContentResult() { Content = json }; } public ContentResult GetSaleCtnSum(string condition) { condition = condition.Replace("'", "''"); var strSql = new StringBuilder(); strSql.Append(" declare @sql NVARCHAR(max) "); strSql.Append(" set @sql='select S.NOBILL,S.PKGS,S.KGS,S.CBM' "); strSql.Append(" select @sql=@sql+',sum(case C.CTNALL when '''+t.CTN+''' then C.CTNNUM else 0 end) as C'+t.CTN "); strSql.Append(" from (select CTN from code_ctn ) as t"); strSql.Append(" set @sql=@sql+',sum(C.TEU) TEU from op_ctn C left join op_seai B on (B.bsno=C.bsno) "); strSql.Append(" left join (SELECT COUNT(BSNO) AS NOBILL,SUM(KGS) KGS,SUM(PKGS) PKGS,SUM(CBM) CBM from op_seai B "); if (!string.IsNullOrEmpty(condition)) { strSql.Append(" Where " + condition); } strSql.Append(" ) S ON (1=1) "); if (!string.IsNullOrEmpty(condition)) { strSql.Append(" Where " + condition); } strSql.Append(" GROUP BY S.NOBILL,S.KGS,S.PKGS,S.CBM ' "); 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, 1, dbRptResult, "Result_Set", true); return new ContentResult() { Content = json }; } public ContentResult GetCtnList(string condition) { var rangstr = MsOpSeaiDAL.GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); if (!string.IsNullOrEmpty(rangstr)) { if (!string.IsNullOrEmpty(condition)) { condition = condition + " and " + rangstr; } else { condition = rangstr; } } var strSql = new StringBuilder(); strSql.Append(" SELECT DISTINCT C.CTNALL from op_ctn C left join op_seai B on (B.bsno=C.bsno) "); 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 }; } public ContentResult GetCtnDetailList(string condition) { var rangstr = MsOpSeaiDAL.GetRangDAStr("index", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); if (!string.IsNullOrEmpty(rangstr)) { if (!string.IsNullOrEmpty(condition)) { condition = condition + " and " + rangstr; } else { condition = rangstr; } } var strSql = new StringBuilder(); strSql.Append("SELECT g.GID as GOODSNAMEID,b.GOODSNAME,b.UNITOFWEIGHT,c.CTN_ID,c.CTNCODE,c.SIZE,c.CTN,c.CTNNUM,c.CTNALL, "); strSql.Append(" c.CNTRNO,c.SEALNO,c.PKGS,c.KGS,c.CBM from op_ctn c inner join op_seai b on (b.bsno=c.bsno) "); strSql.Append(" left join code_goods g on (g.GOODNAME=b.GOODSNAME) "); 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, 50, dbRptResult, "Result_Set", true); return new ContentResult() { Content = json }; } public ContentResult CreateCtnFee(string bsno, string body) { var iResult = 0; var headList = new List(); var bodyList = JsonConvert.Deserialize>(body); if (bodyList != null) { foreach (var enumValue in bodyList) { if (enumValue.TRUCKFEE != "0" && enumValue.TRUCKFEE != "") { MsChFee data = new MsChFee(); data.BsNo = "*"; data.GId = Guid.NewGuid().ToString(); data.FeeType = 2; data.FeeName = "陆运费"; data.CustomerType = "车队"; data.CustomerName = enumValue.TRUCKER; data.Unit = enumValue.CTNALL; data.UnitPrice = Convert.ToDecimal(enumValue.TRUCKFEE); data.Quantity = 1; data.Amount = Convert.ToDecimal(enumValue.TRUCKFEE); data.Currency = "RMB"; data.ExChangerate = 1; data.EnteroPerator = Convert.ToString(Session["USERID"]); data.IsOpen = "0"; data.IsAdvancedpay = "0"; data.FeeStatus = 1; data.TaxRate = 0; data.NoTaxAmount = Convert.ToDecimal(enumValue.TRUCKFEE); data.TaxUnitPrice = Convert.ToDecimal(enumValue.TRUCKFEE); data.AccTaxRate = 0; data.IsInvoice = "0"; data.LOCALCURR = "RMB"; headList.Add(data); } if (enumValue.CTNFEE != "0" && enumValue.CTNFEE != "") { MsChFee data = new MsChFee(); data.BsNo = "*"; data.GId = Guid.NewGuid().ToString(); data.FeeType = 2; data.FeeName = "箱使费"; data.CustomerType = "车队"; data.CustomerName = enumValue.TRUCKER; data.Unit = "天"; data.UnitPrice = Convert.ToDecimal(enumValue.CTNPRICE); data.Quantity = Convert.ToInt16(enumValue.CTNDAY) - Convert.ToInt16(enumValue.FREECTNDAY); data.Amount = Convert.ToDecimal(enumValue.CTNFEE); data.Currency = "RMB"; data.ExChangerate = 1; data.EnteroPerator = Convert.ToString(Session["USERID"]); data.IsOpen = "0"; data.IsAdvancedpay = "0"; data.FeeStatus = 1; data.TaxRate = 0; data.NoTaxAmount = Convert.ToDecimal(enumValue.CTNFEE); data.TaxUnitPrice = Convert.ToDecimal(enumValue.CTNPRICE); data.AccTaxRate = 0; data.IsInvoice = "0"; data.LOCALCURR = "RMB"; headList.Add(data); } } if (headList != null) { iResult = MsChFeeDAL.SaveUpdateFee(headList, bsno, CookieConfig.GetCookie_UserId(Request)); } } if (iResult == 0 || iResult == 1) { var jsonRespose = new JsonResponse { Success = true, Message = "已生成费用!", Data = "" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } else { var jsonRespose = new JsonResponse { Success = false, Message = "生成费用时出错!", Data = "" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } #endregion #region EDI引入 [HttpPost] public ContentResult ImportEdi() { 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 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) }; } var path = Server.MapPath("../../UploadFiles/Edi"); 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); try { var headList = MsOpSeaiDAL.ImportEdiList(filename, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); //var headList = new List(); if (headList.Count != 0) { var json = JsonConvert.Serialize(new { Success = true, Message = "导入成功" + headList.Count.ToString()+"票", data = headList.ToList() }); return new ContentResult() { Content = json }; } else { var json = JsonConvert.Serialize(new { Success =false, Message = "未导入数据,请确认是否已经有此业务!" }); return new ContentResult() { Content = json }; } } catch (Exception) { jsonRespose.Success = false; jsonRespose.Message = "读取EDI文件出错,请确认文件正确性"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } #endregion #region EDI导出 public ContentResult CreateEDIList(string headData, string mblno, string type, string filetype, string filerole, int isbill, int isnoctn) { 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 headList = JsonConvert.Deserialize>(headData); var path = Server.MapPath("../../EDIFiles/SeaiEdi"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var result = new DBResult(); var error = MsOpSeaiDAL.IsCreateEdi(headList, type, filetype, filerole,""); if (error == "") { var ftpset = MsCodeFtpSetDAL.GetData("EDINAME='" + type + "'", Convert.ToString(Session["COMPANYID"])); var filename = MsOpSeaiDAL.CreateEdi(headList, Convert.ToString(Session["USERCODE"]), path, mblno, filerole, ftpset, type, isbill, isnoctn, "", ""); if (ftpset.SERVERIP != "" && ftpset.SERVERIP != null) result = MsOpSeaiDAL.FtpFile(filename, ftpset); else { result.Success = false; result.Message = "FTP参数没有设置,请先设置FTP参数!"; } } else { result.Success = false; result.Message = error; } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SaveEDIList(string headData, string mblno, string type, string filetype, string filerole, int isbill, int isnoctn) { var headList = JsonConvert.Deserialize>(headData); var path = Server.MapPath("../../EDIFiles/SeaiEdi"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var result = new DBResult(); var error = MsOpSeaiDAL.IsCreateEdi(headList, type, filetype, filerole,""); if (error == "") { var ftpset = MsCodeFtpSetDAL.GetData("EDINAME='" + type + "'", Convert.ToString(Session["COMPANYID"])); var filename = MsOpSeaiDAL.CreateEdi(headList, Convert.ToString(Session["USERCODE"]), path, mblno, filerole, ftpset, type, isbill, isnoctn, "", ""); filename = Path.GetFileName(filename); result.Success = true; result.Data = "../../EDIFiles/SeaiEdi/" + filename; 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 #region DHL EDI public ContentResult CreateDHLList(string bsnos, string mblno, string filerole) { bsnos = bsnos.Replace(",", "','"); var headList = MsOpSeaiDAL.GetDataList("BSNO IN ('" + bsnos + "')", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); var path = Server.MapPath("../../EDIFiles/SeaiEdi"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var result = new DBResult(); var error = MsOpSeaiDAL.IsCreateEdiDHL(headList,filerole); if (error == "") { var ftpset = MsCodeFtpSetDAL.GetData("EDINAME='DHL' ", Convert.ToString(Session["COMPANYID"])); var filename = ""; if (ftpset.SERVERIP != "" && ftpset.SERVERIP != null) { foreach (var bill in headList) { filename = MsOpSeaiDAL.CreateEdiDHL(bill, Convert.ToString(Session["USERCODE"]), path, mblno, filerole, ftpset); result = MsOpSeaiDAL.SFtpFile(filename, ftpset); } } else { result.Success = false; result.Message = "FTP参数没有设置,请先设置FTP参数!"; } } else { result.Success = false; result.Message = error; } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SaveDHLList(string bsnos, string mblno, string filerole) { bsnos = bsnos.Replace(",", "','"); var headList = MsOpSeaiDAL.GetDataList("BSNO IN ('" + bsnos + "')", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); var path = Server.MapPath("../../EDIFiles/SeaiEdi"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var result = new DBResult(); var error = MsOpSeaiDAL.IsCreateEdiDHL(headList, filerole); if (error == "") { var ftpset = MsCodeFtpSetDAL.GetData("EDINAME='DHL' ", Convert.ToString(Session["COMPANYID"])); var filename = ""; if (ftpset.SENDCODE == "") { result.Success = false; result.Message = "EDI参数没有设置,请先设置EDI参数!"; } else { filename = MsOpSeaiDAL.CreateEdiDHL(headList[0], Convert.ToString(Session["USERCODE"]), path, mblno, filerole, ftpset); filename = Path.GetFileName(filename); result.Data = "../../EDIFiles/SeaiEdi/" + 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 #region 舱单申报 public ContentResult CreateCustomList(string bsnos, string type) { bsnos = bsnos.Replace(",", "','"); var billList = MsOpSeaiDAL.GetDataList("BSNO IN ('" + bsnos + "')", CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); var result = new DBResult(); var error = ""; if (error == "") { result = MsOpSeaiDAL.CreateCustomList(billList, type, CookieConfig.GetCookie_UserId(Request), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); } else { result.Success = false; result.Message = error; } var json = JsonConvert.Serialize(result); return new ContentResult() { Content = json }; } #endregion #region 交通部2.0 EDI导出 public ContentResult CreateIFTMBFList(string bsnos, string mblno, string filerole, string carrier) { bsnos = bsnos.Replace(",", "','"); var headList = MsOpSeaiDAL.GetDataList("BSNO IN ('" + bsnos + "')", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); var path = Server.MapPath("../../EDIFiles/SeaiEdi"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var result = new DBResult(); var error = MsOpSeaiDAL.IsCreateEdi(headList, "IFTMBF", "", filerole, carrier); if (error == "") { var ftpset = MsCodeFtpSetDAL.GetData("EDINAME='IFTMBF' AND CARRIERID='" + carrier + "'", Convert.ToString(Session["COMPANYID"])); var filename = ""; filename = MsOpSeaiDAL.CreateEdi(headList, Convert.ToString(Session["USERCODE"]), path, mblno, filerole, ftpset, "IFTMBF", 0, 0, carrier, ""); if (ftpset.SERVERIP != "" && ftpset.SERVERIP != null) result = MsOpSeaiDAL.FtpFile(filename, ftpset); else { result.Success = false; result.Message = "FTP参数没有设置,请先设置FTP参数!"; } } else { result.Success = false; result.Message = error; } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult SaveIFTMBFList(string bsnos, string mblno, string filerole, string carrier) { bsnos = bsnos.Replace(",", "','"); var headList = MsOpSeaiDAL.GetDataList("BSNO IN ('" + bsnos + "')", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); var path = Server.MapPath("../../EDIFiles/SeaiEdi"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var result = new DBResult(); var error = MsOpSeaiDAL.IsCreateEdi(headList, "IFTMBF", "", filerole, carrier); if (error == "") { var ftpset = MsCodeFtpSetDAL.GetData("EDINAME='IFTMBF' AND CARRIERID='" + carrier + "'", Convert.ToString(Session["COMPANYID"])); if (ftpset.SENDCODE == "" || ftpset.RECEIVECODE == "") { result.Success = false; result.Message = "EDI参数没有设置,请先设置EDI参数!"; } else { var filename = ""; //filename = MsOpSeaiDAL.CreateEdi(headList, Convert.ToString(Session["USERCODE"]), path, mblno, filerole, ftpset, "IFTMBF", isbill, 0, carrier, "", "", filetype); filename = MsOpSeaiDAL.CreateEdi(headList, Convert.ToString(Session["USERCODE"]), path, mblno, filerole, ftpset, "IFTMBF", 0, 0, carrier, ""); filename = Path.GetFileName(filename); result.Data = "../../EDIFiles/SeaiEdi/" + 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 #region 生成报关信息 public ContentResult SaveBG(string data, string data2, string data3) { 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 aaa = ""; var head = JsonConvert.Deserialize(data.Replace("}", ",") + data2.Replace("{", "").Replace("}", ",") + data3.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.VOYNO = head.VOYNO; headData.BSSOURCE = head.BSSOURCE; headData.BSSOURCEDETAIL = head.BSSOURCEDETAIL; headData.ETD = head.ETD; headData.ETA = head.ETA; headData.PKGS = head.PKGS; headData.KGS = head.KGS; headData.CBM = head.CBM; headData.PORTLOAD = head.PORTLOAD; headData.PORTDISCHARGE = head.PORTDISCHARGE; headData.SALE = head.SALE; headData.SALEDEPT = head.SALEDEPT; headData.BSTYPE = "2"; headData.CUSTOMDATE = head.CUSTOMDATE; var isuse = MsBaseInfoDAL.GetRuleUse("委托编号", "4"); if (isuse) { var _r = MsOpApplyDAL.getCUSTNO(headData, Session["USERID"].ToString(), Session["SHOWNAME"].ToString(), Session["COMPANYID"].ToString()); headData.CUSTNO = _r.Data.ToString(); } 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 #region 集团委托引入 public ContentResult GetImpDataList(int start, int limit, string sort, string condition) { //var dataList = MsOpSeaiDAL.GetDataList(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); //var list = dataList.Skip(start).Take(limit); var dataList = MsOpSeaiDAL.GetImpDataList(start, limit, condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]), sort); int count = MsOpSeaiDAL.getImpTotalCount(condition, Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"])); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } #endregion #region 导入excel private bool IsNumber(string wmsdate) { { if (String.IsNullOrEmpty(wmsdate)) return false; //是,就返回False ASCIIEncoding ascii = new ASCIIEncoding();//new ASCIIEncoding 的实例 byte[] bytestr = ascii.GetBytes(wmsdate); //把string类型的参数保存到数组里 foreach (byte c in bytestr) //遍历这个数组里的内容 { if (c == 46) continue; if (c < 48 || c > 57) //判断是否为数字 { return false; //不是,就返回False } } return true; //是,就返回True } } ///海运进口 导入excel [HttpPost] public ContentResult ImportExcel(string CtnrData, string data, string data2, string data3) { 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["LoadExcel"]; if (file == null || file.ContentLength == 0 || string.IsNullOrEmpty(file.FileName)) { jsonRespose.Success = false; jsonRespose.Message = "上传文件发生未知错误,请重新上传"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } /* Stream stream = file.InputStream; StreamReader reader = new StreamReader(stream, Encoding.UTF8); string str = ""; while (str != null) { str = reader.ReadLine(); string[] xu = new String[3]; xu = str.Split(','); string ctrnno = xu[0]; string pack = xu[1]; string pkgs = xu[2]; reader.Close(); */ var path = Server.MapPath("../../UploadFiles/CtrnExcel"); var path2 = Server.MapPath("../../UploadFiles/CtrnExcel/"); 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 filenamepath = usercode + DateTime.Now.ToString("yyyyMMddHHmmssfff") + name; string filename = path + "\\" + filenamepath; string excelFilePath = path2 + filenamepath; 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) }; } Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); if (excel == null) { if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); } jsonRespose.Success = false; jsonRespose.Message = "无法创建Excel对象,可能您的服务器计算机未安装Excel!!"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } Workbook workbook = excel.Workbooks.Open(excelFilePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); Worksheet mySheet = workbook.Sheets[1] as Worksheet; try { var isuse = false; var CtrnList = JsonConvert.Deserialize>(CtnrData); var HeadData = JsonConvert.Deserialize(data.Replace("}", ",") + data2.Replace("{", "").Replace("}", ",") + data3.Replace("{", "")); int rowsint = mySheet.UsedRange.Cells.Rows.Count; if (rowsint < 3) { if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); } jsonRespose.Success = false; jsonRespose.Message = "请检查excel文件数据是否正确"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var CtrnExcelList = new List(); for (int i = 3; i < rowsint + 1; i++) { MsOpCtrnExcel CtrnExcel = new MsOpCtrnExcel(); object objDate = mySheet.Cells.get_Range("B" + i).Value2; //入库时间 object objCtrno = mySheet.Cells.get_Range("D" + i).Value2; //箱号 object objPack = mySheet.Cells.get_Range("E" + i).Value2; //件数 object objKgs = mySheet.Cells.get_Range("F" + i).Value2; //毛重 object objblno = mySheet.Cells.get_Range("C" + i).Value2; //提单号 object objarea = mySheet.Cells.get_Range("G" + i).Value2; //储位 object obj_INVOICENO = mySheet.Cells.get_Range("H" + i).Value2; //发票号 object obj_GOODSMODEL = mySheet.Cells.get_Range("I" + i).Value2; //规格型号 object obj_BZTCHNO = mySheet.Cells.get_Range("J" + i).Value2; //批次号 object obj_PRODUCTIONDATE = mySheet.Cells.get_Range("K" + i).Value2; //生产日期 object obj_KINDPKGS = mySheet.Cells.get_Range("L" + i).Value2; //包装 if (objCtrno != null && objPack != null && objPack != null && objDate != null && objblno != null && !string.IsNullOrWhiteSpace(objCtrno.ToString() ) && !string.IsNullOrWhiteSpace(objPack.ToString() ) && !string.IsNullOrWhiteSpace(objKgs.ToString()) && !string.IsNullOrWhiteSpace(objDate.ToString()) && !string.IsNullOrWhiteSpace( objblno.ToString()) ) { CtrnExcel.CtrnNo = objCtrno.ToString(); CtrnExcel.Pkgs = objPack.ToString(); CtrnExcel.Kgs = objKgs.ToString(); string tmpDate = objDate.ToString(); if (IsNumber(tmpDate) ) CtrnExcel.WMSDate = DateTime.FromOADate(Convert.ToDouble(objDate)).ToString("d"); else CtrnExcel.WMSDate = objDate.ToString(); if (objarea != null) CtrnExcel.AreaName = objarea.ToString(); else CtrnExcel.AreaName = ""; CtrnExcel.INVOICENO = (obj_INVOICENO == null ? "" : obj_INVOICENO.ToString()); CtrnExcel.GOODSMODEL = (obj_GOODSMODEL == null ? "" : obj_GOODSMODEL.ToString()); CtrnExcel.BZTCHNO = (obj_BZTCHNO == null ? "" : obj_BZTCHNO.ToString()); CtrnExcel.KINDPKGS = (obj_KINDPKGS == null ? "" : obj_KINDPKGS.ToString()); if (obj_PRODUCTIONDATE != null) { if (IsNumber(obj_PRODUCTIONDATE.ToString())) CtrnExcel.PRODUCTIONDATE = DateTime.FromOADate(Convert.ToDouble(obj_PRODUCTIONDATE)).ToString("d"); else CtrnExcel.PRODUCTIONDATE = obj_PRODUCTIONDATE.ToString(); } else { CtrnExcel.PRODUCTIONDATE = ""; } CtrnExcelList.Add(CtrnExcel); } else { break; } if ( objblno.ToString().Trim() != HeadData.MBLNO.Trim()) { //if (System.IO.File.Exists(filename)) //{ // System.IO.File.Delete(filename); //} jsonRespose.Success = false; jsonRespose.Message = "请检查提单号是否正确"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } foreach (MsOpSeaiDetail item in CtrnList) { if (item.CNTRNO == CtrnExcel.CtrnNo) { item.PKGS = Convert.ToInt32(CtrnExcel.Pkgs); item.KGS = Convert.ToDecimal(CtrnExcel.Kgs)*1000; item.WMSDATE = CtrnExcel.WMSDate.ToString(); item.ISWMS = "0"; item.AREANAME = CtrnExcel.AreaName.ToString(); isuse = true; break; } } } workbook.Close(false, filename, Type.Missing); workbook = null; excel.Quit(); excel = null; bool isSucess = true; if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); } if (!isuse) { jsonRespose.Success = false; jsonRespose.Message = "请检查excel数据,数据不匹配,更新失败"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } DBResult resultCtrn = MsOpSeaiDAL.UpdateCtrnDetail(CtrnList); if (HeadData.STORAGENAME == "" || HeadData.GOODSNAME == "") { System.IO.File.Delete(filename); JsonConvert.Serialize(new { success = true, Message = "提单箱数据更新成功,入库失败,请检查品名和仓库", data = CtrnList, }); } if (resultCtrn.Success) { //按照入库时间、储位分别生成入库单 if (HeadData.BSNO == "") HeadData.BSNO = HeadData.MASTERNO; int ctrnNum = MsOpSeaiDAL.CtrnToWMS_DATENUM(HeadData.BSNO); if (ctrnNum == 0) { { jsonRespose.Success = false; jsonRespose.Message = "提单箱数据更新成功,入库失败,请联系管理员!"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } for (int i = 1; i <= ctrnNum; i++) { List dateList = CtrnToWMSDateList(CtrnList); if (dateList.Count != 0) { for (int j = 1; j <= dateList.Count(); j++) { List areaList = CtrnToAreaList(dateList); if (areaList.Count != 0) { resultCtrn = CtrnToWMS(areaList, HeadData, CtrnExcelList); } } } } } //20191206 更新主业务的毛重和件数 Decimal KGS = 0; Decimal PKGS = 0; foreach (var _ctn in CtrnExcelList) { KGS += Convert.ToDecimal(_ctn.Kgs)*1000; PKGS += Convert.ToDecimal(_ctn.Pkgs); } HeadData.KGS = KGS; HeadData.PKGS = PKGS; HeadData.DbOperationType = DbOperationType.DbotUpd; var modb = new ModelObjectDB(); DBResult result = modb.Save(HeadData); if (!resultCtrn.Success) { jsonRespose.Success = false; jsonRespose.Message = "入库失败!"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var json = JsonConvert.Serialize(new { success = true, Message = "入库成功", data = CtrnList, }); return new ContentResult() { Content = json }; } catch (Exception execError) { workbook.Close(true, Type.Missing, Type.Missing); workbook = null; excel.Quit(); excel = null; System.IO.File.Delete(filename); jsonRespose.Success = false; jsonRespose.Message = "读取Excel文件出错,请确认文件正确性" + execError.Message; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } /// /// 从一组海运进口的集装箱信息中, /// 找到并返回一组与【第一条“ISWMS==0”】的WMSDATE相一致的一组ctn /// 他们的ISWMS被标记为“D”; /// /// /// public List CtrnToWMSDateList(List ctrnList) { List dateList = new List(); string wmsdate = ""; foreach (var enumValue in ctrnList) { if (enumValue.ISWMS == "0" && dateList.Count == 0) { wmsdate = enumValue.WMSDATE; enumValue.ISWMS = "D"; dateList.Add(enumValue); } else if (enumValue.ISWMS == "0" && enumValue.ISWMS !="" && enumValue.WMSDATE == wmsdate) { enumValue.ISWMS = "D"; dateList.Add(enumValue); } } return dateList; } public List CtrnToAreaList(List ctrnList) { List areaList = new List(); string areaname = ""; foreach (var enumValue in ctrnList) { if (enumValue.ISWMS == "D" && areaList.Count == 0) { areaname = enumValue.AREANAME; enumValue.ISWMS = "1"; areaList.Add(enumValue); } else if (enumValue.ISWMS == "D" && enumValue.AREANAME == areaname) { enumValue.ISWMS = "1"; areaList.Add(enumValue); } } return areaList; } /// /// 通过海运进口的集装箱信息 生成相应的入库信息 /// /// /// /// public DBResult CtrnToWMS(List ctrnList, MsOpSeai headData, List CtrnExcelList = null) { DBResult result = null; if (ctrnList.Count == 0) return result; WMSNew wms = new WMSNew(); wms.GID = "Wms" + Guid.NewGuid().ToString().Replace("-", ""); wms.WMSDATE = ctrnList[0].WMSDATE; wms.ACCDATE = wms.WMSDATE.Substring(0, 7); var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='仓储入库'", Convert.ToString(Session["COMPANYID"])); wms.WMSNO = MsSysBillNoSetDAL.GetBillNo(billnoset, ctrnList[0].WMSDATE.ToString().Trim(), wms.ACCDATE.ToString().Trim()); wms.DbOperationType = DbOperationType.DbotIns; wms.ModelUIStatus = "I"; wms.CORPID = Convert.ToString(Session["COMPANYID"]).Trim();//CORPID wms.WMSOP = CookieConfig.GetCookie_UserName(Request); wms.CREATEUSER = CookieConfig.GetCookie_UserId(Request); wms.CREATETIME = DateTime.Now.ToString("yyyy-MM-dd"); wms.MODIFIEDTIME = wms.CREATETIME; wms.MODIFIEDUSER = wms.CREATEUSER; wms.ASSOCIATEDNO = ctrnList[0].BSNO; wms.ISCHANGE = "False"; wms.FREESTORAGEPERIODAP = "0"; wms.BLNO = headData.MBLNO; wms.ASSOCIATEDNO = headData.BSNO; wms.CONTRACTNO = headData.CONTRACTNO; wms.STORAGENAME = headData.STORAGENAME; wms.CUSTOMERNAME = headData.CUSTOMERNAME; wms.ARCLIENT = headData.CUSTOMERNAME; wms.GOODSNAME = headData.GOODSNAME; wms.GOODSNAMEID = headData.GOODSNAMEID; wms.AREANAME = ctrnList[0].AREANAME; wms.FREESTORAGEPERIOD = "0"; wms.STARTBILLINGDATE = wms.WMSDATE; wms.STARTBILLINGDATEAP = wms.WMSDATE; wms.CHARGEUNIT = headData.UNITOFWEIGHT; wms.ISLOCK = "0"; wms.RENTAREA = "0"; wms.MARKETVALUE = "0"; wms.BANKVALUE = "0"; int linenum = 1; int pkgs = 0; decimal kgs = 0; List wmsInList = new List(); List wmsIn_ZMYLList = new List(); List countryList = BasicDataRefDAL.GetCountryRefList(""); if (CtrnExcelList == null) { foreach (MsOpSeaiDetail item in ctrnList) { WMSNewIN wmsin = new WMSNewIN(); wmsin.GID = item.CTN_ID; //wmsin.GID = Guid.NewGuid().ToString(); // wmsin.ASSOCIATEDNO = wms.GID; wmsin.BSNO = wms.ASSOCIATEDNO; wmsin.CONTRACTNO = wms.CONTRACTNO; wmsin.BLNO = wms.BLNO; wmsin.STORAGENAME = wms.STORAGENAME; wmsin.GOODSNAME = wms.GOODSNAME; wmsin.GOODSNAMEID = wms.GOODSNAMEID; pkgs += item.PKGS; wmsin.JIANSHU1 = Convert.ToString(item.PKGS); wmsin.GOODSPACK = Convert.ToString(item.PKGS); wmsin.GOODSPACKSTOCK = Convert.ToString(item.PKGS); wmsin.GOODSPACKACTUAL = Convert.ToString(item.PKGS); kgs += item.KGS / 1000; wmsin.GOODSKGS = Convert.ToString(item.KGS / 1000); wmsin.GOODSSTOCK = Convert.ToString(item.KGS / 1000); wmsin.GOODSRKSL = Convert.ToString(item.KGS / 1000); wmsin.GOODSRKSLACTUAL = Convert.ToString(item.KGS / 1000); wmsin.SHIJIZHONGLIANG = Convert.ToString(item.KGS / 1000); wmsin.CHARGEUNIT = wms.CHARGEUNIT; wmsin.CNTRNO = item.CNTRNO; wmsin.SEALNO = item.SEALNO; wmsin.CTNALL = item.CTNALL; wmsin.STORAGENAME = wms.STORAGENAME; wmsin.CLIENTNAME = wms.CUSTOMERNAME; wmsin.DODATE = wms.WMSDATE; wmsin.CORPID = Convert.ToString(Session["COMPANYID"]).Trim(); wmsin.CREATEUSER = CookieConfig.GetCookie_UserId(Request); wmsin.CREATETIME = DateTime.Now.ToString("yyyy-MM-dd"); wmsin.MODIFIEDTIME = wms.CREATETIME; wmsin.MODIFIEDUSER = wms.CREATEUSER; wmsin.ISLOCK = "0"; wmsin.LOADERFEE = "0"; wmsin.ZhuangXieFei = "0"; wmsin.CHIMA2 = "0"; wmsin.ZHONGLIANG2 = "0"; wmsin.SHIJICHIMA = "0"; wmsin.LUYUNFEI = "0"; wmsin.DIAOTOUFEI = "0"; wmsin.XIUXIXIANGFEI = "0"; wmsin.DIAOZHUANGFEI = "0"; wmsin.JIANSHU2 = "0"; wmsin.LinShiZhuangXieFeiDanJiaDun = "0"; wmsin.LinShiZhuangXieFeiDanJiaJian = "0"; wmsin.FREESTORAGEPERIOD = "0"; wmsin.ISDELETE = "0"; wmsin.APFEE = "0"; wmsin.ARFEE = "0"; wmsin.MARKETVALUE = "0"; wmsin.BANKVALUE = "0"; wmsin.LINENUM = Convert.ToString(linenum); linenum++; wmsin.GOODSTHICKNESS = "0"; wmsin.GOODSWIDTH = "0"; wmsin.GOODSLENGTH = "0"; wmsin.GOODSSLICE = "0"; wmsin.GOODSGRADE = "0"; wmsin.ISCHANGE = "0"; //wmsin.COUNTRYID = ""; Pattern p = Pattern.compile(".*?(?=\\()"); Matcher m = p.matcher(headData.COUNTRYOFORIGIN); var countryname = ""; if (m.find()) { countryname=m.group(); } CountryModel c = countryList.FirstOrDefault(s => s.country.indexOf (countryname) >=0); try { wmsin.COUNTRYID = c.countryid; } catch { wmsin.COUNTRYID = ""; } wmsInList.Add(wmsin); } } if (CtrnExcelList != null) { foreach (MsOpSeaiDetail item in ctrnList) { WMSIN_ZMYL wmsin = new WMSIN_ZMYL(); wmsin.GID = item.CTN_ID; //wmsin.GID = Guid.NewGuid().ToString(); // wmsin.ASSOCIATEDNO = wms.GID; wmsin.BSNO = wms.ASSOCIATEDNO; wmsin.CONTRACTNO = wms.CONTRACTNO; wmsin.BLNO = wms.BLNO; wmsin.STORAGENAME = wms.STORAGENAME; wmsin.GOODSNAME = wms.GOODSNAME; wmsin.GOODSNAMEID = wms.GOODSNAMEID; pkgs += item.PKGS; wmsin.JIANSHU1 = Convert.ToString(item.PKGS); wmsin.GOODSPACK = Convert.ToString(item.PKGS); wmsin.GOODSPACKSTOCK = Convert.ToString(item.PKGS); wmsin.GOODSPACKACTUAL = Convert.ToString(item.PKGS); kgs += item.KGS / 1000; wmsin.GOODSKGS = Convert.ToString(item.KGS / 1000); wmsin.GOODSSTOCK = Convert.ToString(item.KGS / 1000); wmsin.GOODSRKSL = Convert.ToString(item.KGS / 1000); wmsin.GOODSRKSLACTUAL = Convert.ToString(item.KGS / 1000); wmsin.SHIJIZHONGLIANG = Convert.ToString(item.KGS / 1000); wmsin.CHARGEUNIT = wms.CHARGEUNIT; wmsin.CNTRNO = item.CNTRNO; wmsin.SEALNO = item.SEALNO; wmsin.CTNALL = item.CTNALL; wmsin.STORAGENAME = wms.STORAGENAME; wmsin.CLIENTNAME = wms.CUSTOMERNAME; wmsin.DODATE = wms.WMSDATE; wmsin.CORPID = Convert.ToString(Session["COMPANYID"]).Trim(); wmsin.CREATEUSER = CookieConfig.GetCookie_UserId(Request); wmsin.CREATETIME = DateTime.Now.ToString("yyyy-MM-dd"); wmsin.MODIFIEDTIME = wms.CREATETIME; wmsin.MODIFIEDUSER = wms.CREATEUSER; wmsin.ISLOCK = "0"; wmsin.LOADERFEE = "0"; wmsin.ZhuangXieFei = "0"; wmsin.CHIMA2 = "0"; wmsin.ZHONGLIANG2 = "0"; wmsin.SHIJICHIMA = "0"; wmsin.LUYUNFEI = "0"; wmsin.DIAOTOUFEI = "0"; wmsin.XIUXIXIANGFEI = "0"; wmsin.DIAOZHUANGFEI = "0"; wmsin.JIANSHU2 = "0"; wmsin.LinShiZhuangXieFeiDanJiaDun = "0"; wmsin.LinShiZhuangXieFeiDanJiaJian = "0"; wmsin.FREESTORAGEPERIOD = "0"; wmsin.ISDELETE = "0"; wmsin.APFEE = "0"; wmsin.ARFEE = "0"; wmsin.MARKETVALUE = "0"; wmsin.BANKVALUE = "0"; wmsin.LINENUM = Convert.ToString(linenum); linenum++; wmsin.GOODSTHICKNESS = "0"; wmsin.GOODSWIDTH = "0"; wmsin.GOODSLENGTH = "0"; wmsin.GOODSSLICE = "0"; wmsin.GOODSGRADE = "0"; wmsin.ISCHANGE = "0"; //// var CtrnExcel = CtrnExcelList.Find(t => t.CtrnNo == wmsin.CNTRNO); if (CtrnExcel != null) { wmsin.GOODSMODEL = CtrnExcel.GOODSMODEL; wmsin.KINDPKGS = CtrnExcel.KINDPKGS; wmsin.BZTCHNO = CtrnExcel.BZTCHNO; wmsin.PRODUCTIONDATE = CtrnExcel.PRODUCTIONDATE; wmsin.INVOICENO = CtrnExcel.INVOICENO; } wmsin.FACTORYNO = ""; Pattern p = Pattern.compile(".*?(?=\\()"); Matcher m = p.matcher(headData.COUNTRYOFORIGIN); var countryname = ""; if (m.find()) { countryname = m.group(); } CountryModel c = countryList.FirstOrDefault(s => s.country.indexOf(countryname) >= 0); try { wmsin.COUNTRYID = c.countryid; } catch { wmsin.COUNTRYID = ""; } wmsIn_ZMYLList.Add(wmsin); } } wms.TiDanZhongLiang = Convert.ToString(headData.KGS / 1000); wms.TiDanJianShu = Convert.ToString(headData.PKGS); wms.GOODSRKSL = Convert.ToString(kgs); wms.GOODSRKSLACTUAL = Convert.ToString(kgs); wms.GOODSKGS = Convert.ToString(kgs); wms.GOODSSTOCK = Convert.ToString(kgs); wms.GOODSPACK = Convert.ToString(pkgs); wms.GOODSPACKSTOCK = Convert.ToString(pkgs); wms.GOODSPACKACTUAL = Convert.ToString(pkgs); var modb = new ModelObjectRepository(); if (CtrnExcelList == null) { result = modb.Save(wms, ModelObjectConvert.ToModelObjectList(wmsInList), null ); } else { result = modb.Save(wms, ModelObjectConvert.ToModelObjectList(wmsIn_ZMYLList), null ); } if(result.Success) result = MsOpSeaiDAL.UpdateCtrnWMSState(ctrnList); return result; } #endregion #region 提单箱数据入库 public ContentResult SaveCtrnToWMS(string CtnrData, string data, string data2, string data3) { var jsonRespose = new JsonResponse { Success = false, Message = "" }; try { var CtrnList = JsonConvert.Deserialize>(CtnrData); var HeadData = JsonConvert.Deserialize(data.Replace("}", ",") + data2.Replace("{", "").Replace("}", ",") + data3.Replace("{", "")); DBResult resultCtrn = MsOpSeaiDAL.UpdateCtrnDetail(CtrnList); if (resultCtrn.Success) { //按照入库时间、储位分别生成入库单 int ctrnNum = MsOpSeaiDAL.CtrnToWMS_DATENUM(HeadData.BSNO); if (ctrnNum > 0) { for (int i = 1; i <= ctrnNum; i++) { List dateList = CtrnToWMSDateList(CtrnList); if (dateList.Count != 0) { for (int j = 1; j <= dateList.Count(); j++) { List areaList = CtrnToAreaList(dateList); resultCtrn = CtrnToWMS(areaList, HeadData); } } } } } if (!resultCtrn.Success) { jsonRespose.Success = false; jsonRespose.Message = "入库失败!"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var json = JsonConvert.Serialize(new { Success = true, Message = "入库成功", Data = CtrnList, }); return new ContentResult() { Content = json }; } catch (Exception execError) { jsonRespose.Success = false; jsonRespose.Message = "对不起,提单箱数据入库出现异常" + execError.Message; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } #endregion // #region 红柿子-青银 接口发送到港日 public ContentResult Needsend(string headid) { var condition = $" B.bsno='{headid}'"; var head = MsOpSeaiDAL.GetData(condition); CommonDataContext cdc = new CommonDataContext(); var cansendparam = cdc.sys_param_set.Where(x => x.PARAMNAME == "QY_ETA_SEND").ToList(); var result = new DBResult(); if (cansendparam != null && cansendparam.Count > 0) { if (cansendparam[0].PARAMVALUE == "1") { result.setMessage(true, ""); } } else result.SetErrorInfo("无此项目"); var json = JsonConvert.Serialize( new { Success = result.Success, Message = result.Message, data = "" }); return new ContentResult() { Content = json }; } private static DBResult needsend(MsOpSeai headData) { var result = new DBResult(); if (string.IsNullOrWhiteSpace(headData.CONTRACTNO) || string.IsNullOrWhiteSpace(headData.MBLNO) || string.IsNullOrWhiteSpace(headData.ETD)) { result.SetErrorInfo("数据不全,不需传送"); return result; } CommonDataContext cdc = new CommonDataContext(); var cansendparam = cdc.sys_param_set.Where(x => x.PARAMNAME == "QY_ETA_SEND").ToList(); if (cansendparam != null && cansendparam.Count > 0) { if (cansendparam[0].PARAMVALUE == "1") { result.setMessage(true, ""); } } else result.SetErrorInfo("无此项目"); return result; } public class saveEtaTimemb { public string status { get; set; } public string msg { get; set; } } public static DBResult QY_ETA_SEND(MsOpSeai headData) { var result = new DBResult(); CommonDataContext cdc = new CommonDataContext(); try { //如果符合条件 则进行发送 var cansend = needsend(headData); if (!cansend.Success) return cansend; var dic = new Dictionary(); dic.Add("contractNo", headData.CONTRACTNO); dic.Add("blNo", headData.MBLNO); dic.Add("etatime", headData.ETD); //var _IURL = "http://47.105.179.40:8080/wms-admin/api/edi/saveEtaTime"; var _IURL = "http://82.157.27.145:8099/wms-admin/api/edi/saveEtaTime"; string Contentjson = JsonConvert.Serialize(dic); var rtn = WebRequestHelper.DoPost(_IURL, Contentjson); //var rtn = WebRequestHelper.DoPost(_SandBoxURL, dic, 20000); //RepCZModel CZM = Newtonsoft.Json.JsonConvert.DeserializeObject(rtn); saveEtaTimemb pt = Newtonsoft.Json.JsonConvert.DeserializeObject(rtn); if (pt.status == "0") { result.OK(); return result; } else { result.SetErrorInfo(pt.msg); return result; } } catch (Exception e) { result.SetErrorInfo(e.Message); return result; } return result; } public class QY_WarehouseNotice_good { public string goodId { get; set; } public string goodCode { get; set; } public string goodName { get; set; } public string oneNum { get; set; } public string unit { get; set; } public string grossWeightSum { get; set; } public string total { get; set; } public QY_WarehouseNotice_good() { } public QY_WarehouseNotice_good(MsOpApplyDetail detail) { goodId = detail.BsNo + detail.SerialNo; goodCode = detail.GoodsCode; goodName = detail.GoodsName; oneNum = Math.Round(detail.GOODSNUM,0).ToString(); unit = detail.KINDPKGS; grossWeightSum = detail.KGS.ToString(); total = detail.Total.ToString(); } } public class QY_WarehouseNotice { public string id { get; set; } public string blNo { get; set; } public string contractNo { get; set; } /// /// 委托编号 /// public string custNo { get; set; } public string customerCode { get; set; } public string trade { get; set; } public string caseType { get; set; } public string etaDate { get; set; } public string receiveDate { get; set; } public string remark { get; set; } public List goodsList { get; set; } public QY_WarehouseNotice() { } public QY_WarehouseNotice(MsOpSeai headData) { id = headData.BSNO; blNo = headData.MBLNO; contractNo = headData.CONTRACTNO; custNo = headData.CUSTNO; var custcode = BasicDataRefDAL.GetCustomerCode(headData.CUSTOMERNAME); //customerCode = headData.CUSTOMERNAME; customerCode = headData.APPLYNO;//20220323修改 trade = headData.TRADETYPE; caseType = headData.CNTRTOTAL.replace("/",","); etaDate = headData.ETD; receiveDate = headData.BSDATE+" 00:00:00"; remark = headData.REMARK; var detaillist= MsOpApplyDAL.GetBodyList(" BsNo='" + id + "' "); goodsList = new List(); foreach (var item in detaillist) { var newdetail = new QY_WarehouseNotice_good(item); goodsList.Add(newdetail); } } public DBResult cansend() { var result = new DBResult(); result.setMessage(true, ""); if (goodsList==null|| goodsList.Count == 0) { result.SetErrorInfo("没有商品明细"); } if (goodsList .Exists(x=>Convert.ToInt32( x.oneNum)==0)) { result.SetErrorInfo("存在件数为0的商品信息"); } return result; } } public ContentResult QY_addWarehouseNotice(string headid) { var condition = $" B.bsno='{headid}'"; var head = MsOpSeaiDAL.GetData(condition); var dbresult = QY_addWarehouseNotice(head); var json = JsonConvert.Serialize( new { Success = dbresult.Success, Message = dbresult.Message, data = "" }); return new ContentResult() { Content = json }; } public static DBResult QY_addWarehouseNotice(MsOpSeai headData) { var result = new DBResult(); CommonDataContext cdc = new CommonDataContext(); try { //如果符合条件 则进行发送 //var cansend = needsend(headData); //if (!cansend.Success) return cansend; var newrecord = new QY_WarehouseNotice(headData); //var _IURL = "http://47.105.179.40:8080/wms-admin/api/edi/addWarehouseNotice"; var _IURL = "http://82.157.27.145:8099/wms-admin/api/edi/addWarehouseNotice"; string Contentjson = JsonConvert.Serialize(newrecord); var rtn = WebRequestHelper.DoPost(_IURL, Contentjson); //var rtn = WebRequestHelper.DoPost(_SandBoxURL, dic, 20000); //RepCZModel CZM = Newtonsoft.Json.JsonConvert.DeserializeObject(rtn); saveEtaTimemb pt = Newtonsoft.Json.JsonConvert.DeserializeObject(rtn); if (pt.status == "0") { result.OK(); return result; } else { result.SetErrorInfo(pt.msg); return result; } } catch (Exception e) { result.SetErrorInfo(e.Message); return result; } return result; } #endregion } }