You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1221 lines
64 KiB
C#
1221 lines
64 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using DSWeb.Areas.TruckMng.Models.MsWlBs;
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
using DSWeb.Areas.CommMng.Models;
|
|
|
|
using System.Web;
|
|
using System.Data.Common;
|
|
using DSWeb.TruckMng.Comm.Cookie;
|
|
using WebSqlHelper;
|
|
using HcUtility.Core;
|
|
using DSWeb.EntityDA;
|
|
using HcUtility.Comm;
|
|
using System.Data.SqlClient;
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
|
namespace DSWeb.Areas.TruckMng.DAL.MsRptPcHeadEdit
|
|
{
|
|
public partial class MsRptPcHeadEditDAL
|
|
{
|
|
#region 派车计划列表
|
|
|
|
static public List<MsWlPcHead_ADLEdit> GetDataList ( string strCondition, string sort )
|
|
{ //合同信息/商品信息
|
|
var strSql = new StringBuilder();
|
|
strSql.Append(" select GId,case when TruckNo='' then '接单' else case when isnull(isend,0)=0 then '派车' else '完成' end end PCSTATUSREF ");
|
|
strSql.Append(" ,ROW_NUMBER()over (partition by dbo.trimdate(expdate) order by expdate ) RowNumber ");
|
|
strSql.Append(" ,dbo.trimdate(expdate) GroupDate ");
|
|
strSql.Append(" ,BillNo,dbo.trimtime(ExpDate) ExpDate,CustomerName,(select description from info_client where shortname=tMsWlPcHead.CustomerName) CustomerNameFull ");
|
|
strSql.Append(" ,F_CustomerName,DstArea,DetiNation ");
|
|
strSql.Append(" ,ContainerType,ContainerTypeSe,(SELECT CtnName FROM VMSTRUCKCTN WHERE CTNCODE=ContainerType) AS ContainerType_Ref ");
|
|
strSql.Append(" ,isnull(ContainerQty,0) ContainerQty,TruckNo,MblNo,dbo.trimdate(EndPortDate) EndPortDate,DrvCode,DrvName ");
|
|
strSql.Append(" ,Mobile,YardCode,YARDNAME AS YardCode_Ref ");
|
|
strSql.Append(" ,RtnYardCode,RtnYardName AS RtnYardCode_Ref ");
|
|
strSql.Append(" ,VoyVeg,OrgCode,DDCode,LoadPlace,TruckSpec,FactoryAddr,Remark ");
|
|
strSql.Append(" ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99033 and EnumValueID=(select Property from tmswltruck where truckno=tMsWlPcHead.truckno)) PropertyRef ");
|
|
strSql.Append(" ,RefBillNo,DGTYPE,DGTYPECODE,SECOND_DRV,dbo.trimdate(ArriveDate) ArriveDate,ArriveTime,RefBillNoSe");
|
|
|
|
strSql.Append(",dbo.F_GetBillDrFeeStatus(tMsWlPcHead.GId) DRFEESTATUS");
|
|
strSql.Append(",dbo.F_GetBillCrFeeStatus(tMsWlPcHead.GId) CRFEESTATUS");
|
|
strSql.Append(",GOODSCOUNT,CBM,ISHW,Ton,GoodsName,CreateTime,PGId,ContainerNo,SealNo,ContainerNoSe,SealNoSe ");
|
|
strSql.Append(" from tMsWlPcHead ");
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition.Replace("~",""));//str.Replace("b","**");
|
|
}
|
|
//strSql.Append(" order by Expdate desc ");
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by Expdate desc," + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by Expdate desc ");
|
|
}
|
|
return SetData(strSql);
|
|
}
|
|
|
|
|
|
|
|
//static public MsWlPcHead_ADLEdit GetData ( string condition )
|
|
//{
|
|
// var _t = "";
|
|
// var list = GetDataList(condition, _t);
|
|
// if (list.Count > 0)
|
|
// return list[0];
|
|
|
|
// return new MsWlPcHead_ADLEdit();
|
|
//}
|
|
|
|
static public List<MsWlPcHead_ADLEdit> AddTail(List<MsWlPcHead_ADLEdit> tmpList)
|
|
{
|
|
|
|
double ton = 0.000;
|
|
foreach (var item in tmpList)
|
|
{
|
|
ton += Convert.ToDouble(item.Ton);
|
|
}
|
|
|
|
MsWlPcHead_ADLEdit data = new MsWlPcHead_ADLEdit();
|
|
data.GId ="0000000000000";
|
|
data.RowNumber = "合计";
|
|
data.PCSTATUSREF = "";
|
|
data.BillNo = "";
|
|
data.ExpDate = "";
|
|
data.GroupDate = "";
|
|
data.CustomerName = "";
|
|
data.CustomerNameFull = "";
|
|
data.F_CustomerName = "";
|
|
data.DstArea = "";
|
|
data.DetiNation = "";
|
|
data.FactoryAddr = "";
|
|
|
|
|
|
data.ContainerType = "";
|
|
data.ContainerType_Ref = "";
|
|
data.ContainerQty = "";
|
|
data.TruckNo = "";
|
|
data.TruckSpec = "";
|
|
data.MblNo = "";
|
|
data.EndPortDate = "";
|
|
data.DrvCode = "";
|
|
data.DrvName = "";
|
|
data.Mobile = "";
|
|
data.YardCode = "";
|
|
data.YardCode_Ref = "";
|
|
data.RtnYardCode = "";
|
|
data.RtnYardCode_Ref = "";
|
|
data.VoyVeg = "";
|
|
data.OrgCode = "";
|
|
data.DDCode = "";
|
|
data.PropertyRef = "";
|
|
data.LoadPlace = "";
|
|
|
|
data.RefBillNo = "";
|
|
data.RefBillNoSe = "";
|
|
data.DGTYPE = "";
|
|
data.DGTYPECODE = "";
|
|
|
|
data.SECOND_DRV = "";
|
|
data.ArriveDate = "";
|
|
data.ArriveTime = "";
|
|
|
|
data.DRFEESTATUS = "";
|
|
data.CRFEESTATUS = "";
|
|
|
|
data.GOODSCOUNT = "";
|
|
data.CBM = "";
|
|
data.ISHW = 0;
|
|
data.Remark = "";
|
|
data.GoodsName = "";
|
|
|
|
data.Ton = Convert.ToString(ton);
|
|
data.CreateTime = "";
|
|
tmpList.Add(data);
|
|
return tmpList;
|
|
|
|
}
|
|
|
|
private static List<MsWlPcHead_ADLEdit> SetData ( StringBuilder strSql )
|
|
{
|
|
var headList = new List<MsWlPcHead_ADLEdit>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
|
|
while (reader.Read())
|
|
{
|
|
MsWlPcHead_ADLEdit data = new MsWlPcHead_ADLEdit();
|
|
#region Set DB data to Object
|
|
data.GId = Convert.ToString(reader["GId"]);
|
|
data.RowNumber = Convert.ToString(reader["RowNumber"]);
|
|
data.PCSTATUSREF = Convert.ToString(reader["PCSTATUSREF"]);
|
|
data.BillNo = Convert.ToString(reader["BillNo"]);
|
|
data.ExpDate = Convert.ToString(reader["ExpDate"]);
|
|
data.GroupDate = Convert.ToString(reader["GroupDate"]);
|
|
data.CustomerName = Convert.ToString(reader["CustomerName"]);
|
|
data.CustomerNameFull = Convert.ToString(reader["CustomerNameFull"]);
|
|
data.F_CustomerName = Convert.ToString(reader["F_CustomerName"]);
|
|
data.DstArea = Convert.ToString(reader["DstArea"]);
|
|
data.DetiNation = Convert.ToString(reader["DetiNation"]);
|
|
data.FactoryAddr = Convert.ToString(reader["FactoryAddr"]);
|
|
|
|
|
|
data.ContainerType = Convert.ToString(reader["ContainerType"]);
|
|
data.ContainerType_Ref = Convert.ToString(reader["ContainerType_Ref"]);
|
|
data.ContainerQty = Convert.ToString(reader["ContainerQty"]);
|
|
data.ContainerTypeSe = Convert.ToString(reader["ContainerTypeSe"]);
|
|
data.TruckNo = Convert.ToString(reader["TruckNo"]);
|
|
data.TruckSpec = Convert.ToString(reader["TruckSpec"]);
|
|
data.MblNo = Convert.ToString(reader["MblNo"]);
|
|
data.EndPortDate = Convert.ToString(reader["EndPortDate"]);
|
|
data.DrvCode = Convert.ToString(reader["DrvCode"]);
|
|
data.DrvName = Convert.ToString(reader["DrvName"]);
|
|
data.Mobile = Convert.ToString(reader["Mobile"]);
|
|
data.YardCode = Convert.ToString(reader["YardCode"]);
|
|
data.YardCode_Ref = Convert.ToString(reader["YardCode_Ref"]);
|
|
data.RtnYardCode = Convert.ToString(reader["RtnYardCode"]);
|
|
data.RtnYardCode_Ref = Convert.ToString(reader["RtnYardCode_Ref"]);
|
|
data.VoyVeg = Convert.ToString(reader["VoyVeg"]);
|
|
data.OrgCode = Convert.ToString(reader["OrgCode"]);
|
|
data.DDCode = Convert.ToString(reader["DDCode"]);
|
|
data.PropertyRef = Convert.ToString(reader["PropertyRef"]);
|
|
data.LoadPlace = Convert.ToString(reader["LoadPlace"]);
|
|
|
|
data.RefBillNo = Convert.ToString(reader["RefBillNo"]);
|
|
data.RefBillNoSe = Convert.ToString(reader["RefBillNoSe"]);
|
|
data.DGTYPE = Convert.ToString(reader["DGTYPE"]);
|
|
data.DGTYPECODE = Convert.ToString(reader["DGTYPECODE"]);
|
|
|
|
data.SECOND_DRV = Convert.ToString(reader["SECOND_DRV"]);
|
|
data.ArriveDate = Convert.ToString(reader["ArriveDate"]);
|
|
data.ArriveTime = Convert.ToString(reader["ArriveTime"]);
|
|
|
|
data.DRFEESTATUS = getfeestatus(Convert.ToString(reader["DRFEESTATUS"]));
|
|
data.CRFEESTATUS = getfeestatus(Convert.ToString(reader["CRFEESTATUS"]));
|
|
|
|
data.GOODSCOUNT = Convert.ToString(reader["GOODSCOUNT"]);
|
|
data.CBM = Convert.ToString(reader["CBM"]);
|
|
data.ISHW = Convert.ToDecimal(reader["ISHW"]);
|
|
data.Remark = Convert.ToString(reader["Remark"]);
|
|
data.GoodsName = Convert.ToString(reader["GoodsName"]);
|
|
|
|
data.Ton = Convert.ToString(reader["Ton"]);
|
|
data.CreateTime = reader["CreateTime"] == DBNull.Value ? "" : reader["CreateTime"].ToString();
|
|
|
|
data.PGId = Convert.ToString(reader["PGId"]);
|
|
|
|
data.ContainerNo = Convert.ToString(reader["ContainerNo"]);
|
|
data.SealNo = Convert.ToString(reader["SealNo"]);
|
|
data.ContainerNoSe = Convert.ToString(reader["ContainerNoSe"]);
|
|
data.SealNoSe = Convert.ToString(reader["SealNoSe"]);
|
|
#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("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
|
|
|
|
/// <summary>
|
|
/// 获取目的地列表
|
|
/// </summary>
|
|
/// <param name="strCondition"></param>
|
|
/// <param name="sort"></param>
|
|
/// <returns></returns>
|
|
static public List<MsWlMudidi> GetMuDiDi ( string strCondition, string sort )
|
|
{
|
|
string sql = "select DISTINCT dstarea from tMsWlPcHead where dstarea <> ''";
|
|
var list = new List<MsWlMudidi>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
MsWlMudidi mdd = new MsWlMudidi();
|
|
mdd.mudidi = reader["dstarea"].ToString();
|
|
list.Add(mdd);
|
|
}
|
|
|
|
}
|
|
return list;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取始发地列表
|
|
/// </summary>
|
|
/// <param name="strCondition"></param>
|
|
/// <param name="sort"></param>
|
|
/// <returns></returns>
|
|
static public List<MsWlShiFaDi> GetShiFaDi ( string strCondition, string sort )
|
|
{
|
|
string sql = "select DISTINCT LoadPlace from tMsWlPcHead where dstarea <> ''";
|
|
var list = new List<MsWlShiFaDi>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
MsWlShiFaDi sfd = new MsWlShiFaDi();
|
|
sfd.shifadi = reader["LoadPlace"].ToString();
|
|
list.Add(sfd);
|
|
}
|
|
|
|
}
|
|
return list;
|
|
}
|
|
#region 编码生成
|
|
public static String getCodeRule ( string strRULENAME, string strfield, string strETD, string strACCDATE, string strUserID, string strCompanyID )
|
|
{
|
|
//调用编码规则
|
|
if (strETD.Trim().IndexOf("0001") > -1)
|
|
{
|
|
strETD = "";
|
|
}
|
|
string strRULEYEAR = "";
|
|
string strRULECONTENT = "";
|
|
string strCODENAME = "";
|
|
string strDEPTNO = "";
|
|
string strRULENOLENGTH = "";
|
|
int iRULENOLENGTH = 0;
|
|
int inum = 0;
|
|
string strCONTENT = "";
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
//
|
|
DataSet ds = T_ALL_DA.GetAllSQL("select * from code_rule where RULENAME='" + strRULENAME.Trim() + "' and RULETYPE=6");
|
|
if (ds != null)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows[0]["ISSTARTUSING"].ToString().Trim().Equals("True"))
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("业务日期"))
|
|
{
|
|
if (strETD.Trim() == "")
|
|
{
|
|
return "";
|
|
}
|
|
DateTime dETD = System.Convert.ToDateTime(strETD.Trim());
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
{
|
|
strRULEYEAR = dETD.ToString("yyyy") + dETD.ToString("MM");
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
{
|
|
strRULEYEAR = dETD.ToString("yy") + dETD.ToString("MM");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
{
|
|
strRULEYEAR = dETD.ToString("yyyy");
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
{
|
|
strRULEYEAR = dETD.ToString("yy");
|
|
}
|
|
}
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("会计期间"))
|
|
{
|
|
if (strACCDATE.Trim() == "")
|
|
{
|
|
return "";
|
|
}
|
|
DateTime dACCDATE = System.Convert.ToDateTime(strACCDATE.Trim() + "-01");
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
{
|
|
strRULEYEAR = dACCDATE.ToString("yyyy") + dACCDATE.ToString("MM");
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
{
|
|
strRULEYEAR = dACCDATE.ToString("yy") + dACCDATE.ToString("MM");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
{
|
|
strRULEYEAR = dACCDATE.ToString("yyyy");
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
{
|
|
strRULEYEAR = dACCDATE.ToString("yy");
|
|
}
|
|
}
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEDATE"].ToString().Trim().Equals("自然月份"))
|
|
{
|
|
DateTime fwqdate = System.Convert.ToDateTime(T_ALL_DA.GetStrSQL("fwqdate", "select fwqdate=getdate()"));
|
|
if (ds.Tables[0].Rows[0]["ISCLEAREDINEARLY"].ToString().Trim().Equals("True"))
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
{
|
|
strRULEYEAR = fwqdate.ToString("yyyy") + fwqdate.ToString("MM");
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
{
|
|
strRULEYEAR = fwqdate.ToString("yy") + fwqdate.ToString("MM");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "4")
|
|
{
|
|
strRULEYEAR = fwqdate.ToString("yyyy");
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["RULEYEAR"].ToString().Trim() == "2")
|
|
{
|
|
strRULEYEAR = fwqdate.ToString("yy");
|
|
}
|
|
}
|
|
}
|
|
//
|
|
if (ds.Tables[0].Rows[0]["ISCOMPANY"].ToString().Trim().Equals("True"))
|
|
{
|
|
strCODENAME = T_ALL_DA.GetStrSQL("CODENAME", "select CODENAME from [company] where GID=(select top 1 COMPANYID from user_company where USERID='" + strUserID.Trim() + "')");
|
|
}
|
|
if (ds.Tables[0].Rows[0]["ISDEPT"].ToString().Trim().Equals("True"))
|
|
{
|
|
strDEPTNO = T_ALL_DA.GetStrSQL("DEPTNO", "select DEPTNO from [sys_dept] where LINKID=(select top 1 COMPANYID from user_company where USERID='" + strUserID.Trim() + "')");
|
|
}
|
|
strRULECONTENT = ds.Tables[0].Rows[0]["RULECONTENT"].ToString().Trim();
|
|
strRULECONTENT = strRULECONTENT.Replace("《COMPANY》", strCODENAME);
|
|
strRULECONTENT = strRULECONTENT.Replace("《DEPT》", strDEPTNO);
|
|
//
|
|
iRULENOLENGTH = int.Parse(ds.Tables[0].Rows[0]["RULENOLENGTH"].ToString().Trim());
|
|
strCONTENT = strRULECONTENT + strRULEYEAR;
|
|
//获取分公司的票号头字符
|
|
//string tempBANKSHEAD = T_ALL_DA.GetStrSQL("BANKSHEAD", "SELECT TOP 1 BANKSHEAD FROM company WHERE GID='" + strCompanyID.Trim() + "'");
|
|
//strCONTENT = tempBANKSHEAD + strCONTENT;
|
|
//
|
|
strRULENOLENGTH = T_ALL_DA.GetStrSQL(strfield, "select top 1 " + strfield + " from [tmswlPcHead] where " + strfield + " like '" + strCONTENT.Trim() + "%' order by " + strfield + " DESC");
|
|
if (strRULENOLENGTH == "")
|
|
{
|
|
strRULENOLENGTH = "1";
|
|
}
|
|
else
|
|
{
|
|
strRULENOLENGTH = strRULENOLENGTH.Replace(strCONTENT.Trim(), "");
|
|
inum = int.Parse(strRULENOLENGTH.Trim());
|
|
inum = inum + 1;
|
|
strRULENOLENGTH = inum.ToString();
|
|
}
|
|
int j = iRULENOLENGTH - strRULENOLENGTH.Length;
|
|
for (int i = 1; i <= j; i++)
|
|
{
|
|
strRULENOLENGTH = "0" + strRULENOLENGTH;
|
|
}
|
|
//
|
|
strCONTENT = strCONTENT + strRULENOLENGTH;
|
|
return strCONTENT;
|
|
}
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
#endregion
|
|
|
|
#region 潍坊松达需求
|
|
|
|
//GetWFSDList MsWlPcHead_WFSDEdit
|
|
static public List<MsWlPcHead_WFSDEdit> GetWFSDList ( string strCondition, string userid,string usercode,string username,string companyid,string sort )
|
|
{ //合同信息/商品信息
|
|
|
|
|
|
var rangstr = GetRangDAStr("index", userid, usercode,username,companyid);
|
|
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
{
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strCondition = strCondition + " and " + rangstr;
|
|
}
|
|
else
|
|
{
|
|
strCondition = rangstr;
|
|
}
|
|
}
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append(" select CargoID,LoadFactory,PcBillType,PGid,BLTYPE,TRANSSTATUS ");
|
|
strSql.Append(" ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99046 and EnumValueID=t.PcBillType) PcBillTypeREF ");
|
|
strSql.Append(" ,convert(bigint ,t.TimeMark) as timeMark,gId,UserName ");
|
|
strSql.Append(" ,ROW_NUMBER()over (partition by dbo.trimdate(expdate) order by expdate ) RowNumber ");
|
|
strSql.Append(" ,BillNo,dbo.trimtime(ExpDate) ExpDate, dbo.trimdate(expdate) GroupDate ,ArriveDate,ReturnDate ");
|
|
strSql.Append(" ,CustomerName,F_CustomerName,t.DrvName,t.TruckNo,MblNo,LinkMan,DstArea,DetiNation,ContainerQty,GOODSCOUNT,CBM ");
|
|
strSql.Append(" ,Ton,t.LoadCount,LoadPlace,TruckSpec,IsDouble,Property,RefBillNo,RefBillNose,MblNoSe,dbo.trimdate(EndPortDate) EndPortDate,VoyVeg,dbo.trimdate(EtDate) EtDate ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='运费' and FEETYPE=1)YUNFEI ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='回程合计' and FEETYPE=1)HCHJ ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='装卸费' and FEETYPE=1)ZXF ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='代垫费' and FEETYPE=1)DDF ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename not in('运费','回程合计','装卸费','代垫费') and FEETYPE=1)QTFee ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and FEETYPE=1)TotalFee,t.Remark,t.FeeStatus,dbo.trimdate(LrDate) LrDate");
|
|
strSql.Append(" ,case when t.TruckNo='' then '接单' else case when isnull(isend,0)=0 then '派车' else '完成' end end PCSTATUSREF ");
|
|
strSql.Append(" ,ContainerType,LinkTel,YardName,LinkManSe,LinkTelSe,RtnYardName,BsType,CustName,CustLikeManName,CustTel,ChangedReson,DispatchName,RoadFee,FactoryAddr,ContainerNo,SealNo");
|
|
strSql.Append(",dbo.F_GetBillDrFeeStatus(t.GId) DRFEESTATUS");
|
|
strSql.Append(",dbo.F_GetBillCrFeeStatus(t.GId) CRFEESTATUS");
|
|
strSql.Append(",t.SALECORPID,(select [NAME] from [company] where GID=t.SALECORPID) as SALECORP");
|
|
|
|
strSql.Append(" ,INVOICENO,KINDPKGS,CUSTNO,SalesName,GoodsName,PORTLOAD,DESTINATION,RtnDocStatus,RtnDocTime,ACCDATE,(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF from tMsWlPcHead t ");
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
//strSql.Append(" where 1=1 AND " + strCondition);
|
|
strSql.Append(" where (t.GID=t.PGID OR t.PGID='' OR t.PGID IS NULL) AND EXISTS ( select 1 from tMsWlPcHead WHERE t.GID=tMsWlPcHead.PGID AND " + strCondition + " )");
|
|
}
|
|
else
|
|
{
|
|
//strSql.Append(" where 1=1 " );
|
|
strSql.Append(" where (t.GID=t.PGID OR t.PGID='' OR t.PGID IS NULL) ");
|
|
|
|
}
|
|
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by Expdate,billno ");
|
|
}
|
|
return SetWFSDData(strSql);
|
|
}
|
|
|
|
static public List<MsWlPcHead_WFSDEdit> GetWFSDFenList(string strCondition, string sort)
|
|
{ //合同信息/商品信息
|
|
var strSql = new StringBuilder();
|
|
strSql.Append(" select CargoID,LoadFactory,PcBillType,PGid,BLTYPE,TRANSSTATUS ");
|
|
strSql.Append(" ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99046 and EnumValueID=t.PcBillType) PcBillTypeREF ");
|
|
strSql.Append(" ,convert(bigint ,t.TimeMark) as timeMark,gId,UserName ");
|
|
strSql.Append(" ,ROW_NUMBER()over (partition by dbo.trimdate(expdate) order by expdate ) RowNumber ");
|
|
strSql.Append(" ,BillNo,dbo.trimtime(ExpDate) ExpDate, dbo.trimdate(expdate) GroupDate ,ArriveDate,ReturnDate ");
|
|
strSql.Append(" ,CustomerName,F_CustomerName,t.DrvName,t.TruckNo,MblNo,LinkMan,DstArea,DetiNation,ContainerQty,GOODSCOUNT,CBM ");
|
|
strSql.Append(" ,Ton,t.LoadCount,LoadPlace,TruckSpec,IsDouble,Property,RefBillNo,RefBillNose,MblNoSe,dbo.trimdate(EndPortDate) EndPortDate,VoyVeg,dbo.trimdate(EtDate) EtDate");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='运费' and FEETYPE=1)YUNFEI ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='回程合计' and FEETYPE=1)HCHJ ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='装卸费' and FEETYPE=1)ZXF ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='代垫费' and FEETYPE=1)DDF ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename not in('运费','回程合计','装卸费','代垫费') and FEETYPE=1)QTFee ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and FEETYPE=1)TotalFee,t.Remark,t.FeeStatus,dbo.trimdate(LrDate) LrDate");
|
|
strSql.Append(" ,case when t.TruckNo='' then '接单' else case when isnull(isend,0)=0 then '派车' else '完成' end end PCSTATUSREF ");
|
|
strSql.Append(" ,ContainerType,LinkTel,YardName,LinkManSe,LinkTelSe,RtnYardName,BsType,CustName,CustLikeManName,CustTel,ChangedReson,DispatchName,RoadFee,FactoryAddr,ContainerNo,SealNo");
|
|
strSql.Append(",dbo.F_GetBillDrFeeStatus(t.GId) DRFEESTATUS");
|
|
strSql.Append(",dbo.F_GetBillCrFeeStatus(t.GId) CRFEESTATUS");
|
|
strSql.Append(",t.SALECORPID,(select [NAME] from [company] where GID=t.SALECORPID) as SALECORP");
|
|
strSql.Append(" ,INVOICENO,KINDPKGS,CUSTNO,SalesName,GoodsName,PORTLOAD,DESTINATION,RtnDocStatus,RtnDocTime,ACCDATE,(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF from tMsWlPcHead t ");
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition.Replace("~", ""));//str.Replace("b","**");
|
|
}
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by Expdate,billno ");
|
|
}
|
|
return SetWFSDData(strSql);
|
|
}
|
|
|
|
static public MsWlPcHead_WFSDEdit GetWFSDData ( string condition )
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append(" select CargoID,LoadFactory,PcBillType,PGid,BLTYPE,TRANSSTATUS ");
|
|
strSql.Append(" ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99046 and EnumValueID=t.PcBillType) PcBillTypeREF ");
|
|
strSql.Append(" ,convert(bigint ,t.TimeMark) as timeMark,gId,UserName ");
|
|
strSql.Append(" ,ROW_NUMBER()over (partition by dbo.trimdate(expdate) order by expdate ) RowNumber ");
|
|
strSql.Append(" ,BillNo,dbo.trimtime(ExpDate) ExpDate, dbo.trimdate(expdate) GroupDate ,ArriveDate,ReturnDate ");
|
|
strSql.Append(" ,CustomerName,F_CustomerName,t.DrvName,t.TruckNo,MblNo,LinkMan,DstArea,DetiNation,ContainerQty,GOODSCOUNT,CBM ");
|
|
strSql.Append(" ,Ton,t.LoadCount,LoadPlace,TruckSpec,IsDouble,Property,RefBillNo,RefBillNose,MblNoSe,dbo.trimdate(EndPortDate) EndPortDate,VoyVeg,dbo.trimdate(EtDate) EtDate ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='运费' and FEETYPE=1)YUNFEI ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='回程合计' and FEETYPE=1)HCHJ ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='装卸费' and FEETYPE=1)ZXF ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='代垫费' and FEETYPE=1)DDF ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename not in('运费','回程合计','装卸费','代垫费') and FEETYPE=1)QTFee ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and FEETYPE=1)TotalFee,t.Remark,t.FeeStatus,dbo.trimdate(LrDate) LrDate");
|
|
strSql.Append(" ,case when t.TruckNo='' then '接单' else case when isnull(isend,0)=0 then '派车' else '完成' end end PCSTATUSREF ");
|
|
strSql.Append(" ,ContainerType,ContainerTypeSe,LinkTel,YardName,LinkManSe,LinkTelSe,RtnYardName,BsType,CustName,CustLikeManName,CustTel,ChangedReson,DispatchName,RoadFee,FactoryAddr,ContainerNo,SealNo");
|
|
strSql.Append(",dbo.F_GetBillDrFeeStatus(t.GId) DRFEESTATUS");
|
|
strSql.Append(",dbo.F_GetBillCrFeeStatus(t.GId) CRFEESTATUS");
|
|
strSql.Append(",t.SALECORPID,(select [NAME] from [company] where GID=t.SALECORPID) as SALECORP");
|
|
strSql.Append(" ,INVOICENO,KINDPKGS,CUSTNO,SalesName,GoodsName,PORTLOAD,DESTINATION,RtnDocStatus,RtnDocTime,ACCDATE,(CASE FEESTATUS WHEN 1 THEN '锁定' else '未锁定' end) as FEESTATUSREF from tMsWlPcHead t ");
|
|
if (!string.IsNullOrEmpty(condition))
|
|
{
|
|
strSql.Append(" where " + condition.Replace("~", ""));//str.Replace("b","**");
|
|
}
|
|
var list = SetWFSDData(strSql);
|
|
if (list.Count > 0)
|
|
return list[0];
|
|
|
|
return new MsWlPcHead_WFSDEdit();
|
|
}
|
|
|
|
private static List<MsWlPcHead_WFSDEdit> SetWFSDData ( StringBuilder strSql )
|
|
{
|
|
var headList = new List<MsWlPcHead_WFSDEdit>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
|
|
while (reader.Read())
|
|
{
|
|
MsWlPcHead_WFSDEdit data = new MsWlPcHead_WFSDEdit();
|
|
#region Set DB data to Object
|
|
|
|
data.PcBillType = Convert.ToString(reader["PcBillType"]);
|
|
data.PcBillTypeREF = Convert.ToString(reader["PcBillTypeREF"]);
|
|
data.timeMark = Convert.ToDecimal(reader["timeMark"]);
|
|
data.gId = Convert.ToString(reader["gId"]);
|
|
data.PGid = Convert.ToString(reader["PGid"]);
|
|
data.BLTYPE = Convert.ToString(reader["BLTYPE"]);
|
|
data.TRANSSTATUS = Convert.ToString(reader["TRANSSTATUS"]);
|
|
data.RowNumber = Convert.ToString(reader["RowNumber"]);
|
|
data.BillNo = Convert.ToString(reader["BillNo"]);
|
|
data.ExpDate = Convert.ToString(reader["ExpDate"]);
|
|
data.GroupDate = Convert.ToString(reader["GroupDate"]);
|
|
data.ArriveDate = Convert.ToString(reader["ArriveDate"]);
|
|
data.ReturnDate = Convert.ToString(reader["ReturnDate"]);
|
|
data.CustomerName = Convert.ToString(reader["CustomerName"]);
|
|
data.F_CustomerName = Convert.ToString(reader["F_CustomerName"]);
|
|
data.DrvName = Convert.ToString(reader["DrvName"]);
|
|
data.TruckNo = Convert.ToString(reader["TruckNo"]);
|
|
data.MblNo = Convert.ToString(reader["MblNo"]);
|
|
data.LinkMan = Convert.ToString(reader["LinkMan"]);
|
|
data.DstArea = Convert.ToString(reader["DstArea"]);
|
|
data.DetiNation = Convert.ToString(reader["DetiNation"]);
|
|
data.ContainerQty = Convert.ToString(reader["ContainerQty"]);
|
|
data.Ton = Convert.ToString(reader["Ton"]);
|
|
data.GOODSCOUNT = Convert.ToString(reader["GOODSCOUNT"]);
|
|
data.CBM = Convert.ToString(reader["CBM"]);
|
|
data.LoadCount = Convert.ToString(reader["LoadCount"]);
|
|
data.LoadPlace = Convert.ToString(reader["LoadPlace"]);
|
|
data.TruckSpec = Convert.ToString(reader["TruckSpec"]);
|
|
data.IsDouble = Convert.ToString(reader["IsDouble"]);
|
|
data.Property = Convert.ToString(reader["Property"]);
|
|
data.YUNFEI = Convert.ToString(reader["yunfei"]);
|
|
data.HCHJ = Convert.ToString(reader["HCHJ"]);
|
|
data.ZXF = Convert.ToString(reader["ZXF"]);
|
|
data.DDF = Convert.ToString(reader["DDF"]);
|
|
data.QTFee = Convert.ToString(reader["QTFee"]);
|
|
data.TotalFee = Convert.ToString(reader["TotalFee"]);
|
|
data.Remark = Convert.ToString(reader["Remark"]);
|
|
data.FEESTATUS = Convert.ToString(reader["FeeStatus"]);
|
|
data.UserName = Convert.ToString(reader["UserName"]);
|
|
data.LrDate = Convert.ToString(reader["LrDate"]);
|
|
data.PCSTATUSREF = Convert.ToString(reader["PCSTATUSREF"]);
|
|
data.RefBillNo = Convert.ToString(reader["RefBillNo"]);
|
|
data.RefBillNose = Convert.ToString(reader["RefBillNose"]);
|
|
data.MblNoSe = Convert.ToString(reader["MblNoSe"]);
|
|
data.ContainerType = Convert.ToString(reader["ContainerType"]);
|
|
|
|
if(BasicDataRefDAL.ReadFieldExist(reader,"ContainerTypeSe"))
|
|
data.ContainerTypeSe = Convert.ToString(reader["ContainerTypeSe"]);
|
|
|
|
data.LinkTel = Convert.ToString(reader["LinkTel"]);
|
|
data.YardName = Convert.ToString(reader["YardName"]);
|
|
data.LinkManSe = Convert.ToString(reader["LinkManSe"]);
|
|
data.LinkTelSe = Convert.ToString(reader["LinkTelSe"]);
|
|
data.RtnYardName = Convert.ToString(reader["RtnYardName"]);
|
|
data.BsType = Convert.ToString(reader["BsType"]);
|
|
data.CustName = Convert.ToString(reader["CustName"]);
|
|
data.CustLikeManName = Convert.ToString(reader["CustLikeManName"]);
|
|
data.CustTel = Convert.ToString(reader["CustTel"]);
|
|
data.ChangedReson = Convert.ToString(reader["ChangedReson"]);
|
|
data.FactoryAddr = Convert.ToString(reader["FactoryAddr"]);
|
|
data.DispatchName = Convert.ToString(reader["DispatchName"]);
|
|
data.INVOICENO = Convert.ToString(reader["INVOICENO"]);
|
|
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);
|
|
data.CUSTNO = Convert.ToString(reader["CUSTNO"]);
|
|
data.SalesName = Convert.ToString(reader["SalesName"]);
|
|
data.VoyVeg = Convert.ToString(reader["VoyVeg"]);
|
|
data.EtDate = Convert.ToString(reader["EtDate"]);
|
|
data.EndPortDate = Convert.ToString(reader["EndPortDate"]);
|
|
data.GoodsName = Convert.ToString(reader["GoodsName"]);
|
|
data.PORTLOAD = Convert.ToString(reader["PORTLOAD"]);
|
|
data.DESTINATION = Convert.ToString(reader["DESTINATION"]);
|
|
data.CargoID = Convert.ToString(reader["CARGOID"]);
|
|
data.LoadFactory = Convert.ToString(reader["LOADFACTORY"]);
|
|
data.RtnDocStatus = Convert.ToString(reader["RtnDocStatus"]);
|
|
data.RtnDocTime = Convert.ToString(reader["RtnDocTime"]);
|
|
if (reader["RoadFee"] != DBNull.Value)
|
|
data.RoadFee = Convert.ToDecimal(reader["RoadFee"]);
|
|
|
|
data.DRFEESTATUS = getfeestatus(Convert.ToString(reader["DRFEESTATUS"]));
|
|
data.CRFEESTATUS = getfeestatus(Convert.ToString(reader["CRFEESTATUS"]));
|
|
if (reader["FEESTATUSREF"] != DBNull.Value)
|
|
data.FEESTATUSREF = Convert.ToString(reader["FEESTATUSREF"]);//费用状态
|
|
data.ACCDATE = Convert.ToString(reader["ACCDATE"]);
|
|
data.ContainerNo = Convert.ToString(reader["ContainerNo"]);
|
|
data.SealNo = Convert.ToString(reader["SealNo"]);
|
|
data.SALECORP = Convert.ToString(reader["SALECORP"]);
|
|
data.SALECORPID = Convert.ToString(reader["SALECORPID"]);
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
|
|
public static DBResult HuiDan(MsWlPcHead_WFSDEdit HeadData,List<MsWlPcHead_WFSDEdit> BodyList)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
var RtnDocStatus = HeadData.RtnDocStatus;
|
|
var RtnDocTime = HeadData.RtnDocTime;
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
try
|
|
{
|
|
foreach (var enumValue in BodyList)
|
|
{
|
|
|
|
var cmdUpdate = db.GetSqlStringCommand(
|
|
@"UPDATE tMsWlPcHead SET RtnDocStatus='"+RtnDocStatus+ "',RtnDocTime='"+RtnDocTime+ "' WHERE BillNo=@BillNo ");
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@BillNo", DbType.String, enumValue.BillNo);
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
if (enumValue.BLTYPE == "派车分票") {
|
|
var cmdUpdateMaster = db.GetSqlStringCommand(
|
|
@"UPDATE PC SET RtnDocStatus=(CASE WHEN F.RCT=F.CT THEN '1' ELSE CASE WHEN F.NRCT=F.CT THEN '' ELSE '0' END END) FROM tMsWlPcHead PC LEFT JOIN (SELECT PGID,SUM(CASE WHEN ISNULL(RtnDocStatus,'')='' THEN 1 ELSE 0 END) NRCT,SUM(CASE WHEN ISNULL(RtnDocStatus,'')='1' THEN 1 ELSE 0 END) RCT,COUNT(GID) CT FROM tMsWlPcHead WHERE PGID='" + enumValue.PGid + "' AND GID<>PGID GROUP BY PGID) F ON (F.PGID=PC.GID) WHERE GID=@GID ");
|
|
cmdUpdateMaster.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdateMaster, "@GID", DbType.String, enumValue.PGid);
|
|
db.ExecuteNonQuery(cmdUpdateMaster, tran);
|
|
}
|
|
|
|
}
|
|
|
|
tran.Commit();
|
|
result.Success = true;
|
|
result.Message = "更新成功";
|
|
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
tran.Rollback();
|
|
result.Success = false;
|
|
result.Message = "更新过程出现错误"+e.Message;
|
|
|
|
}
|
|
}
|
|
|
|
return result;
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region 良通捷运
|
|
|
|
static public List<MsWlPcHead_LTJYEdit> GetLTJYList(string strCondition, string userid, string usercode, string username, string companyid, string sort)
|
|
{ //合同信息/商品信息
|
|
|
|
|
|
var rangstr = GetRangDAStr("index", userid, usercode, username, companyid);
|
|
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
{
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strCondition = strCondition + " and " + rangstr;
|
|
}
|
|
else
|
|
{
|
|
strCondition = rangstr;
|
|
}
|
|
}
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append(" select PcBillType,PGid,BLTYPE ");
|
|
strSql.Append(" ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99046 and EnumValueID=t.PcBillType) PcBillTypeREF ");
|
|
strSql.Append(" ,convert(bigint ,t.TimeMark) as timeMark,gId,UserName ");
|
|
strSql.Append(" ,ROW_NUMBER()over (partition by dbo.trimdate(expdate) order by expdate ) RowNumber ");
|
|
strSql.Append(" ,BillNo,dbo.trimtime(ExpDate) ExpDate, dbo.trimdate(expdate) GroupDate ,ArriveDate,ReturnDate ");
|
|
strSql.Append(" ,CustomerName,F_CustomerName,t.DrvName,t.TruckNo,MblNo,LinkMan,DstArea,DetiNation,ContainerQty ");
|
|
strSql.Append(" ,Ton,t.LoadCount,LoadPlace,TruckSpec,IsDouble,Property,RefBillNo,RefBillNose,MblNoSe,dbo.trimdate(EndPortDate) EndPortDate,VoyVeg,dbo.trimdate(EtDate) EtDate ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='运费' and FEETYPE=1)YUNFEI ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='回程合计' and FEETYPE=1)HCHJ ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='装卸费' and FEETYPE=1)ZXF ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='代垫费' and FEETYPE=1)DDF ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename not in('运费','回程合计','装卸费','代垫费') and FEETYPE=1)QTFee ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and FEETYPE=1)TotalFee,t.Remark,t.FeeStatus,dbo.trimdate(LrDate) LrDate");
|
|
strSql.Append(" ,case when t.TruckNo='' then '接单' else case when isnull(isend,0)=0 then '派车' else '完成' end end PCSTATUSREF ");
|
|
strSql.Append(" ,ContainerType,LinkTel,YardName,LinkManSe,LinkTelSe,RtnYardName,BsType,CustName,CustLikeManName,CustTel,ChangedReson,DispatchName,RoadFee,FactoryAddr");
|
|
strSql.Append(",dbo.F_GetBillDrFeeStatus(t.GId) DRFEESTATUS");
|
|
strSql.Append(",dbo.F_GetBillCrFeeStatus(t.GId) CRFEESTATUS");
|
|
strSql.Append(",dbo.Trimdate(t.billdate) BillDate,RealMil,ContainerNoSe");
|
|
strSql.Append(",case when ( ((select islock from wms where BLNO=t.billno)=1) OR((select islock from wms_out where BSNO=t.billno)=1) ) then 1 else 0 end islock");//用于判断该路单下是否有已锁定的入库单或出库单 如有则在前台禁止删除
|
|
strSql.Append(" ,INVOICENO,KINDPKGS,CUSTNO,SalesName,GoodsName from tMsWlPcHead t ");
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
//strSql.Append(" where 1=1 AND " + strCondition);
|
|
strSql.Append(" where (t.GID=t.PGID OR t.PGID='' OR t.PGID IS NULL) AND EXISTS ( select 1 from tMsWlPcHead WHERE t.GID=tMsWlPcHead.PGID AND " + strCondition + " )");
|
|
}
|
|
else
|
|
{
|
|
//strSql.Append(" where 1=1 " );
|
|
strSql.Append(" where (t.GID=t.PGID OR t.PGID='' OR t.PGID IS NULL) ");
|
|
|
|
}
|
|
|
|
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by Expdate,billno ");
|
|
}
|
|
return SetLTJYData(strSql);
|
|
}
|
|
|
|
static public List<MsWlPcHead_LTJYEdit> GetLTJYFenList(string strCondition, string sort)
|
|
{ //合同信息/商品信息
|
|
var strSql = new StringBuilder();
|
|
strSql.Append(" select PcBillType,PGid,BLTYPE ");
|
|
strSql.Append(" ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99046 and EnumValueID=t.PcBillType) PcBillTypeREF ");
|
|
strSql.Append(" ,convert(bigint ,t.TimeMark) as timeMark,gId,UserName ");
|
|
strSql.Append(" ,ROW_NUMBER()over (partition by dbo.trimdate(expdate) order by expdate ) RowNumber ");
|
|
strSql.Append(" ,BillNo,dbo.trimtime(ExpDate) ExpDate, dbo.trimdate(expdate) GroupDate ,ArriveDate,ReturnDate ");
|
|
strSql.Append(" ,CustomerName,F_CustomerName,t.DrvName,t.TruckNo,MblNo,LinkMan,DstArea,DetiNation,ContainerQty ");
|
|
strSql.Append(" ,Ton,t.LoadCount,LoadPlace,TruckSpec,IsDouble,Property,RefBillNo,RefBillNose,MblNoSe,dbo.trimdate(EndPortDate) EndPortDate,VoyVeg,dbo.trimdate(EtDate) EtDate");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='运费' and FEETYPE=1)YUNFEI ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='回程合计' and FEETYPE=1)HCHJ ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='装卸费' and FEETYPE=1)ZXF ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='代垫费' and FEETYPE=1)DDF ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename not in('运费','回程合计','装卸费','代垫费') and FEETYPE=1)QTFee ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and FEETYPE=1)TotalFee,t.Remark,t.FeeStatus,dbo.trimdate(LrDate) LrDate");
|
|
strSql.Append(" ,case when t.TruckNo='' then '接单' else case when isnull(isend,0)=0 then '派车' else '完成' end end PCSTATUSREF ");
|
|
strSql.Append(" ,ContainerType,LinkTel,YardName,LinkManSe,LinkTelSe,RtnYardName,BsType,CustName,CustLikeManName,CustTel,ChangedReson,DispatchName,RoadFee,FactoryAddr");
|
|
strSql.Append(",dbo.F_GetBillDrFeeStatus(t.GId) DRFEESTATUS");
|
|
strSql.Append(",dbo.F_GetBillCrFeeStatus(t.GId) CRFEESTATUS");
|
|
strSql.Append(",dbo.Trimdate(t.billdate) BillDate,RealMil,ContainerNoSe");
|
|
strSql.Append(",case when ( ((select islock from wms where BLNO=t.billno)=1) OR((select islock from wms_out where BSNO=t.billno)=1) ) then 1 else 0 end islock");//用于判断该路单下是否有已锁定的入库单或出库单 如有则在前台禁止删除
|
|
strSql.Append(" ,INVOICENO,KINDPKGS,CUSTNO,SalesName,GoodsName from tMsWlPcHead t ");
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition.Replace("~", ""));//str.Replace("b","**");
|
|
}
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by Expdate,billno ");
|
|
}
|
|
return SetLTJYData(strSql);
|
|
}
|
|
|
|
static public MsWlPcHead_LTJYEdit GetLTJYData(string condition)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append(" select PcBillType,PGid,BLTYPE ");
|
|
strSql.Append(" ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99046 and EnumValueID=t.PcBillType) PcBillTypeREF ");
|
|
strSql.Append(" ,convert(bigint ,t.TimeMark) as timeMark,gId,UserName ");
|
|
strSql.Append(" ,ROW_NUMBER()over (partition by dbo.trimdate(expdate) order by expdate ) RowNumber ");
|
|
strSql.Append(" ,BillNo,dbo.trimtime(ExpDate) ExpDate, dbo.trimdate(expdate) GroupDate ,ArriveDate,ReturnDate ");
|
|
strSql.Append(" ,CustomerName,F_CustomerName,t.DrvName,t.TruckNo,MblNo,LinkMan,DstArea,DetiNation,ContainerQty ");
|
|
strSql.Append(" ,Ton,t.LoadCount,LoadPlace,TruckSpec,IsDouble,Property,RefBillNo,RefBillNose,MblNoSe,dbo.trimdate(EndPortDate) EndPortDate,VoyVeg,dbo.trimdate(EtDate) EtDate ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='运费' and FEETYPE=1)YUNFEI ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='回程合计' and FEETYPE=1)HCHJ ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='装卸费' and FEETYPE=1)ZXF ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename='代垫费' and FEETYPE=1)DDF ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and feename not in('运费','回程合计','装卸费','代垫费') and FEETYPE=1)QTFee ");
|
|
strSql.Append(" ,(select sum(amount) from ch_Fee where bsno=t.gid and FEETYPE=1)TotalFee,t.Remark,t.FeeStatus,dbo.trimdate(LrDate) LrDate");
|
|
strSql.Append(" ,case when t.TruckNo='' then '接单' else case when isnull(isend,0)=0 then '派车' else '完成' end end PCSTATUSREF ");
|
|
strSql.Append(" ,ContainerType,LinkTel,YardName,LinkManSe,LinkTelSe,RtnYardName,BsType,CustName,CustLikeManName,CustTel,ChangedReson,DispatchName,RoadFee,FactoryAddr");
|
|
strSql.Append(",dbo.F_GetBillDrFeeStatus(t.GId) DRFEESTATUS");
|
|
strSql.Append(",dbo.F_GetBillCrFeeStatus(t.GId) CRFEESTATUS");
|
|
strSql.Append(",dbo.Trimdate(t.billdate) BillDate,RealMil,ContainerNoSe");
|
|
strSql.Append(",case when ( ((select islock from wms where BLNO=t.billno)=1) OR((select islock from wms_out where BSNO=t.billno)=1) ) then 1 else 0 end islock");//用于判断该路单下是否有已锁定的入库单或出库单 如有则在前台禁止删除
|
|
strSql.Append(" ,INVOICENO,KINDPKGS,CUSTNO,SalesName,GoodsName from tMsWlPcHead t ");
|
|
if (!string.IsNullOrEmpty(condition))
|
|
{
|
|
strSql.Append(" where " + condition.Replace("~", ""));//str.Replace("b","**");
|
|
}
|
|
var list = SetLTJYData(strSql);
|
|
if (list.Count > 0)
|
|
return list[0];
|
|
|
|
return new MsWlPcHead_LTJYEdit();
|
|
}
|
|
|
|
private static List<MsWlPcHead_LTJYEdit> SetLTJYData(StringBuilder strSql)
|
|
{
|
|
var headList = new List<MsWlPcHead_LTJYEdit>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
|
|
while (reader.Read())
|
|
{
|
|
MsWlPcHead_LTJYEdit data = new MsWlPcHead_LTJYEdit();
|
|
#region Set DB data to Object
|
|
|
|
data.PcBillType = Convert.ToString(reader["PcBillType"]);
|
|
data.PcBillTypeREF = Convert.ToString(reader["PcBillTypeREF"]);
|
|
data.timeMark = Convert.ToDecimal(reader["timeMark"]);
|
|
data.gId = Convert.ToString(reader["gId"]);
|
|
data.PGid = Convert.ToString(reader["PGid"]);
|
|
data.BLTYPE = Convert.ToString(reader["BLTYPE"]);
|
|
data.RowNumber = Convert.ToString(reader["RowNumber"]);
|
|
data.BillNo = Convert.ToString(reader["BillNo"]);
|
|
data.ExpDate = Convert.ToString(reader["ExpDate"]);
|
|
data.GroupDate = Convert.ToString(reader["GroupDate"]);
|
|
data.ArriveDate = Convert.ToString(reader["ArriveDate"]);
|
|
data.ReturnDate = Convert.ToString(reader["ReturnDate"]);
|
|
data.CustomerName = Convert.ToString(reader["CustomerName"]);
|
|
data.F_CustomerName = Convert.ToString(reader["F_CustomerName"]);
|
|
data.DrvName = Convert.ToString(reader["DrvName"]);
|
|
data.TruckNo = Convert.ToString(reader["TruckNo"]);
|
|
data.MblNo = Convert.ToString(reader["MblNo"]);
|
|
data.LinkMan = Convert.ToString(reader["LinkMan"]);
|
|
data.DstArea = Convert.ToString(reader["DstArea"]);
|
|
data.DetiNation = Convert.ToString(reader["DetiNation"]);
|
|
data.ContainerQty = Convert.ToString(reader["ContainerQty"]);
|
|
data.Ton = Convert.ToString(reader["Ton"]);
|
|
data.LoadCount = Convert.ToString(reader["LoadCount"]);
|
|
data.LoadPlace = Convert.ToString(reader["LoadPlace"]);
|
|
data.TruckSpec = Convert.ToString(reader["TruckSpec"]);
|
|
data.IsDouble = Convert.ToString(reader["IsDouble"]);
|
|
data.Property = Convert.ToString(reader["Property"]);
|
|
data.YUNFEI = Convert.ToString(reader["yunfei"]);
|
|
data.HCHJ = Convert.ToString(reader["HCHJ"]);
|
|
data.ZXF = Convert.ToString(reader["ZXF"]);
|
|
data.DDF = Convert.ToString(reader["DDF"]);
|
|
data.QTFee = Convert.ToString(reader["QTFee"]);
|
|
data.TotalFee = Convert.ToString(reader["TotalFee"]);
|
|
data.Remark = Convert.ToString(reader["Remark"]);
|
|
data.FEESTATUS = Convert.ToString(reader["FeeStatus"]);
|
|
data.UserName = Convert.ToString(reader["UserName"]);
|
|
data.LrDate = Convert.ToString(reader["LrDate"]);
|
|
data.PCSTATUSREF = Convert.ToString(reader["PCSTATUSREF"]);
|
|
data.RefBillNo = Convert.ToString(reader["RefBillNo"]);
|
|
data.RefBillNose = Convert.ToString(reader["RefBillNose"]);
|
|
data.MblNoSe = Convert.ToString(reader["MblNoSe"]);
|
|
data.ContainerType = Convert.ToString(reader["ContainerType"]);
|
|
data.LinkTel = Convert.ToString(reader["LinkTel"]);
|
|
data.YardName = Convert.ToString(reader["YardName"]);
|
|
data.LinkManSe = Convert.ToString(reader["LinkManSe"]);
|
|
data.LinkTelSe = Convert.ToString(reader["LinkTelSe"]);
|
|
data.RtnYardName = Convert.ToString(reader["RtnYardName"]);
|
|
data.BsType = Convert.ToString(reader["BsType"]);
|
|
data.CustName = Convert.ToString(reader["CustName"]);
|
|
data.CustLikeManName = Convert.ToString(reader["CustLikeManName"]);
|
|
data.CustTel = Convert.ToString(reader["CustTel"]);
|
|
data.ChangedReson = Convert.ToString(reader["ChangedReson"]);
|
|
data.FactoryAddr = Convert.ToString(reader["FactoryAddr"]);
|
|
data.DispatchName = Convert.ToString(reader["DispatchName"]);
|
|
data.INVOICENO = Convert.ToString(reader["INVOICENO"]);
|
|
data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]);
|
|
data.CUSTNO = Convert.ToString(reader["CUSTNO"]);
|
|
data.SalesName = Convert.ToString(reader["SalesName"]);
|
|
data.VoyVeg = Convert.ToString(reader["VoyVeg"]);
|
|
data.EtDate = Convert.ToString(reader["EtDate"]);
|
|
data.EndPortDate = Convert.ToString(reader["EndPortDate"]);
|
|
|
|
if (reader["RoadFee"] != DBNull.Value)
|
|
data.RoadFee = Convert.ToDecimal(reader["RoadFee"]);
|
|
|
|
data.DRFEESTATUS = getfeestatus(Convert.ToString(reader["DRFEESTATUS"]));
|
|
data.CRFEESTATUS = getfeestatus(Convert.ToString(reader["CRFEESTATUS"]));
|
|
|
|
data.BillDate = Convert.ToString(reader["BillDate"]);
|
|
data.RealMil = Convert.ToDecimal(reader["RealMil"]);
|
|
data.ContainerNoSe = Convert.ToString(reader["ContainerNoSe"]);
|
|
|
|
data.IsLock = Convert.ToString(reader["IsLock"]);
|
|
|
|
data.GoodsName = Convert.ToString(reader["GoodsName"]);
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
|
|
|
|
public static DBResult UpdateFileData(string filename, string billno,string userid )
|
|
{
|
|
var result = new DBResult();
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
var cmdInsert =
|
|
db.GetSqlStringCommand(
|
|
@"update tMsWlPcHead set ContainerNoSe=@filename where BillNo = @billno ");
|
|
|
|
|
|
cmdInsert.Parameters.Clear();
|
|
db.AddInParameter(cmdInsert, "@filename", DbType.String, filename);
|
|
db.AddInParameter(cmdInsert, "@billno", DbType.String, billno);
|
|
db.ExecuteNonQuery(cmdInsert, 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 UpdateFileData(string filename, string billno, string userid, string TABLENAME)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
var cmdInsert = db.GetSqlStringCommand(@"update WMS set FilePath=@filename where WMSNO = @billno ");
|
|
|
|
if (TABLENAME == "WMS")
|
|
{
|
|
cmdInsert = db.GetSqlStringCommand(
|
|
@"update WMS set FilePath=@filename where WMSNO = @billno ");
|
|
}
|
|
if (TABLENAME == "WMS_OUT")
|
|
{
|
|
cmdInsert = db.GetSqlStringCommand(
|
|
@"update WMS_OUT set FilePath=@filename where BSNO = @billno ");
|
|
}
|
|
|
|
cmdInsert.Parameters.Clear();
|
|
db.AddInParameter(cmdInsert, "@filename", DbType.String, filename);
|
|
db.AddInParameter(cmdInsert, "@billno", DbType.String, billno);
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员:" + e.Message;
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
|
|
static public int DeleteUploadFile(string tempGId)
|
|
{
|
|
int iResult = 0;
|
|
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
|
|
{
|
|
try
|
|
{
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append(" update tMsWlPcHead set ContainerNoSe='', where billno = '" + tempGId + "' ");
|
|
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql.ToString());
|
|
sqlTran.Commit();
|
|
|
|
iResult = 1;//状态为1表示插入成功
|
|
}
|
|
catch (Exception execError)
|
|
{
|
|
iResult = -1;//有异常,插入失败
|
|
sqlTran.Rollback();
|
|
iResult = -2;//插入异常,事务已回滚成功
|
|
throw execError;
|
|
}
|
|
finally
|
|
{
|
|
SqlHelper.CloseConnection();
|
|
}
|
|
}
|
|
|
|
return iResult;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 参照部分
|
|
|
|
|
|
public static string GetRangDAStr(string tb, string userid,string userCode, string username, string companyid)
|
|
{
|
|
string str = "";
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT ");
|
|
strSql.Append(" VISIBLERANGE,OPERATERANGE ");
|
|
strSql.Append(" from VW_User_Authority ");
|
|
strSql.Append(" where [NAME]='modMsPc' and USERID='" + userid + "' and ISDELETE=0");
|
|
|
|
string visiblerange = "4";
|
|
string operaterange = "4";
|
|
|
|
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"]);
|
|
break;
|
|
}
|
|
reader.Close();
|
|
}
|
|
if (visiblerange == "4")
|
|
{
|
|
str = " (t.UserCode='" + userCode + "' OR t.UserName='" + username + "')";
|
|
}
|
|
else if (visiblerange == "3")
|
|
{
|
|
str = " (t.UserCode='" + userCode + "' OR t.UserName='" + username + "')";
|
|
}
|
|
else if (visiblerange == "2")
|
|
{
|
|
var rangeDa = new RangeDA();
|
|
var deptname = rangeDa.GetDEPTNAME(userid);
|
|
str = " (t.UserCode in (select CODENAME from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "') and GID in (select userid from user_baseinfo where DEPTNAME='" + deptname + "'))"
|
|
+ " OR t.UserName in (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 + "')))";
|
|
|
|
}
|
|
else if (visiblerange == "1")
|
|
{
|
|
str = " (t.UserCode in (select CODENAME from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "'))"
|
|
+ " OR t.UserName in (select showname from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "')))";
|
|
}
|
|
else if (visiblerange == "0")
|
|
{
|
|
str = " 1=1 ";
|
|
}
|
|
|
|
|
|
return str;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|
|
|