You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DS7/DSWeb/Areas/MvcShipping/Controllers/MsOpSeaiController.cs

2961 lines
144 KiB
C#

2 years ago
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")
{
2 years ago
//var feelist = MsChFeeDAL.GetAllDataList(condition);
var feelist = MsChFeeDAL.GetDataList(condition, 1, "op_seai", Convert.ToString(Session["USERID"]), Convert.ToString(Session["SHOWNAME"]), Convert.ToString(Session["COMPANYID"]));
2 years ago
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<MsOpSeai>(data.Replace("}", ",") + data2.Replace("{", "").Replace("}", ",") + data3.Replace("{", ""));
var bodyList = JsonConvert.Deserialize<List<MsOpSeaiDetail>>(body);
var goodsbodyList = JsonConvert.Deserialize<List<MsOpApplyDetail>>(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 == "" &&
{
//根据客户、开船日计算账期
2 years ago
var _dmb = MsInfoClientDAL.GetSTLDATE(headData.CUSTOMERNAME, "海运出口", headData.ETD, headData.SALE,headData.CARRIER);
2 years ago
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<MsOpSeaiDetail>(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<MsOpSeai>(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<CustomDbParamter>();
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<CustomDbParamter>();
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<CustomDbParamter>();
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<CustomDbParamter>();
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<MsChFee>();
var bodyList = JsonConvert.Deserialize<List<MsOpSeaiDetail>>(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<MsOpSeai>();
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<List<MsOpSeai>>(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<List<MsOpSeai>>(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<MsOpSeai>(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<List<MsOpSeaiDetail>>(CtnrData);
var HeadData = JsonConvert.Deserialize<MsOpSeai>(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<MsOpCtrnExcel>();
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<MsOpSeaiDetail> dateList = CtrnToWMSDateList(CtrnList);
if (dateList.Count != 0)
{
for (int j = 1; j <= dateList.Count(); j++)
{
List<MsOpSeaiDetail> 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) };
}
}
/// <summary>
/// 从一组海运进口的集装箱信息中,
/// 找到并返回一组与【第一条“ISWMS==0”】的WMSDATE相一致的一组ctn
/// 他们的ISWMS被标记为“D”
/// </summary>
/// <param name="ctrnList"></param>
/// <returns></returns>
public List<MsOpSeaiDetail> CtrnToWMSDateList(List<MsOpSeaiDetail> ctrnList)
{
List<MsOpSeaiDetail> dateList = new List<MsOpSeaiDetail>();
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<MsOpSeaiDetail> CtrnToAreaList(List<MsOpSeaiDetail> ctrnList)
{
List<MsOpSeaiDetail> areaList = new List<MsOpSeaiDetail>();
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;
}
/// <summary>
/// 通过海运进口的集装箱信息 生成相应的入库信息
/// </summary>
/// <param name="ctrnList"></param>
/// <param name="headData"></param>
/// <returns></returns>
public DBResult CtrnToWMS(List<MsOpSeaiDetail> ctrnList, MsOpSeai headData, List<MsOpCtrnExcel> 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<WMSNewIN> wmsInList = new List<WMSNewIN>();
List<WMSIN_ZMYL> wmsIn_ZMYLList = new List<WMSIN_ZMYL>();
List<CountryModel> 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<WMSNewIN>.ToModelObjectList(wmsInList),
null
);
}
else {
result = modb.Save(wms,
ModelObjectConvert<WMSIN_ZMYL>.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<List<MsOpSeaiDetail>>(CtnrData);
var HeadData = JsonConvert.Deserialize<MsOpSeai>(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<MsOpSeaiDetail> dateList = CtrnToWMSDateList(CtrnList);
if (dateList.Count != 0)
{
for (int j = 1; j <= dateList.Count(); j++)
{
List<MsOpSeaiDetail> 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<string, string>();
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<RepCZModel>(rtn);
saveEtaTimemb pt = Newtonsoft.Json.JsonConvert.DeserializeObject<saveEtaTimemb>(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; }
/// <summary>
/// 委托编号
/// </summary>
public string custNo { get; set; }
2 years ago
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<QY_WarehouseNotice_good> goodsList { get; set; }
public QY_WarehouseNotice() { }
public QY_WarehouseNotice(MsOpSeai headData) {
id = headData.BSNO;
blNo = headData.MBLNO;
contractNo = headData.CONTRACTNO;
custNo = headData.CUSTNO;
2 years ago
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<QY_WarehouseNotice_good>();
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<RepCZModel>(rtn);
saveEtaTimemb pt = Newtonsoft.Json.JsonConvert.DeserializeObject<saveEtaTimemb>(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
}
}