|
|
using System;
|
|
|
using System.Collections;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Data;
|
|
|
using System.Net.Mail;
|
|
|
using System.Web.Mvc;
|
|
|
using System.Text;
|
|
|
using DSWeb.Areas.CommMng.Models;
|
|
|
using DSWeb.EntityDA;
|
|
|
using DSWeb.MvcShipping.Models.MsSeaeOrder;
|
|
|
using HcUtility.Comm;
|
|
|
using HcUtility.Core;
|
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
|
using System.Data.SqlClient;
|
|
|
using DSWeb.MvcShipping.DAL.MsSysBillNoSet;
|
|
|
using DSWeb.TruckMng.Helper.Repository;
|
|
|
using DSWeb.MvcShipping.Models.MsOpSeae;
|
|
|
using DSWeb.MvcShipping.DAL.MsSysParamSet;
|
|
|
using CommonTool.MailKit;
|
|
|
using System.IO;
|
|
|
using DSWeb.MvcShipping.Models.MsOpMailLog;
|
|
|
using DSWeb.Areas.SysMng.DAL.SysUser;
|
|
|
using DSWeb.Areas.Import.DAL.ReceiptDoc;
|
|
|
using MimeKit.Text;
|
|
|
|
|
|
namespace DSWeb.MvcShipping.DAL.MsSeaeOrderDAL
|
|
|
{
|
|
|
public class MsSeaeOrderDAL
|
|
|
{
|
|
|
#region 查询
|
|
|
static public List<MsSeaeOrder> GetDataList(int start, int limit, string strCondition, string userid, string usercode, string companyid,string sort = null)
|
|
|
{
|
|
|
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
|
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
|
{
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strCondition = strCondition + " and " + rangstr;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strCondition = rangstr;
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
var strSql = new StringBuilder();
|
|
|
|
|
|
|
|
|
strSql.Append(@"SELECT * from (SELECT row_number() over (");
|
|
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var SeaeDefaultSort = MsSysParamSetDAL.GetData("PARAMNAME='SeaeOrderDefaultSort'");
|
|
|
if (SeaeDefaultSort.PARAMVALUE != "")
|
|
|
strSql.Append(" order by " + SeaeDefaultSort.PARAMVALUE);
|
|
|
else
|
|
|
strSql.Append(" order by BSDATE desc");
|
|
|
}
|
|
|
strSql.Append(@") as num , ");
|
|
|
|
|
|
|
|
|
strSql.Append("ORDNO,BSNO,ORSTATUS,ORREASON,BSDATE,CUSTOMERNAME,ORDTYPE,SHIPPERID,CONSIGNEEID,NOTIFYPARTYID,YARD");
|
|
|
strSql.Append(",SHIPPER,CONSIGNEE,NOTIFYPARTY,VESSEL,VOYNO,ETD,PlACERECEIPT,PlACERECEIPTID,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE");
|
|
|
strSql.Append(",PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,ISSUEPLACEID,BLFRT");
|
|
|
strSql.Append(",PREPARDAT,PAYABLEAT,[SERVICE],MARKS,NOPKGS,[DESCRIPTION],GOODSNAME,GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS");
|
|
|
strSql.Append(",KGS,CBM,TOTALNO,CNTRTOTAL,INPUTBY,INVNO,CARGOID,HSCODE,DCLASS,DUNNO,REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN");
|
|
|
strSql.Append(",CUSTOMSNUM,REMARK,STATUS1,STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION");
|
|
|
strSql.Append(",ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,STLNAME,STLDATE,OCEANFEE,ISUSD,ISCOMMISSIONBACK,CARRIER,CARRIERATTN");
|
|
|
strSql.Append(",CARRIERTEL,CARRIEREMAIL,FORWARDER,FORWARDERATTN,FORWARDERTEL,FORWARDEREMAIL,SALE,PACKINGTYPE,BLTYPE,OP,FRCUSTSERVICE");
|
|
|
strSql.Append(",CUSTSERVICE,doc,AUDITOPERATOR,AUDITDATE,DPAGE,DLABEL,LINKMAN,BILLNUM,AGENTID,AGENT,TRANSPORT");
|
|
|
strSql.Append(",(CASE ORSTATUS WHEN '8' THEN '确认订舱' WHEN '0' THEN '审核通过' WHEN '1' THEN '提交审核' WHEN '2' THEN '驳回' WHEN '4' THEN '退舱' else '录入状态' end) as ORSTATUSREF ");
|
|
|
strSql.Append(",(SELECT CUSTNO FROM V_OP_BILL V WHERE V.BSNO=B.BSNO) as CUSTNO ");
|
|
|
strSql.Append(",(SELECT MBLNO FROM V_OP_BILL V WHERE V.BSNO=B.BSNO) as MBLNOREF,MBLNO,SALEDEPT,BSSOURCE,BSSOURCEDETAIL,(select top 1 sale from info_client where SHORTNAME=B.CUSTOMERNAME) DEFSALE ");
|
|
|
strSql.Append(",dbo.F_GetBillCrmFeeStatus(B.BSNO,1) DRFEESTATUS");
|
|
|
strSql.Append(",dbo.F_GetBillCrmFeeStatus(B.BSNO,2) CRFEESTATUS");
|
|
|
strSql.Append(",'' SenderMobile,'' SenderEmail,CONTRACTNO,'' AMSSHIPPER,'' AMSCONSIGNEE,'' AMSNOTIFYPARTY,CONFIRMOP,CONFIRMDATE,OPERATOR,OPERATORTEL,FBP,DESTFBP,MAXWEIGHT,PLANPROFIT,OPERATOREMAIL,LANE,SERVICECONTRACTNO ");
|
|
|
strSql.Append(",SALECORPID,(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP ");
|
|
|
strSql.Append(" from crm_seaeorder B");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where " + strCondition);
|
|
|
}
|
|
|
//
|
|
|
strSql.Append(@")as t ");
|
|
|
strSql.Append(string.Format("where t.num>{0} and t.num<={1} order by t.num ", start, start + limit)); //
|
|
|
|
|
|
var isNoForward = MsBaseInfoDAL.MsBaseInfoDAL.GetUserModuleEnable("modMsNoForward", userid);
|
|
|
return SetData(strSql,"",isNoForward);
|
|
|
}
|
|
|
|
|
|
public static int getTotalCount(string strCondition, string userid, string usercode, string companyid)
|
|
|
{
|
|
|
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
|
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
|
{
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strCondition = strCondition + " and " + rangstr;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strCondition = rangstr;
|
|
|
}
|
|
|
}
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
|
strSql.Append("select count(*) ");
|
|
|
strSql.Append(" from crm_seaeorder B ");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where " + strCondition);
|
|
|
}
|
|
|
int cnt = 0;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
cnt = Convert.ToInt32(reader[0]);
|
|
|
}
|
|
|
}
|
|
|
return cnt;
|
|
|
}
|
|
|
|
|
|
static public DBResult GetDataListStr(string strCondition, string userid, string usercode, string companyid, string sort = null)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
|
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
|
{
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strCondition = strCondition + " and " + rangstr;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strCondition = rangstr;
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("SELECT ORDNO,BSNO,ORSTATUS,ORREASON,BSDATE,CUSTOMERNAME,ORDTYPE,SHIPPERID,CONSIGNEEID,NOTIFYPARTYID,YARD");
|
|
|
strSql.Append(",SHIPPER,CONSIGNEE,NOTIFYPARTY,VESSEL,VOYNO,ETD,PlACERECEIPT,PlACERECEIPTID,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE");
|
|
|
strSql.Append(",PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,ISSUEPLACEID,BLFRT");
|
|
|
strSql.Append(",PREPARDAT,PAYABLEAT,[SERVICE],MARKS,NOPKGS,[DESCRIPTION],GOODSNAME,GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS");
|
|
|
strSql.Append(",KGS,CBM,TOTALNO,CNTRTOTAL,INPUTBY,INVNO,CARGOID,HSCODE,DCLASS,DUNNO,REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN");
|
|
|
strSql.Append(",CUSTOMSNUM,REMARK,STATUS1,STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION");
|
|
|
strSql.Append(",ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,STLNAME,STLDATE,OCEANFEE,ISUSD,ISCOMMISSIONBACK,CARRIER,CARRIERATTN");
|
|
|
strSql.Append(",CARRIERTEL,CARRIEREMAIL,FORWARDER,FORWARDERATTN,FORWARDERTEL,FORWARDEREMAIL,SALE,PACKINGTYPE,BLTYPE,OP,FRCUSTSERVICE");
|
|
|
strSql.Append(",CUSTSERVICE,doc,AUDITOPERATOR,AUDITDATE,DPAGE,DLABEL,LINKMAN,BILLNUM,AGENTID,AGENT,TRANSPORT");
|
|
|
strSql.Append(",(CASE ORSTATUS WHEN '8' THEN '确认订舱' WHEN '0' THEN '审核通过' WHEN '1' THEN '提交审核' WHEN '2' THEN '驳回' WHEN '4' THEN '退舱' else '录入状态' end) as ORSTATUSREF ");
|
|
|
strSql.Append(",(SELECT CUSTNO FROM V_OP_BILL V WHERE V.BSNO=B.BSNO) as CUSTNO ");
|
|
|
strSql.Append(",(SELECT MBLNO FROM V_OP_BILL V WHERE V.BSNO=B.BSNO) as MBLNOREF,MBLNO,SALEDEPT,BSSOURCE,BSSOURCEDETAIL,(select top 1 sale from info_client where SHORTNAME=B.CUSTOMERNAME) DEFSALE ");
|
|
|
strSql.Append(",dbo.F_GetBillCrmFeeStatus(B.BSNO,1) DRFEESTATUS");
|
|
|
strSql.Append(",dbo.F_GetBillCrmFeeStatus(B.BSNO,2) CRFEESTATUS");
|
|
|
strSql.Append(",'' SenderMobile,'' SenderEmail,CONTRACTNO,'' AMSSHIPPER,'' AMSCONSIGNEE,'' AMSNOTIFYPARTY,CONFIRMOP,CONFIRMDATE,OPERATOR,OPERATORTEL,FBP,DESTFBP,MAXWEIGHT,PLANPROFIT,OPERATOREMAIL,LANE,SERVICECONTRACTNO ");
|
|
|
strSql.Append(",SALECORPID,(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP ");
|
|
|
strSql.Append(" from crm_seaeorder B");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where " + strCondition);
|
|
|
}
|
|
|
//
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by BSDATE desc");
|
|
|
}
|
|
|
result.Data = strSql.ToString();
|
|
|
result.Message = strCondition;
|
|
|
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
static public MsSeaeOrder GetData(string condition,string userid)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("SELECT ORDNO,BSNO,ORSTATUS,ORREASON,BSDATE,CUSTOMERNAME,ORDTYPE,SHIPPERID,CONSIGNEEID,NOTIFYPARTYID,YARD");
|
|
|
strSql.Append(",SHIPPER,CONSIGNEE,NOTIFYPARTY,VESSEL,VOYNO,ETD,PlACERECEIPT,PlACERECEIPTID,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE");
|
|
|
strSql.Append(",PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,ISSUEPLACEID,BLFRT");
|
|
|
strSql.Append(",PREPARDAT,PAYABLEAT,[SERVICE],MARKS,NOPKGS,[DESCRIPTION],GOODSNAME,GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS");
|
|
|
strSql.Append(",KGS,CBM,TOTALNO,CNTRTOTAL,INPUTBY,INVNO,CARGOID,HSCODE,DCLASS,DUNNO,REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN");
|
|
|
strSql.Append(",CUSTOMSNUM,REMARK,STATUS1,STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION");
|
|
|
strSql.Append(",ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,STLNAME,STLDATE,OCEANFEE,ISUSD,ISCOMMISSIONBACK,CARRIER,CARRIERATTN");
|
|
|
strSql.Append(",CARRIERTEL,CARRIEREMAIL,FORWARDER,FORWARDERATTN,FORWARDERTEL,FORWARDEREMAIL,SALE,PACKINGTYPE,BLTYPE,OP,FRCUSTSERVICE");
|
|
|
strSql.Append(",CUSTSERVICE,doc,AUDITOPERATOR,AUDITDATE,DPAGE,DLABEL,LINKMAN,BILLNUM,AGENTID,AGENT,TRANSPORT");
|
|
|
strSql.Append(",(CASE ORSTATUS WHEN '8' THEN '确认订舱' WHEN '0' THEN '审核通过' WHEN '1' THEN '提交审核' WHEN '2' THEN '驳回' WHEN '4' THEN '退舱' else '录入状态' end) as ORSTATUSREF ");
|
|
|
strSql.Append(",(SELECT CUSTNO FROM V_OP_BILL V WHERE V.BSNO=B.BSNO) as CUSTNO ");
|
|
|
strSql.Append(",(SELECT MBLNO FROM V_OP_BILL V WHERE V.BSNO=B.BSNO) as MBLNOREF,MBLNO,SALEDEPT,BSSOURCE,BSSOURCEDETAIL,(select top 1 sale from info_client where SHORTNAME=B.CUSTOMERNAME) DEFSALE ");
|
|
|
strSql.Append(",dbo.F_GetBillCrmFeeStatus(B.BSNO,1) DRFEESTATUS");
|
|
|
strSql.Append(",dbo.F_GetBillCrmFeeStatus(B.BSNO,2) CRFEESTATUS");
|
|
|
strSql.Append(",'' SenderMobile,'' SenderEmail,CONTRACTNO,'' AMSSHIPPER,'' AMSCONSIGNEE,'' AMSNOTIFYPARTY,CONFIRMOP,CONFIRMDATE,OPERATOR,OPERATORTEL,FBP,DESTFBP,MAXWEIGHT,PLANPROFIT,OPERATOREMAIL,LANE,SERVICECONTRACTNO ");
|
|
|
strSql.Append(",SALECORPID,(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP ");
|
|
|
|
|
|
strSql.Append(" from crm_seaeorder B");
|
|
|
if (!string.IsNullOrEmpty(condition))
|
|
|
{
|
|
|
strSql.Append(" where " + condition);
|
|
|
}
|
|
|
var isNoForward = MsBaseInfoDAL.MsBaseInfoDAL.GetUserModuleEnable("modMsNoForward", userid);
|
|
|
|
|
|
var list =SetData(strSql,"", isNoForward);
|
|
|
if (list.Count > 0)
|
|
|
return list[0];
|
|
|
return new MsSeaeOrder();
|
|
|
}
|
|
|
|
|
|
private static List<MsSeaeOrder> SetData(StringBuilder strSql,string dbstr="",bool isNoForward=false)
|
|
|
{
|
|
|
var headList = new List<MsSeaeOrder>();
|
|
|
Database db=null;
|
|
|
if (dbstr!="")
|
|
|
db = DatabaseFactory.CreateDatabase(dbstr);
|
|
|
else
|
|
|
db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
|
SqlCommand cmd = new SqlCommand();
|
|
|
cmd.CommandText = strSql.ToString();
|
|
|
cmd.CommandTimeout = 120000; //要加这一句
|
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(cmd))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
MsSeaeOrder data = new MsSeaeOrder();
|
|
|
#region Set DB data to Object
|
|
|
try
|
|
|
{
|
|
|
data.LANE = reader["LANE"] == null ? "" : Convert.ToString(reader["LANE"]);
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
data.LANE = "";
|
|
|
}
|
|
|
|
|
|
data.ORDNO = Convert.ToString(reader["ORDNO"]);//委托
|
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
|
|
|
//字段过滤器(判断是否存在该列)
|
|
|
reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'SERVICECONTRACTNO'";
|
|
|
if (reader.GetSchemaTable().DefaultView.Count > 0)
|
|
|
data.SERVICECONTRACTNO = Convert.ToString(reader["SERVICECONTRACTNO"]);
|
|
|
|
|
|
data.BLTYPE = Convert.ToString(reader["BLTYPE"]);//装运方式
|
|
|
data.ORSTATUS = Convert.ToString(reader["ORSTATUS"]);//主编号
|
|
|
data.ORSTATUSREF = Convert.ToString(reader["ORSTATUSREF"]);//委托编号
|
|
|
data.ORREASON = Convert.ToString(reader["ORREASON"]);//分提单号
|
|
|
data.BSDATE = Convert.ToDateTime(reader["BSDATE"]);//接单日期
|
|
|
data.MBLNO = Convert.ToString(reader["MBLNO"]);//主提单号
|
|
|
if (data.MBLNO=="") data.MBLNO = Convert.ToString(reader["MBLNOREF"]);//主提单号
|
|
|
data.CUSTNO = Convert.ToString(reader["CUSTNO"]);//主提单号
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);//委托单位
|
|
|
data.ORDTYPE = Convert.ToString(reader["ORDTYPE"]);//业务状态
|
|
|
data.SHIPPERID = Convert.ToString(reader["SHIPPERID"]);//发货人
|
|
|
data.CONSIGNEEID = Convert.ToString(reader["CONSIGNEEID"]);//收货人
|
|
|
data.NOTIFYPARTYID = Convert.ToString(reader["NOTIFYPARTYID"]);//通知人
|
|
|
data.SHIPPER = Convert.ToString(reader["SHIPPER"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+"); //发货人内容
|
|
|
data.CONSIGNEE = Convert.ToString(reader["CONSIGNEE"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+");//收货人内容
|
|
|
data.NOTIFYPARTY = Convert.ToString(reader["NOTIFYPARTY"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+");//通知人内容
|
|
|
data.VESSEL = Convert.ToString(reader["VESSEL"]);//船名
|
|
|
data.VOYNO = Convert.ToString(reader["VOYNO"]);//航次
|
|
|
if (reader["ETD"] != DBNull.Value)
|
|
|
data.ETD = Convert.ToDateTime(reader["ETD"]).ToString("yyyy-MM-dd");//到港日期
|
|
|
data.PORTLOADID = Convert.ToString(reader["PORTLOADID"]);//装货港代码
|
|
|
data.PORTLOAD = Convert.ToString(reader["PORTLOAD"]);//装货港
|
|
|
data.TRANSPORT = Convert.ToString(reader["TRANSPORT"]);//装货港
|
|
|
data.PORTDISCHARGEID = Convert.ToString(reader["PORTDISCHARGEID"]);//卸货港代码
|
|
|
data.PORTDISCHARGE = Convert.ToString(reader["PORTDISCHARGE"]).Replace(@"^", "\'");//卸货港
|
|
|
data.PLACERECEIPT = Convert.ToString(reader["PlACERECEIPT"]).Replace(@"^", "\'");//收货地
|
|
|
data.PLACERECEIPTID = Convert.ToString(reader["PlACERECEIPTID"]).Replace(@"^", "\'");//收货地
|
|
|
data.PLACEDELIVERYID = Convert.ToString(reader["PLACEDELIVERYID"]);//交货地代码
|
|
|
data.PLACEDELIVERY = Convert.ToString(reader["PLACEDELIVERY"]).Replace(@"^", "\'");//交货地
|
|
|
data.DESTINATIONID = Convert.ToString(reader["DESTINATIONID"]);//目的地代码
|
|
|
data.DESTINATION = Convert.ToString(reader["DESTINATION"]).Replace(@"^", "\'");//目的地
|
|
|
data.NOBILL = Convert.ToString(reader["NOBILL"]);//提单份数
|
|
|
data.ISSUETYPE = Convert.ToString(reader["ISSUETYPE"]);//签单方式
|
|
|
if (reader["ISSUEDATE"] != DBNull.Value)
|
|
|
data.ISSUEDATE = Convert.ToDateTime(reader["ISSUEDATE"]).ToString("yyyy-MM-dd");//预抵日期
|
|
|
data.ISSUEPLACE = Convert.ToString(reader["ISSUEPLACE"]);//签单地点
|
|
|
data.ISSUEPLACEID = Convert.ToString(reader["ISSUEPLACEID"]);//签单地点
|
|
|
data.BLFRT = Convert.ToString(reader["BLFRT"]);//付费方式
|
|
|
data.PREPARDAT = Convert.ToString(reader["PREPARDAT"]);//预付地点
|
|
|
data.PAYABLEAT = Convert.ToString(reader["PAYABLEAT"]);//到付地点
|
|
|
data.SERVICE = Convert.ToString(reader["SERVICE"]);//运输条款
|
|
|
data.MARKS = Convert.ToString(reader["MARKS"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+"); //唛头
|
|
|
//data.NOPKGS = Convert.ToString(reader["NOPKGS"]).Replace(@"\\\\", "\n").Replace(@"^", "\'");//件数包装
|
|
|
string _pkgs = Convert.ToString(reader["PKGS"].ToString());
|
|
|
/*for (int iCount = 0; iCount < 5; iCount++)
|
|
|
{
|
|
|
int _lengthPkgs = _pkgs.Length;
|
|
|
char _tempPkgs = _pkgs[_lengthPkgs - 1];
|
|
|
if (_tempPkgs == '0') { _pkgs = _pkgs.Substring(0, _lengthPkgs - 1); }
|
|
|
else { break; }
|
|
|
}
|
|
|
if (_pkgs[_pkgs.Length - 1] == '.') { _pkgs = _pkgs.Substring(0, _pkgs.Length - 1); }*/
|
|
|
data.NOPKGS = Convert.ToString(_pkgs + reader["KINDPKGS"].ToString());//件数包装
|
|
|
data.DESCRIPTION = Convert.ToString(reader["DESCRIPTION"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+"); //货物描述
|
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);//品名
|
|
|
//data.GROSSWEIGHT = Convert.ToString(reader["GROSSWEIGHT"]).Replace(@"\\\\", "\n").Replace(@"^", "\'"); //货物毛重
|
|
|
string _kgs = Convert.ToString(reader["KGS"]);
|
|
|
for (int iCount = 0; iCount < 5; iCount++)
|
|
|
{
|
|
|
int _lengthKgs = _kgs.Length;
|
|
|
char _tempKgs = _kgs[_lengthKgs - 1];
|
|
|
if (_tempKgs == '0') { _kgs = _kgs.Substring(0, _lengthKgs - 1); }
|
|
|
else { break; }
|
|
|
}
|
|
|
if (_kgs[_kgs.Length - 1] == '.') { _kgs = _kgs.Substring(0, _kgs.Length - 1); }
|
|
|
data.GROSSWEIGHT = _kgs + "KGS"; //货物毛重
|
|
|
//data.MEASUREMENT = Convert.ToString(reader["MEASUREMENT"]).Replace(@"\\\\", "\n").Replace(@"^", "\'"); //货物尺码
|
|
|
string _cbm = Convert.ToString(reader["CBM"]);
|
|
|
for (int iCount = 0; iCount < 5; iCount++)
|
|
|
{
|
|
|
int _lengthCbm = _cbm.Length;
|
|
|
char _tempCbm = _cbm[_lengthCbm - 1];
|
|
|
if (_tempCbm == '0') { _cbm = _cbm.Substring(0, _lengthCbm - 1); }
|
|
|
else { break; }
|
|
|
}
|
|
|
if (_cbm[_cbm.Length - 1] == '.') { _cbm = _cbm.Substring(0, _cbm.Length - 1); }
|
|
|
data.MEASUREMENT = _cbm + "CBM"; //货物尺码
|
|
|
data.PKGS = Convert.ToString(_pkgs);//件数
|
|
|
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);//件数包装
|
|
|
data.KGS = Convert.ToString(_kgs);//毛重
|
|
|
data.CBM = Convert.ToString(_cbm);//立方数/尺码
|
|
|
data.TOTALNO = Convert.ToString(reader["TOTALNO"]);//件数大写
|
|
|
data.CNTRTOTAL = Convert.ToString(reader["CNTRTOTAL"]);//集装箱全部内容
|
|
|
data.INPUTBY = Convert.ToString(reader["INPUTBY"]);//录入人
|
|
|
data.OPERATORTEL = Convert.ToString(reader["SenderMobile"]);//录入人
|
|
|
data.OPERATOREMAIL = Convert.ToString(reader["SenderEmail"]);//录入人
|
|
|
data.INVNO = Convert.ToString(reader["INVNO"]);//发票号
|
|
|
data.CARGOID = Convert.ToString(reader["CARGOID"]);//货物标识
|
|
|
data.HSCODE = Convert.ToString(reader["HSCODE"]);
|
|
|
data.DCLASS = Convert.ToString(reader["DCLASS"]);//危险品分类/等级
|
|
|
data.DUNNO = Convert.ToString(reader["DUNNO"]);//危险品编号
|
|
|
data.DPAGE = Convert.ToString(reader["DPAGE"]);//危险品页号
|
|
|
data.DLABEL = Convert.ToString(reader["DLABEL"]);//危险品标签
|
|
|
data.LINKMAN = Convert.ToString(reader["LINKMAN"]);//危险品联系人
|
|
|
data.REEFERF = Convert.ToString(reader["REEFERF"]);//冷藏通风量
|
|
|
if (Convert.ToString(reader["TEMPID"]) != "undefined")
|
|
|
data.TEMPID = Convert.ToString(reader["TEMPID"]);//温度单位
|
|
|
data.TEMPSET = Convert.ToString(reader["TEMPSET"]);//设置温度
|
|
|
data.TEMPMAX = Convert.ToString(reader["TEMPMAX"]);//最高温度
|
|
|
data.TEMPMIN = Convert.ToString(reader["TEMPMIN"]);//最低温度
|
|
|
data.CUSTOMSNUM = Convert.ToInt32(reader["CUSTOMSNUM"]);//报关票数
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+");//备注
|
|
|
if (reader["STATUS1"] != DBNull.Value)
|
|
|
data.STATUS1 = Convert.ToBoolean(reader["STATUS1"]);//状态1
|
|
|
if (reader["STATUS2"] != DBNull.Value)
|
|
|
data.STATUS2 = Convert.ToBoolean(reader["STATUS2"]);//状态2
|
|
|
if (reader["STATUS3"] != DBNull.Value)
|
|
|
data.STATUS3 = Convert.ToBoolean(reader["STATUS3"]);//状态3
|
|
|
if (reader["STATUS4"] != DBNull.Value)
|
|
|
data.STATUS4 = Convert.ToBoolean(reader["STATUS4"]);//状态4
|
|
|
if (reader["STATUS5"] != DBNull.Value)
|
|
|
data.STATUS5 = Convert.ToBoolean(reader["STATUS5"]);//状态5
|
|
|
if (reader["ISFUMIGATION"] != DBNull.Value)
|
|
|
data.ISFUMIGATION = Convert.ToBoolean(reader["ISFUMIGATION"]);//熏蒸
|
|
|
if (reader["ISSTORAGE"] != DBNull.Value)
|
|
|
data.ISSTORAGE = Convert.ToBoolean(reader["ISSTORAGE"]);//仓储
|
|
|
if (reader["ISLAND"] != DBNull.Value)
|
|
|
data.ISLAND = Convert.ToBoolean(reader["ISLAND"]);//陆运
|
|
|
if (reader["ISCUSTOMS"] != DBNull.Value)
|
|
|
data.ISCUSTOMS = Convert.ToBoolean(reader["ISCUSTOMS"]);//报关
|
|
|
if (reader["ISINSPECTION"] != DBNull.Value)
|
|
|
data.ISINSPECTION = Convert.ToBoolean(reader["ISINSPECTION"]);//报检
|
|
|
if (reader["ISBOOKING"] != DBNull.Value)
|
|
|
data.ISBOOKING = Convert.ToBoolean(reader["ISBOOKING"]);//订舱
|
|
|
if (reader["ISAGENT"] != DBNull.Value)
|
|
|
data.ISAGENT = Convert.ToBoolean(reader["ISAGENT"]);//使用代理
|
|
|
if (reader["ISHBLNO"] != DBNull.Value)
|
|
|
data.ISHBLNO = Convert.ToBoolean(reader["ISHBLNO"]);//分单签单
|
|
|
if (reader["SERVICE9"] != DBNull.Value)
|
|
|
data.SERVICE9 = Convert.ToBoolean(reader["SERVICE9"]);//服务项目9
|
|
|
if (reader["SERVICE10"] != DBNull.Value)
|
|
|
data.SERVICE10 = Convert.ToBoolean(reader["SERVICE10"]);//服务项目10
|
|
|
data.STLNAME = Convert.ToString(reader["STLNAME"]);//结算方式
|
|
|
if (reader["STLDATE"] != DBNull.Value)
|
|
|
data.STLDATE = Convert.ToDateTime(reader["STLDATE"]).ToString("yyyy-MM-dd");//结算时间
|
|
|
if (reader["OCEANFEE"] != DBNull.Value)
|
|
|
data.OCEANFEE = Convert.ToDecimal(reader["OCEANFEE"]);//
|
|
|
if (reader["ISUSD"] != DBNull.Value)
|
|
|
data.ISUSD = Convert.ToBoolean(reader["ISUSD"]);//
|
|
|
if (reader["ISCOMMISSIONBACK"] != DBNull.Value)
|
|
|
data.ISCOMMISSIONBACK = Convert.ToBoolean(reader["ISCOMMISSIONBACK"]);//
|
|
|
data.CARRIER = Convert.ToString(reader["CARRIER"]);//船公司
|
|
|
data.CARRIERATTN = Convert.ToString(reader["CARRIERATTN"]);//船公司
|
|
|
data.CARRIERTEL = Convert.ToString(reader["CARRIERTEL"]);//船公司
|
|
|
data.CARRIEREMAIL = Convert.ToString(reader["CARRIEREMAIL"]);//船公司
|
|
|
if (isNoForward)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
data.FORWARDER = Convert.ToString(reader["FORWARDER"]);//订舱公司
|
|
|
data.FORWARDERATTN = Convert.ToString(reader["FORWARDERATTN"]);//订舱公司
|
|
|
data.FORWARDERTEL = Convert.ToString(reader["FORWARDERTEL"]);//订舱公司
|
|
|
data.FORWARDEREMAIL = Convert.ToString(reader["FORWARDEREMAIL"]);//订舱公司
|
|
|
}
|
|
|
data.SALE = Convert.ToString(reader["SALE"]);//揽货人
|
|
|
data.SALEDEPT = Convert.ToString(reader["SALEDEPT"]);//部门
|
|
|
data.DEFSALE = Convert.ToString(reader["DEFSALE"]);//揽货人
|
|
|
data.PACKINGTYPE = Convert.ToString(reader["PACKINGTYPE"]);//装箱类型
|
|
|
data.BLTYPE = Convert.ToString(reader["BLTYPE"]);//装运方式
|
|
|
data.OP = Convert.ToString(reader["OP"]);//操作员
|
|
|
data.CUSTSERVICE = Convert.ToString(reader["CUSTSERVICE"]);//客服员
|
|
|
data.FRCUSTSERVICE = Convert.ToString(reader["FRCUSTSERVICE"]);//客服员
|
|
|
data.DOC = Convert.ToString(reader["DOC"]);//单证
|
|
|
data.AUDITOPERATOR = Convert.ToString(reader["AUDITOPERATOR"]);//审核人
|
|
|
if (reader["AUDITDATE"] != DBNull.Value)
|
|
|
data.AUDITDATE = Convert.ToDateTime(reader["AUDITDATE"]).ToString("yyyy-MM-dd HH:mm:ss");//截港日期
|
|
|
if (reader["CONFIRMDATE"] != DBNull.Value)
|
|
|
data.CONFIRMDATE = Convert.ToDateTime(reader["CONFIRMDATE"]).ToString("yyyy-MM-dd HH:mm:ss");//截港日期
|
|
|
|
|
|
data.CONFIRMOP = Convert.ToString(reader["CONFIRMOP"]);//确认人
|
|
|
|
|
|
data.OPERATORTEL = Convert.ToString(reader["SenderMobile"]);//
|
|
|
data.OPERATOREMAIL = Convert.ToString(reader["SenderEmail"]);//
|
|
|
if (data.OPERATORTEL!="")
|
|
|
data.OPERATORTEL = Convert.ToString(reader["OPERATORTEL"]);//
|
|
|
if (data.OPERATOREMAIL != "")
|
|
|
data.OPERATOREMAIL = Convert.ToString(reader["OPERATOREMAIL"]);//
|
|
|
data.OPERATOR = Convert.ToString(reader["OPERATOR"]);//
|
|
|
data.FBP = Convert.ToString(reader["FBP"]);//
|
|
|
data.DESTFBP = Convert.ToString(reader["DESTFBP"]);//
|
|
|
data.MAXWEIGHT = Convert.ToString(reader["MAXWEIGHT"]);//
|
|
|
data.PLANPROFIT = Convert.ToString(reader["PLANPROFIT"]);//
|
|
|
data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]);
|
|
|
data.AMSShipper = Convert.ToString(reader["AMSSHIPPER"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+");
|
|
|
data.AMSConsignee = Convert.ToString(reader["AMSCONSIGNEE"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+");
|
|
|
data.AMSNotifyparty = Convert.ToString(reader["AMSNOTIFYPARTY"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+");
|
|
|
data.AGENTID = Convert.ToString(reader["AGENTID"]);//
|
|
|
data.AGENT = Convert.ToString(reader["AGENT"]);//
|
|
|
data.YARD = Convert.ToString(reader["YARD"]);//
|
|
|
data.DRFEESTATUS = getfeestatus(Convert.ToString(reader["DRFEESTATUS"]));
|
|
|
data.CRFEESTATUS = getfeestatus(Convert.ToString(reader["CRFEESTATUS"]));
|
|
|
data.BSSOURCE = Convert.ToString(reader["BSSOURCE"]);//
|
|
|
data.BSSOURCEDETAIL = Convert.ToString(reader["BSSOURCEDETAIL"]);//
|
|
|
data.SALECORPID= Convert.ToString(reader["SALECORPID"]);//
|
|
|
data.SALECORP = Convert.ToString(reader["SALECORP"]);//
|
|
|
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
public static string getfeestatus(string feestatusint)
|
|
|
{
|
|
|
var result = "";
|
|
|
if (feestatusint == "0:")
|
|
|
{
|
|
|
return "审核通过";
|
|
|
}
|
|
|
else if (feestatusint == "1:")
|
|
|
{
|
|
|
return "录入状态";
|
|
|
}
|
|
|
else if (feestatusint == "2:")
|
|
|
{
|
|
|
return "提交审核";
|
|
|
}
|
|
|
else if (feestatusint == "8:")
|
|
|
{
|
|
|
return "部分结算";
|
|
|
}
|
|
|
else if (feestatusint == "9:")
|
|
|
{
|
|
|
return "结算完毕";
|
|
|
}
|
|
|
else if (feestatusint == "")
|
|
|
{
|
|
|
return "未录入";
|
|
|
}
|
|
|
else if (feestatusint == "3:")
|
|
|
{
|
|
|
return "申请修改";
|
|
|
}
|
|
|
else if (feestatusint == "4:")
|
|
|
{
|
|
|
return "申请删除";
|
|
|
}
|
|
|
else if (feestatusint == "6:")
|
|
|
{
|
|
|
return "驳回提交";
|
|
|
}
|
|
|
else if (feestatusint == "7:")
|
|
|
{
|
|
|
return "驳回申请";
|
|
|
}
|
|
|
else if (feestatusint.IndexOf("9:") > -1)
|
|
|
{
|
|
|
return "部分结算";
|
|
|
}
|
|
|
else if (feestatusint.IndexOf("8:") > -1)
|
|
|
{
|
|
|
return "部分结算";
|
|
|
}
|
|
|
else if (feestatusint.IndexOf("0:") > -1)
|
|
|
{
|
|
|
return "部分审核";
|
|
|
}
|
|
|
else if (feestatusint.IndexOf("2:") > -1)
|
|
|
{
|
|
|
return "部分提交";
|
|
|
}
|
|
|
else if (feestatusint.IndexOf("6:") > -1)
|
|
|
{
|
|
|
return "驳回提交";
|
|
|
}
|
|
|
else if (feestatusint.IndexOf("7:") > -1)
|
|
|
{
|
|
|
return "驳回申请";
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
#region 明细表
|
|
|
static public List<MsSeaeOrderCtn> GetBodyList(string strCondition)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("SELECT [CTN_ID],[ORDNO],[CTNNUM],[CTNALL],[REMARK] from crm_seaeorderctn");
|
|
|
if (strCondition.Trim() != String.Empty)
|
|
|
{
|
|
|
strSql.Append(" where " + strCondition);
|
|
|
}
|
|
|
strSql.Append(" order by ORDNO,CTNALL");
|
|
|
return SetBodyData(strSql);
|
|
|
}
|
|
|
|
|
|
private static List<MsSeaeOrderCtn> SetBodyData(StringBuilder strSql)
|
|
|
{
|
|
|
var bodyList = new List<MsSeaeOrderCtn>();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
MsSeaeOrderCtn data = new MsSeaeOrderCtn();
|
|
|
#region Set DB data to Object
|
|
|
data.CTN_ID = Convert.ToString(reader["CTN_ID"]);//编号
|
|
|
data.ORDNO = Convert.ToString(reader["ORDNO"]);//业务编号
|
|
|
data.CTNNUM = Convert.ToInt32(reader["CTNNUM"]);//箱量
|
|
|
data.CTNALL = Convert.ToString(reader["CTNALL"]);//表现形式
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);//备注
|
|
|
#endregion
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return bodyList;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 保存明细
|
|
|
public static DBResult SaveDetail(MsSeaeOrder headData, List<MsSeaeOrderCtn> bodyList, string userid)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
try
|
|
|
{
|
|
|
|
|
|
var cntr = "";
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
|
|
|
if (enumValue.ORDNO == "*")
|
|
|
{
|
|
|
var cmdInsert = db.GetSqlStringCommand(@"insert into crm_seaeorderctn (CTN_ID,ORDNO,CTNNUM,CTNALL,REMARK) values (newid(),'" + headData.ORDNO + "'," + enumValue.CTNNUM + ",'" + enumValue.CTNALL + "','" + enumValue.REMARK + "')");
|
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
var cmdUpdate = db.GetSqlStringCommand(@"update crm_seaeorderctn set CTNNUM=" + enumValue.CTNNUM + ",CTNALL='" + enumValue.CTNALL + "',REMARK='" + enumValue.REMARK + "' where ORDNO='" + enumValue.ORDNO + "' AND CTN_ID='" + enumValue.CTN_ID + "'");
|
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
}
|
|
|
cntr = cntr + enumValue.CTNALL + '*' + enumValue.CTNNUM + "/";
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
|
|
|
var cmdUpdateBs = db.GetSqlStringCommand(@"update crm_seaeorder set CNTRTOTAL='" + cntr + "' where ORDNO='" + headData.ORDNO + "'");
|
|
|
db.ExecuteNonQuery(cmdUpdateBs, tran);
|
|
|
|
|
|
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
result.Success = false;
|
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static DBResult UpdateCtnTotal(string ORDNO)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
try
|
|
|
{
|
|
|
var bodyList = GetBodyList("ORDNO='"+ORDNO+"'");
|
|
|
var cntr = "";
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
|
|
|
|
|
|
cntr = cntr + enumValue.CTNALL + '*' + enumValue.CTNNUM + "/";
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
|
|
|
var cmdUpdateBs = db.GetSqlStringCommand(@"update crm_seaeorder set CNTRTOTAL='" + cntr + "' where ORDNO='" + ORDNO + "'");
|
|
|
db.ExecuteNonQuery(cmdUpdateBs, tran);
|
|
|
|
|
|
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
result.Success = false;
|
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
//判断单号是否重复
|
|
|
static public int GetRdCount(string strCondition)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("SELECT Count(BSNO) AS CT from crm_seaeorder");
|
|
|
if (strCondition.Trim() != String.Empty)
|
|
|
{
|
|
|
strSql.Append(" where " + strCondition);
|
|
|
}
|
|
|
var ct=0;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
ct = Convert.ToInt16(reader["CT"]);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return ct;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 删除
|
|
|
public static DBResult DeleteDetail(MsSeaeOrder headData)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
try
|
|
|
{
|
|
|
var cmdDelete = db.GetSqlStringCommand("delete from crm_seaeorderctn where ORDNO='" + headData.ORDNO + "'");
|
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
|
|
|
|
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
result.Success = true;
|
|
|
result.Message = "操作成功";
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static DBResult DeleteDetail2(MsSeaeOrderCtn headData)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
try
|
|
|
{
|
|
|
var cmdDelete = db.GetSqlStringCommand("delete from crm_seaeorderctn where CTN_ID='" + headData.CTN_ID + "'");
|
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
result.Success = false;
|
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
UpdateCtnTotal(headData.ORDNO);
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "操作成功";
|
|
|
return result;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
#region 判断是否有费用
|
|
|
public static bool GetFeeCount(string BSNO)
|
|
|
{
|
|
|
var isfee = false;
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("Select count(*) as count ");
|
|
|
strSql.Append(" from ch_fee ");
|
|
|
strSql.Append(" where BSNO='" + BSNO+"'");
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
var evData = Convert.ToInt32(reader["count"]);
|
|
|
if (evData > 0) { isfee = true; };
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return isfee;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
#region 审核通过处理
|
|
|
|
|
|
static public List<MsSeaeOrder> GetAuditDataList(string strCondition, string userid, string usercode, string companyid, string sort = null)
|
|
|
{
|
|
|
var rangstr = "";
|
|
|
|
|
|
var ORDERAUDITMUSTBE = MsSysParamSetDAL.GetData("PARAMNAME='ORDERAUDITMUSTBE'");
|
|
|
if (ORDERAUDITMUSTBE.PARAMVALUE == "1")
|
|
|
{
|
|
|
rangstr = " AUDITOPERATOR='"+ usercode + "'";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
rangstr = GetRangDAStr("audit", userid, usercode, companyid);
|
|
|
}
|
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
|
{
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strCondition = strCondition + " and " + rangstr;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strCondition = rangstr;
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("SELECT ORDNO,BSNO,ORSTATUS,ORREASON,BSDATE,MBLNO,CUSTOMERNAME,ORDTYPE,SHIPPERID,CONSIGNEEID,NOTIFYPARTYID,YARD");
|
|
|
strSql.Append(",SHIPPER,CONSIGNEE,NOTIFYPARTY,VESSEL,VOYNO,ETD,PlACERECEIPT,PlACERECEIPTID,PORTLOADID,PORTLOAD,PORTDISCHARGEID,PORTDISCHARGE");
|
|
|
strSql.Append(",PLACEDELIVERYID,PLACEDELIVERY,DESTINATIONID,DESTINATION,NOBILL,ISSUETYPE,ISSUEDATE,ISSUEPLACE,ISSUEPLACEID,BLFRT");
|
|
|
strSql.Append(",PREPARDAT,PAYABLEAT,[SERVICE],MARKS,NOPKGS,[DESCRIPTION],GOODSNAME,GROSSWEIGHT,MEASUREMENT,PKGS,KINDPKGS");
|
|
|
strSql.Append(",KGS,CBM,TOTALNO,CNTRTOTAL,INPUTBY,INVNO,CARGOID,DCLASS,DUNNO,REEFERF,TEMPID,TEMPSET,TEMPMAX,TEMPMIN");
|
|
|
strSql.Append(",CUSTOMSNUM,REMARK,STATUS1,STATUS2,STATUS3,STATUS4,STATUS5,ISFUMIGATION,ISSTORAGE,ISLAND,ISCUSTOMS,ISINSPECTION");
|
|
|
strSql.Append(",ISBOOKING,ISAGENT,ISHBLNO,SERVICE9,SERVICE10,STLNAME,STLDATE,OCEANFEE,ISUSD,ISCOMMISSIONBACK,CARRIER,CARRIERATTN");
|
|
|
strSql.Append(",CARRIERTEL,CARRIEREMAIL,FORWARDER,FORWARDERATTN,FORWARDERTEL,FORWARDEREMAIL,SALE,PACKINGTYPE,BLTYPE,OP,FRCUSTSERVICE");
|
|
|
strSql.Append(",CUSTSERVICE,doc,AUDITOPERATOR,AUDITDATE,DPAGE,DLABEL,LINKMAN,BILLNUM,HSCODE,AGENTID,AGENT,TRANSPORT");
|
|
|
strSql.Append(",(CASE ORSTATUS WHEN '8' THEN '确认订舱' WHEN '0' THEN '审核通过' WHEN '1' THEN '提交审核' WHEN '2' THEN '驳回' WHEN '4' THEN '退舱' else '录入状态' end) as ORSTATUSREF ");
|
|
|
strSql.Append(",(SELECT CUSTNO FROM V_OP_BILL V WHERE V.BSNO=B.BSNO) as CUSTNO ");
|
|
|
strSql.Append(",(SELECT MBLNO FROM V_OP_BILL V WHERE V.BSNO=B.BSNO) as MBLNOREF,SALEDEPT,BSSOURCE,BSSOURCEDETAIL,(select top 1 sale from info_client where SHORTNAME=B.CUSTOMERNAME) DEFSALE ");
|
|
|
strSql.Append(",dbo.F_GetBillCrmFeeStatus(B.BSNO,1) DRFEESTATUS");
|
|
|
strSql.Append(",dbo.F_GetBillCrmFeeStatus(B.BSNO,2) CRFEESTATUS");
|
|
|
strSql.Append(",'' SenderMobile,'' SenderEmail,CONTRACTNO,'' AMSSHIPPER,'' AMSCONSIGNEE,'' AMSNOTIFYPARTY,CONFIRMOP,CONFIRMDATE,OPERATOR,OPERATORTEL,FBP,DESTFBP,MAXWEIGHT,PLANPROFIT,OPERATOREMAIL,LANE ");
|
|
|
strSql.Append(",SALECORPID,(select [NAME] from [company] where GID=B.SALECORPID) as SALECORP ");
|
|
|
|
|
|
strSql.Append(" from crm_seaeorder B");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.Append(" where " + strCondition);
|
|
|
}
|
|
|
//
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.Append(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" order by BSDATE desc");
|
|
|
}
|
|
|
return SetData(strSql);
|
|
|
}
|
|
|
|
|
|
public static DBResult AddOrderDetail(string bsno,string ordno,string userid,string companyid)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
|
|
|
var cmdInsert =
|
|
|
db.GetSqlStringCommand(
|
|
|
@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME)
|
|
|
values (@CTN_ID,@BSNO,@CTNCODE,@SIZE,@CTN,@CTNNUM,@TEU,@CTNALL,@CNTRNO,@SEALNO,@PKGS,@KGS,@CBM,@REMARK,@KINDPKGS,@TAREWEIGHT,@GOODSNAME) ");
|
|
|
|
|
|
var cmdInsertfee =
|
|
|
db.GetSqlStringCommand(
|
|
|
@"INSERT ch_fee (GID, BSNO, FEETYPE, FEENAME, FEEDESCRIPTION, CUSTOMERTYPE, CUSTOMERNAME, UNIT, UNITPRICE, QUANTITY, AMOUNT, CURRENCY,
|
|
|
EXCHANGERATE, REASON, REMARK, COMMISSIONRATE,ENTEROPERATOR, ENTERDATE,ISOPEN, ISADVANCEDPAY, SORT, FEESTATUS,TAXRATE,NOTAXAMOUNT,ACCTAXRATE,LINENUM,TAXUNITPRICE,FEEFRT,ISCRMORDERFEE)
|
|
|
SELECT NEWID(), @BSNO, FEETYPE, FEENAME, FEEDESCRIPTION, CUSTOMERTYPE, CUSTOMERNAME, UNIT, UNITPRICE, QUANTITY, AMOUNT, CURRENCY,
|
|
|
EXCHANGERATE, REASON, REMARK, COMMISSIONRATE,ENTEROPERATOR, ENTERDATE,ISOPEN, ISADVANCEDPAY, SORT, FEESTATUS,TAXRATE,NOTAXAMOUNT,ACCTAXRATE,LINENUM,TAXUNITPRICE,'PP',1
|
|
|
From ch_fee_order where BSNO=@ORDNO");
|
|
|
|
|
|
var bodyList = MsSeaeOrderDAL.GetBodyList("ORDNO='" +ordno + "'");
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
int SIZE = int.Parse(enumValue.CTNALL.ToString().Trim().Substring(0, 2));
|
|
|
string CTN = enumValue.CTNALL.ToString().Trim().Substring(2);
|
|
|
int TEU = enumValue.CTNNUM;
|
|
|
int iTEU = int.Parse(enumValue.CTNALL.ToString().Trim().Substring(0, 1));
|
|
|
if (iTEU == 4)
|
|
|
{
|
|
|
TEU = TEU * 2;
|
|
|
}
|
|
|
|
|
|
var feedoid = Guid.NewGuid().ToString();
|
|
|
cmdInsert.Parameters.Clear();
|
|
|
db.AddInParameter(cmdInsert, "@CTN_ID", DbType.String, feedoid);
|
|
|
db.AddInParameter(cmdInsert, "@BSNO", DbType.String,bsno);
|
|
|
db.AddInParameter(cmdInsert, "@CTNCODE", DbType.String,"");
|
|
|
db.AddInParameter(cmdInsert, "@SIZE", DbType.Int16, SIZE);
|
|
|
db.AddInParameter(cmdInsert, "@CTN", DbType.String, CTN);
|
|
|
db.AddInParameter(cmdInsert, "@CTNNUM", DbType.Int16, enumValue.CTNNUM);
|
|
|
db.AddInParameter(cmdInsert, "@TEU", DbType.Int16, TEU);
|
|
|
db.AddInParameter(cmdInsert, "@CTNALL", DbType.String, enumValue.CTNALL);
|
|
|
db.AddInParameter(cmdInsert, "@CNTRNO", DbType.String, "");
|
|
|
db.AddInParameter(cmdInsert, "@SEALNO", DbType.String, "");
|
|
|
db.AddInParameter(cmdInsert, "@PKGS", DbType.Int16, null);
|
|
|
db.AddInParameter(cmdInsert, "@KGS", DbType.Decimal, null);
|
|
|
db.AddInParameter(cmdInsert, "@CBM", DbType.Decimal, null);
|
|
|
db.AddInParameter(cmdInsert, "@TAREWEIGHT", DbType.Int16, null);
|
|
|
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, "");
|
|
|
db.AddInParameter(cmdInsert, "@KINDPKGS", DbType.String, "");
|
|
|
db.AddInParameter(cmdInsert, "@GOODSNAME", DbType.String, "");
|
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
cmdInsertfee.Parameters.Clear();
|
|
|
db.AddInParameter(cmdInsertfee, "@BSNO", DbType.String, bsno);
|
|
|
db.AddInParameter(cmdInsertfee, "@ORDNO", DbType.String, bsno);
|
|
|
db.ExecuteNonQuery(cmdInsertfee, tran);
|
|
|
tran.Commit();
|
|
|
|
|
|
var SALEORDERAUDITFEESUBMIT = MsSysParamSetDAL.GetData("PARAMNAME='SALEORDERAUDITFEESUBMIT'");
|
|
|
if (SALEORDERAUDITFEESUBMIT.PARAMVALUE == "1") {
|
|
|
var feelist = MsChFeeDAL.MsChFeeDAL.GetDataList("BSNO='" + bsno + "'", 0, "", "", "", "");
|
|
|
if (feelist != null) {
|
|
|
|
|
|
var ISSALEWORK = MsSysParamSetDAL.GetData("PARAMNAME='SALESUBMITFEE'");
|
|
|
|
|
|
Chfee_AuditDAL.Chfee_AuditDAL.SubmitAuditNew("op_Seae", userid, feelist, true, "", ISSALEWORK.PARAMVALUE,companyid);
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
return result;
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
result.Success = false;
|
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 确认订舱
|
|
|
|
|
|
public static DBResult OrderToOp(MsSeaeOrder OrderData, string accdate, string op, string custservice, string FORWARDER, string ORREMARK,string OPNAME,string COMPANYID,string userid)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
var headData = new MsOpSeae();
|
|
|
OrderData.CONFIRMOP = OPNAME;
|
|
|
OrderData.CONFIRMDATE = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
OrderData.ORSTATUS = "8";
|
|
|
if (OrderData.PKGS == "") OrderData.PKGS = "0";
|
|
|
if (OrderData.KGS == "") OrderData.KGS = "0";
|
|
|
if (OrderData.CBM == "") OrderData.CBM = "0";
|
|
|
OrderData.DbOperationType = DbOperationType.DbotUpd;
|
|
|
OrderData.ModelUIStatus = "E";
|
|
|
if (OrderData.ETD == "") OrderData.ETD = null;
|
|
|
if (OrderData.STLDATE == "") OrderData.STLDATE = null;
|
|
|
|
|
|
if (OrderData.ISSUEDATE == "") OrderData.ISSUEDATE = null;
|
|
|
if (OrderData.CONFIRMDATE == "") OrderData.CONFIRMDATE = null;
|
|
|
if (OrderData.AUDITDATE == "") OrderData.AUDITDATE = null;
|
|
|
|
|
|
headData.CORPID = COMPANYID;
|
|
|
|
|
|
headData.INPUTBY = OPNAME;
|
|
|
headData.BSDATE = DateTime.Now;
|
|
|
headData.BSSTATUS = false;
|
|
|
headData.FEESTATUS = false;
|
|
|
headData.DbOperationType = DbOperationType.DbotIns;
|
|
|
if (FORWARDER != "")
|
|
|
headData.FORWARDER = FORWARDER;
|
|
|
else
|
|
|
headData.FORWARDER = OrderData.FORWARDER;
|
|
|
headData.BSNO = OrderData.BSNO;
|
|
|
headData.MBLNO = OrderData.MBLNO;
|
|
|
headData.CARRIER = OrderData.CARRIER;
|
|
|
headData.CUSTOMERNAME = OrderData.CUSTOMERNAME;
|
|
|
headData.OPERATOR = OrderData.OPERATOR;
|
|
|
headData.OPERATORTEL = OrderData.OPERATORTEL;
|
|
|
headData.OPERATOREMAIL = OrderData.OPERATOREMAIL;
|
|
|
headData.ORDERTYPE = "销售订舱";
|
|
|
headData.SHIPPERID = OrderData.SHIPPERID;
|
|
|
headData.CONSIGNEEID = OrderData.CONSIGNEEID;
|
|
|
headData.NOTIFYPARTYID = OrderData.NOTIFYPARTYID;
|
|
|
headData.SHIPPER = OrderData.SHIPPER;
|
|
|
headData.CONSIGNEE = OrderData.CONSIGNEE;
|
|
|
headData.NOTIFYPARTY = OrderData.NOTIFYPARTY;
|
|
|
headData.VESSEL = OrderData.VESSEL;
|
|
|
headData.VOYNO = OrderData.VOYNO;
|
|
|
headData.ETD = OrderData.ETD;
|
|
|
if (OrderData.PORTLOADID != "")
|
|
|
headData.PORTLOADID = OrderData.PORTLOADID;
|
|
|
else headData.PORTLOADID = GetPortEDICodeByEname(OrderData.PORTLOAD);
|
|
|
headData.PORTLOAD = OrderData.PORTLOAD;
|
|
|
headData.PORTDISCHARGEID = OrderData.PORTDISCHARGEID;
|
|
|
headData.PORTDISCHARGE = OrderData.PORTDISCHARGE;
|
|
|
headData.PLACERECEIPT = OrderData.PLACERECEIPT;
|
|
|
headData.PLACERECEIPTID = OrderData.PLACERECEIPTID;
|
|
|
headData.PLACEDELIVERYID = OrderData.PLACEDELIVERYID;
|
|
|
headData.PLACEDELIVERY = OrderData.PLACEDELIVERY;
|
|
|
headData.DESTINATIONID = OrderData.DESTINATIONID;
|
|
|
headData.DESTINATION = OrderData.DESTINATION;
|
|
|
headData.NOBILL = OrderData.NOBILL;
|
|
|
headData.ISSUETYPE = OrderData.ISSUETYPE;
|
|
|
headData.ISSUEDATE = OrderData.ISSUEDATE;
|
|
|
headData.ISSUEPLACE = OrderData.ISSUEPLACE;
|
|
|
headData.ISSUEPLACEID = OrderData.ISSUEPLACEID;
|
|
|
headData.BLFRT = OrderData.BLFRT;
|
|
|
headData.PREPARDAT = OrderData.PREPARDAT;
|
|
|
headData.PAYABLEAT = OrderData.PAYABLEAT;
|
|
|
|
|
|
headData.SERVICE = OrderData.SERVICE;
|
|
|
|
|
|
headData.SERVICECONTRACTNO = OrderData.SERVICECONTRACTNO;
|
|
|
headData.MARKS = OrderData.MARKS;
|
|
|
headData.NOPKGS = OrderData.NOPKGS;
|
|
|
headData.DESCRIPTION = OrderData.DESCRIPTION;
|
|
|
headData.GOODSNAME = OrderData.GOODSNAME;
|
|
|
if (OrderData.CBM == "0")
|
|
|
headData.GROSSWEIGHT = "";
|
|
|
else
|
|
|
headData.GROSSWEIGHT = OrderData.GROSSWEIGHT;
|
|
|
if (OrderData.KGS == "0")
|
|
|
headData.MEASUREMENT = "";
|
|
|
else
|
|
|
headData.MEASUREMENT = OrderData.MEASUREMENT;
|
|
|
headData.PKGS = Convert.ToDecimal(OrderData.PKGS).ToString();
|
|
|
headData.KINDPKGS = OrderData.KINDPKGS;
|
|
|
headData.KGS = Convert.ToDecimal(OrderData.KGS).ToString();
|
|
|
headData.CBM = Convert.ToDecimal(OrderData.CBM).ToString();
|
|
|
headData.TOTALNO = OrderData.TOTALNO;
|
|
|
headData.HSCODE = OrderData.HSCODE;
|
|
|
headData.CARGOID = OrderData.CARGOID;
|
|
|
headData.DCLASS = OrderData.DCLASS;
|
|
|
headData.DPAGE = OrderData.DPAGE;
|
|
|
headData.DUNNO = OrderData.DUNNO;
|
|
|
headData.DLABEL = OrderData.DLABEL;
|
|
|
headData.LINKMAN = OrderData.LINKMAN;
|
|
|
headData.REEFERF = OrderData.REEFERF;
|
|
|
headData.TEMPID = OrderData.TEMPID;
|
|
|
headData.TEMPSET = OrderData.TEMPSET;
|
|
|
headData.TEMPMAX = OrderData.TEMPMAX;
|
|
|
headData.TEMPMIN = OrderData.TEMPMIN;
|
|
|
headData.CUSTOMSNUM = OrderData.CUSTOMSNUM;
|
|
|
var remark = OrderData.REMARK;
|
|
|
if (OrderData.FBP != "0" && OrderData.FBP != "")
|
|
|
remark = remark + " 免箱天数:" + OrderData.FBP;
|
|
|
if (OrderData.DESTFBP != "0" && OrderData.DESTFBP != "")
|
|
|
remark = remark + " 目的港免箱天数:" + OrderData.DESTFBP;
|
|
|
if (OrderData.MAXWEIGHT != "")
|
|
|
remark = remark + " 限重:" + OrderData.MAXWEIGHT;
|
|
|
if (ORREMARK != "")
|
|
|
remark = remark + " 确认订舱备注:" + ORREMARK;
|
|
|
headData.OPERATORFAX = remark;//备注
|
|
|
headData.STATUS1 = OrderData.STATUS1;//状态1
|
|
|
headData.STATUS2 = OrderData.STATUS2;//状态2
|
|
|
headData.STATUS3 = OrderData.STATUS3;//状态3
|
|
|
headData.STATUS4 = OrderData.STATUS4;//状态4
|
|
|
headData.STATUS5 = OrderData.STATUS5;//状态5
|
|
|
headData.ISFUMIGATION = OrderData.ISFUMIGATION;//熏蒸
|
|
|
headData.ISSTORAGE = OrderData.ISSTORAGE;//仓储
|
|
|
headData.ISLAND = OrderData.ISLAND;//陆运
|
|
|
headData.ISCUSTOMS = OrderData.ISCUSTOMS;//报关
|
|
|
headData.ISINSPECTION = OrderData.ISINSPECTION;//报检
|
|
|
headData.ISBOOKING = OrderData.ISBOOKING;//订舱
|
|
|
headData.ISAGENT = OrderData.ISAGENT;//使用代理
|
|
|
headData.ISHBLNO = OrderData.ISHBLNO;//分单签单
|
|
|
headData.SERVICE9 = OrderData.SERVICE9;//服务项目9
|
|
|
headData.SERVICE10 = OrderData.SERVICE10;//服务项目10
|
|
|
headData.STLNAME = OrderData.STLNAME;//结算方式
|
|
|
headData.STLDATE = OrderData.STLDATE;//结算时间
|
|
|
headData.SALE = OrderData.SALE;//揽货人
|
|
|
headData.PACKINGTYPE = OrderData.PACKINGTYPE;//装箱类型
|
|
|
headData.BLTYPE = OrderData.BLTYPE;//装运方式
|
|
|
headData.OP = op;//操作员
|
|
|
headData.CUSTSERVICE = custservice;//客服员
|
|
|
headData.FRCUSTSERVICE = OrderData.FRCUSTSERVICE;//单证
|
|
|
headData.DOC = OrderData.DOC;//单证
|
|
|
headData.AGENTID = OrderData.AGENTID;//单证
|
|
|
headData.AGENT = OrderData.AGENT;//单证
|
|
|
|
|
|
|
|
|
var cntr = "";
|
|
|
var bodyList = MsSeaeOrderDAL.GetBodyList("ORDNO='" + OrderData.ORDNO + "'");
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
cntr = cntr + enumValue.CTNALL + '*' + enumValue.CTNNUM + "/";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
OrderData.CNTRTOTAL = cntr;
|
|
|
headData.CNTRTOTAL = OrderData.CNTRTOTAL;
|
|
|
|
|
|
if (headData.MASTERNO == null || headData.MASTERNO == "") { headData.MASTERNO = headData.BSNO; }
|
|
|
|
|
|
if (headData.ETA == "") headData.ETA = null;
|
|
|
if (headData.ETD == "") headData.ETD = null;
|
|
|
if (headData.STLDATE == "") headData.STLDATE = null;
|
|
|
|
|
|
if (headData.ISSUEDATE == "") headData.ISSUEDATE = null;
|
|
|
if (headData.CLOSINGDATE == "") headData.CLOSINGDATE = null;
|
|
|
headData.LANE = OrderData.LANE;
|
|
|
headData.YARD = OrderData.YARD;
|
|
|
headData.SALEDEPT = OrderData.SALEDEPT;
|
|
|
headData.INVNO = OrderData.INVNO;
|
|
|
headData.BSSOURCE = OrderData.BSSOURCE;
|
|
|
headData.BSSOURCEDETAIL = OrderData.BSSOURCEDETAIL;
|
|
|
headData.CONTRACTNO = OrderData.CONTRACTNO;
|
|
|
var ACCDATESAMEETD = MsSysParamSetDAL.GetData("PARAMNAME='ACCDATESAMEETD'").PARAMVALUE;
|
|
|
if (ACCDATESAMEETD == "1" && !string.IsNullOrEmpty(headData.ETD))
|
|
|
headData.ACCDATE = headData.ETD.Substring(0, 7);
|
|
|
|
|
|
|
|
|
var billnoset = MsSysBillNoSetDAL.GetData("OPLBNAME='海运出口' AND RULEBLNO='委托编号'",COMPANYID);
|
|
|
if (billnoset.BILLTYPE != "")
|
|
|
headData.CUSTNO = MsSysBillNoSetDAL.GetBillNo(billnoset, headData.ETD.ToString().Trim(), headData.ACCDATE.ToString().Trim(), "", headData.OP);
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
|
if (!string.IsNullOrEmpty(OrderData.SALECORPID))
|
|
|
{
|
|
|
headData.SALECORPID = OrderData.SALECORPID;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
var SALECORPID = T_ALL_DA.GetStrSQL("COMPANYID", "select top 1 COMPANYID from [VW_user] where SHOWNAME='" + op + "'");
|
|
|
headData.SALECORPID = SALECORPID;
|
|
|
}
|
|
|
var modb = new ModelObjectDB();
|
|
|
result = modb.Save(headData);
|
|
|
var BSNO = headData.BSNO;
|
|
|
if (result.Success == true)
|
|
|
{
|
|
|
result = modb.Save(OrderData);
|
|
|
result = MsSeaeOrderDAL.AddOrderDetail(OrderData.BSNO, OrderData.ORDNO, userid, COMPANYID);
|
|
|
|
|
|
MsOpSeaeDAL.MsOpSeaeDAL.getCNTRTOTAL(OrderData.BSNO, "op_seae");
|
|
|
var USERID = T_ALL_DA.GetStrSQL("GID", "select top 1 GID from [user] where SHOWNAME='" + op + "'");
|
|
|
var Msgdata = new SYSMessagemb();
|
|
|
Msgdata.GID = Guid.NewGuid().ToString();
|
|
|
Msgdata.NAME = "SALEORDER";
|
|
|
Msgdata.DESCRIPTION = headData.SALE + "销售订舱";
|
|
|
Msgdata.MESSAGECONTENT = headData.SALE + "有新业务订舱," + " 委托编号:" + headData.CUSTNO;
|
|
|
Msgdata.RECEIVER = USERID;
|
|
|
Msgdata.CREATETIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
Msgdata.ISREAD = "0";
|
|
|
Msgdata.READCOUNT = "0";
|
|
|
Msgdata.TYPE = "0";
|
|
|
Msgdata.TASKURL = "";
|
|
|
Msgdata.TASKID = headData.BSNO;
|
|
|
Msgdata.NUMBER = "0";
|
|
|
Msgdata.RECVTYPE = "2";
|
|
|
Msgdata.DbOperationType = DbOperationType.DbotIns;
|
|
|
Msgdata.ModelUIStatus = "I";
|
|
|
|
|
|
var Msgmodb = new ModelObjectRepository();
|
|
|
Msgmodb.Save(Msgdata);
|
|
|
var blUpSQL = "insert into Op_SeaCover(CID,BSNO,COVERTITLE,COVERCONTEXT,OPERATOR,OPTIME,ISSYS) values(NEWID(),'" + BSNO + "','销售订舱确认','" + headData.REMARK + "','" + OPNAME+ "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','1')";
|
|
|
bool bl = T_ALL_DA.GetExecuteSqlCommand(blUpSQL);
|
|
|
USERID = T_ALL_DA.GetStrSQL("GID", "select top 1 GID from [user] where SHOWNAME='" + headData.SALE+ "'");
|
|
|
Msgdata = new SYSMessagemb();
|
|
|
Msgdata.GID = Guid.NewGuid().ToString();
|
|
|
Msgdata.NAME = "SALEORDER";
|
|
|
Msgdata.DESCRIPTION = headData.SALE + "销售订舱";
|
|
|
Msgdata.MESSAGECONTENT = "订舱号:" + OrderData.ORDNO+ "已订舱, 委托编号:" + headData.CUSTNO;
|
|
|
Msgdata.RECEIVER = USERID;
|
|
|
Msgdata.CREATETIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
Msgdata.ISREAD = "0";
|
|
|
Msgdata.READCOUNT = "0";
|
|
|
Msgdata.TYPE = "0";
|
|
|
Msgdata.TASKURL = "";
|
|
|
Msgdata.TASKID = headData.BSNO;
|
|
|
Msgdata.NUMBER = "0";
|
|
|
Msgdata.RECVTYPE = "2";
|
|
|
Msgdata.DbOperationType = DbOperationType.DbotIns;
|
|
|
Msgdata.ModelUIStatus = "I";
|
|
|
|
|
|
Msgmodb.Save(Msgdata);
|
|
|
|
|
|
var PARAMVALUE = MsSysParamSetDAL.GetData("PARAMNAME='ORDERSENDMAIL'");
|
|
|
if (PARAMVALUE.PARAMVALUE == "1")
|
|
|
{
|
|
|
var mailtitle = "NEW BOOKING:" + headData.CUSTNO+ " 操作主管已确认订舱";
|
|
|
var Body = new StringBuilder();
|
|
|
Body.Append("<html> <Body>");
|
|
|
Body.Append("<br />NEW BOOKING:<br />业务编号:" + headData.CUSTNO);
|
|
|
Body.Append("<br />客户名称:" + headData.CUSTOMERNAME);
|
|
|
Body.Append("<br />揽货人" + headData.SALE);
|
|
|
Body.Append("<br />录入人" + headData.INPUTBY);
|
|
|
Body.Append("<br />港口:" + headData.DESTINATION);
|
|
|
Body.Append("<br />船期:" + headData.ETD);
|
|
|
Body.Append("<br />船公司:" + headData.CARRIER);
|
|
|
Body.Append("<br />箱量:" + headData.CNTRTOTAL);
|
|
|
Body.Append("<br />备注:" + OrderData.REMARK);
|
|
|
Body.Append("</Body></html> ");
|
|
|
|
|
|
//var mailcontext = "NEW BOOKING:\r\n" + "业务编号:" + headData.CUSTNO + "\r\n客户名称:" + headData.CUSTOMERNAME + "\r\n揽货人:" + headData.SALE + "\r\n港口:" + headData.DESTINATION
|
|
|
// + "\r\n船期:" + headData.ETD + "\r\n船公司:" + headData.CARRIER + "\r\n箱量:" + headData.CNTRTOTAL + "\r\n备注:" + OrderData.REMARK;
|
|
|
var mailto = "";
|
|
|
var oplist = SysUserDAL.GetDataList("U.SHOWNAME='" + op + "' or U.SHOWNAME='" + headData.SALE + "' or U.SHOWNAME='" + OrderData.INPUTBY + "' ");
|
|
|
foreach (var opbs in oplist)
|
|
|
{
|
|
|
if (opbs.EMAIL1 != "")
|
|
|
{
|
|
|
if (mailto == "")
|
|
|
mailto = opbs.EMAIL1;
|
|
|
else
|
|
|
mailto = mailto + ";" + opbs.EMAIL1;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (mailto != "")
|
|
|
{
|
|
|
var doclist = ReceiptDocDAL.GetDocList("BSNO='" + headData.BSNO + "'", " MODIFIEDTIME DESC ");
|
|
|
var j = 0;
|
|
|
var filepath = "";
|
|
|
foreach (var doc in doclist)
|
|
|
{
|
|
|
if (j == 0)
|
|
|
{
|
|
|
filepath = doc.Driect_URL;
|
|
|
}
|
|
|
|
|
|
j = j = 1;
|
|
|
}
|
|
|
|
|
|
result = SendMailWithFile(mailtitle, Body.ToString(), filepath, mailto, OPNAME);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
public static DBResult SendMailWithFile(string title, string context, string filePath, string MailToAddress,string username)
|
|
|
{
|
|
|
|
|
|
var result = new DBResult();
|
|
|
if (MailToAddress == "")
|
|
|
{
|
|
|
result.Success = false;
|
|
|
result.Message = "邮箱不能为空!";
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
var MAILTONAME = "admin@dongshengsoft.com";
|
|
|
var PARAMVALUE = MsSysParamSetDAL.GetData("PARAMNAME='MAILTONAME'");
|
|
|
if (PARAMVALUE.PARAMVALUE != "") MAILTONAME = PARAMVALUE.PARAMVALUE;
|
|
|
var MAILTOPASSWORD = "ds!@#)(*";
|
|
|
PARAMVALUE = MsSysParamSetDAL.GetData("PARAMNAME='MAILTOPASSWORD'");
|
|
|
if (PARAMVALUE.PARAMVALUE != "") MAILTOPASSWORD = PARAMVALUE.PARAMVALUE;
|
|
|
var MAILTOSERVER = "smtpcom.263xmail.com";
|
|
|
PARAMVALUE = MsSysParamSetDAL.GetData("PARAMNAME='MAILTOSERVER'");
|
|
|
if (PARAMVALUE.PARAMVALUE != "") MAILTOSERVER = PARAMVALUE.PARAMVALUE;
|
|
|
var MAILTOPORT = "465";
|
|
|
PARAMVALUE = MsSysParamSetDAL.GetData("PARAMNAME='MAILTOPORT'");
|
|
|
if (PARAMVALUE.PARAMVALUE != "") MAILTOPORT = PARAMVALUE.PARAMVALUE;
|
|
|
var MAILISSSL = false;
|
|
|
PARAMVALUE = MsSysParamSetDAL.GetData("PARAMNAME='MAILISSSL'");
|
|
|
if (PARAMVALUE.PARAMVALUE == "1") MAILISSSL = true;
|
|
|
//MAILISSSL = true;
|
|
|
|
|
|
filePath = System.Web.HttpContext.Current.Server.MapPath(filePath);
|
|
|
try
|
|
|
{
|
|
|
var recipients = new List<string>();
|
|
|
var ccList = new List<string>();
|
|
|
string[] emailList = MailToAddress.Split(';');
|
|
|
foreach (var m in emailList)
|
|
|
{
|
|
|
if (m.Trim() != "")
|
|
|
recipients.Add(m);
|
|
|
}
|
|
|
|
|
|
var filename = Path.GetFileName(filePath);
|
|
|
var fileExt = Path.GetExtension(filename);
|
|
|
|
|
|
|
|
|
var mailBodyEntity = new MailBodyEntity()
|
|
|
{
|
|
|
Body = context,
|
|
|
MailBodyType = TextFormat.Html,
|
|
|
Cc = ccList,
|
|
|
//MailBodyType = "html",
|
|
|
MailFiles = new List<MailFile>() {
|
|
|
new MailFile { MailFilePath = filePath, MailFileSubType = fileExt, MailFileType =fileExt }
|
|
|
},
|
|
|
Recipients = recipients,
|
|
|
Sender = MAILTONAME,
|
|
|
SenderAddress = MAILTONAME,
|
|
|
Subject = title,
|
|
|
};
|
|
|
var sendServerConfiguration = new SendServerConfigurationEntity()
|
|
|
{
|
|
|
SenderPassword = MAILTOPASSWORD,
|
|
|
SmtpPort = Convert.ToInt32(MAILTOPORT),
|
|
|
IsSsl = MAILISSSL,
|
|
|
MailEncoding = "utf-8",
|
|
|
SenderAccount = MAILTONAME,
|
|
|
SmtpHost = MAILTOSERVER,
|
|
|
|
|
|
};
|
|
|
|
|
|
var Mailresult = MailHelper.SendMail(mailBodyEntity, sendServerConfiguration);
|
|
|
if (Mailresult.ResultStatus == true)
|
|
|
{
|
|
|
var head = new OpMailLog();
|
|
|
head.BSNO = "";
|
|
|
head.BLTYPE = "销售订舱审核通过";
|
|
|
head.RECEIVER = MailToAddress;
|
|
|
head.SUBJECT = title;
|
|
|
head.DESCRIPTION = context;
|
|
|
head.ATTACHMENT = "../../ AutoDuiFiles / Excels" + filename;
|
|
|
head.SENDER = username;
|
|
|
head.SENDTIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
head.DbOperationType = DbOperationType.DbotIns;
|
|
|
var modb = new ModelObjectDB();
|
|
|
modb.Save(head);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
result.Success = Mailresult.ResultStatus;
|
|
|
result.Message = Mailresult.ResultInformation;
|
|
|
return result;
|
|
|
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = ex.Message;
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "发送成功!";
|
|
|
return result;
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
static public string GetPortEDICodeByEname(string port)
|
|
|
{
|
|
|
string EDICODE = "";
|
|
|
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("select EDICODE from code_disport where PORT='" + port + "'");
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
EDICODE = Convert.ToString(reader["EDICODE"]).Trim();
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
if (EDICODE.Trim() == "")
|
|
|
{
|
|
|
var strSql2 = new StringBuilder();
|
|
|
strSql2.Append("select EDICODE from code_loadport where PORT='" + port + "' ");
|
|
|
db = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql2.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
EDICODE = Convert.ToString(reader["EDICODE"]).Trim();
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
}
|
|
|
return EDICODE;
|
|
|
}
|
|
|
|
|
|
#region 网上订舱处理
|
|
|
|
|
|
static public List<MsSeaeOrder> GetWebDataList(string strCondition, string sort = null)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.AppendLine("SELECT top 20 BSNO ORDNO,BSNO,BSSTATUS as ORSTATUS,BLTYPE,BSDATE, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='MBLNO' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then MBLNO else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='MBLNO' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS MBLNO, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='SHIPPER' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then SHIPPER else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='SHIPPER' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS SHIPPER, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CONSIGNEE' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then CONSIGNEE else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CONSIGNEE' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS CONSIGNEE, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='NOTIFYPARTY' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then NOTIFYPARTY else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='NOTIFYPARTY' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS NOTIFYPARTY, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='VESSEL' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then VESSEL else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='VESSEL' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS VESSEL, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='VOYNO' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then VOYNO else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='VOYNO' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS VOYNO, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PlACERECEIPT' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then PlACERECEIPT else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PlACERECEIPT' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS PlACERECEIPT, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PORTLOAD' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then PORTLOAD else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PORTLOAD' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS PORTLOAD, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PORTDISCHARGE' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then PORTDISCHARGE else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PORTDISCHARGE' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS PORTDISCHARGE, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PLACEDELIVERY' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then PLACEDELIVERY else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PLACEDELIVERY' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS PLACEDELIVERY, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='BLFRT' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then BLFRT else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='BLFRT' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS BLFRT, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='SERVICE' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then [SERVICE] else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='SERVICE' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS [SERVICE], ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='MARKS' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then MARKS else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='MARKS' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS MARKS, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DESCRIPTION' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then [DESCRIPTION] else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DESCRIPTION' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS [DESCRIPTION], ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='GOODSNAME' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then GOODSNAME else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='GOODSNAME' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS GOODSNAME, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='GROSSWEIGHT' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then GROSSWEIGHT else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='GROSSWEIGHT' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS GROSSWEIGHT, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='MEASUREMENT' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then MEASUREMENT else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='MEASUREMENT' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS MEASUREMENT, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PKGS' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then PKGS else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PKGS' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS PKGS, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='KINDPKGS' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then KINDPKGS else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='KINDPKGS' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS KINDPKGS, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='KGS' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then KGS else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='KGS' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS KGS, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CBM' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then CBM else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CBM' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS CBM, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='TOTALNO' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then TOTALNO else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='TOTALNO' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS TOTALNO, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CNTR' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then CNTR else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CNTR' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS CNTRTOTAL, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CARGOID' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then CARGOID else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CARGOID' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS CARGOID, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DCLASS' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then DCLASS else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DCLASS' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS DCLASS, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DUNNO' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then DUNNO else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DUNNO' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS DUNNO, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='REEFERF' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then REEFERF else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='REEFERF' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS REEFERF, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='TEMPID' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then TEMPID else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='TEMPID' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS TEMPID, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='TEMPSET' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then TEMPSET else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='TEMPSET' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS TEMPSET, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='BOOKINGDESCRIPTION' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then BOOKINGDESCRIPTION else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='BOOKINGDESCRIPTION' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS REMARK, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DPAGE' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then DPAGE else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DPAGE' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS DPAGE, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DLABEL' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then DLABEL else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DLABEL' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS DLABEL, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='LINKMAN' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then LINKMAN else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='LINKMAN' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS LINKMAN, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='ISSUEWAY' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then ISSUEWAY else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='ISSUEWAY' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS ISSUETYPE, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='BILLNUM' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then BILLNUM else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='BILLNUM' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS BILLNUM, ");
|
|
|
strSql.AppendLine("(Select name from Company where companyID=B.companyID) as CUSTOMERNAME, ");
|
|
|
strSql.AppendLine("'网上订舱' ORDTYPE,SHIPPERID,CONSIGNEEID,NOTIFYPARTYID,ETD,PORTLOADID,PORTDISCHARGEID, ");
|
|
|
strSql.AppendLine("PLACEDELIVERYID,DESTINATIONID,DESTINATION,ISSUEDATE,ISSUEPLACE,PREPARDAT,PAYABLEAT,HSCODE, ");//NOBILL,ISSUETYPE,
|
|
|
strSql.AppendLine("NOPKGS,(SELECT userName FROM UserInfo WHERE userID=B.INPUTBY) INPUTBY, ");
|
|
|
strSql.AppendLine("'' INVNO,0 CUSTOMSNUM,STATUS1,STATUS2,STATUS3,STATUS4,STATUS5,0 ISFUMIGATION,TEMPMAX,TEMPMIN, ");
|
|
|
strSql.AppendLine("0 ISSTORAGE,0 ISLAND,0 ISCUSTOMS,0 ISINSPECTION,0 ISBOOKING,0 ISAGENT,0 ISHBLNO, ");
|
|
|
strSql.AppendLine("0 SERVICE9,0 SERVICE10,'' STLNAME,null STLDATE,0 OCEANFEE,0 ISUSD, ");
|
|
|
strSql.AppendLine("0 ISCOMMISSIONBACK,CARRIER,'' CARRIERATTN,'' CARRIERTEL,'' CARRIEREMAIL, ");
|
|
|
strSql.AppendLine("'' FORWARDER,'' FORWARDERATTN,'' FORWARDERTEL,'' FORWARDEREMAIL,'' SALE, ");
|
|
|
strSql.AppendLine("PACKINGTYPE,'' BLTYPE,OP,'' CUSTSERVICE,'' doc,ISSUEWAY,BILLNUM,'' AGENTID,'' AGENT, ");
|
|
|
strSql.AppendLine("(SELECT userName FROM UserInfo WHERE userID=B.AUDITOR) AUDITOPERATOR, ");
|
|
|
strSql.AppendLine("'' AUDITDATE, ");
|
|
|
strSql.AppendLine("(Select className from InfoClass where classID=B.BSSTATUS) as ORSTATUSREF , ");
|
|
|
strSql.AppendLine("(select top 1 Remark from BookingCargoSpaceStatus where flowid=B.BSSTATUS and bsno=B.bsno order by subdate desc) ORREASON , ");
|
|
|
strSql.AppendLine("(select mobile from userinfo where userid=inputby) SenderMobile, ");
|
|
|
strSql.AppendLine("(select email from userinfo where userid=inputby) SenderEmail ,CUSTNO, ");
|
|
|
strSql.AppendLine("CONTRACTNO,AMSSHIPPER,AMSCONSIGNEE,AMSNOTIFYPARTY,'' CONFIRMOP,null CONFIRMDATE,'' OPERATOR,'' OPERATORTEL,'0' FBP,'0' DESTFBP,'' MAXWEIGHT,'' PLANPROFIT,'' OPERATOREMAIL ");
|
|
|
strSql.AppendLine(" from BookingCargoSpace B");
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
|
{
|
|
|
strSql.AppendLine(" where " + strCondition);
|
|
|
}
|
|
|
//
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
|
{
|
|
|
strSql.AppendLine(" order by " + sortstring);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.AppendLine(" order by BSDATE desc");
|
|
|
}
|
|
|
return SetWebData(strSql,"SHIPPINGBOX");
|
|
|
}
|
|
|
|
|
|
private static List<MsSeaeOrder> SetWebData(StringBuilder strSql, string dbstr = "")
|
|
|
{
|
|
|
var headList = new List<MsSeaeOrder>();
|
|
|
Database db = null;
|
|
|
if (dbstr != "")
|
|
|
db = DatabaseFactory.CreateDatabase(dbstr);
|
|
|
else
|
|
|
db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
|
SqlCommand cmd = new SqlCommand();
|
|
|
cmd.CommandText = strSql.ToString();
|
|
|
cmd.CommandTimeout = 120000; //要加这一句
|
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(cmd))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
MsSeaeOrder data = new MsSeaeOrder();
|
|
|
#region Set DB data to Object
|
|
|
|
|
|
|
|
|
data.ORDNO = Convert.ToString(reader["ORDNO"]);//委托
|
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
|
|
|
|
|
|
|
|
|
data.BLTYPE = Convert.ToString(reader["BLTYPE"]);//装运方式
|
|
|
data.ORSTATUS = Convert.ToString(reader["ORSTATUS"]);//主编号
|
|
|
data.ORSTATUSREF = Convert.ToString(reader["ORSTATUSREF"]);//委托编号
|
|
|
data.ORREASON = Convert.ToString(reader["ORREASON"]);//分提单号
|
|
|
data.BSDATE = Convert.ToDateTime(reader["BSDATE"]);//接单日期
|
|
|
data.MBLNO = Convert.ToString(reader["MBLNO"]);//主提单号
|
|
|
data.CUSTNO = Convert.ToString(reader["CUSTNO"]);//主提单号
|
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);//委托单位
|
|
|
data.ORDTYPE = Convert.ToString(reader["ORDTYPE"]);//业务状态
|
|
|
data.SHIPPERID = Convert.ToString(reader["SHIPPERID"]);//发货人
|
|
|
data.CONSIGNEEID = Convert.ToString(reader["CONSIGNEEID"]);//收货人
|
|
|
data.NOTIFYPARTYID = Convert.ToString(reader["NOTIFYPARTYID"]);//通知人
|
|
|
data.SHIPPER = Convert.ToString(reader["SHIPPER"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+"); //发货人内容
|
|
|
data.CONSIGNEE = Convert.ToString(reader["CONSIGNEE"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+");//收货人内容
|
|
|
data.NOTIFYPARTY = Convert.ToString(reader["NOTIFYPARTY"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+");//通知人内容
|
|
|
data.VESSEL = Convert.ToString(reader["VESSEL"]);//船名
|
|
|
data.VOYNO = Convert.ToString(reader["VOYNO"]);//航次
|
|
|
if (reader["ETD"] != DBNull.Value)
|
|
|
data.ETD = Convert.ToDateTime(reader["ETD"]).ToString("yyyy-MM-dd");//到港日期
|
|
|
data.PORTLOADID = Convert.ToString(reader["PORTLOADID"]);//装货港代码
|
|
|
data.PORTLOAD = Convert.ToString(reader["PORTLOAD"]);//装货港
|
|
|
data.PORTDISCHARGEID = Convert.ToString(reader["PORTDISCHARGEID"]);//卸货港代码
|
|
|
data.PORTDISCHARGE = Convert.ToString(reader["PORTDISCHARGE"]).Replace(@"^", "\'");//卸货港
|
|
|
data.PLACERECEIPT = Convert.ToString(reader["PlACERECEIPT"]).Replace(@"^", "\'");//收货地
|
|
|
data.PLACEDELIVERYID = Convert.ToString(reader["PLACEDELIVERYID"]);//交货地代码
|
|
|
data.PLACEDELIVERY = Convert.ToString(reader["PLACEDELIVERY"]).Replace(@"^", "\'");//交货地
|
|
|
data.DESTINATIONID = Convert.ToString(reader["DESTINATIONID"]);//目的地代码
|
|
|
data.DESTINATION = Convert.ToString(reader["DESTINATION"]).Replace(@"^", "\'");//目的地
|
|
|
data.NOBILL = Convert.ToString(reader["BILLNUM"]);//提单份数
|
|
|
data.ISSUETYPE = Convert.ToString(reader["ISSUETYPE"]);//签单方式
|
|
|
if (reader["ISSUEDATE"] != DBNull.Value)
|
|
|
data.ISSUEDATE = Convert.ToDateTime(reader["ISSUEDATE"]).ToString("yyyy-MM-dd");//预抵日期
|
|
|
data.ISSUEPLACE = Convert.ToString(reader["ISSUEPLACE"]);//签单地点
|
|
|
data.BLFRT = Convert.ToString(reader["BLFRT"]);//付费方式
|
|
|
data.PREPARDAT = Convert.ToString(reader["PREPARDAT"]);//预付地点
|
|
|
data.PAYABLEAT = Convert.ToString(reader["PAYABLEAT"]);//到付地点
|
|
|
data.SERVICE = Convert.ToString(reader["SERVICE"]);//运输条款
|
|
|
data.MARKS = Convert.ToString(reader["MARKS"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+"); //唛头
|
|
|
//data.NOPKGS = Convert.ToString(reader["NOPKGS"]).Replace(@"\\\\", "\n").Replace(@"^", "\'");//件数包装
|
|
|
string _pkgs = Convert.ToString(reader["PKGS"].ToString());
|
|
|
/*for (int iCount = 0; iCount < 5; iCount++)
|
|
|
{
|
|
|
int _lengthPkgs = _pkgs.Length;
|
|
|
char _tempPkgs = _pkgs[_lengthPkgs - 1];
|
|
|
if (_tempPkgs == '0') { _pkgs = _pkgs.Substring(0, _lengthPkgs - 1); }
|
|
|
else { break; }
|
|
|
}
|
|
|
if (_pkgs[_pkgs.Length - 1] == '.') { _pkgs = _pkgs.Substring(0, _pkgs.Length - 1); }*/
|
|
|
data.NOPKGS = Convert.ToString(_pkgs + reader["KINDPKGS"].ToString());//件数包装
|
|
|
data.DESCRIPTION = Convert.ToString(reader["DESCRIPTION"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+"); //货物描述
|
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);//品名
|
|
|
//data.GROSSWEIGHT = Convert.ToString(reader["GROSSWEIGHT"]).Replace(@"\\\\", "\n").Replace(@"^", "\'"); //货物毛重
|
|
|
string _kgs = Convert.ToString(reader["KGS"]);
|
|
|
for (int iCount = 0; iCount < 5; iCount++)
|
|
|
{
|
|
|
int _lengthKgs = _kgs.Length;
|
|
|
char _tempKgs = _kgs[_lengthKgs - 1];
|
|
|
if (_tempKgs == '0') { _kgs = _kgs.Substring(0, _lengthKgs - 1); }
|
|
|
else { break; }
|
|
|
}
|
|
|
if (_kgs[_kgs.Length - 1] == '.') { _kgs = _kgs.Substring(0, _kgs.Length - 1); }
|
|
|
data.GROSSWEIGHT = _kgs + "KGS"; //货物毛重
|
|
|
//data.MEASUREMENT = Convert.ToString(reader["MEASUREMENT"]).Replace(@"\\\\", "\n").Replace(@"^", "\'"); //货物尺码
|
|
|
string _cbm = Convert.ToString(reader["CBM"]);
|
|
|
for (int iCount = 0; iCount < 5; iCount++)
|
|
|
{
|
|
|
int _lengthCbm = _cbm.Length;
|
|
|
char _tempCbm = _cbm[_lengthCbm - 1];
|
|
|
if (_tempCbm == '0') { _cbm = _cbm.Substring(0, _lengthCbm - 1); }
|
|
|
else { break; }
|
|
|
}
|
|
|
if (_cbm[_cbm.Length - 1] == '.') { _cbm = _cbm.Substring(0, _cbm.Length - 1); }
|
|
|
data.MEASUREMENT = _cbm + "CBM"; //货物尺码
|
|
|
data.PKGS = Convert.ToString(_pkgs);//件数
|
|
|
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);//件数包装
|
|
|
data.KGS = Convert.ToString(_kgs);//毛重
|
|
|
data.CBM = Convert.ToString(_cbm);//立方数/尺码
|
|
|
data.TOTALNO = Convert.ToString(reader["TOTALNO"]);//件数大写
|
|
|
data.CNTRTOTAL = Convert.ToString(reader["CNTRTOTAL"]);//集装箱全部内容
|
|
|
data.INPUTBY = Convert.ToString(reader["INPUTBY"]);//录入人
|
|
|
data.OPERATORTEL = Convert.ToString(reader["SenderMobile"]);//录入人
|
|
|
data.OPERATOREMAIL = Convert.ToString(reader["SenderEmail"]);//录入人
|
|
|
data.INVNO = Convert.ToString(reader["INVNO"]);//发票号
|
|
|
data.CARGOID = Convert.ToString(reader["CARGOID"]);//货物标识
|
|
|
data.HSCODE = Convert.ToString(reader["HSCODE"]);
|
|
|
data.DCLASS = Convert.ToString(reader["DCLASS"]);//危险品分类/等级
|
|
|
data.DUNNO = Convert.ToString(reader["DUNNO"]);//危险品编号
|
|
|
data.DPAGE = Convert.ToString(reader["DPAGE"]);//危险品页号
|
|
|
data.DLABEL = Convert.ToString(reader["DLABEL"]);//危险品标签
|
|
|
data.LINKMAN = Convert.ToString(reader["LINKMAN"]);//危险品联系人
|
|
|
data.REEFERF = Convert.ToString(reader["REEFERF"]);//冷藏通风量
|
|
|
if (Convert.ToString(reader["TEMPID"]) != "undefined")
|
|
|
data.TEMPID = Convert.ToString(reader["TEMPID"]);//温度单位
|
|
|
data.TEMPSET = Convert.ToString(reader["TEMPSET"]);//设置温度
|
|
|
data.TEMPMAX = Convert.ToString(reader["TEMPMAX"]);//最高温度
|
|
|
data.TEMPMIN = Convert.ToString(reader["TEMPMIN"]);//最低温度
|
|
|
data.CUSTOMSNUM = Convert.ToInt32(reader["CUSTOMSNUM"]);//报关票数
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+");//备注
|
|
|
if (reader["STATUS1"] != DBNull.Value)
|
|
|
data.STATUS1 = Convert.ToBoolean(reader["STATUS1"]);//状态1
|
|
|
if (reader["STATUS2"] != DBNull.Value)
|
|
|
data.STATUS2 = Convert.ToBoolean(reader["STATUS2"]);//状态2
|
|
|
if (reader["STATUS3"] != DBNull.Value)
|
|
|
data.STATUS3 = Convert.ToBoolean(reader["STATUS3"]);//状态3
|
|
|
if (reader["STATUS4"] != DBNull.Value)
|
|
|
data.STATUS4 = Convert.ToBoolean(reader["STATUS4"]);//状态4
|
|
|
if (reader["STATUS5"] != DBNull.Value)
|
|
|
data.STATUS5 = Convert.ToBoolean(reader["STATUS5"]);//状态5
|
|
|
if (reader["ISFUMIGATION"] != DBNull.Value)
|
|
|
data.ISFUMIGATION = Convert.ToBoolean(reader["ISFUMIGATION"]);//熏蒸
|
|
|
if (reader["ISSTORAGE"] != DBNull.Value)
|
|
|
data.ISSTORAGE = Convert.ToBoolean(reader["ISSTORAGE"]);//仓储
|
|
|
if (reader["ISLAND"] != DBNull.Value)
|
|
|
data.ISLAND = Convert.ToBoolean(reader["ISLAND"]);//陆运
|
|
|
if (reader["ISCUSTOMS"] != DBNull.Value)
|
|
|
data.ISCUSTOMS = Convert.ToBoolean(reader["ISCUSTOMS"]);//报关
|
|
|
if (reader["ISINSPECTION"] != DBNull.Value)
|
|
|
data.ISINSPECTION = Convert.ToBoolean(reader["ISINSPECTION"]);//报检
|
|
|
if (reader["ISBOOKING"] != DBNull.Value)
|
|
|
data.ISBOOKING = Convert.ToBoolean(reader["ISBOOKING"]);//订舱
|
|
|
if (reader["ISAGENT"] != DBNull.Value)
|
|
|
data.ISAGENT = Convert.ToBoolean(reader["ISAGENT"]);//使用代理
|
|
|
if (reader["ISHBLNO"] != DBNull.Value)
|
|
|
data.ISHBLNO = Convert.ToBoolean(reader["ISHBLNO"]);//分单签单
|
|
|
if (reader["SERVICE9"] != DBNull.Value)
|
|
|
data.SERVICE9 = Convert.ToBoolean(reader["SERVICE9"]);//服务项目9
|
|
|
if (reader["SERVICE10"] != DBNull.Value)
|
|
|
data.SERVICE10 = Convert.ToBoolean(reader["SERVICE10"]);//服务项目10
|
|
|
data.STLNAME = Convert.ToString(reader["STLNAME"]);//结算方式
|
|
|
if (reader["STLDATE"] != DBNull.Value)
|
|
|
data.STLDATE = Convert.ToDateTime(reader["STLDATE"]).ToString("yyyy-MM-dd");//结算时间
|
|
|
if (reader["OCEANFEE"] != DBNull.Value)
|
|
|
data.OCEANFEE = Convert.ToDecimal(reader["OCEANFEE"]);//
|
|
|
if (reader["ISUSD"] != DBNull.Value)
|
|
|
data.ISUSD = Convert.ToBoolean(reader["ISUSD"]);//
|
|
|
if (reader["ISCOMMISSIONBACK"] != DBNull.Value)
|
|
|
data.ISCOMMISSIONBACK = Convert.ToBoolean(reader["ISCOMMISSIONBACK"]);//
|
|
|
data.CARRIER = Convert.ToString(reader["CARRIER"]);//船公司
|
|
|
data.CARRIERATTN = Convert.ToString(reader["CARRIERATTN"]);//船公司
|
|
|
data.CARRIERTEL = Convert.ToString(reader["CARRIERTEL"]);//船公司
|
|
|
data.CARRIEREMAIL = Convert.ToString(reader["CARRIEREMAIL"]);//船公司
|
|
|
data.FORWARDER = Convert.ToString(reader["FORWARDER"]);//订舱公司
|
|
|
data.FORWARDERATTN = Convert.ToString(reader["FORWARDERATTN"]);//订舱公司
|
|
|
data.FORWARDERTEL = Convert.ToString(reader["FORWARDERTEL"]);//订舱公司
|
|
|
data.FORWARDEREMAIL = Convert.ToString(reader["FORWARDEREMAIL"]);//订舱公司
|
|
|
data.SALE = Convert.ToString(reader["SALE"]);//揽货人
|
|
|
data.PACKINGTYPE = Convert.ToString(reader["PACKINGTYPE"]);//装箱类型
|
|
|
data.BLTYPE = Convert.ToString(reader["BLTYPE"]);//装运方式
|
|
|
data.OP = Convert.ToString(reader["OP"]);//操作员
|
|
|
data.CUSTSERVICE = Convert.ToString(reader["CUSTSERVICE"]);//客服员
|
|
|
data.DOC = Convert.ToString(reader["DOC"]);//单证
|
|
|
data.AUDITOPERATOR = Convert.ToString(reader["AUDITOPERATOR"]);//审核人
|
|
|
|
|
|
if (reader["AUDITDATE"] != DBNull.Value)
|
|
|
data.AUDITDATE = Convert.ToDateTime(reader["AUDITDATE"]).ToString("yyyy-MM-dd HH:mm:ss");//截港日期
|
|
|
if (reader["CONFIRMDATE"] != DBNull.Value)
|
|
|
data.CONFIRMDATE = Convert.ToDateTime(reader["CONFIRMDATE"]).ToString("yyyy-MM-dd HH:mm:ss");//截港日期
|
|
|
data.CONFIRMOP = Convert.ToString(reader["CONFIRMOP"]);//确认人
|
|
|
data.OPERATORTEL = Convert.ToString(reader["SenderMobile"]);//
|
|
|
data.OPERATOREMAIL = Convert.ToString(reader["SenderEmail"]);//
|
|
|
if (data.OPERATORTEL != "")
|
|
|
data.OPERATORTEL = Convert.ToString(reader["OPERATORTEL"]);//
|
|
|
if (data.OPERATOREMAIL != "")
|
|
|
data.OPERATOREMAIL = Convert.ToString(reader["OPERATOREMAIL"]);//
|
|
|
data.OPERATOR = Convert.ToString(reader["OPERATOR"]);//
|
|
|
data.FBP = Convert.ToString(reader["FBP"]);//
|
|
|
data.DESTFBP = Convert.ToString(reader["DESTFBP"]);//
|
|
|
data.MAXWEIGHT = Convert.ToString(reader["MAXWEIGHT"]);//
|
|
|
data.PLANPROFIT = Convert.ToString(reader["PLANPROFIT"]);//
|
|
|
data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]);
|
|
|
data.AMSShipper = Convert.ToString(reader["AMSSHIPPER"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+");
|
|
|
data.AMSConsignee = Convert.ToString(reader["AMSCONSIGNEE"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+");
|
|
|
data.AMSNotifyparty = Convert.ToString(reader["AMSNOTIFYPARTY"]).Replace(@"\\\\", "\n").Replace(@"^", "\'").Replace(@"&-add-", "+");
|
|
|
data.AGENTID = Convert.ToString(reader["AGENTID"]);//
|
|
|
data.AGENT = Convert.ToString(reader["AGENT"]);//
|
|
|
|
|
|
#endregion
|
|
|
headList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return headList;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static public MsSeaeOrder GetWebData(string condition)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("SELECT top 50 BSNO ORDNO,BSNO,BSSTATUS as ORSTATUS,BLTYPE,BSDATE, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='MBLNO' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then MBLNO else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='MBLNO' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS MBLNO, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='SHIPPER' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then SHIPPER else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='SHIPPER' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS SHIPPER, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CONSIGNEE' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then CONSIGNEE else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CONSIGNEE' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS CONSIGNEE, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='NOTIFYPARTY' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then NOTIFYPARTY else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='NOTIFYPARTY' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS NOTIFYPARTY, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='VESSEL' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then VESSEL else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='VESSEL' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS VESSEL, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='VOYNO' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then VOYNO else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='VOYNO' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS VOYNO, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PlACERECEIPT' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then PlACERECEIPT else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PlACERECEIPT' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS PlACERECEIPT, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PORTLOAD' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then PORTLOAD else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PORTLOAD' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS PORTLOAD, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PORTDISCHARGE' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then PORTDISCHARGE else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PORTDISCHARGE' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS PORTDISCHARGE, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PLACEDELIVERY' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then PLACEDELIVERY else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PLACEDELIVERY' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS PLACEDELIVERY, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='BLFRT' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then BLFRT else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='BLFRT' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS BLFRT, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='SERVICE' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then [SERVICE] else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='SERVICE' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS [SERVICE], ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='MARKS' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then MARKS else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='MARKS' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS MARKS, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DESCRIPTION' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then [DESCRIPTION] else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DESCRIPTION' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS [DESCRIPTION], ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='GOODSNAME' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then GOODSNAME else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='GOODSNAME' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS GOODSNAME, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='GROSSWEIGHT' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then GROSSWEIGHT else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='GROSSWEIGHT' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS GROSSWEIGHT, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='MEASUREMENT' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then MEASUREMENT else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='MEASUREMENT' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS MEASUREMENT, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PKGS' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then PKGS else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='PKGS' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS PKGS, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='KINDPKGS' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then KINDPKGS else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='KINDPKGS' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS KINDPKGS, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='KGS' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then KGS else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='KGS' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS KGS, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CBM' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then CBM else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CBM' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS CBM, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='TOTALNO' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then TOTALNO else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='TOTALNO' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS TOTALNO, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CNTR' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then CNTR else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CNTR' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS CNTRTOTAL, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CARGOID' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then CARGOID else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='CARGOID' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS CARGOID, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DCLASS' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then DCLASS else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DCLASS' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS DCLASS, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DUNNO' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then DUNNO else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DUNNO' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS DUNNO, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='REEFERF' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then REEFERF else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='REEFERF' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS REEFERF, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='TEMPID' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then TEMPID else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='TEMPID' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS TEMPID, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='TEMPSET' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then TEMPSET else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='TEMPSET' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS TEMPSET, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='BOOKINGDESCRIPTION' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then BOOKINGDESCRIPTION else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='BOOKINGDESCRIPTION' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS REMARK, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DPAGE' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then DPAGE else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DPAGE' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS DPAGE, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DLABEL' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then DLABEL else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='DLABEL' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS DLABEL, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='LINKMAN' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then LINKMAN else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='LINKMAN' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS LINKMAN, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='ISSUEWAY' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then ISSUEWAY else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='ISSUEWAY' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS ISSUETYPE, ");
|
|
|
strSql.AppendLine("case when (select COUNT(*) from dbo.BookingCargoSpaceChange where userID != '' and fieldName='BILLNUM' and isContainer=0 and dbo.BookingCargoSpaceChange.BSNO=B.BSNO and del_sign=0)=0 then BILLNUM else (select fieldValue from dbo.BookingCargoSpaceChange where userID != '' and fieldName='BILLNUM' and isContainer=0 and BSNO=B.BSNO and del_sign=0) end AS BILLNUM, ");
|
|
|
strSql.Append("(Select name from Company where companyID=B.companyID) as CUSTOMERNAME, ");
|
|
|
strSql.Append("'网上订舱' ORDTYPE,SHIPPERID,CONSIGNEEID,NOTIFYPARTYID,ETD,PORTLOADID,PORTDISCHARGEID, ");
|
|
|
strSql.Append("PLACEDELIVERYID,DESTINATIONID,DESTINATION,ISSUEDATE,ISSUEPLACE,PREPARDAT,PAYABLEAT,HSCODE,'' AGENTID,'' AGENT, ");//NOBILL,ISSUETYPE,
|
|
|
strSql.Append("NOPKGS,(SELECT userName FROM UserInfo WHERE userID=B.INPUTBY) INPUTBY, ");
|
|
|
strSql.Append("'' INVNO,0 CUSTOMSNUM,STATUS1,STATUS2,STATUS3,STATUS4,STATUS5,0 ISFUMIGATION,TEMPMAX,TEMPMIN, ");
|
|
|
strSql.Append("0 ISSTORAGE,0 ISLAND,0 ISCUSTOMS,0 ISINSPECTION,0 ISBOOKING,0 ISAGENT,0 ISHBLNO, ");
|
|
|
strSql.Append("0 SERVICE9,0 SERVICE10,'' STLNAME,null STLDATE,0 OCEANFEE,0 ISUSD, ");
|
|
|
strSql.Append("0 ISCOMMISSIONBACK,CARRIER,'' CARRIERATTN,'' CARRIERTEL,'' CARRIEREMAIL, ");
|
|
|
strSql.Append("'' FORWARDER,'' FORWARDERATTN,'' FORWARDERTEL,'' FORWARDEREMAIL,'' SALE, ");
|
|
|
strSql.Append("PACKINGTYPE,'' BLTYPE,OP,'' CUSTSERVICE,'' doc, ");
|
|
|
strSql.Append("(SELECT userName FROM UserInfo WHERE userID=B.AUDITOR) AUDITOPERATOR, ");
|
|
|
strSql.Append("'' AUDITDATE, ");
|
|
|
strSql.Append("(Select className from InfoClass where classID=B.BSSTATUS) as ORSTATUSREF , ");
|
|
|
strSql.Append("(select top 1 Remark from BookingCargoSpaceStatus where flowid=B.BSSTATUS and bsno=B.bsno order by subdate desc) ORREASON , ");
|
|
|
strSql.Append("(select mobile from userinfo where userid=inputby) SenderMobile, ");
|
|
|
strSql.Append("(select email from userinfo where userid=inputby) SenderEmail ,CUSTNO, ");
|
|
|
strSql.Append("CONTRACTNO,AMSSHIPPER,AMSCONSIGNEE,AMSNOTIFYPARTY,'' CONFIRMOP,null CONFIRMDATE,'' OPERATOR,'' OPERATORTEL,'0' FBP,'0' DESTFBP,'' MAXWEIGHT,'' PLANPROFIT,'' OPERATOREMAIL ");
|
|
|
strSql.Append(" from BookingCargoSpace B");
|
|
|
if (!string.IsNullOrEmpty(condition))
|
|
|
{
|
|
|
strSql.Append(" where " + condition);
|
|
|
}
|
|
|
var list = SetWebData(strSql, "SHIPPINGBOX");
|
|
|
if (list.Count > 0)
|
|
|
return list[0];
|
|
|
return new MsSeaeOrder();
|
|
|
}
|
|
|
|
|
|
|
|
|
static public List<MsOpSeaeWebOrderCtn> GetWebBodyList(string strCondition)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
|
|
|
/*strSql.AppendLine("if(exists(select * from BookingCargoContainer where " + strCondition + " and del_sign is null)) ");
|
|
|
strSql.AppendLine("begin ");
|
|
|
strSql.AppendLine("select CTN_ID as id,BSNO,CTN,CTNNUM,CNTRNO,SEALNO,PKGS,KGS,CBM,KINDPKGS,[CTN_EXHIBIT] as CTNALL,CTNCODE,SIZE,REMARK ");
|
|
|
strSql.AppendLine("from BookingCargoContainer where " + strCondition + " and (del_sign=0 or del_sign is null) ");
|
|
|
strSql.AppendLine("end ");
|
|
|
strSql.AppendLine("else ");
|
|
|
strSql.AppendLine("begin ");
|
|
|
strSql.AppendLine("select CTN_ID as id,BSNO,CTN,CTNNUM,CNTRNO,SEALNO,PKGS,KGS,CBM,KINDPKGS,[CTN_EXHIBIT] as CTNALL,CTNCODE,SIZE,REMARK ");
|
|
|
strSql.AppendLine("from BookingCargoContainer where " + strCondition + " and (del_sign!=1) ");
|
|
|
strSql.AppendLine("UNION ");
|
|
|
strSql.AppendLine("select distinct A.CTN_ID as id,A.BSNO, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='CTN' ) as CTN, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='CTNNUM' ) as CTNNUM, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='CNTRNO' ) as CNTRNO, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='SEALNO' ) as SEALNO, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='PKGS' ) as PKGS, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='KGS' ) as KGS, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='CBM' ) as CBM, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='KINDPKGS' ) as KINDPKGS, ");
|
|
|
strSql.AppendLine("(select top 1 C.boxType from BookingCargoSpaceChange as B left join BoxTypeInfo as C on B.fieldValue=C.boxTypeID where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='CTN' and C.del_sign=0 ) as CTNALL, ");
|
|
|
strSql.AppendLine("'' as CTNCODE,'' as SIZE,'' as REMARK ");
|
|
|
strSql.AppendLine("from BookingCargoSpaceChange as A ");
|
|
|
strSql.AppendLine("where A." + strCondition + " and A.del_sign=0 and A.CTN_ID!='' ");
|
|
|
strSql.AppendLine("end ");*/
|
|
|
|
|
|
strSql.AppendLine("if(exists(select * from BookingCargoSpaceChange where " + strCondition + " and isContainer=1 and del_sign=0)) ");
|
|
|
strSql.AppendLine("begin ");
|
|
|
strSql.AppendLine("select distinct A.CTN_ID as id,A.BSNO, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='CTN' ) as CTN, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='CTNNUM' ) as CTNNUM, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='CNTRNO' ) as CNTRNO, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='SEALNO' ) as SEALNO, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='PKGS' ) as PKGS, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='KGS' ) as KGS, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='CBM' ) as CBM, ");
|
|
|
strSql.AppendLine("(select B.fieldValue from BookingCargoSpaceChange as B where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='KINDPKGS' ) as KINDPKGS, ");
|
|
|
strSql.AppendLine("(select top 1 C.boxType from BookingCargoSpaceChange as B left join BoxTypeInfo as C on B.fieldValue=C.boxTypeID where B.changeID=A.changeID and B.isContainer=1 and B.fieldName='CTN' and C.del_sign=0 ) as CTNALL, ");
|
|
|
strSql.AppendLine("'' as CTNCODE,'' as SIZE,'' as REMARK ");
|
|
|
strSql.AppendLine("from BookingCargoSpaceChange as A ");
|
|
|
strSql.AppendLine("where A." + strCondition + " and A.del_sign=0 and A.CTN_ID!='' ");
|
|
|
strSql.AppendLine("union ");
|
|
|
strSql.AppendLine("select CTN_ID,BSNO, ");
|
|
|
strSql.AppendLine("CTN,CTNNUM,CNTRNO,SEALNO,PKGS,KGS,CBM,KINDPKGS, ");
|
|
|
strSql.AppendLine("(select top 1 boxType from BoxTypeInfo where boxTypeID=A.CTN) as CTNALL, ");
|
|
|
strSql.AppendLine("'' as CTNCODE,'' as SIZE,'' as REMARK ");
|
|
|
strSql.AppendLine("from BookingCargoContainer as A ");
|
|
|
strSql.AppendLine("where " + strCondition + " and del_sign=0 ");
|
|
|
strSql.AppendLine("UNION ");
|
|
|
strSql.AppendLine("select CTN_ID,BSNO, ");
|
|
|
strSql.AppendLine("CTN,CTNNUM,CNTRNO,SEALNO,PKGS,KGS,CBM,KINDPKGS, ");
|
|
|
strSql.AppendLine("(select top 1 boxType from BoxTypeInfo where boxTypeID=A.CTN) as CTNALL, ");
|
|
|
strSql.AppendLine("'' as CTNCODE,'' as SIZE,'' as REMARK ");
|
|
|
strSql.AppendLine("from BookingCargoContainer as A ");
|
|
|
strSql.AppendLine("where " + strCondition + " and del_sign IS NULL ");
|
|
|
strSql.AppendLine("end");
|
|
|
strSql.AppendLine("else");
|
|
|
strSql.AppendLine("begin ");
|
|
|
strSql.AppendLine("select CTN_ID as id,BSNO,CTN,CTNNUM,CNTRNO,SEALNO,PKGS,KGS,CBM,KINDPKGS, ");
|
|
|
strSql.AppendLine("(select top 1 C.boxType from BoxTypeInfo as C where C.boxTypeID=A.CTN ) as CTNALL,");
|
|
|
strSql.AppendLine("'' as CTNCODE,'' as SIZE,'' as REMARK ");
|
|
|
strSql.AppendLine("from BookingCargoContainer as A where " + strCondition + " and (del_sign=0 or del_sign is null) ");
|
|
|
strSql.AppendLine("end");
|
|
|
|
|
|
return SetWebBodyData(strSql);
|
|
|
}
|
|
|
|
|
|
private static List<MsOpSeaeWebOrderCtn> SetWebBodyData(StringBuilder strSql)
|
|
|
{
|
|
|
var bodyList = new List<MsOpSeaeWebOrderCtn>();
|
|
|
Database db = DatabaseFactory.CreateDatabase("SHIPPINGBOX");
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
MsOpSeaeWebOrderCtn data = new MsOpSeaeWebOrderCtn();
|
|
|
#region Set DB data to Object
|
|
|
data.CTN_ID = Convert.ToString(reader["id"]);//编号 CTN_ID
|
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);//业务编号
|
|
|
data.CTNCODE = Convert.ToString(reader["CTNCODE"]);//箱型代码
|
|
|
data.SIZE = Convert.ToString(reader["SIZE"]);//尺寸
|
|
|
data.CTN = Convert.ToString(reader["CTN"]);//箱型
|
|
|
data.CTNEXHIBIT = Convert.ToString(reader["CTNALL"]);//箱型
|
|
|
data.CTNALL = Convert.ToString(reader["CTNALL"]);//CTNALL
|
|
|
data.CTNNUM = Convert.ToInt32(reader["CTNNUM"]);//箱量
|
|
|
data.CNTRNO = Convert.ToString(reader["CNTRNO"]);//箱号
|
|
|
data.SEALNO = Convert.ToString(reader["SEALNO"]);//封号
|
|
|
if (reader["PKGS"] != DBNull.Value)
|
|
|
data.PKGS = Convert.ToInt32(reader["PKGS"]);//件数
|
|
|
if (reader["KGS"] != DBNull.Value)
|
|
|
data.KGS = Convert.ToDecimal(reader["KGS"]);//重量(货重)
|
|
|
if (reader["CBM"] != DBNull.Value)
|
|
|
data.CBM = Convert.ToDecimal(reader["CBM"]);//尺码
|
|
|
data.REMARK = Convert.ToString(reader["REMARK"]);//备注
|
|
|
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);//包装类型
|
|
|
#endregion
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return bodyList;
|
|
|
}
|
|
|
|
|
|
static public List<MsSeaeOrderStatus> GetOrderStatus(string strCondition)
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("SELECT classID,className from InfoClass where parentID='CI20150711000001' OR parentID='CI_BLC' ");
|
|
|
strSql.Append(" order by classID ");
|
|
|
return SetOrderStatusData(strSql);
|
|
|
}
|
|
|
|
|
|
private static List<MsSeaeOrderStatus> SetOrderStatusData(StringBuilder strSql)
|
|
|
{
|
|
|
var bodyList = new List<MsSeaeOrderStatus>();
|
|
|
Database db = DatabaseFactory.CreateDatabase("SHIPPINGBOX");
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
MsSeaeOrderStatus data = new MsSeaeOrderStatus();
|
|
|
#region Set DB data to Object
|
|
|
data.STATUS_ID = Convert.ToString(reader["classID"]);//编号
|
|
|
data.STATUSSTR = Convert.ToString(reader["className"]);//业务编号
|
|
|
|
|
|
#endregion
|
|
|
bodyList.Add(data);
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
return bodyList;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*********************************************/
|
|
|
/* */
|
|
|
/*********************************************/
|
|
|
public static DBResult WebAddOrderDetail(string bsno, List<MsOpSeaeWebOrderCtn> orderCtnlist)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
Hashtable ht = new Hashtable();
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
Database db2=DatabaseFactory.CreateDatabase();
|
|
|
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
|
|
|
var cmdInsert =
|
|
|
db.GetSqlStringCommand(
|
|
|
@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,CTNSTATUS)
|
|
|
values (@CTN_ID,@BSNO,@CTNCODE,@SIZE,@CTN,@CTNNUM,@TEU,@CTNALL,@CNTRNO,@SEALNO,@PKGS,@KGS,@CBM,@REMARK,@KINDPKGS,@TAREWEIGHT,@GOODSNAME,'F') ");
|
|
|
|
|
|
|
|
|
if (orderCtnlist != null)
|
|
|
{
|
|
|
foreach (var enumValue in orderCtnlist)
|
|
|
{
|
|
|
int SIZE = int.Parse(enumValue.CTNALL.ToString().Trim().Substring(0, 2));
|
|
|
string CTN = enumValue.CTN.ToString().Trim().Substring(2);
|
|
|
int TEU = enumValue.CTNNUM;
|
|
|
int iTEU = int.Parse(enumValue.CTNALL.ToString().Trim().Substring(0, 1));
|
|
|
if (iTEU == 4)
|
|
|
{
|
|
|
TEU = TEU * 2;
|
|
|
}
|
|
|
|
|
|
var feedoid = Guid.NewGuid().ToString();
|
|
|
cmdInsert.Parameters.Clear();
|
|
|
db.AddInParameter(cmdInsert, "@CTN_ID", DbType.String, feedoid);
|
|
|
db.AddInParameter(cmdInsert, "@BSNO", DbType.String, bsno);
|
|
|
db.AddInParameter(cmdInsert, "@CTNCODE", DbType.String, "");
|
|
|
db.AddInParameter(cmdInsert, "@SIZE", DbType.Int16, SIZE);
|
|
|
db.AddInParameter(cmdInsert, "@CTN", DbType.String, CTN);
|
|
|
db.AddInParameter(cmdInsert, "@CTNNUM", DbType.Int16, enumValue.CTNNUM);
|
|
|
db.AddInParameter(cmdInsert, "@TEU", DbType.Int16, TEU);
|
|
|
db.AddInParameter(cmdInsert, "@CTNALL", DbType.String, enumValue.CTNALL);
|
|
|
db.AddInParameter(cmdInsert, "@CNTRNO", DbType.String, "");
|
|
|
db.AddInParameter(cmdInsert, "@SEALNO", DbType.String, "");
|
|
|
db.AddInParameter(cmdInsert, "@PKGS", DbType.Int16,enumValue.PKGS);
|
|
|
db.AddInParameter(cmdInsert, "@KGS", DbType.Decimal, enumValue.KGS);
|
|
|
db.AddInParameter(cmdInsert, "@CBM", DbType.Decimal, enumValue.CBM);
|
|
|
db.AddInParameter(cmdInsert, "@TAREWEIGHT", DbType.Int16, null);
|
|
|
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, "");
|
|
|
db.AddInParameter(cmdInsert, "@KINDPKGS", DbType.String, "");
|
|
|
db.AddInParameter(cmdInsert, "@GOODSNAME", DbType.String, "");
|
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
|
|
|
|
if (!ht.Contains(enumValue.CTNALL))
|
|
|
{
|
|
|
ht.Add(enumValue.CTNALL, enumValue.CTNNUM);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
string cntrno = "";
|
|
|
foreach (DictionaryEntry de in ht)
|
|
|
{
|
|
|
cntrno += de.Key.ToString() + "*" + de.Value.ToString() + " ";
|
|
|
}
|
|
|
cntrno = cntrno.Substring(0, cntrno.Length - 1);
|
|
|
var cmdUpdate =
|
|
|
db.GetSqlStringCommand(
|
|
|
@"update op_seae set CNTRTOTAL=@CNTRTOTAL where BSNO=@BSNO ");
|
|
|
cmdUpdate.Parameters.Clear();
|
|
|
db2.AddInParameter(cmdUpdate, "@CNTRTOTAL", DbType.String, cntrno);
|
|
|
db2.AddInParameter(cmdUpdate,"@BSNO",DbType.String,bsno);
|
|
|
db2.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
tran.Commit();
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
return result;
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
result.Success = false;
|
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static DBResult AuditWebOrder(string bsno, string mblno, string vessel, string voyno)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase("SHIPPINGBOX");
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
var cmdUpdate =
|
|
|
db.GetSqlStringCommand(
|
|
|
@" Update BookingCargoSpace set BookingTYPE=1,bsstatus='CI20150711000006',MBLNO=@MBLNO,VESSEL=@VESSEL,VOYNO=@VOYNO where bsno=@BSNO ");
|
|
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdUpdate, "@BSNO", DbType.String, bsno);
|
|
|
db.AddInParameter(cmdUpdate, "@MBLNO", DbType.String, mblno);
|
|
|
db.AddInParameter(cmdUpdate, "@VESSEL", DbType.String, vessel);
|
|
|
db.AddInParameter(cmdUpdate, "@VOYNO", DbType.String, voyno);
|
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
internal static DBResult ShenModify(MsOpSeae NewData, MsOpSeae OldData, List<MsOpSeaeDetail> bodyList, List<MsOpSeaeDetail> oldbodyList, string bstype,string bsno, string userid)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
//var cmdUpdateOld =
|
|
|
// db.GetSqlStringCommand(
|
|
|
// @"update op_seae_modify set APPLYSTATUS=0 WHERE BSNO=@BSNO ");
|
|
|
var cmdInsert =
|
|
|
db.GetSqlStringCommand(
|
|
|
@"insert into op_seae_modify ([GID],[APPLYTYPE],[BSTYPE],[REASON],[BSNO] ,CUSTOMERNAME,[MBLNO],[HBLNO],[OP]
|
|
|
,[CUSTSERVICE],[SALE],[CARRIER],[FORWARDER],[TRUCKER],[DOC],[FRCUSTSERVICE]
|
|
|
,[VESSEL],[VOYNO],[YARD],[ETD],[PORTDISCHARGEID],[PORTDISCHARGE],[PLACEDELIVERYID]
|
|
|
,[PLACEDELIVERY],[DESTINATIONID],[DESTINATION],[LANE],ISSUETYPE
|
|
|
,[APPLYID],[APPLYUSER],[APPLYTIME],[APPLYSTATUS])
|
|
|
values (@GID,@APPLYTYPE,@BSTYPE,@REASON,@BSNO ,@CUSTOMERNAME,@MBLNO,@HBLNO,@OP
|
|
|
,@CUSTSERVICE,@SALE,@CARRIER,@FORWARDER,@TRUCKER,@DOC,@FRCUSTSERVICE
|
|
|
,@VESSEL,@VOYNO,@YARD,@ETD,@PORTDISCHARGEID,@PORTDISCHARGE,@PLACEDELIVERYID
|
|
|
,@PLACEDELIVERY,@DESTINATIONID,@DESTINATION,@LANE,@ISSUETYPE
|
|
|
,@APPLYID,@APPLYUSER,@APPLYTIME,@APPLYSTATUS) ");
|
|
|
|
|
|
//var cmdUpdate =
|
|
|
//db.GetSqlStringCommand(
|
|
|
// @"UPDATE CH_FEE SET FEESTATUS=3 WHERE GID=@GID ");
|
|
|
|
|
|
|
|
|
var GROUPID = Guid.NewGuid().ToString();
|
|
|
|
|
|
|
|
|
|
|
|
//cmdUpdateOld.Parameters.Clear();
|
|
|
//db.AddInParameter(cmdUpdateOld, "@BSNO", DbType.String, OldData.BSNO);
|
|
|
//db.ExecuteNonQuery(cmdUpdateOld, tran);
|
|
|
|
|
|
cmdInsert.Parameters.Clear();
|
|
|
db.AddInParameter(cmdInsert, "@GID", DbType.String, GROUPID);
|
|
|
db.AddInParameter(cmdInsert, "@APPLYTYPE", DbType.Int16, 2);
|
|
|
db.AddInParameter(cmdInsert, "@BSTYPE", DbType.String, bstype);
|
|
|
db.AddInParameter(cmdInsert, "@REASON", DbType.String, NewData.REMARK);
|
|
|
db.AddInParameter(cmdInsert, "@BSNO", DbType.String, bsno);
|
|
|
db.AddInParameter(cmdInsert, "@CUSTOMERNAME", DbType.String, NewData.CUSTOMERNAME);
|
|
|
db.AddInParameter(cmdInsert, "@MBLNO", DbType.String, NewData.MBLNO);
|
|
|
db.AddInParameter(cmdInsert, "@HBLNO", DbType.String, NewData.HBLNO);
|
|
|
db.AddInParameter(cmdInsert, "@OP", DbType.String, NewData.OP);
|
|
|
db.AddInParameter(cmdInsert, "@CUSTSERVICE", DbType.String, NewData.CUSTSERVICE);
|
|
|
db.AddInParameter(cmdInsert, "@SALE", DbType.String, NewData.SALE);
|
|
|
db.AddInParameter(cmdInsert, "@CARRIER", DbType.String, NewData.CARRIER);
|
|
|
db.AddInParameter(cmdInsert, "@FORWARDER", DbType.String, NewData.FORWARDER);
|
|
|
db.AddInParameter(cmdInsert, "@TRUCKER", DbType.String, NewData.TRUCKER);
|
|
|
db.AddInParameter(cmdInsert, "@DOC", DbType.String, NewData.DOC);
|
|
|
db.AddInParameter(cmdInsert, "@FRCUSTSERVICE", DbType.String, NewData.FRCUSTSERVICE);
|
|
|
db.AddInParameter(cmdInsert, "@VESSEL", DbType.String, NewData.VESSEL);
|
|
|
db.AddInParameter(cmdInsert, "@VOYNO", DbType.String, NewData.VOYNO);
|
|
|
db.AddInParameter(cmdInsert, "@YARD", DbType.String, NewData.YARD);
|
|
|
db.AddInParameter(cmdInsert, "@ETD", DbType.String, NewData.ETD);
|
|
|
db.AddInParameter(cmdInsert, "@PORTDISCHARGEID", DbType.String, NewData.PORTDISCHARGEID);
|
|
|
db.AddInParameter(cmdInsert, "@PORTDISCHARGE", DbType.String, NewData.PORTDISCHARGE);
|
|
|
db.AddInParameter(cmdInsert, "@PLACEDELIVERYID", DbType.String, NewData.PLACEDELIVERYID);
|
|
|
db.AddInParameter(cmdInsert, "@PLACEDELIVERY", DbType.String, NewData.PLACEDELIVERY);
|
|
|
db.AddInParameter(cmdInsert, "@DESTINATIONID", DbType.String, NewData.DESTINATIONID);
|
|
|
db.AddInParameter(cmdInsert, "@DESTINATION", DbType.String, NewData.DESTINATION);
|
|
|
db.AddInParameter(cmdInsert, "@LANE", DbType.String, NewData.LANE);
|
|
|
db.AddInParameter(cmdInsert, "@ISSUETYPE", DbType.String, NewData.ISSUETYPE);
|
|
|
db.AddInParameter(cmdInsert, "@APPLYID", DbType.String, GROUPID);
|
|
|
db.AddInParameter(cmdInsert, "@APPLYUSER", DbType.String, userid);
|
|
|
db.AddInParameter(cmdInsert, "@APPLYTIME", DbType.String, DateTime.Now.ToString());
|
|
|
db.AddInParameter(cmdInsert, "@APPLYSTATUS", DbType.Int16, 1);
|
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
|
|
|
|
var OLDDATAID = Guid.NewGuid().ToString();
|
|
|
cmdInsert.Parameters.Clear();
|
|
|
db.AddInParameter(cmdInsert, "@GID", DbType.String, OLDDATAID);
|
|
|
db.AddInParameter(cmdInsert, "@APPLYTYPE", DbType.Int16, 1);
|
|
|
db.AddInParameter(cmdInsert, "@BSTYPE", DbType.String, bstype);
|
|
|
db.AddInParameter(cmdInsert, "@REASON", DbType.String, "");
|
|
|
db.AddInParameter(cmdInsert, "@BSNO", DbType.String, bsno);
|
|
|
db.AddInParameter(cmdInsert, "@CUSTOMERNAME", DbType.String, OldData.CUSTOMERNAME);
|
|
|
db.AddInParameter(cmdInsert, "@MBLNO", DbType.String, OldData.MBLNO);
|
|
|
db.AddInParameter(cmdInsert, "@HBLNO", DbType.String, OldData.HBLNO);
|
|
|
db.AddInParameter(cmdInsert, "@OP", DbType.String, OldData.OP);
|
|
|
db.AddInParameter(cmdInsert, "@CUSTSERVICE", DbType.String, OldData.CUSTSERVICE);
|
|
|
db.AddInParameter(cmdInsert, "@SALE", DbType.String, OldData.SALE);
|
|
|
db.AddInParameter(cmdInsert, "@CARRIER", DbType.String, OldData.CARRIER);
|
|
|
db.AddInParameter(cmdInsert, "@FORWARDER", DbType.String, OldData.FORWARDER);
|
|
|
db.AddInParameter(cmdInsert, "@TRUCKER", DbType.String, OldData.TRUCKER);
|
|
|
db.AddInParameter(cmdInsert, "@DOC", DbType.String, OldData.DOC);
|
|
|
db.AddInParameter(cmdInsert, "@FRCUSTSERVICE", DbType.String, OldData.FRCUSTSERVICE);
|
|
|
db.AddInParameter(cmdInsert, "@VESSEL", DbType.String, OldData.VESSEL);
|
|
|
db.AddInParameter(cmdInsert, "@VOYNO", DbType.String, OldData.VOYNO);
|
|
|
db.AddInParameter(cmdInsert, "@YARD", DbType.String, OldData.YARD);
|
|
|
db.AddInParameter(cmdInsert, "@ETD", DbType.String, OldData.ETD);
|
|
|
db.AddInParameter(cmdInsert, "@PORTDISCHARGEID", DbType.String, OldData.PORTDISCHARGEID);
|
|
|
db.AddInParameter(cmdInsert, "@PORTDISCHARGE", DbType.String, OldData.PORTDISCHARGE);
|
|
|
db.AddInParameter(cmdInsert, "@PLACEDELIVERYID", DbType.String, OldData.PLACEDELIVERYID);
|
|
|
db.AddInParameter(cmdInsert, "@PLACEDELIVERY", DbType.String, OldData.PLACEDELIVERY);
|
|
|
db.AddInParameter(cmdInsert, "@DESTINATIONID", DbType.String, OldData.DESTINATIONID);
|
|
|
db.AddInParameter(cmdInsert, "@DESTINATION", DbType.String, OldData.DESTINATION);
|
|
|
db.AddInParameter(cmdInsert, "@LANE", DbType.String, OldData.LANE);
|
|
|
db.AddInParameter(cmdInsert, "@ISSUETYPE", DbType.String, OldData.ISSUETYPE);
|
|
|
db.AddInParameter(cmdInsert, "@APPLYID", DbType.String, GROUPID);
|
|
|
db.AddInParameter(cmdInsert, "@APPLYUSER", DbType.String, userid);
|
|
|
db.AddInParameter(cmdInsert, "@APPLYTIME", DbType.String, DateTime.Now.ToString());
|
|
|
db.AddInParameter(cmdInsert, "@APPLYSTATUS", DbType.Int16, 1);
|
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
|
|
|
|
if (bodyList != null)
|
|
|
{
|
|
|
//var StrSerialNo = "('1000'";
|
|
|
foreach (var enumValue in bodyList)
|
|
|
{
|
|
|
var SIZE = enumValue.CTNALL.ToString().Trim().Substring(0, 2);
|
|
|
string CTN = enumValue.CTNALL.ToString().Trim().Substring(2);
|
|
|
int TEU = enumValue.CTNNUM;
|
|
|
var iTEU = enumValue.CTNALL.ToString().Trim().Substring(0, 1);
|
|
|
if (iTEU == "4")
|
|
|
{
|
|
|
TEU = TEU * 2;
|
|
|
}
|
|
|
else if (iTEU == "L")
|
|
|
{
|
|
|
TEU = 0;
|
|
|
}
|
|
|
if (enumValue.TRUCKFEE == "") enumValue.TRUCKFEE = "0";
|
|
|
if (enumValue.FREESTORAGEDAY == "") enumValue.FREESTORAGEDAY = "0";
|
|
|
if (enumValue.STORAGEDAY == "") enumValue.STORAGEDAY = "0";
|
|
|
if (enumValue.STORAGEPRICE == "") enumValue.STORAGEPRICE = "0";
|
|
|
if (enumValue.STORAGEFEE == "") enumValue.STORAGEFEE = "0";
|
|
|
if (enumValue.FREECTNDAY == "") enumValue.FREECTNDAY = "0";
|
|
|
if (enumValue.CTNDAY == "") enumValue.CTNDAY = "0";
|
|
|
if (enumValue.CTNPRICE == "") enumValue.CTNPRICE = "0";
|
|
|
if (enumValue.CTNFEE == "") enumValue.CTNFEE = "0";
|
|
|
var cmdInsertCtn = db.GetSqlStringCommand(@"insert into op_ctn_modify (GID,APPLYTYPE,MODIFYID,CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,CTNSTATUS,MASTERNO,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN,WEIGHDATE,TRUCKER,TRUCKFEE,FREESTORAGEDAY,STORAGEDAY,STORAGEPRICE,STORAGEFEE,
|
|
|
FREECTNDAY,CTNDAY,CTNPRICE,CTNFEE,TRUCKNO,VGMCONNCOM,VGMADDR,VGMEMAIL) values (NEWID(),2,'"+GROUPID+"','" + enumValue.CTN_ID
|
|
|
+ "','" + enumValue.BSNO + "','" + enumValue.CTNCODE + "','" + SIZE + "','" + CTN + "'," + enumValue.CTNNUM + "," + TEU + ",'" + enumValue.CTNALL + "','" + enumValue.CNTRNO + "','" + enumValue.SEALNO + "','" + enumValue.PKGS + "'," + enumValue.KGS + "," + enumValue.CBM + ",'" + enumValue.REMARK + "','" + enumValue.KINDPKGS + "'," + enumValue.TAREWEIGHT + ",'','"
|
|
|
+ enumValue.CTNSTATUS + "','" + enumValue.MASTERNO + "','" + enumValue.WEIGHTYPE + "'," + enumValue.WEIGHKGS + ",'" + enumValue.WEIGHATTN + "','" + enumValue.WEIGHTEL + "','" + enumValue.WEIGHSIGN + "','" + enumValue.WEIGHDATE + "','" + enumValue.TRUCKER + "'," + enumValue.TRUCKFEE
|
|
|
+ "," + enumValue.FREESTORAGEDAY + "," + enumValue.STORAGEDAY + "," + enumValue.STORAGEPRICE + "," + enumValue.STORAGEFEE + "," + enumValue.FREECTNDAY + "," + enumValue.CTNDAY + "," + enumValue.CTNPRICE + "," + enumValue.CTNFEE + ",'" + enumValue.TRUCKNO + "','" + enumValue.VGMCONNCOM + "','" + enumValue.VGMADDR + "','" + enumValue.VGMEMAIL + "')");
|
|
|
db.ExecuteNonQuery(cmdInsertCtn, tran);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (oldbodyList != null)
|
|
|
{
|
|
|
//var StrSerialNo = "('1000'";
|
|
|
foreach (var enumValue in oldbodyList)
|
|
|
{
|
|
|
var SIZE = enumValue.CTNALL.ToString().Trim().Substring(0, 2);
|
|
|
string CTN = enumValue.CTNALL.ToString().Trim().Substring(2);
|
|
|
int TEU = enumValue.CTNNUM;
|
|
|
var iTEU = enumValue.CTNALL.ToString().Trim().Substring(0, 1);
|
|
|
if (iTEU == "4")
|
|
|
{
|
|
|
TEU = TEU * 2;
|
|
|
}
|
|
|
else if (iTEU == "L")
|
|
|
{
|
|
|
TEU = 0;
|
|
|
}
|
|
|
if (enumValue.TRUCKFEE == "") enumValue.TRUCKFEE = "0";
|
|
|
if (enumValue.FREESTORAGEDAY == "") enumValue.FREESTORAGEDAY = "0";
|
|
|
if (enumValue.STORAGEDAY == "") enumValue.STORAGEDAY = "0";
|
|
|
if (enumValue.STORAGEPRICE == "") enumValue.STORAGEPRICE = "0";
|
|
|
if (enumValue.STORAGEFEE == "") enumValue.STORAGEFEE = "0";
|
|
|
if (enumValue.FREECTNDAY == "") enumValue.FREECTNDAY = "0";
|
|
|
if (enumValue.CTNDAY == "") enumValue.CTNDAY = "0";
|
|
|
if (enumValue.CTNPRICE == "") enumValue.CTNPRICE = "0";
|
|
|
if (enumValue.CTNFEE == "") enumValue.CTNFEE = "0";
|
|
|
var cmdInsertCtn = db.GetSqlStringCommand(@"insert into op_ctn_modify (GID,APPLYTYPE,MODIFYID,CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,CTNSTATUS,MASTERNO,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN,WEIGHDATE,TRUCKER,TRUCKFEE,FREESTORAGEDAY,STORAGEDAY,STORAGEPRICE,STORAGEFEE,
|
|
|
FREECTNDAY,CTNDAY,CTNPRICE,CTNFEE,TRUCKNO,VGMCONNCOM,VGMADDR,VGMEMAIL) values (NEWID(),1,'" + OLDDATAID + "','" + enumValue.CTN_ID
|
|
|
+ "','" + enumValue.BSNO + "','" + enumValue.CTNCODE + "','" + SIZE + "','" + CTN + "'," + enumValue.CTNNUM + "," + TEU + ",'" + enumValue.CTNALL + "','" + enumValue.CNTRNO + "','" + enumValue.SEALNO + "','" + enumValue.PKGS + "'," + enumValue.KGS + "," + enumValue.CBM + ",'" + enumValue.REMARK + "','" + enumValue.KINDPKGS + "'," + enumValue.TAREWEIGHT + ",'','"
|
|
|
+ enumValue.CTNSTATUS + "','" + enumValue.MASTERNO + "','" + enumValue.WEIGHTYPE + "'," + enumValue.WEIGHKGS + ",'" + enumValue.WEIGHATTN + "','" + enumValue.WEIGHTEL + "','" + enumValue.WEIGHSIGN + "','" + enumValue.WEIGHDATE + "','" + enumValue.TRUCKER + "'," + enumValue.TRUCKFEE
|
|
|
+ "," + enumValue.FREESTORAGEDAY + "," + enumValue.STORAGEDAY + "," + enumValue.STORAGEPRICE + "," + enumValue.STORAGEFEE + "," + enumValue.FREECTNDAY + "," + enumValue.CTNDAY + "," + enumValue.CTNPRICE + "," + enumValue.CTNFEE + ",'" + enumValue.TRUCKNO + "','" + enumValue.VGMCONNCOM + "','" + enumValue.VGMADDR + "','" + enumValue.VGMEMAIL + "')");
|
|
|
db.ExecuteNonQuery(cmdInsertCtn, tran);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
//Resultmb WorkResult = WorkFlowDAL.WorkFlowStart(WorkFlowName, NewFee.GId, saleid, mblno, OldFee.BsNo, "");
|
|
|
|
|
|
|
|
|
|
|
|
//if (WorkResult.Success == true)
|
|
|
//{
|
|
|
|
|
|
// cmdUpdate.Parameters.Clear();
|
|
|
// db.AddInParameter(cmdUpdate, "@GID", DbType.String, NewFee.GId);
|
|
|
// db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
// if (WorkResult.islast == true)
|
|
|
// {
|
|
|
// var cmdupdate = db.GetSqlStringCommand(@"update ch_fee set FEENAME=a.FEENAME,CUSTOMERNAME=a.CUSTOMERNAME,UNIT=a.UNIT,UNITPRICE=a.UNITPRICE,
|
|
|
// QUANTITY=a.QUANTITY,AMOUNT=a.AMOUNT,CURRENCY=a.CURRENCY,EXCHANGERATE=a.EXCHANGERATE,REASON=a.REASON,REMARK=a.REMARK,
|
|
|
// TAXRATE=a.TAXRATE,NOTAXAMOUNT=a.NOTAXAMOUNT,ACCTAXRATE=a.ACCTAXRATE,TAXUNITPRICE=a.TAXUNITPRICE,MANAGER=a.MANAGER,FEESTATUS=0
|
|
|
// from ch_fee left join ch_fee_modify a on (a.FEEID=ch_fee.GID and a.APPLYSTATUS=1 AND a.APPLYTYPE=2 ) where ch_fee.GID=@GID");
|
|
|
|
|
|
|
|
|
// db.AddInParameter(cmdupdate, "@GID", DbType.String, NewFee.GId);
|
|
|
// db.ExecuteNonQuery(cmdupdate, tran);
|
|
|
|
|
|
|
|
|
|
|
|
// var cmdupdateModify = db.GetSqlStringCommand("update ch_fee_modify set applystatus=2,audituser=@audituser,audittime=@audittime where FEEID=@GID and applystatus=1");
|
|
|
|
|
|
|
|
|
// cmdupdateModify.Parameters.Clear();
|
|
|
// db.AddInParameter(cmdupdateModify, "@GID", DbType.String, NewFee.GId);
|
|
|
// db.AddInParameter(cmdupdateModify, "@audituser", DbType.String, userid);
|
|
|
// db.AddInParameter(cmdupdateModify, "@audittime", DbType.Date, DateTime.Now);
|
|
|
// db.ExecuteNonQuery(cmdupdateModify, tran);
|
|
|
|
|
|
// }
|
|
|
|
|
|
//}
|
|
|
//else
|
|
|
//{
|
|
|
|
|
|
// tran.Rollback();
|
|
|
|
|
|
// result.Success = false;
|
|
|
// result.Message = "申请修改出现错误,请重试或联系系统管理员";
|
|
|
|
|
|
// return result;
|
|
|
//}
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
result = new DBResult();
|
|
|
result.Success = true;
|
|
|
result.Message = "申请修改成功";
|
|
|
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "申请修改出现错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "申请修改成功";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
internal static DBResult AuditModifyList(List<MsSeaeModify> NewDataList, string userid)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
var SALEORDERDEPTBYOP= MsSysParamSetDAL.GetData("PARAMNAME='SALEORDERDEPTBYOP'").PARAMVALUE;
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
if (NewDataList != null)
|
|
|
{
|
|
|
foreach (var NewData in NewDataList)
|
|
|
{
|
|
|
var MsOpSeae = MsOpSeaeDAL.MsOpSeaeDAL.GetData("BSNO='" + NewData.BSNO + "'");
|
|
|
if (MsOpSeae.CUSTNO != "")
|
|
|
{
|
|
|
var strSql = new StringBuilder();
|
|
|
|
|
|
if (NewData.MBLNO != MsOpSeae.MBLNO && NewData.MBLNO != null)
|
|
|
strSql.Append(",MBLNO='" + NewData.MBLNO + "'");
|
|
|
if (NewData.SALE != MsOpSeae.SALE && NewData.SALE != null)
|
|
|
strSql.Append(",SALE='" + NewData.SALE + "'");
|
|
|
if (NewData.OP != MsOpSeae.OP && NewData.OP != null)
|
|
|
{
|
|
|
strSql.Append(",OP='" + NewData.OP + "'");
|
|
|
if (SALEORDERDEPTBYOP=="1") strSql.Append(",SALEDEPT=(SELECT TOP 1 DEPTNAME FROM VW_user WHERE SHOWNAME='" + NewData.OP + "') ");
|
|
|
}
|
|
|
if (NewData.CUSTSERVICE != MsOpSeae.CUSTSERVICE && NewData.CUSTSERVICE != null)
|
|
|
strSql.Append(",CUSTSERVICE='" + NewData.CUSTSERVICE + "'");
|
|
|
if (NewData.DOC != MsOpSeae.DOC && NewData.DOC != null)
|
|
|
strSql.Append(",DOC='" + NewData.DOC + "'");
|
|
|
if (NewData.CUSTOMERNAME != MsOpSeae.CUSTOMERNAME && NewData.CUSTOMERNAME != null)
|
|
|
strSql.Append(",CUSTOMERNAME='" + NewData.CUSTOMERNAME + "'");
|
|
|
if (NewData.CARRIER != MsOpSeae.CARRIER && NewData.CARRIER != null)
|
|
|
strSql.Append(",CARRIER='" + NewData.CARRIER + "'");
|
|
|
if (NewData.FORWARDER != MsOpSeae.FORWARDER && NewData.FORWARDER != null)
|
|
|
strSql.Append(",FORWARDER='" + NewData.FORWARDER + "'");
|
|
|
if (NewData.ETD != MsOpSeae.ETD && NewData.ETD != null)
|
|
|
strSql.Append(",ETD='" + NewData.ETD + "'");
|
|
|
if (NewData.PORTDISCHARGE != MsOpSeae.PORTDISCHARGE && NewData.PORTDISCHARGE != null)
|
|
|
strSql.Append(",PORTDISCHARGE='" + NewData.PORTDISCHARGE + "'");
|
|
|
if (NewData.DESTINATION != MsOpSeae.DESTINATION && NewData.DESTINATION != null)
|
|
|
strSql.Append(",DESTINATION='" + NewData.DESTINATION + "'");
|
|
|
if (NewData.PLACEDELIVERY != MsOpSeae.PLACEDELIVERY && NewData.PLACEDELIVERY != null)
|
|
|
strSql.Append(",PLACEDELIVERY='" + NewData.PLACEDELIVERY + "'");
|
|
|
if (NewData.LANE != MsOpSeae.LANE && NewData.LANE != null)
|
|
|
strSql.Append(",LANE='" + NewData.LANE + "'");
|
|
|
if (NewData.ISSUETYPE != MsOpSeae.ISSUETYPE && NewData.ISSUETYPE != null)
|
|
|
strSql.Append(",ISSUETYPE='" + NewData.ISSUETYPE + "'");
|
|
|
if (NewData.YARD != MsOpSeae.YARD && NewData.YARD != null)
|
|
|
strSql.Append(",YARD='" + NewData.YARD + "'");
|
|
|
if (NewData.VESSEL != MsOpSeae.VESSEL && NewData.VESSEL != null)
|
|
|
strSql.Append(",VESSEL='" + NewData.VESSEL + "'");
|
|
|
if (NewData.VOYNO != MsOpSeae.VOYNO && NewData.VOYNO != null)
|
|
|
strSql.Append(",VOYNO='" + NewData.VOYNO + "'");
|
|
|
if (strSql.ToString() != "")
|
|
|
{
|
|
|
strSql.Append(" where BSNO='" + NewData.BSNO + "' ");
|
|
|
var cmdupdate =
|
|
|
db.GetSqlStringCommand("update op_seae set bsno=bsno" + strSql.ToString());
|
|
|
db.ExecuteNonQuery(cmdupdate, tran);
|
|
|
var cmdupdate2 =
|
|
|
db.GetSqlStringCommand("update crm_seaeorder set bsno=bsno" + strSql.ToString());
|
|
|
db.ExecuteNonQuery(cmdupdate2, tran);
|
|
|
var cmdupdate3 =
|
|
|
db.GetSqlStringCommand("update op_seae_modify set APPLYSTATUS=0,AUDITUSER='" + userid + "',AUDITTIME=GETDATE() where APPLYID='" + NewData.APPLYID + "'");
|
|
|
db.ExecuteNonQuery(cmdupdate3, tran);
|
|
|
}
|
|
|
var cmddeleteCtn =
|
|
|
db.GetSqlStringCommand("delete from op_ctn where BSNO='"+NewData.BSNO+"'");
|
|
|
db.ExecuteNonQuery(cmddeleteCtn, tran);
|
|
|
var cmdInsertCtn = db.GetSqlStringCommand(@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,CTNSTATUS,MASTERNO,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN,WEIGHDATE,TRUCKER,TRUCKFEE,FREESTORAGEDAY,STORAGEDAY,STORAGEPRICE,STORAGEFEE,
|
|
|
FREECTNDAY,CTNDAY,CTNPRICE,CTNFEE,TRUCKNO,VGMCONNCOM,VGMADDR,VGMEMAIL) SELECT CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,CTNSTATUS,MASTERNO,WEIGHTYPE,WEIGHKGS,WEIGHATTN,WEIGHTEL,WEIGHSIGN,WEIGHDATE,TRUCKER,TRUCKFEE,FREESTORAGEDAY,STORAGEDAY,STORAGEPRICE,STORAGEFEE,
|
|
|
FREECTNDAY,CTNDAY,CTNPRICE,CTNFEE,TRUCKNO,VGMCONNCOM,VGMADDR,VGMEMAIL FROM op_ctn_modify where APPLYTYPE=2 AND MODIFYID='"+NewData.GID+"'");
|
|
|
db.ExecuteNonQuery(cmdInsertCtn, tran);
|
|
|
|
|
|
var cmddeleteorderCtn =
|
|
|
db.GetSqlStringCommand("delete from crm_seaeorderctn where ORDNO in (select ORDNO from crm_seaeorder where BSNO='" + NewData.BSNO + "')");
|
|
|
db.ExecuteNonQuery(cmddeleteorderCtn, tran);
|
|
|
var cmdInsertorderCtn = db.GetSqlStringCommand(@"insert into crm_seaeorderctn (CTN_ID,ORDNO,CTNALL,CTNNUM)
|
|
|
SELECT NEWID(),(select TOP 1 ORDNO from crm_seaeorder where BSNO='" + NewData.BSNO + "'),CTNALL,SUM(CTNNUM) FROM op_ctn_modify where APPLYTYPE=2 AND MODIFYID='" + NewData.GID + "' GROUP BY CTNALL");
|
|
|
db.ExecuteNonQuery(cmdInsertorderCtn, tran);
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
|
}
|
|
|
}
|
|
|
catch (Exception e)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "修改出现错误,请重试或联系系统管理员"+e.Message;
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "申请修改成功";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static DBResult AuditBackModifyList(List<MsSeaeModify> NewDataList,string reason, string userid)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
if (NewDataList != null)
|
|
|
{
|
|
|
foreach (var NewData in NewDataList)
|
|
|
{
|
|
|
var cmdupdate3 =
|
|
|
db.GetSqlStringCommand("update op_seae_modify set APPLYSTATUS=4,AUDITREMARK='"+reason+"',AUDITUSER='" + userid + "',AUDITTIME=GETDATE() where APPLYID='" + NewData.APPLYID + "'");
|
|
|
db.ExecuteNonQuery(cmdupdate3, tran);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "驳回出现错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "驳回成功";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static DBResult AuditBackWebOrder(string bsno,string reason)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase("SHIPPINGBOX");
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
var cmdUpdate =
|
|
|
db.GetSqlStringCommand( //驳回 05
|
|
|
@" Update BookingCargoSpace set bsstatus='CI20150711000005' where bsno=@BSNO "
|
|
|
+ " Insert into BookingCargoSpaceStatus (BSNO,FLowType,FlowID,Remark,subdate,del_sign) values("
|
|
|
+ " @BSNO3,'CI20150711000001','CI20150711000005',@PendingReason,getdate(),0) ");
|
|
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdUpdate, "@BSNO", DbType.String, bsno);
|
|
|
db.AddInParameter(cmdUpdate, "@BSNO3", DbType.String, bsno);
|
|
|
db.AddInParameter(cmdUpdate, "@PendingReason", DbType.String, reason);
|
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
tran.Commit();
|
|
|
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
/*static private bool IsNotEqual(string strCondition)
|
|
|
{
|
|
|
bool _equal = false;
|
|
|
|
|
|
var ordercontainer = GetWebBodyList(strCondition);
|
|
|
var opcontainer = MsOpSeaeDAL.MsOpSeaeDAL.GetBodyList(strCondition);
|
|
|
|
|
|
if (ordercontainer[1].ToString() != opcontainer[1].ToString())
|
|
|
{
|
|
|
_equal = true;
|
|
|
}
|
|
|
if (ordercontainer[2].ToString() != opcontainer[4].ToString())
|
|
|
{
|
|
|
_equal = true;
|
|
|
}
|
|
|
if (ordercontainer[3].ToString() != opcontainer[5].ToString())
|
|
|
{
|
|
|
_equal = true;
|
|
|
}
|
|
|
if (ordercontainer[4].ToString() != opcontainer[8].ToString())
|
|
|
{
|
|
|
_equal = true;
|
|
|
}
|
|
|
if (ordercontainer[5].ToString() != opcontainer[9].ToString())
|
|
|
{
|
|
|
_equal = true;
|
|
|
}
|
|
|
if (ordercontainer[6].ToString() != opcontainer[10].ToString())
|
|
|
{
|
|
|
_equal = true;
|
|
|
}
|
|
|
if (ordercontainer[7].ToString() != opcontainer[11].ToString())
|
|
|
{
|
|
|
_equal = true;
|
|
|
}
|
|
|
if (ordercontainer[8].ToString() != opcontainer[12].ToString())
|
|
|
{
|
|
|
_equal = true;
|
|
|
}
|
|
|
if (ordercontainer[9].ToString() != opcontainer[14].ToString())
|
|
|
{
|
|
|
_equal = true;
|
|
|
}
|
|
|
|
|
|
return _equal;
|
|
|
}*/
|
|
|
|
|
|
static public MsSeaeOrderBill GetWebBillData(string strCondition, string sort = null)
|
|
|
{
|
|
|
var orderbill = GetWebData(strCondition);
|
|
|
var opbill = MsOpSeaeDAL.MsOpSeaeDAL.GetData(strCondition);
|
|
|
MsSeaeOrderBill data = new MsSeaeOrderBill();
|
|
|
|
|
|
data.ORDNO = orderbill.ORDNO;//委托
|
|
|
data.BSNO = orderbill.BSNO;//业务编号
|
|
|
//data.BSSOURCE = orderbill.BSSOURCE;
|
|
|
data.ORSTATUS =orderbill.ORSTATUS;//
|
|
|
data.ORSTATUSREF =orderbill.ORSTATUSREF;//
|
|
|
data.ORREASON =orderbill.ORREASON;//分提单号
|
|
|
data.BSDATE = orderbill.BSDATE;//接单日期
|
|
|
data.MBLNO = orderbill.MBLNO;//主提单号
|
|
|
data.CUSTNO =orderbill.CUSTNO;//主提单号
|
|
|
data.CUSTOMERNAME =orderbill.CUSTOMERNAME;//委托单位
|
|
|
data.ORDTYPE =orderbill.ORDTYPE;//业务状态
|
|
|
data.SHIPPER =orderbill.SHIPPER; //发货人内容
|
|
|
data.CONSIGNEE =orderbill.CONSIGNEE;//收货人内容
|
|
|
data.NOTIFYPARTY =orderbill.NOTIFYPARTY;//通知人内容
|
|
|
data.VESSEL = orderbill.VESSEL;//船名
|
|
|
data.VOYNO = orderbill.VOYNO;//航次
|
|
|
data.ETD = orderbill.ETD;//到港日期
|
|
|
data.PORTLOADID = orderbill.PORTLOADID;//装货港代码
|
|
|
data.PORTLOAD = orderbill.PORTLOAD;//装货港
|
|
|
data.PORTDISCHARGEID = orderbill.PORTDISCHARGEID;//卸货港代码
|
|
|
data.PORTDISCHARGE = orderbill.PORTDISCHARGE.Replace("^", "'");//卸货港
|
|
|
data.PLACERECEIPT = orderbill.PLACERECEIPT.Replace("^", "'");//收货地
|
|
|
data.PLACEDELIVERYID = orderbill.PLACEDELIVERYID;//交货地代码
|
|
|
data.PLACEDELIVERY = orderbill.PLACEDELIVERY.Replace("^", "'");//交货地
|
|
|
data.DESTINATIONID = orderbill.DESTINATIONID;//目的地代码
|
|
|
data.DESTINATION = orderbill.DESTINATION.Replace("^", "'");//目的地
|
|
|
data.NOBILL = orderbill.NOBILL;//提单份数
|
|
|
data.ISSUETYPE =orderbill.ISSUETYPE;//签单方式
|
|
|
data.ISSUEDATE =orderbill.ISSUEDATE;//预抵日期
|
|
|
data.ISSUEPLACE =orderbill.ISSUEPLACE;//签单地点
|
|
|
data.BLFRT =orderbill.BLFRT;//付费方式
|
|
|
data.PREPARDAT =orderbill.PREPARDAT;//预付地点
|
|
|
data.PAYABLEAT =orderbill.PAYABLEAT;//到付地点
|
|
|
data.SERVICE =orderbill.SERVICE;//运输条款
|
|
|
data.MARKS = orderbill.MARKS.Replace("^", "'");//唛头
|
|
|
data.NOPKGS =orderbill.NOPKGS;//件数包装
|
|
|
data.DESCRIPTION =orderbill.DESCRIPTION.Replace("^","'");//货物描述
|
|
|
data.GOODSNAME =orderbill.GOODSNAME;//品名
|
|
|
data.GROSSWEIGHT =orderbill.GROSSWEIGHT;//货物毛重
|
|
|
data.MEASUREMENT =orderbill.MEASUREMENT;//货物尺码
|
|
|
data.PKGS = Convert.ToDecimal(orderbill.PKGS);//件数
|
|
|
data.KINDPKGS =orderbill.KINDPKGS;//件数包装
|
|
|
data.KGS =Convert.ToDecimal(orderbill.KGS);//毛重
|
|
|
data.CBM =Convert.ToDecimal( orderbill.CBM);//立方数/尺码
|
|
|
data.TOTALNO =orderbill.TOTALNO;//件数大写
|
|
|
data.CNTRTOTAL = orderbill.CNTRTOTAL;//集装箱全部内容
|
|
|
data.INPUTBY =orderbill.INPUTBY;//录入人
|
|
|
data.OPERATORTEL = orderbill.OPERATORTEL;//录入人
|
|
|
data.OPERATOREMAIL =orderbill.OPERATOREMAIL;//录入人
|
|
|
data.CARGOID =orderbill.CARGOID;//货物标识
|
|
|
data.HSCODE = orderbill.HSCODE;
|
|
|
data.DCLASS =orderbill.DCLASS;//危险品分类/等级
|
|
|
data.DUNNO =orderbill.DUNNO;//危险品编号
|
|
|
data.DPAGE =orderbill.DPAGE;//危险品页号
|
|
|
data.DLABEL =orderbill.DLABEL;//危险品标签
|
|
|
data.LINKMAN =orderbill.LINKMAN;//危险品联系人
|
|
|
data.REEFERF = orderbill.REEFERF;//冷藏通风量
|
|
|
data.TEMPID = orderbill.TEMPID;//温度单位
|
|
|
data.TEMPSET = orderbill.TEMPSET;//设置温度
|
|
|
data.TEMPMAX =orderbill.TEMPMAX;//最高温度
|
|
|
data.TEMPMIN =orderbill.TEMPMIN;//最低温度
|
|
|
data.REMARK = orderbill.REMARK;//备注
|
|
|
data.BLTYPE =orderbill.BLTYPE;//装运方式
|
|
|
data.OP =orderbill.OP;//操作员
|
|
|
data.CUSTSERVICE = orderbill.CUSTSERVICE;//客服员
|
|
|
data.DOC =orderbill.DOC;//单证
|
|
|
data.AUDITOPERATOR =orderbill.AUDITDATE;//审核人
|
|
|
data.AUDITDATE =orderbill.AUDITDATE;//审核日期
|
|
|
data.OPERATORTEL =orderbill.OPERATORTEL;//
|
|
|
data.OPERATOREMAIL =orderbill.OPERATOREMAIL;//
|
|
|
if (orderbill.SHIPPER != opbill.SHIPPER)
|
|
|
data.UPSHIPPER = true;
|
|
|
data.ASSHIPPER = opbill.SHIPPER;
|
|
|
if (orderbill.CONSIGNEE != opbill.CONSIGNEE)
|
|
|
data.UPCONSIGNEE = true;
|
|
|
data.ASCONSIGNEE = opbill.CONSIGNEE;
|
|
|
if (orderbill.NOTIFYPARTY != opbill.NOTIFYPARTY)
|
|
|
data.UPNOTIFYPARTY = true;
|
|
|
data.ASNOTIFYPARTY = opbill.NOTIFYPARTY;
|
|
|
if (orderbill.VESSEL != opbill.VESSEL)
|
|
|
data.UPVESSEL= true;
|
|
|
data.ASVESSEL = opbill.VESSEL;
|
|
|
|
|
|
if (orderbill.VOYNO != opbill.VOYNO)
|
|
|
data.UPVOYNO = true;
|
|
|
data.ASVOYNO = opbill.VOYNO;
|
|
|
|
|
|
if (orderbill.PORTLOAD != opbill.PORTLOAD)
|
|
|
data.UPPORTLOAD = true;
|
|
|
data.ASPORTLOAD= opbill.PORTLOAD;
|
|
|
|
|
|
if (orderbill.PORTDISCHARGE != opbill.PORTDISCHARGE)
|
|
|
data.UPPORTDISCHARGE = true;
|
|
|
data.ASPORTDISCHARGE = opbill.PORTDISCHARGE;
|
|
|
if (orderbill.PLACEDELIVERY != opbill.PLACEDELIVERY)
|
|
|
data.UPPLACEDELIVERY = true;
|
|
|
data.ASPLACEDELIVERY = opbill.PLACEDELIVERY;
|
|
|
|
|
|
if (orderbill.DESTINATION != opbill.DESTINATION)
|
|
|
data.UPDESTINATION = true;
|
|
|
data.ASDESTINATION = opbill.DESTINATION;
|
|
|
|
|
|
if (orderbill.PKGS != opbill.PKGS)
|
|
|
data.UPPKGS = true;
|
|
|
data.ASPKGS =Convert.ToString(opbill.PKGS);
|
|
|
if (orderbill.KINDPKGS != opbill.KINDPKGS)
|
|
|
data.UPKINDPKGS = true;
|
|
|
data.ASKINDPKGS = Convert.ToString(opbill.KINDPKGS);
|
|
|
|
|
|
if (orderbill.KGS != opbill.KGS)
|
|
|
data.UPKGS = true;
|
|
|
data.ASKGS = Convert.ToString(opbill.KGS);
|
|
|
if (orderbill.CBM!= opbill.CBM)
|
|
|
data.UPCBM = true;
|
|
|
data.ASCBM = Convert.ToString(opbill.CBM);
|
|
|
if (orderbill.TOTALNO != opbill.TOTALNO)
|
|
|
data.UPTOTALNO = true;
|
|
|
data.ASTOTALNO = opbill.TOTALNO;
|
|
|
|
|
|
if (orderbill.MARKS != opbill.MARKS)
|
|
|
data.UPMARKS = true;
|
|
|
data.ASMARKS = opbill.MARKS;
|
|
|
if (orderbill.DESCRIPTION != opbill.DESCRIPTION)
|
|
|
data.UPDESCRIPTION = true;
|
|
|
data.ASDESCRIPTION = opbill.DESCRIPTION;
|
|
|
|
|
|
if (orderbill.SERVICE != opbill.SERVICE)
|
|
|
data.UPSERVICE = true;
|
|
|
data.ASSERVICE = opbill.SERVICE;
|
|
|
if (orderbill.CARGOID != opbill.CARGOID)
|
|
|
data.UPCARGOID = true;
|
|
|
data.ASCARGOID = opbill.CARGOID;
|
|
|
|
|
|
if (orderbill.HSCODE != opbill.HSCODE)
|
|
|
data.UPHSCODE = true;
|
|
|
data.ASHSCODE = opbill.HSCODE;
|
|
|
|
|
|
if (orderbill.DCLASS != opbill.DCLASS)
|
|
|
data.UPDCLASS = true;
|
|
|
data.ASDCLASS = opbill.DCLASS;
|
|
|
|
|
|
if (orderbill.DUNNO != opbill.DUNNO)
|
|
|
data.UPDUNNO = true;
|
|
|
data.ASDUNNO = opbill.DUNNO;
|
|
|
|
|
|
if (orderbill.DPAGE != opbill.DPAGE)
|
|
|
data.UPDPAGE = true;
|
|
|
data.ASDPAGE = opbill.DPAGE;
|
|
|
|
|
|
if (orderbill.DLABEL != opbill.DLABEL)
|
|
|
data.UPDLABEL = true;
|
|
|
data.ASDLABEL = opbill.DLABEL;
|
|
|
|
|
|
if (orderbill.LINKMAN != opbill.LINKMAN)
|
|
|
data.UPLINKMAN = true;
|
|
|
data.ASLINKMAN = opbill.LINKMAN;
|
|
|
|
|
|
if (orderbill.REEFERF != opbill.REEFERF)
|
|
|
data.UPREEFERF = true;
|
|
|
data.ASREEFERF = opbill.REEFERF;
|
|
|
|
|
|
if (orderbill.TEMPID != opbill.TEMPID)
|
|
|
data.UPTEMPID = true;
|
|
|
data.ASTEMPID = opbill.TEMPID;
|
|
|
|
|
|
if (orderbill.TEMPSET != opbill.TEMPSET)
|
|
|
data.UPTEMPSET = true;
|
|
|
data.ASTEMPSET = opbill.TEMPSET;
|
|
|
|
|
|
if (orderbill.TEMPMAX != opbill.TEMPMAX)
|
|
|
data.UPTEMPMAX = true;
|
|
|
data.ASTEMPMAX = opbill.TEMPMAX;
|
|
|
|
|
|
if (orderbill.TEMPMIN != opbill.TEMPMIN)
|
|
|
data.UPTEMPMIN = true;
|
|
|
data.ASTEMPMIN = opbill.TEMPMIN;
|
|
|
|
|
|
if (orderbill.BLFRT != opbill.BLFRT)
|
|
|
data.UPBLFRT = true;
|
|
|
data.ASBLFRT = opbill.BLFRT;
|
|
|
|
|
|
if (orderbill.PREPARDAT != opbill.PREPARDAT)
|
|
|
data.UPPREPARDAT = true;
|
|
|
data.ASPREPARDAT = opbill.PREPARDAT;
|
|
|
if (orderbill.PAYABLEAT != opbill.PAYABLEAT)
|
|
|
data.UPPAYABLEAT = true;
|
|
|
data.ASPAYABLEAT = opbill.PAYABLEAT;
|
|
|
|
|
|
if (orderbill.ISSUETYPE != opbill.ISSUETYPE)
|
|
|
data.UPISSUETYPE = true;
|
|
|
data.ASISSUETYPE = opbill.ISSUETYPE;
|
|
|
|
|
|
if (orderbill.ISSUEDATE != opbill.ISSUEDATE)
|
|
|
data.UPISSUEDATE = true;
|
|
|
data.ASISSUEDATE = opbill.ISSUEDATE;
|
|
|
|
|
|
if (orderbill.ISSUEPLACE != opbill.ISSUEPLACE)
|
|
|
data.UPISSUEPLACE = true;
|
|
|
data.ASISSUEPLACE = opbill.ISSUEPLACE;
|
|
|
|
|
|
data.UPCTN = true;
|
|
|
|
|
|
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
public static DBResult WebAddOrderBillDetail(string bsno, List<MsOpSeaeWebOrderCtn> orderCtnlist)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
var cmdDelete =
|
|
|
db.GetSqlStringCommand(
|
|
|
@" delete from op_ctn where BSNO=@BSNO ");
|
|
|
cmdDelete.Parameters.Clear();
|
|
|
db.AddInParameter(cmdDelete, "@BSNO", DbType.String, bsno);
|
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
|
|
|
|
|
|
|
var cmdInsert =
|
|
|
db.GetSqlStringCommand(
|
|
|
@"insert into op_ctn (CTN_ID,BSNO,CTNCODE,[SIZE],CTN,CTNNUM,TEU,CTNALL,CNTRNO,SEALNO,PKGS,KGS,CBM,REMARK,KINDPKGS,TAREWEIGHT,GOODSNAME,CTNSTATUS)
|
|
|
values (@CTN_ID,@BSNO,@CTNCODE,@SIZE,@CTN,@CTNNUM,@TEU,@CTNALL,@CNTRNO,@SEALNO,@PKGS,@KGS,@CBM,@REMARK,@KINDPKGS,@TAREWEIGHT,@GOODSNAME,'F') ");
|
|
|
|
|
|
|
|
|
if (orderCtnlist != null)
|
|
|
{
|
|
|
foreach (var enumValue in orderCtnlist)
|
|
|
{
|
|
|
int SIZE = int.Parse(enumValue.CTN.ToString().Trim().Substring(0, 2));
|
|
|
string CTN = enumValue.CTNALL.ToString().Trim().Substring(2);
|
|
|
int TEU = enumValue.CTNNUM;
|
|
|
int iTEU = int.Parse(enumValue.CTN.ToString().Trim().Substring(0, 1));
|
|
|
if (iTEU == 4)
|
|
|
{
|
|
|
TEU = TEU * 2;
|
|
|
}
|
|
|
|
|
|
var feedoid = Guid.NewGuid().ToString();
|
|
|
cmdInsert.Parameters.Clear();
|
|
|
db.AddInParameter(cmdInsert, "@CTN_ID", DbType.String, feedoid);
|
|
|
db.AddInParameter(cmdInsert, "@BSNO", DbType.String, bsno);
|
|
|
db.AddInParameter(cmdInsert, "@CTNCODE", DbType.String, "");
|
|
|
db.AddInParameter(cmdInsert, "@SIZE", DbType.Int16, SIZE);
|
|
|
db.AddInParameter(cmdInsert, "@CTN", DbType.String, CTN);
|
|
|
db.AddInParameter(cmdInsert, "@CTNNUM", DbType.Int16, enumValue.CTNNUM);
|
|
|
db.AddInParameter(cmdInsert, "@TEU", DbType.Int16, TEU);
|
|
|
db.AddInParameter(cmdInsert, "@CTNALL", DbType.String, enumValue.CTNALL);
|
|
|
db.AddInParameter(cmdInsert, "@CNTRNO", DbType.String, enumValue.CNTRNO);
|
|
|
db.AddInParameter(cmdInsert, "@SEALNO", DbType.String,enumValue.SEALNO);
|
|
|
db.AddInParameter(cmdInsert, "@PKGS", DbType.Int16, enumValue.PKGS);
|
|
|
db.AddInParameter(cmdInsert, "@KGS", DbType.Decimal, enumValue.KGS);
|
|
|
db.AddInParameter(cmdInsert, "@CBM", DbType.Decimal, enumValue.CBM);
|
|
|
db.AddInParameter(cmdInsert, "@TAREWEIGHT", DbType.Int16, null);
|
|
|
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
|
|
|
db.AddInParameter(cmdInsert, "@KINDPKGS", DbType.String, enumValue.KINDPKGS);
|
|
|
db.AddInParameter(cmdInsert, "@GOODSNAME", DbType.String, "");
|
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
return result;
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
result.Success = false;
|
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
public static DBResult AuditWebOrderBill(string bsno,string mblno)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase("SHIPPINGBOX");
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
var cmdUPD =
|
|
|
db.GetSqlStringCommand(
|
|
|
@" Update BookingCargoSpaceStatus set FlowID='CI_BLC_Rec' where bsno=@BSNO and FlowType='CI_BLC'
|
|
|
Update BookingCargoSpace set BSSTATUS='CI_BLC_Rec' where bsno=@BSNO2 and BSSTATUS='CI_BLC_Send'
|
|
|
");
|
|
|
|
|
|
cmdUPD.Parameters.Clear();
|
|
|
db.AddInParameter(cmdUPD, "@BSNO", DbType.String, bsno);
|
|
|
db.AddInParameter(cmdUPD, "@BSNO2", DbType.String, bsno);
|
|
|
db.ExecuteNonQuery(cmdUPD, tran);
|
|
|
|
|
|
tran.Commit();
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
|
|
//return result;
|
|
|
}
|
|
|
}
|
|
|
Database db2 = DatabaseFactory.CreateDatabase();
|
|
|
using (var conn2 = db2.CreateConnection())
|
|
|
{
|
|
|
conn2.Open();
|
|
|
var tran2 = conn2.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
var cmd2 =
|
|
|
db2.GetSqlStringCommand(
|
|
|
@" update op_seae set MBLNO=@MBLNO where BSNO=@BSNO ");
|
|
|
cmd2.Parameters.Clear();
|
|
|
db2.AddInParameter(cmd2, "@BSNO", DbType.String, bsno);
|
|
|
db2.AddInParameter(cmd2, "@MBLNO", DbType.String, mblno);
|
|
|
db2.ExecuteNonQuery(cmd2, tran2);
|
|
|
|
|
|
|
|
|
tran2.Commit();
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
//return result;
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran2.Rollback();
|
|
|
result.Success = false;
|
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
//return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
public static DBResult AuditBackWebOrderBill(string bsno, string reason)
|
|
|
{
|
|
|
var result = new DBResult();
|
|
|
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase("SHIPPINGBOX");
|
|
|
using (var conn = db.CreateConnection())
|
|
|
{
|
|
|
conn.Open();
|
|
|
var tran = conn.BeginTransaction();
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
var cmdUpdate =
|
|
|
db.GetSqlStringCommand(
|
|
|
@" Insert into BookingCargoSpaceStatus (BSNO,FLowType,FlowID,Remark,subdate,del_sign) values(@BSNO,'CI20150711000001','CI20150711000005',@PendingReason,getdate(),0)"
|
|
|
+ "Update BookingCargoSpace set BSSTATUS='CI_BLC_Refuse' where bsno=@BSNO2");// and FlowType='CI_BLC'
|
|
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
|
db.AddInParameter(cmdUpdate, "@BSNO", DbType.String, bsno);
|
|
|
db.AddInParameter(cmdUpdate, "@BSNO2", DbType.String, bsno);
|
|
|
db.AddInParameter(cmdUpdate, "@PendingReason", DbType.String, reason);
|
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
tran.Commit();
|
|
|
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
tran.Rollback();
|
|
|
|
|
|
result.Success = false;
|
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
result.Success = true;
|
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
public static void SendMailLocalhost(string MailType, MsSeaeOrder Opseae, string ORREASON)
|
|
|
{
|
|
|
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
|
|
|
//首先获取发件人 发件公司 发件邮箱(委托方) // 收件人 收件公司 收件邮箱(承运方)
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append(" select case AUDITOR WHEN '' then ");
|
|
|
strSql.Append(" (select email from userinfo where userid in (select userid from login where companyID=FORWARDER) and departmentID='CompanyMaster') ");
|
|
|
strSql.Append(" else (select email from userinfo where userid=AUDITOR) end ReceiverEmail ");
|
|
|
strSql.Append(" ,case AUDITOR WHEN '' then ");
|
|
|
strSql.Append(" (select username from userinfo where userid in (select userid from login where companyID=FORWARDER) and departmentID='CompanyMaster') ");
|
|
|
strSql.Append(" else (select username from userinfo where userid=AUDITOR) end Receivername ");
|
|
|
strSql.Append(" ,u.username sendername,u.email senderEmail ");
|
|
|
strSql.Append(" ,(select fullname from company where companyid=bcs.forwarder) receiverCompany ");
|
|
|
strSql.Append(" ,(select fullname from company where companyid=bcs.companyid) sendercompany ");
|
|
|
strSql.Append(" ,(select Mobile from userinfo where userid=bcs.inputby) senderMobile ");
|
|
|
strSql.Append(" ,(select Mobile from userinfo where userid=bcs.Auditor) receiverMobile ");
|
|
|
strSql.Append(" ,bcs.* ");
|
|
|
strSql.Append(" from BookingCargoSpace bcs ");
|
|
|
strSql.Append(" left join userinfo U on u.userid = bcs.inputby ");
|
|
|
strSql.Append(" where bsno='" + Opseae.BSNO + "' ");
|
|
|
|
|
|
DataSet ds = new DataSet();
|
|
|
Database db = DatabaseFactory.CreateDatabase("SHIPPINGBOX");
|
|
|
|
|
|
var SenderName = "";
|
|
|
var SenderEmail = "";
|
|
|
var SenderCompany = "";
|
|
|
var SenderMobile = "";
|
|
|
var ReceiverName = "";
|
|
|
var ReceiverEmail = "";
|
|
|
var ReceiverCompany = "";
|
|
|
var ReceiverMobile = "";
|
|
|
var EmailText = new StringBuilder();
|
|
|
var EmailTitle = new StringBuilder();
|
|
|
try
|
|
|
{
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
|
|
|
SenderName = Convert.ToString(reader["SenderName"]);
|
|
|
SenderEmail = Convert.ToString(reader["SenderEmail"]);
|
|
|
SenderCompany = Convert.ToString(reader["SenderCompany"]);
|
|
|
SenderMobile = Convert.ToString(reader["SenderMobile"]);
|
|
|
ReceiverName = Convert.ToString(reader["ReceiverName"]);
|
|
|
ReceiverEmail = Convert.ToString(reader["ReceiverEmail"]);
|
|
|
ReceiverCompany = Convert.ToString(reader["ReceiverCompany"]);
|
|
|
ReceiverMobile = Convert.ToString(reader["ReceiverMobile"]);
|
|
|
EmailTitle.Clear();
|
|
|
EmailTitle.Append("");
|
|
|
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
}
|
|
|
catch (Exception)
|
|
|
{
|
|
|
|
|
|
}
|
|
|
finally
|
|
|
{
|
|
|
|
|
|
}
|
|
|
if (MailType == "拒绝订舱" || MailType == "待定" || MailType == "拒绝提单确认")
|
|
|
{
|
|
|
msg.To.Add(SenderEmail);
|
|
|
msg.From = new MailAddress(ReceiverEmail, ReceiverName, System.Text.Encoding.UTF8);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
msg.To.Add(ReceiverEmail);
|
|
|
msg.From = new MailAddress(SenderEmail, SenderName, System.Text.Encoding.UTF8);
|
|
|
}
|
|
|
/* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
|
|
|
var Subject = "";
|
|
|
var Body = new StringBuilder();
|
|
|
|
|
|
if (MailType == "拒绝订舱")
|
|
|
{
|
|
|
Subject = " 拒绝订舱提醒:From " + ReceiverCompany;
|
|
|
if (Opseae.ETD != "")
|
|
|
Subject = Subject + " 船期" + Opseae.ETD;
|
|
|
if (Opseae.CNTRTOTAL != "")
|
|
|
Subject = Subject + " 箱型箱量" + Opseae.CNTRTOTAL;
|
|
|
if (Opseae.DESTINATION != "")
|
|
|
Subject = Subject + " 目的地" + Opseae.DESTINATION;
|
|
|
|
|
|
Body.Append("<html> <Body>");
|
|
|
Body.Append("<br />您好,您通过ShippingBox所订业务被拒绝,理由如下:<br />" + REHH(ORREASON));
|
|
|
Body.Append("<br />订舱代理公司:" + ReceiverCompany);
|
|
|
Body.Append("<br />操作人:" + ReceiverName + " 电话:" + ReceiverMobile + " 邮箱:" + ReceiverEmail);
|
|
|
|
|
|
if (Opseae.CNTRTOTAL != "")
|
|
|
Body.Append("<br />箱型箱量:" + Opseae.CNTRTOTAL);
|
|
|
if (Opseae.ETD != "")
|
|
|
Body.Append("<br />船期:" + Opseae.ETD);
|
|
|
if (Opseae.DESTINATION != "")
|
|
|
Body.Append("<br />目的地:" + Opseae.DESTINATION);
|
|
|
if (Opseae.REMARK != "")
|
|
|
Body.Append("<br />订舱说明:" + Opseae.REMARK);
|
|
|
}
|
|
|
|
|
|
if (MailType == "拒绝提单确认")
|
|
|
{
|
|
|
Subject = " 拒绝提单确认:From " + ReceiverCompany;
|
|
|
if (Opseae.ETD != "")
|
|
|
Subject = Subject + " 船期" + Opseae.ETD;
|
|
|
if (Opseae.CNTRTOTAL != "")
|
|
|
Subject = Subject + " 箱型箱量" + Opseae.CNTRTOTAL;
|
|
|
if (Opseae.DESTINATION != "")
|
|
|
Subject = Subject + " 目的地" + Opseae.DESTINATION;
|
|
|
|
|
|
Body.Append("<html> <Body>");
|
|
|
Body.Append("<br />您好,您通过ShippingBox所提交提单确认被拒绝,理由如下:<br />" + REHH(ORREASON));
|
|
|
Body.Append("<br />订舱代理公司:" + ReceiverCompany);
|
|
|
Body.Append("<br />操作人:" + ReceiverName + " 电话:" + ReceiverMobile + " 邮箱:" + ReceiverEmail);
|
|
|
|
|
|
if (Opseae.CNTRTOTAL != "")
|
|
|
Body.Append("<br />箱型箱量:" + Opseae.CNTRTOTAL);
|
|
|
if (Opseae.ETD != "")
|
|
|
Body.Append("<br />船期:" + Opseae.ETD);
|
|
|
if (Opseae.DESTINATION != "")
|
|
|
Body.Append("<br />目的地:" + Opseae.DESTINATION);
|
|
|
if (Opseae.REMARK != "")
|
|
|
Body.Append("<br />订舱说明:" + Opseae.REMARK);
|
|
|
}
|
|
|
//Body = SetBottom(Body, Opseae.BSNO);
|
|
|
|
|
|
msg.Subject = Subject;//邮件标题
|
|
|
msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
|
|
|
msg.Body = Body.ToString();//邮件内容
|
|
|
msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
|
|
|
msg.IsBodyHtml = true;//是否是HTML邮件
|
|
|
msg.Priority = MailPriority.High;//邮件优先级
|
|
|
var content = "";
|
|
|
AlternateView htmlBody = AlternateView.CreateAlternateViewFromString(content, null, "text/html");
|
|
|
/*
|
|
|
LinkedResource lrImage = new LinkedResource(@"D:\DSWebservice\a.jpg", "image/gif");
|
|
|
lrImage.ContentId = "Email001";
|
|
|
htmlBody.LinkedResources.Add(lrImage);
|
|
|
msg.AlternateViews.Add(htmlBody);*/
|
|
|
|
|
|
SmtpClient client = new SmtpClient();
|
|
|
client.Credentials = new System.Net.NetworkCredential("admin@dongshengsoft.com", "ds!@#)(*");
|
|
|
//在71info.com注册的邮箱和密码
|
|
|
client.Host = "smtpcom.263xmail.com";
|
|
|
client.EnableSsl = false;
|
|
|
client.Port = 465;
|
|
|
object userState = msg;
|
|
|
var Result = "";
|
|
|
try
|
|
|
{
|
|
|
//client.SendAsync(msg, userState);
|
|
|
//简单一点儿可以
|
|
|
client.Send(msg);
|
|
|
//MessageBox.Show("发送成功");
|
|
|
}
|
|
|
catch (System.Net.Mail.SmtpException ex)
|
|
|
{
|
|
|
Result = ex.Message;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public static string REHH(string str)
|
|
|
{
|
|
|
var _s = "";
|
|
|
if (!string.IsNullOrEmpty(str))
|
|
|
{
|
|
|
_s = str.Replace("\n", "<br />");
|
|
|
}
|
|
|
return _s;
|
|
|
}
|
|
|
|
|
|
//public static StringBuilder SetBottom(StringBuilder Body, string BSNO)
|
|
|
//{
|
|
|
// Body.Append("<br />ShippingBoxNO.:" + BSNO);
|
|
|
// Body.Append("<br /> **********本邮件由<a href=http://www.shippingbox.cc style=\"color:blue;\">ShippingBox订舱平台</a>自动发送 *************");
|
|
|
// Body.Append("<br />本邮件仅提供当前货物部分摘要信息,详情请以双方约定为准!");
|
|
|
// Body.Append("<br /> <img src=\"http://123.57.17.72:8027/images/public/logo01.png\" />");
|
|
|
// Body.Append(" </Body></html>");
|
|
|
// Body.Append("<br /> <a href=http://www.shippingbox.cc style=\"color:blue;\">www.shippingbox.cc</a>");
|
|
|
|
|
|
// return Body;
|
|
|
//}
|
|
|
|
|
|
#region 权限范围
|
|
|
public static string GetRangDAStr(string tb, string userid, string username, string companyid)
|
|
|
{
|
|
|
string str = "";
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("SELECT ");
|
|
|
strSql.Append(" VISIBLERANGE,OPERATERANGE,AUTHORITYID,VSSQL ");
|
|
|
strSql.Append(" from VW_User_Authority ");
|
|
|
if (tb == "audit")
|
|
|
{
|
|
|
strSql.Append(" where [NAME]='modSeaeOrderAudit' and USERID='" + userid + "' and ISDELETE=0");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
strSql.Append(" where [NAME]='modSeaeOrderList' and USERID='" + userid + "' and ISDELETE=0");
|
|
|
}
|
|
|
|
|
|
string visiblerange = "4";
|
|
|
string operaterange = "4";
|
|
|
string AUTHORITYID = "";
|
|
|
string VSSQL = "";
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
visiblerange = Convert.ToString(reader["VISIBLERANGE"]);
|
|
|
operaterange = Convert.ToString(reader["OPERATERANGE"]);
|
|
|
AUTHORITYID = Convert.ToString(reader["AUTHORITYID"]);
|
|
|
VSSQL = Convert.ToString(reader["VSSQL"]);
|
|
|
break;
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
if (visiblerange == "4")
|
|
|
{
|
|
|
str = "1=2";
|
|
|
}
|
|
|
else if (visiblerange == "3")
|
|
|
{
|
|
|
|
|
|
str = " (OP='" + username + "' OR SALE='" + username + "' or CUSTSERVICE='" + username + "' or DOC='" + username + "' or INPUTBY='" + username + "')";
|
|
|
|
|
|
}
|
|
|
else if (visiblerange == "5")
|
|
|
{
|
|
|
|
|
|
var userstr = new StringBuilder();
|
|
|
userstr.Append(" select SHOWNAME from VW_user where COMPANYID in (select COMPANYID from user_authority_range_company where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1)");
|
|
|
Database userdb = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
|
|
|
{
|
|
|
str = "";
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
if (str == "")
|
|
|
{
|
|
|
str = " (OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' OR INPUTBY='" + Convert.ToString(reader["SHOWNAME"]) + "' ";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
str = str + " or OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' OR INPUTBY='" + Convert.ToString(reader["SHOWNAME"]) + "' ";
|
|
|
};
|
|
|
}
|
|
|
str = str + ")";
|
|
|
reader.Close();
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
else if (visiblerange == "6")
|
|
|
{
|
|
|
|
|
|
var userstr = new StringBuilder();
|
|
|
userstr.Append(" select OPID,(select SHOWNAME from [user] where GID=user_authority_range_op.OPID) SHOWNAME from user_authority_range_op where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1");
|
|
|
Database userdb = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
|
|
|
{
|
|
|
str = "";
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
if (str == "")
|
|
|
{
|
|
|
str = " (OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' OR INPUTBY='" + Convert.ToString(reader["SHOWNAME"]) + "' ";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
str = str + " or OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' OR INPUTBY='" + Convert.ToString(reader["SHOWNAME"]) + "' ";
|
|
|
};
|
|
|
}
|
|
|
str = str + ")";
|
|
|
reader.Close();
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
else if (visiblerange == "2")
|
|
|
{
|
|
|
|
|
|
var rangeDa = new RangeDA();
|
|
|
var deptname = rangeDa.GetDEPTNAME(userid);
|
|
|
var userstr = new StringBuilder();
|
|
|
userstr.Append(" select SHOWNAME from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "') and GID in (select userid from user_baseinfo where DEPTNAME='" + deptname + "')");
|
|
|
Database userdb = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
|
|
|
{
|
|
|
str = "";
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
if (str == "")
|
|
|
{
|
|
|
str = " (OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' OR INPUTBY='" + Convert.ToString(reader["SHOWNAME"]) + "' ";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
str = str + " or OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' OR INPUTBY='" + Convert.ToString(reader["SHOWNAME"]) + "' ";
|
|
|
};
|
|
|
}
|
|
|
str = str + ")";
|
|
|
reader.Close();
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
else if (visiblerange == "1")
|
|
|
{
|
|
|
var rangeDa = new RangeDA();
|
|
|
var userstr = new StringBuilder();
|
|
|
userstr.Append(" select SHOWNAME from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "') ");
|
|
|
Database userdb = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
|
|
|
{
|
|
|
str = "";
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
if (str == "")
|
|
|
{
|
|
|
str = " (OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' OR INPUTBY='" + Convert.ToString(reader["SHOWNAME"]) + "' ";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
str = str + " or OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' OR INPUTBY='" + Convert.ToString(reader["SHOWNAME"]) + "'";
|
|
|
};
|
|
|
}
|
|
|
str = str + ")";
|
|
|
reader.Close();
|
|
|
}
|
|
|
}
|
|
|
VSSQL = VSSQL.Trim();
|
|
|
if (!string.IsNullOrEmpty(VSSQL))
|
|
|
{
|
|
|
|
|
|
if (!string.IsNullOrEmpty(str))
|
|
|
{
|
|
|
str = str + " and (" + VSSQL + ") ";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
str = " (" + VSSQL + ") ";
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return str;
|
|
|
}
|
|
|
|
|
|
public static string GetModifyRangDAStr(string userid, string username, string companyid)
|
|
|
{
|
|
|
string str = "";
|
|
|
var strSql = new StringBuilder();
|
|
|
strSql.Append("SELECT ");
|
|
|
strSql.Append(" VISIBLERANGE,OPERATERANGE,AUTHORITYID,VSSQL ");
|
|
|
strSql.Append(" from VW_User_Authority ");
|
|
|
strSql.Append(" where [NAME]='modSeaeModifyList' and USERID='" + userid + "' and ISDELETE=0");
|
|
|
|
|
|
string visiblerange = "4";
|
|
|
string operaterange = "4";
|
|
|
string AUTHORITYID = "";
|
|
|
string VSSQL = "";
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
|
|
|
|
|
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
|
{
|
|
|
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
visiblerange = Convert.ToString(reader["VISIBLERANGE"]);
|
|
|
operaterange = Convert.ToString(reader["OPERATERANGE"]);
|
|
|
AUTHORITYID = Convert.ToString(reader["AUTHORITYID"]);
|
|
|
VSSQL = Convert.ToString(reader["VSSQL"]);
|
|
|
break;
|
|
|
}
|
|
|
reader.Close();
|
|
|
}
|
|
|
if (visiblerange == "4")
|
|
|
{
|
|
|
str = "1=2";
|
|
|
}
|
|
|
else if (visiblerange == "3")
|
|
|
{
|
|
|
|
|
|
str = " APPLYUSER='" + userid + "' ";
|
|
|
|
|
|
}
|
|
|
else if (visiblerange == "5")
|
|
|
{
|
|
|
|
|
|
var userstr = new StringBuilder();
|
|
|
userstr.Append(" select userid from VW_user where COMPANYID in (select COMPANYID from user_authority_range_company where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1)");
|
|
|
Database userdb = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
|
|
|
{
|
|
|
str = "";
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
if (str == "")
|
|
|
{
|
|
|
str = " (APPLYUSER='" + Convert.ToString(reader["userid"]) + "' ";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
str = str + " or APPLYUSER='" + Convert.ToString(reader["userid"]) + "' ";
|
|
|
};
|
|
|
}
|
|
|
str = str + ")";
|
|
|
reader.Close();
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
else if (visiblerange == "6")
|
|
|
{
|
|
|
|
|
|
var userstr = new StringBuilder();
|
|
|
userstr.Append(" select OPID,(select SHOWNAME from [user] where GID=user_authority_range_op.OPID) SHOWNAME from user_authority_range_op where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1");
|
|
|
Database userdb = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
|
|
|
{
|
|
|
str = "";
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
if (str == "")
|
|
|
{
|
|
|
str = " (APPLYUSER='" + Convert.ToString(reader["OPID"]) + "' ";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
str = str + " or APPLYUSER='" + Convert.ToString(reader["OPID"]) + "' ";
|
|
|
};
|
|
|
}
|
|
|
str = str + ")";
|
|
|
reader.Close();
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
else if (visiblerange == "2")
|
|
|
{
|
|
|
|
|
|
var rangeDa = new RangeDA();
|
|
|
var deptname = rangeDa.GetDEPTNAME(userid);
|
|
|
var userstr = new StringBuilder();
|
|
|
userstr.Append(" select GID from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "') and GID in (select userid from user_baseinfo where DEPTNAME='" + deptname + "')");
|
|
|
Database userdb = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
|
|
|
{
|
|
|
str = "";
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
if (str == "")
|
|
|
{
|
|
|
str = " (APPLYUSER='" + Convert.ToString(reader["GID"]) + "' ";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
str = str + " or APPLYUSER='" + Convert.ToString(reader["GID"]) + "'";
|
|
|
};
|
|
|
}
|
|
|
str = str + ")";
|
|
|
reader.Close();
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|
|
|
else if (visiblerange == "1")
|
|
|
{
|
|
|
var rangeDa = new RangeDA();
|
|
|
var userstr = new StringBuilder();
|
|
|
userstr.Append(" select USERID from user_company where COMPANYID='" + companyid + "' ");
|
|
|
Database userdb = DatabaseFactory.CreateDatabase();
|
|
|
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
|
|
|
{
|
|
|
str = "";
|
|
|
while (reader.Read())
|
|
|
{
|
|
|
if (str == "")
|
|
|
{
|
|
|
str = " (APPLYUSER='" + Convert.ToString(reader["USERID"]) + "'";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
str = str + " or APPLYUSER='" + Convert.ToString(reader["USERID"]) + "' ";
|
|
|
};
|
|
|
}
|
|
|
str = str + ")";
|
|
|
reader.Close();
|
|
|
}
|
|
|
}
|
|
|
VSSQL = VSSQL.Trim();
|
|
|
if (!string.IsNullOrEmpty(VSSQL))
|
|
|
{
|
|
|
|
|
|
if (!string.IsNullOrEmpty(str))
|
|
|
{
|
|
|
str = str + " and (" + VSSQL + ") ";
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
str = " (" + VSSQL + ") ";
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return str;
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|