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

1421 lines
95 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
using System.Data;
using System.Text;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using DSWeb.DataAccess;
using DSWeb.Models;
using System.Data.SqlClient;
using System.Collections.Generic;
namespace DSWeb.EntityDA
{
public class WmsInDA
{
private const string SQL_SELECT_INFO = "select GID,ASSOCIATEDNO,BLNO,CONTRACTNO,CNTRNO,SEALNO,BSNO,CLIENTCODE,CLIENTNAME,DODATE,STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,CHARGEUNIT,GOODSRKSL,GOODSSTOCK,ISLOCK,LOCKTIME,LOCKUSER,ISDELETE,DELETETIME,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK,FREESTORAGEPERIOD,GOODSPACKSTOCK,GOODSKGS,CLIENTCODEOLD,CLIENTNAMEOLD,KINDPKGS,ARFEE,APFEE,CTNALL,GOODSTHICKNESS,GOODSWIDTH,GOODSLENGTH,GOODSSLICE,GOODSGRADE,STACKLOCATION,GOODSPACKACTUAL,GOODSRKSLACTUAL,ISCHANGE,CORPID,MARKETVALUE,BANKVALUE,LINENUM from wms_in where GID=@GID and ISDELETE=0";//,CHARGEPRICE
private const string SQL_SELECT_INFO_BY_BSNO = "select GID,ASSOCIATEDNO,BLNO,CONTRACTNO,CNTRNO,SEALNO,BSNO,CLIENTCODE,CLIENTNAME,DODATE,STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,CHARGEUNIT,GOODSRKSL,GOODSSTOCK,ISLOCK,LOCKTIME,LOCKUSER,ISDELETE,DELETETIME,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK,FREESTORAGEPERIOD,GOODSPACKSTOCK,GOODSKGS,CLIENTCODEOLD,CLIENTNAMEOLD,KINDPKGS,ARFEE,APFEE,CTNALL,ISCHANGE,CORPID,MARKETVALUE,BANKVALUE,LINENUM from wms_in where BSNO=@BSNO and ISDELETE=0";//,CHARGEPRICE
private const string SQL_DELETE_INFO = "DELETE FROM wms_in WHERE GID=@GID";
private string strSql = "insert into wms_in(GID,ASSOCIATEDNO,BLNO,CONTRACTNO,CNTRNO,SEALNO,BSNO,CLIENTCODE,CLIENTNAME,{0}STORAGECODE,STORAGENAME,AREACODE,AREANAME,GOODSCODE,GOODSNAME,GOODSTYPE,GOODSMODEL,GOODSSTANDARD,GOODSPACK,CHARGEUNIT,GOODSRKSL,GOODSSTOCK,ISLOCK,LOCKUSER,ISDELETE,DELETEUSER,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME,REMARK,FREESTORAGEPERIOD,GOODSPACKSTOCK,GOODSKGS,CLIENTCODEOLD,CLIENTNAMEOLD,KINDPKGS,ARFEE,APFEE,CTNALL,GOODSTHICKNESS,GOODSWIDTH,GOODSLENGTH,GOODSSLICE,GOODSGRADE,STACKLOCATION,GOODSPACKACTUAL,GOODSRKSLACTUAL,ISCHANGE,CORPID,MARKETVALUE,BANKVALUE,LINENUM) "
+ " values(@GID,@ASSOCIATEDNO,@BLNO,@CONTRACTNO,@CNTRNO,@SEALNO,@BSNO,@CLIENTCODE,@CLIENTNAME,{1}@STORAGECODE,@STORAGENAME,@AREACODE,@AREANAME,@GOODSCODE,@GOODSNAME,@GOODSTYPE,@GOODSMODEL,@GOODSSTANDARD,@GOODSPACK,@CHARGEUNIT,@GOODSRKSL,@GOODSSTOCK,@ISLOCK,@LOCKUSER,@ISDELETE,@DELETEUSER,@CREATEUSER,getdate(),@MODIFIEDUSER,getdate(),@REMARK,@FREESTORAGEPERIOD,@GOODSPACKSTOCK,@GOODSKGS,@CLIENTCODEOLD,@CLIENTNAMEOLD,@KINDPKGS,@ARFEE,@APFEE,@CTNALL,@GOODSTHICKNESS,@GOODSWIDTH,@GOODSLENGTH,@GOODSSLICE,@GOODSGRADE,@STACKLOCATION,@GOODSPACKACTUAL,@GOODSRKSLACTUAL,@ISCHANGE,@CORPID,@MARKETVALUE,@BANKVALUE,@LINENUM)";//,CHARGEPRICE,@CHARGEPRICE
private string strSqlUpdateInfo = "update wms_in set BLNO=@BLNO,CONTRACTNO=@CONTRACTNO,CNTRNO=@CNTRNO,SEALNO=@SEALNO,BSNO=@BSNO,CLIENTCODE=@CLIENTCODE,CLIENTNAME=@CLIENTNAME,{0}STORAGECODE=@STORAGECODE,STORAGENAME=@STORAGENAME,AREACODE=@AREACODE,AREANAME=@AREANAME,GOODSCODE=@GOODSCODE,GOODSNAME=@GOODSNAME,GOODSTYPE=@GOODSTYPE,GOODSMODEL=@GOODSMODEL,GOODSSTANDARD=@GOODSSTANDARD,GOODSPACK=@GOODSPACK,CHARGEUNIT=@CHARGEUNIT,GOODSRKSL=@GOODSRKSL,GOODSSTOCK=@GOODSSTOCK,MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=getdate(),REMARK=@REMARK,FREESTORAGEPERIOD=@FREESTORAGEPERIOD,GOODSPACKSTOCK=@GOODSPACKSTOCK,GOODSKGS=@GOODSKGS,KINDPKGS=@KINDPKGS,ARFEE=@ARFEE,APFEE=@APFEE,CTNALL=@CTNALL,CORPID=@CORPID,MARKETVALUE=@MARKETVALUE,BANKVALUE=@BANKVALUE,ISCHANGE=@ISCHANGE,LINENUM=@LINENUM where GID=@GID";// ASSOCIATEDNO=@ASSOCIATEDNO,CHARGEPRICE=@CHARGEPRICE
public WmsInDA()
{
}
#region 根据GID获取信息
/// <summary>
/// 根据GID获取信息
/// </summary>
/// <param name="strRoleGID"></param>
/// <returns></returns>
public WmsInEntity GetID(string strGID)
{
//初始化返回变量
WmsInEntity WmsInEntity = null;
//初始化参数并赋值
SqlParameter parm = new SqlParameter("@GID", SqlDbType.VarChar, 100);
parm.Value = strGID;
using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_INFO, parm))
{
try
{
WmsInEntity = new WmsInEntity();
//读取字段值
while (sqlRead.Read())
{
if (!sqlRead.IsDBNull(0)) { WmsInEntity.GID = sqlRead.GetString(0); }// 惟一编号
if (!sqlRead.IsDBNull(1)) { WmsInEntity.ASSOCIATEDNO = sqlRead.GetString(1); }// 关联号
if (!sqlRead.IsDBNull(2)) { WmsInEntity.BLNO = sqlRead.GetString(2); }// 提单号
if (!sqlRead.IsDBNull(3)) { WmsInEntity.CONTRACTNO = sqlRead.GetString(3); }// 合同号
if (!sqlRead.IsDBNull(4)) { WmsInEntity.CNTRNO = sqlRead.GetString(4); }// 箱号
if (!sqlRead.IsDBNull(5)) { WmsInEntity.SEALNO = sqlRead.GetString(5); }// 封号
if (!sqlRead.IsDBNull(6)) { WmsInEntity.BSNO = sqlRead.GetString(6); }// 仓单明细号
if (!sqlRead.IsDBNull(7)) { WmsInEntity.CLIENTCODE = sqlRead.GetString(7); }// 客户编码
if (!sqlRead.IsDBNull(8)) { WmsInEntity.CLIENTNAME = sqlRead.GetString(8); }// 客户名称
if (!sqlRead.IsDBNull(9)) { WmsInEntity.DODATE = sqlRead.GetDateTime(9); }// 操作时间
if (!sqlRead.IsDBNull(10)) { WmsInEntity.STORAGECODE = sqlRead.GetString(10); }// 仓库编码
if (!sqlRead.IsDBNull(11)) { WmsInEntity.STORAGENAME = sqlRead.GetString(11); }// 仓库名称
if (!sqlRead.IsDBNull(12)) { WmsInEntity.AREACODE = sqlRead.GetString(12); }// 库位编码
if (!sqlRead.IsDBNull(13)) { WmsInEntity.AREANAME = sqlRead.GetString(13); }// 库位名称
if (!sqlRead.IsDBNull(14)) { WmsInEntity.GOODSCODE = sqlRead.GetString(14); }// 货物编号
if (!sqlRead.IsDBNull(15)) { WmsInEntity.GOODSNAME = sqlRead.GetString(15); }// 货物名称
if (!sqlRead.IsDBNull(16)) { WmsInEntity.GOODSTYPE = sqlRead.GetString(16); }// 货物类型
if (!sqlRead.IsDBNull(17)) { WmsInEntity.GOODSMODEL = sqlRead.GetString(17); }// 型号
if (!sqlRead.IsDBNull(18)) { WmsInEntity.GOODSSTANDARD = sqlRead.GetString(18); }// 规格
if (!sqlRead.IsDBNull(19)) { WmsInEntity.GOODSPACK = sqlRead.GetDecimal(19); }// 件数
if (!sqlRead.IsDBNull(20)) { WmsInEntity.CHARGEUNIT = sqlRead.GetString(20); }// 计费单位
//if (!sqlRead.IsDBNull(21)) { WmsInEntity.CHARGEPRICE = sqlRead.GetDecimal(21); }// 计费单价
if (!sqlRead.IsDBNull(21)) { WmsInEntity.GOODSRKSL = sqlRead.GetDecimal(21); }// 入库量
if (!sqlRead.IsDBNull(22)) { WmsInEntity.GOODSSTOCK = sqlRead.GetDecimal(22); }// 库存量
if (!sqlRead.IsDBNull(23)) { WmsInEntity.ISLOCK = sqlRead.GetBoolean(23); }// 是否锁定
if (!sqlRead.IsDBNull(24)) { WmsInEntity.LOCKTIME = sqlRead.GetDateTime(24); }// 锁定时间
if (!sqlRead.IsDBNull(25)) { WmsInEntity.LOCKUSER = sqlRead.GetString(25); }// 锁定操作人
if (!sqlRead.IsDBNull(26)) { WmsInEntity.ISDELETE = sqlRead.GetBoolean(26); }// 是否废除
if (!sqlRead.IsDBNull(27)) { WmsInEntity.DELETETIME = sqlRead.GetDateTime(27); }// 废除时间
if (!sqlRead.IsDBNull(28)) { WmsInEntity.DELETEUSER = sqlRead.GetString(28); }// 废除操作人
if (!sqlRead.IsDBNull(29)) { WmsInEntity.CREATEUSER = sqlRead.GetString(29); }// 创建人
if (!sqlRead.IsDBNull(30)) { WmsInEntity.CREATETIME = sqlRead.GetDateTime(30); }// 创建时间
if (!sqlRead.IsDBNull(31)) { WmsInEntity.MODIFIEDUSER = sqlRead.GetString(31); }// 最后一次更新操作人
if (!sqlRead.IsDBNull(32)) { WmsInEntity.MODIFIEDTIME = sqlRead.GetDateTime(32); }// 最后一次更新操作时间
if (!sqlRead.IsDBNull(33)) { WmsInEntity.REMARK = sqlRead.GetString(33); }// 备注
if (!sqlRead.IsDBNull(34)) { WmsInEntity.FREESTORAGEPERIOD = sqlRead.GetInt32(34); }// 免仓储期
if (!sqlRead.IsDBNull(35)) { WmsInEntity.GOODSPACKSTOCK = sqlRead.GetDecimal(35); }// 剩余件数
if (!sqlRead.IsDBNull(36)) { WmsInEntity.GOODSKGS = sqlRead.GetDecimal(36); }// 重量
if (!sqlRead.IsDBNull(37)) { WmsInEntity.CLIENTCODEOLD = sqlRead.GetString(37); }// 原客户编码
if (!sqlRead.IsDBNull(38)) { WmsInEntity.CLIENTNAMEOLD = sqlRead.GetString(38); }// 原客户名称
if (!sqlRead.IsDBNull(39)) { WmsInEntity.KINDPKGS = sqlRead.GetString(39); }//
if (!sqlRead.IsDBNull(40)) { WmsInEntity.ARFEE = sqlRead.GetDecimal(40); }//
if (!sqlRead.IsDBNull(41)) { WmsInEntity.APFEE = sqlRead.GetDecimal(41); }//
if (!sqlRead.IsDBNull(42)) { WmsInEntity.CTNALL = sqlRead.GetString(42); }//
if (!sqlRead.IsDBNull(43)) { WmsInEntity.GOODSTHICKNESS = sqlRead.GetDecimal(43); }//
if (!sqlRead.IsDBNull(44)) { WmsInEntity.GOODSWIDTH = sqlRead.GetDecimal(44); }//
if (!sqlRead.IsDBNull(45)) { WmsInEntity.GOODSLENGTH = sqlRead.GetDecimal(45); }//
if (!sqlRead.IsDBNull(46)) { WmsInEntity.GOODSSLICE = sqlRead.GetDecimal(46); }//
if (!sqlRead.IsDBNull(47)) { WmsInEntity.GOODSGRADE = sqlRead.GetString(47); }//
if (!sqlRead.IsDBNull(48)) { WmsInEntity.STACKLOCATION = sqlRead.GetString(48); }//
if (!sqlRead.IsDBNull(49)) { WmsInEntity.GOODSPACKACTUAL = sqlRead.GetDecimal(49); }//
if (!sqlRead.IsDBNull(50)) { WmsInEntity.GOODSRKSLACTUAL = sqlRead.GetDecimal(50); }//
if (!sqlRead.IsDBNull(51)) { WmsInEntity.ISCHANGE = sqlRead.GetBoolean(51); }//
if (!sqlRead.IsDBNull(52)) { WmsInEntity.CORPID = sqlRead.GetString(52); }//
if (!sqlRead.IsDBNull(53)) { WmsInEntity.MARKETVALUE = sqlRead.GetDecimal(53); }//
if (!sqlRead.IsDBNull(54)) { WmsInEntity.BANKVALUE = sqlRead.GetDecimal(54); }//
if (!sqlRead.IsDBNull(55)) { WmsInEntity.LINENUM = sqlRead.GetInt32(55); }//
}
}
catch (Exception exceError)
{
//抛出异常
throw exceError;
}
}
return WmsInEntity;
}
#endregion
#region 根据BSNO获取信息
/// <summary>
/// 根据BSNO获取信息
/// </summary>
/// <param name="strBSNO"></param>
/// <returns></returns>
public WmsInEntity GetByBSNO(string strBSNO)
{
//初始化返回变量
WmsInEntity WmsInEntity = null;
//初始化参数并赋值
SqlParameter parm = new SqlParameter("@BSNO", SqlDbType.VarChar, 100);
parm.Value = strBSNO;
using (SqlDataReader sqlRead = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_INFO_BY_BSNO, parm))
{
try
{
WmsInEntity = new WmsInEntity();
//读取字段值
while (sqlRead.Read())
{
if (!sqlRead.IsDBNull(0)) { WmsInEntity.GID = sqlRead.GetString(0); }// 惟一编号
if (!sqlRead.IsDBNull(1)) { WmsInEntity.ASSOCIATEDNO = sqlRead.GetString(1); }// 关联号
if (!sqlRead.IsDBNull(2)) { WmsInEntity.BLNO = sqlRead.GetString(2); }// 提单号
if (!sqlRead.IsDBNull(3)) { WmsInEntity.CONTRACTNO = sqlRead.GetString(3); }// 合同号
if (!sqlRead.IsDBNull(4)) { WmsInEntity.CNTRNO = sqlRead.GetString(4); }// 箱号
if (!sqlRead.IsDBNull(5)) { WmsInEntity.SEALNO = sqlRead.GetString(5); }// 封号
if (!sqlRead.IsDBNull(6)) { WmsInEntity.BSNO = sqlRead.GetString(6); }// 仓单明细号
if (!sqlRead.IsDBNull(7)) { WmsInEntity.CLIENTCODE = sqlRead.GetString(7); }// 客户编码
if (!sqlRead.IsDBNull(8)) { WmsInEntity.CLIENTNAME = sqlRead.GetString(8); }// 客户名称
if (!sqlRead.IsDBNull(9)) { WmsInEntity.DODATE = sqlRead.GetDateTime(9); }// 操作时间
if (!sqlRead.IsDBNull(10)) { WmsInEntity.STORAGECODE = sqlRead.GetString(10); }// 仓库编码
if (!sqlRead.IsDBNull(11)) { WmsInEntity.STORAGENAME = sqlRead.GetString(11); }// 仓库名称
if (!sqlRead.IsDBNull(12)) { WmsInEntity.AREACODE = sqlRead.GetString(12); }// 库位编码
if (!sqlRead.IsDBNull(13)) { WmsInEntity.AREANAME = sqlRead.GetString(13); }// 库位名称
if (!sqlRead.IsDBNull(14)) { WmsInEntity.GOODSCODE = sqlRead.GetString(14); }// 货物编号
if (!sqlRead.IsDBNull(15)) { WmsInEntity.GOODSNAME = sqlRead.GetString(15); }// 货物名称
if (!sqlRead.IsDBNull(16)) { WmsInEntity.GOODSTYPE = sqlRead.GetString(16); }// 货物类型
if (!sqlRead.IsDBNull(17)) { WmsInEntity.GOODSMODEL = sqlRead.GetString(17); }// 型号
if (!sqlRead.IsDBNull(18)) { WmsInEntity.GOODSSTANDARD = sqlRead.GetString(18); }// 规格
if (!sqlRead.IsDBNull(19)) { WmsInEntity.GOODSPACK = sqlRead.GetDecimal(19); }// 件数
if (!sqlRead.IsDBNull(20)) { WmsInEntity.CHARGEUNIT = sqlRead.GetString(20); }// 计费单位
//if (!sqlRead.IsDBNull(21)) { WmsInEntity.CHARGEPRICE = sqlRead.GetDecimal(21); }// 计费单价
if (!sqlRead.IsDBNull(21)) { WmsInEntity.GOODSRKSL = sqlRead.GetDecimal(21); }// 入库量
if (!sqlRead.IsDBNull(22)) { WmsInEntity.GOODSSTOCK = sqlRead.GetDecimal(22); }// 库存量
if (!sqlRead.IsDBNull(23)) { WmsInEntity.ISLOCK = sqlRead.GetBoolean(23); }// 是否锁定
if (!sqlRead.IsDBNull(24)) { WmsInEntity.LOCKTIME = sqlRead.GetDateTime(24); }// 锁定时间
if (!sqlRead.IsDBNull(25)) { WmsInEntity.LOCKUSER = sqlRead.GetString(25); }// 锁定操作人
if (!sqlRead.IsDBNull(26)) { WmsInEntity.ISDELETE = sqlRead.GetBoolean(26); }// 是否废除
if (!sqlRead.IsDBNull(27)) { WmsInEntity.DELETETIME = sqlRead.GetDateTime(27); }// 废除时间
if (!sqlRead.IsDBNull(28)) { WmsInEntity.DELETEUSER = sqlRead.GetString(28); }// 废除操作人
if (!sqlRead.IsDBNull(29)) { WmsInEntity.CREATEUSER = sqlRead.GetString(29); }// 创建人
if (!sqlRead.IsDBNull(30)) { WmsInEntity.CREATETIME = sqlRead.GetDateTime(30); }// 创建时间
if (!sqlRead.IsDBNull(31)) { WmsInEntity.MODIFIEDUSER = sqlRead.GetString(31); }// 最后一次更新操作人
if (!sqlRead.IsDBNull(32)) { WmsInEntity.MODIFIEDTIME = sqlRead.GetDateTime(32); }// 最后一次更新操作时间
if (!sqlRead.IsDBNull(33)) { WmsInEntity.REMARK = sqlRead.GetString(33); }// 备注
if (!sqlRead.IsDBNull(34)) { WmsInEntity.FREESTORAGEPERIOD = sqlRead.GetInt32(34); }// 免仓储期
if (!sqlRead.IsDBNull(35)) { WmsInEntity.GOODSPACKSTOCK = sqlRead.GetDecimal(35); }// 件数
if (!sqlRead.IsDBNull(36)) { WmsInEntity.GOODSKGS = sqlRead.GetDecimal(36); }// 重量
if (!sqlRead.IsDBNull(37)) { WmsInEntity.CLIENTCODEOLD = sqlRead.GetString(37); }// 原客户编码
if (!sqlRead.IsDBNull(38)) { WmsInEntity.CLIENTNAMEOLD = sqlRead.GetString(38); }// 原客户名称
if (!sqlRead.IsDBNull(39)) { WmsInEntity.KINDPKGS = sqlRead.GetString(39); }//
if (!sqlRead.IsDBNull(40)) { WmsInEntity.ARFEE = sqlRead.GetDecimal(40); }//
if (!sqlRead.IsDBNull(41)) { WmsInEntity.APFEE = sqlRead.GetDecimal(41); }//
if (!sqlRead.IsDBNull(42)) { WmsInEntity.CTNALL = sqlRead.GetString(42); }//
if (!sqlRead.IsDBNull(43)) { WmsInEntity.ISCHANGE = sqlRead.GetBoolean(43); }//
if (!sqlRead.IsDBNull(44)) { WmsInEntity.CORPID = sqlRead.GetString(44); }//
if (!sqlRead.IsDBNull(45)) { WmsInEntity.MARKETVALUE = sqlRead.GetDecimal(45); }//
if (!sqlRead.IsDBNull(46)) { WmsInEntity.BANKVALUE = sqlRead.GetDecimal(46); }//
if (!sqlRead.IsDBNull(47)) { WmsInEntity.LINENUM = sqlRead.GetInt32(47); }//
}
}
catch (Exception exceError)
{
//抛出异常
throw exceError;
}
}
return WmsInEntity;
}
#endregion
/// <summary>
/// 插入信息
/// </summary>
/// <param name="WmsInEntity">实体类</param>
/// <returns>值为1插入数据正常,-1操作异常</returns>
public int InserInfo(WmsInEntity infoEntity)
{
int iResult = 0;
//获取参数
SqlParameter[] parms = GetInsertParms();
parms[0].Value = infoEntity.GID;// 惟一编号
parms[1].Value = infoEntity.ASSOCIATEDNO;// 关联号
parms[2].Value = infoEntity.BLNO;// 提单号
parms[3].Value = infoEntity.CONTRACTNO;// 合同号
parms[4].Value = infoEntity.CNTRNO;// 箱号
parms[5].Value = infoEntity.SEALNO;// 封号
parms[6].Value = infoEntity.BSNO;// 仓单明细号
parms[7].Value = infoEntity.CLIENTCODE;// 客户编码
parms[8].Value = infoEntity.CLIENTNAME;// 客户名称
parms[9].Value = infoEntity.STORAGECODE;// 仓库编码
parms[10].Value = infoEntity.STORAGENAME;// 仓库名称
parms[11].Value = infoEntity.AREACODE;// 库位编码
parms[12].Value = infoEntity.AREANAME;// 库位名称
parms[13].Value = infoEntity.GOODSCODE;// 货物编号
parms[14].Value = infoEntity.GOODSNAME;// 货物名称
parms[15].Value = infoEntity.GOODSTYPE;// 货物类型
parms[16].Value = infoEntity.GOODSMODEL;// 型号
parms[17].Value = infoEntity.GOODSSTANDARD;// 规格
parms[18].Value = infoEntity.GOODSPACK;// 件数
parms[19].Value = infoEntity.CHARGEUNIT;// 计费单位
//parms[20].Value = infoEntity.CHARGEPRICE;// 计费单价
parms[20].Value = infoEntity.GOODSRKSL;// 入库量
parms[21].Value = infoEntity.GOODSSTOCK;// 库存量
parms[22].Value = infoEntity.ISLOCK;// 是否锁定
parms[23].Value = infoEntity.LOCKUSER;// 锁定操作人
parms[24].Value = infoEntity.ISDELETE;// 是否废除
parms[25].Value = infoEntity.DELETEUSER;// 废除操作人
parms[26].Value = infoEntity.CREATEUSER;// 创建人
parms[27].Value = infoEntity.MODIFIEDUSER;// 最后一次更新操作人
parms[28].Value = infoEntity.REMARK;// 备注
parms[29].Value = infoEntity.FREESTORAGEPERIOD;//
parms[30].Value = infoEntity.GOODSPACKSTOCK;//
parms[31].Value = infoEntity.GOODSKGS;// 重量
parms[32].Value = infoEntity.CLIENTCODEOLD;// 客户编码
parms[33].Value = infoEntity.CLIENTNAMEOLD;// 客户名称
parms[34].Value = infoEntity.KINDPKGS;//
parms[35].Value = infoEntity.ARFEE;//
parms[36].Value = infoEntity.APFEE;//
parms[37].Value = infoEntity.CTNALL;//
parms[38].Value = infoEntity.GOODSTHICKNESS;
parms[39].Value = infoEntity.GOODSWIDTH;
parms[40].Value = infoEntity.GOODSLENGTH;
parms[41].Value = infoEntity.GOODSSLICE;
parms[42].Value = infoEntity.GOODSGRADE;
parms[43].Value = infoEntity.STACKLOCATION;
parms[44].Value = infoEntity.GOODSPACKACTUAL;
parms[45].Value = infoEntity.GOODSRKSLACTUAL;
parms[46].Value = infoEntity.ISCHANGE;
parms[47].Value = infoEntity.CORPID;
parms[48].Value = infoEntity.MARKETVALUE;
parms[49].Value = infoEntity.BANKVALUE;
parms[50].Value = infoEntity.LINENUM;
//parms[31].Value = infoEntity.DODATE;// 操作时间
//parms[32].Value = infoEntity.LOCKTIME;// 锁定时间
//parms[33].Value = infoEntity.DELETETIME;// 废除时间
//parms[34].Value = infoEntity.CREATETIME;// 创建时间
//parms[35].Value = infoEntity.MODIFIEDTIME;// 最后一次更新操作时间
//操作时间
string strDODATE = infoEntity.DODATE.ToString().IndexOf("0001")>-1 ? "getdate()," : "'" + infoEntity.DODATE.ToString() + "',";
string strDODATE_name = "DODATE,";
strSql = String.Format(strSql, strDODATE_name, strDODATE);
//
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
{
int existVal = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, strSql, parms);
if (existVal > 0)
{
iResult = 1;
//
//string str0 = "insert into sys_log(NAME,LOGTYPE,LOGCONTENT,CREATEUSER) values('插入wms_in海运业务预订舱表','插入操作','BSNO=" + infoEntity.BSNO + "','" + infoEntity.INPUTBY + "')";
//bool bl0 = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, str0);
}
else
{
iResult = -1;//执行异常
}
}
return iResult;
}
/// <summary>
/// 更新信息
/// </summary>
/// <param name="WmsInEntity">实体类</param>
/// <returns>值为1更新数据正常,-1操作异常</returns>
public int UpdateInfo(WmsInEntity infoEntity)
{
int iResult = 0;
//获取参数
SqlParameter[] parms = GetUpdateParms();
parms[0].Value = infoEntity.GID;// 惟一编号
parms[1].Value = infoEntity.ASSOCIATEDNO;// 关联号
parms[2].Value = infoEntity.BLNO;// 提单号
parms[3].Value = infoEntity.CONTRACTNO;// 合同号
parms[4].Value = infoEntity.CNTRNO;// 箱号
parms[5].Value = infoEntity.SEALNO;// 封号
parms[6].Value = infoEntity.BSNO;// 仓单明细号
parms[7].Value = infoEntity.CLIENTCODE;// 客户编码
parms[8].Value = infoEntity.CLIENTNAME;// 客户名称
parms[9].Value = infoEntity.STORAGECODE;// 仓库编码
parms[10].Value = infoEntity.STORAGENAME;// 仓库名称
parms[11].Value = infoEntity.AREACODE;// 库位编码
parms[12].Value = infoEntity.AREANAME;// 库位名称
parms[13].Value = infoEntity.GOODSCODE;// 货物编号
parms[14].Value = infoEntity.GOODSNAME;// 货物名称
parms[15].Value = infoEntity.GOODSTYPE;// 货物类型
parms[16].Value = infoEntity.GOODSMODEL;// 型号
parms[17].Value = infoEntity.GOODSSTANDARD;// 规格
parms[18].Value = infoEntity.GOODSPACK;// 件数
parms[19].Value = infoEntity.CHARGEUNIT;// 计费单位
//parms[20].Value = infoEntity.CHARGEPRICE;// 计费单价
parms[20].Value = infoEntity.GOODSRKSL;// 入库量
parms[21].Value = infoEntity.GOODSSTOCK;// 库存量
parms[22].Value = infoEntity.MODIFIEDUSER;// 最后一次更新操作人
parms[23].Value = infoEntity.REMARK;// 备注
parms[24].Value = infoEntity.FREESTORAGEPERIOD;//
parms[25].Value = infoEntity.GOODSPACKSTOCK;//
parms[26].Value = infoEntity.GOODSKGS;// 重量
parms[27].Value = infoEntity.KINDPKGS;//
parms[28].Value = infoEntity.ARFEE;//
parms[29].Value = infoEntity.APFEE;//
parms[30].Value = infoEntity.CTNALL;//
parms[31].Value = infoEntity.CORPID;//
parms[32].Value = infoEntity.MARKETVALUE;
parms[33].Value = infoEntity.BANKVALUE;
parms[34].Value = infoEntity.ISCHANGE;
parms[35].Value = infoEntity.LINENUM;
//parms[27].Value = infoEntity.CLIENTCODEOLD;// 客户编码
//parms[28].Value = infoEntity.CLIENTNAMEOLD;// 客户名称
//parms[26].Value = infoEntity.ISLOCK;// 是否锁定
//parms[27].Value = infoEntity.LOCKUSER;// 锁定操作人
//parms[28].Value = infoEntity.ISDELETE;// 是否废除
//parms[29].Value = infoEntity.DELETEUSER;// 废除操作人
//parms[30].Value = infoEntity.CREATEUSER;// 创建人
//parms[31].Value = infoEntity.DODATE;// 操作时间
//parms[32].Value = infoEntity.LOCKTIME;// 锁定时间
//parms[33].Value = infoEntity.DELETETIME;// 废除时间
//parms[34].Value = infoEntity.CREATETIME;// 创建时间
//parms[35].Value = infoEntity.MODIFIEDTIME;// 最后一次更新操作时间
//开船日期
string strDODATE = infoEntity.DODATE.ToString().IndexOf("0001")>-1 ? "" : "DODATE='" + infoEntity.DODATE.ToString() + "',";
strSqlUpdateInfo = String.Format(strSqlUpdateInfo, strDODATE);
//
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
{
int existVal = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, strSqlUpdateInfo, parms);
if (existVal > 0)
{
iResult = 1;
//
//string str0 = "insert into sys_log(NAME,LOGTYPE,LOGCONTENT,CREATEUSER) values('更新所有wms_in海运业务预订舱表内容','更新操作','BSNO=" + infoEntity.BSNO + "','')";
//bool bl0 = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, str0);
}
else
{
iResult = -1;//执行异常
}
}
return iResult;
}
#region 生成插入语句参数
/// <summary>
/// 生成插入语句参数
/// </summary>
/// <returns>返回SqlParameter数组</returns>
private SqlParameter[] GetInsertParms()
{
SqlParameter[] parms = new SqlParameter[]{
new SqlParameter("@GID",SqlDbType.VarChar,100),//惟一编号
new SqlParameter("@ASSOCIATEDNO",SqlDbType.VarChar,100),//关联号
new SqlParameter("@BLNO",SqlDbType.VarChar,30),//提单号
new SqlParameter("@CONTRACTNO",SqlDbType.VarChar,100),//合同号
new SqlParameter("@CNTRNO",SqlDbType.VarChar,30),//箱号
new SqlParameter("@SEALNO",SqlDbType.VarChar,12),//封号
new SqlParameter("@BSNO",SqlDbType.VarChar,100),//仓单明细号
new SqlParameter("@CLIENTCODE",SqlDbType.VarChar,20),//客户编码
new SqlParameter("@CLIENTNAME",SqlDbType.VarChar,20),//客户名称
new SqlParameter("@STORAGECODE",SqlDbType.VarChar,50),//仓库编码
new SqlParameter("@STORAGENAME",SqlDbType.VarChar,100),//仓库名称
new SqlParameter("@AREACODE",SqlDbType.VarChar,50),//库位编码
new SqlParameter("@AREANAME",SqlDbType.VarChar,100),//库位名称
new SqlParameter("@GOODSCODE",SqlDbType.VarChar,50),//货物编号
new SqlParameter("@GOODSNAME",SqlDbType.VarChar,100),//货物名称/品名
new SqlParameter("@GOODSTYPE",SqlDbType.VarChar,50),//货物类型
new SqlParameter("@GOODSMODEL",SqlDbType.VarChar,100),//型号
new SqlParameter("@GOODSSTANDARD",SqlDbType.VarChar,100),//规格
new SqlParameter("@GOODSPACK",SqlDbType.Decimal),//件数
new SqlParameter("@CHARGEUNIT",SqlDbType.VarChar,10),//计费单位
//new SqlParameter("@CHARGEPRICE",SqlDbType.Decimal),//计费单价
new SqlParameter("@GOODSRKSL",SqlDbType.Decimal),//入库量
new SqlParameter("@GOODSSTOCK",SqlDbType.Decimal) ,//库存量
new SqlParameter("@ISLOCK",SqlDbType.Bit),//是否锁定
new SqlParameter("@LOCKUSER",SqlDbType.VarChar,36),//锁定操作人
new SqlParameter("@ISDELETE",SqlDbType.Bit),//是否废除
new SqlParameter("@DELETEUSER",SqlDbType.VarChar,36),//废除操作人
new SqlParameter("@CREATEUSER",SqlDbType.VarChar,36),//创建人
new SqlParameter("@MODIFIEDUSER",SqlDbType.VarChar,36),//最后一次更新操作人
new SqlParameter("@REMARK",SqlDbType.VarChar,1024),//备注
new SqlParameter("@FREESTORAGEPERIOD",SqlDbType.Int),//
new SqlParameter("@GOODSPACKSTOCK",SqlDbType.Decimal),//
new SqlParameter("@GOODSKGS",SqlDbType.Decimal),//重量
new SqlParameter("@CLIENTCODEOLD",SqlDbType.VarChar,20),//原客户编码
new SqlParameter("@CLIENTNAMEOLD",SqlDbType.VarChar,20),//原客户名称
new SqlParameter("@KINDPKGS",SqlDbType.VarChar,20),//
new SqlParameter("@ARFEE",SqlDbType.Decimal),//
new SqlParameter("@APFEE",SqlDbType.Decimal),//
new SqlParameter("@CTNALL",SqlDbType.VarChar,10),
new SqlParameter("@GOODSTHICKNESS", SqlDbType.Decimal,9) ,
new SqlParameter("@GOODSWIDTH", SqlDbType.Decimal,9) ,
new SqlParameter("@GOODSLENGTH", SqlDbType.Decimal,9) ,
new SqlParameter("@GOODSSLICE", SqlDbType.Decimal,9) ,
new SqlParameter("@GOODSGRADE", SqlDbType.VarChar,50) ,
new SqlParameter("@STACKLOCATION", SqlDbType.VarChar,50) ,
new SqlParameter("@GOODSPACKACTUAL", SqlDbType.Decimal,9) ,
new SqlParameter("@GOODSRKSLACTUAL", SqlDbType.Decimal,9) ,
new SqlParameter("@ISCHANGE",SqlDbType.Bit) ,
new SqlParameter("@CORPID", SqlDbType.VarChar,36) ,
new SqlParameter("@MARKETVALUE", SqlDbType.Decimal,9) ,
new SqlParameter("@BANKVALUE", SqlDbType.Decimal,9),
new SqlParameter("@LINENUM", SqlDbType.Int)
//new SqlParameter("@DODATE",SqlDbType.Datetime),//操作时间
//new SqlParameter("@LOCKTIME",SqlDbType.Datetime),//锁定时间
//new SqlParameter("@DELETETIME",SqlDbType.Datetime),//废除时间
//new SqlParameter("@CREATETIME",SqlDbType.Datetime),//创建时间
//new SqlParameter("@MODIFIEDTIME",SqlDbType.Datetime),//最后一次更新操作时间
};
return parms;
}
#endregion
#region 生成更新语句参数
/// <summary>
/// 生成更新语句参数
/// </summary>
/// <returns>返回SqlParameter数组</returns>
private SqlParameter[] GetUpdateParms()
{
SqlParameter[] parms = new SqlParameter[]{
new SqlParameter("@GID",SqlDbType.VarChar,100),//惟一编号
new SqlParameter("@ASSOCIATEDNO",SqlDbType.VarChar,100),//关联号
new SqlParameter("@BLNO",SqlDbType.VarChar,30),//提单号
new SqlParameter("@CONTRACTNO",SqlDbType.VarChar,100),//合同号
new SqlParameter("@CNTRNO",SqlDbType.VarChar,30),//箱号
new SqlParameter("@SEALNO",SqlDbType.VarChar,12),//封号
new SqlParameter("@BSNO",SqlDbType.VarChar,100),//仓单明细号
new SqlParameter("@CLIENTCODE",SqlDbType.VarChar,20),//客户编码
new SqlParameter("@CLIENTNAME",SqlDbType.VarChar,20),//客户名称
new SqlParameter("@STORAGECODE",SqlDbType.VarChar,50),//仓库编码
new SqlParameter("@STORAGENAME",SqlDbType.VarChar,100),//仓库名称
new SqlParameter("@AREACODE",SqlDbType.VarChar,50),//库位编码
new SqlParameter("@AREANAME",SqlDbType.VarChar,100),//库位名称
new SqlParameter("@GOODSCODE",SqlDbType.VarChar,50),//货物编号
new SqlParameter("@GOODSNAME",SqlDbType.VarChar,100),//货物名称/品名
new SqlParameter("@GOODSTYPE",SqlDbType.VarChar,50),//货物类型
new SqlParameter("@GOODSMODEL",SqlDbType.VarChar,100),//型号
new SqlParameter("@GOODSSTANDARD",SqlDbType.VarChar,100),//规格
new SqlParameter("@GOODSPACK",SqlDbType.Decimal),//件数
new SqlParameter("@CHARGEUNIT",SqlDbType.VarChar,10),//计费单位
//new SqlParameter("@CHARGEPRICE",SqlDbType.Decimal),//计费单价
new SqlParameter("@GOODSRKSL",SqlDbType.Decimal),//入库量
new SqlParameter("@GOODSSTOCK",SqlDbType.Decimal) ,//库存量
new SqlParameter("@MODIFIEDUSER",SqlDbType.VarChar,36),//最后一次更新操作人
new SqlParameter("@REMARK",SqlDbType.VarChar,1024),//备注
new SqlParameter("@FREESTORAGEPERIOD",SqlDbType.Int),//
new SqlParameter("@GOODSPACKSTOCK",SqlDbType.Decimal),//
new SqlParameter("@GOODSKGS",SqlDbType.Decimal),//重量
new SqlParameter("@KINDPKGS",SqlDbType.VarChar,20),//
new SqlParameter("@ARFEE",SqlDbType.Decimal),//
new SqlParameter("@APFEE",SqlDbType.Decimal),//
new SqlParameter("@CTNALL",SqlDbType.VarChar,10),//
new SqlParameter("@CORPID",SqlDbType.VarChar,36) ,
new SqlParameter("@MARKETVALUE", SqlDbType.Decimal,9) ,
new SqlParameter("@BANKVALUE", SqlDbType.Decimal,9) ,
new SqlParameter("@ISCHANGE",SqlDbType.Bit),
new SqlParameter("@LINENUM", SqlDbType.Int)
//new SqlParameter("@CLIENTCODEOLD",SqlDbType.VarChar,20),//客户编码
//new SqlParameter("@CLIENTNAMEOLD",SqlDbType.VarChar,20)//客户名称
//new SqlParameter("@ISLOCK",SqlDbType.Bit),//是否锁定
//new SqlParameter("@LOCKUSER",SqlDbType.VarChar,36),//锁定操作人
//new SqlParameter("@ISDELETE",SqlDbType.Bit),//是否废除
//new SqlParameter("@DELETEUSER",SqlDbType.VarChar,36),//废除操作人
//new SqlParameter("@CREATEUSER",SqlDbType.VarChar,36),//创建人
//new SqlParameter("@DODATE",SqlDbType.Datetime),//操作时间
//new SqlParameter("@LOCKTIME",SqlDbType.Datetime),//锁定时间
//new SqlParameter("@DELETETIME",SqlDbType.Datetime),//废除时间
//new SqlParameter("@CREATETIME",SqlDbType.Datetime),//创建时间
//new SqlParameter("@MODIFIEDTIME",SqlDbType.Datetime),//最后一次更新操作时间
};
return parms;
}
#endregion
#region 更新账户列表信息
/// <summary>
/// 更新账户列表信息
/// </summary>
/// <param name="sqlList">更新SQL语句组,将所有要执行的更新语句写入ArrayList,每个索引对应一条SQL语句,执行时需要遍历操作</param>
/// <returns>返回状态值 为1表示更新完成;为-1更新出现异常但未正确回滚事务;为-2更新异常,事务已经成功回滚;默认状态为0</returns>
public int UpdateFromGrid(List<WmsInEntity> WmsInEntities)
{
int result = 0;
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
try
{
foreach (WmsInEntity model in WmsInEntities)
{
string strSql = "update wms_in set BLNO=@BLNO,CONTRACTNO=@CONTRACTNO,CNTRNO=@CNTRNO,SEALNO=@SEALNO,BSNO=@BSNO,CLIENTCODE=@CLIENTCODE,CLIENTNAME=@CLIENTNAME,{0}STORAGECODE=@STORAGECODE,STORAGENAME=@STORAGENAME,AREACODE=@AREACODE,AREANAME=@AREANAME,GOODSCODE=@GOODSCODE,GOODSNAME=@GOODSNAME,GOODSTYPE=@GOODSTYPE,GOODSMODEL=@GOODSMODEL,GOODSSTANDARD=@GOODSSTANDARD,GOODSPACK=@GOODSPACK,CHARGEUNIT=@CHARGEUNIT,GOODSRKSL=@GOODSRKSL,GOODSSTOCK=@GOODSSTOCK,MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=getdate(),REMARK=@REMARK,FREESTORAGEPERIOD=@FREESTORAGEPERIOD,GOODSPACKSTOCK=@GOODSPACKSTOCK,GOODSKGS=@GOODSKGS,KINDPKGS=@KINDPKGS,ARFEE=@ARFEE,APFEE=@APFEE,CTNALL=@CTNALL,GOODSTHICKNESS = @GOODSTHICKNESS,GOODSWIDTH = @GOODSWIDTH,GOODSLENGTH = @GOODSLENGTH,GOODSSLICE = @GOODSSLICE,GOODSGRADE = @GOODSGRADE,STACKLOCATION = @STACKLOCATION,GOODSPACKACTUAL = @GOODSPACKACTUAL,GOODSRKSLACTUAL = @GOODSRKSLACTUAL,MARKETVALUE = @MARKETVALUE,BANKVALUE = @BANKVALUE,LINENUM = @LINENUM where GID=@GID";//,CORPID = @CORPID
SqlParameter[] parms = {
new SqlParameter("@GID",SqlDbType.VarChar,100),//惟一编号
new SqlParameter("@ASSOCIATEDNO",SqlDbType.VarChar,100),//关联号
new SqlParameter("@BLNO",SqlDbType.VarChar,30),//提单号
new SqlParameter("@CONTRACTNO",SqlDbType.VarChar,100),//合同号
new SqlParameter("@CNTRNO",SqlDbType.VarChar,30),//箱号
new SqlParameter("@SEALNO",SqlDbType.VarChar,12),//封号
new SqlParameter("@BSNO",SqlDbType.VarChar,100),//仓单明细号
new SqlParameter("@CLIENTCODE",SqlDbType.VarChar,20),//客户编码
new SqlParameter("@CLIENTNAME",SqlDbType.VarChar,20),//客户名称
new SqlParameter("@STORAGECODE",SqlDbType.VarChar,50),//仓库编码
new SqlParameter("@STORAGENAME",SqlDbType.VarChar,100),//仓库名称
new SqlParameter("@AREACODE",SqlDbType.VarChar,50),//库位编码
new SqlParameter("@AREANAME",SqlDbType.VarChar,100),//库位名称
new SqlParameter("@GOODSCODE",SqlDbType.VarChar,50),//货物编号
new SqlParameter("@GOODSNAME",SqlDbType.VarChar,100),//货物名称/品名
new SqlParameter("@GOODSTYPE",SqlDbType.VarChar,50),//货物类型
new SqlParameter("@GOODSMODEL",SqlDbType.VarChar,100),//型号
new SqlParameter("@GOODSSTANDARD",SqlDbType.VarChar,100),//规格
new SqlParameter("@GOODSPACK",SqlDbType.Decimal),//件数
new SqlParameter("@CHARGEUNIT",SqlDbType.VarChar,10),//计费单位
new SqlParameter("@GOODSRKSL",SqlDbType.Decimal),//入库量
new SqlParameter("@GOODSSTOCK",SqlDbType.Decimal) ,//库存量
new SqlParameter("@MODIFIEDUSER",SqlDbType.VarChar,36),//最后一次更新操作人
new SqlParameter("@REMARK",SqlDbType.VarChar,1024),//备注
new SqlParameter("@FREESTORAGEPERIOD",SqlDbType.Int),//
new SqlParameter("@GOODSPACKSTOCK",SqlDbType.Decimal),//
new SqlParameter("@GOODSKGS",SqlDbType.Decimal),//重量
new SqlParameter("@KINDPKGS",SqlDbType.VarChar,20),//
new SqlParameter("@ARFEE",SqlDbType.Decimal),//
new SqlParameter("@APFEE",SqlDbType.Decimal),//
new SqlParameter("@CTNALL",SqlDbType.VarChar,30),
new SqlParameter("@GOODSTHICKNESS", SqlDbType.Decimal,9) ,
new SqlParameter("@GOODSWIDTH", SqlDbType.Decimal,9) ,
new SqlParameter("@GOODSLENGTH", SqlDbType.Decimal,9) ,
new SqlParameter("@GOODSSLICE", SqlDbType.Decimal,9) ,
new SqlParameter("@GOODSGRADE", SqlDbType.VarChar,50) ,
new SqlParameter("@STACKLOCATION", SqlDbType.VarChar,50) ,
new SqlParameter("@GOODSPACKACTUAL", SqlDbType.Decimal,9) ,
new SqlParameter("@GOODSRKSLACTUAL", SqlDbType.Decimal,9) ,
//new SqlParameter("@CORPID", SqlDbType.VarChar,36) ,
new SqlParameter("@MARKETVALUE", SqlDbType.Decimal,9) ,
new SqlParameter("@BANKVALUE", SqlDbType.Decimal,9) ,
new SqlParameter("@LINENUM", SqlDbType.Int)
};
parms[0].Value = model.GID;// 惟一编号
parms[1].Value = model.ASSOCIATEDNO;// 关联号
parms[2].Value = model.BLNO;// 提单号
parms[3].Value = model.CONTRACTNO;// 合同号
parms[4].Value = model.CNTRNO;// 箱号
parms[5].Value = model.SEALNO;// 封号
parms[6].Value = model.BSNO;// 仓单明细号
parms[7].Value = model.CLIENTCODE;// 客户编码
parms[8].Value = model.CLIENTNAME;// 客户名称
parms[9].Value = model.STORAGECODE;// 仓库编码
parms[10].Value = model.STORAGENAME;// 仓库名称
parms[11].Value = model.AREACODE;// 库位编码
parms[12].Value = model.AREANAME;// 库位名称
parms[13].Value = model.GOODSCODE;// 货物编号
parms[14].Value = model.GOODSNAME;// 货物名称
parms[15].Value = model.GOODSTYPE;// 货物类型
parms[16].Value = model.GOODSMODEL;// 型号
parms[17].Value = model.GOODSSTANDARD;// 规格
parms[18].Value = model.GOODSPACK;// 件数
parms[19].Value = model.CHARGEUNIT;// 计费单位
parms[20].Value = model.GOODSRKSL;// 入库量
parms[21].Value = model.GOODSSTOCK;// 库存量
parms[22].Value = model.MODIFIEDUSER;// 最后一次更新操作人
parms[23].Value = model.REMARK;// 备注
parms[24].Value = model.FREESTORAGEPERIOD;//
parms[25].Value = model.GOODSPACKSTOCK;//
parms[26].Value = model.GOODSKGS;// 重量
parms[27].Value = model.KINDPKGS;//
parms[28].Value = model.ARFEE;//
parms[29].Value = model.APFEE;//
parms[30].Value = model.CTNALL;//
parms[31].Value = model.GOODSTHICKNESS;
parms[32].Value = model.GOODSWIDTH;
parms[33].Value = model.GOODSLENGTH;
parms[34].Value = model.GOODSSLICE;
parms[35].Value = model.GOODSGRADE;
parms[36].Value = model.STACKLOCATION;
parms[37].Value = model.GOODSPACKACTUAL;
parms[38].Value = model.GOODSRKSLACTUAL;
//parms[39].Value = model.CORPID;
parms[39].Value = model.MARKETVALUE;
parms[40].Value = model.BANKVALUE;
parms[41].Value = model.LINENUM;
//操作时间
string strDODATE = model.DODATE.ToString().IndexOf("0001")>-1 ? "" : "DODATE='" + model.DODATE.ToString() + "',";
strSql = String.Format(strSql, strDODATE);
//
int existVal = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql.ToString(), parms);
}
sqlTran.Commit();
result = 1;//状态为1表示更新成功
}
catch (Exception execError)
{
result = -1;//有异常,更新失败
sqlTran.Rollback();
result = -2;//更新异常,事务已回滚成功
throw execError;
}
finally
{
SqlHelper.CloseConnection();
}
}
return result;
}
#endregion
#region 入库明细更新与wms相关的信息
/// <summary>
/// 入库明细更新与wms相关的信息
/// </summary>
/// <param name="sqlList">更新SQL语句组,将所有要执行的更新语句写入ArrayList,每个索引对应一条SQL语句,执行时需要遍历操作</param>
/// <returns>返回状态值 为1表示更新完成;为-1更新出现异常但未正确回滚事务;为-2更新异常,事务已经成功回滚;默认状态为0</returns>
public int UpdateWmsInInfo(WmsInEntity model)
{
int result = 0;
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
try
{
string strSql = "update wms_in set BLNO=@BLNO,CONTRACTNO=@CONTRACTNO,CLIENTCODE=@CLIENTCODE,CLIENTNAME=@CLIENTNAME,AREANAME=@AREANAME,GOODSNAME=@GOODSNAME,GOODSMODEL=@GOODSMODEL,CHARGEUNIT=@CHARGEUNIT,STORAGENAME=@STORAGENAME,FREESTORAGEPERIOD=@FREESTORAGEPERIOD where ASSOCIATEDNO=@ASSOCIATEDNO";
SqlParameter[] parms = {
new SqlParameter("@ASSOCIATEDNO",SqlDbType.VarChar,100),//关联号
new SqlParameter("@BLNO",SqlDbType.VarChar,30),//提单号
new SqlParameter("@CONTRACTNO",SqlDbType.VarChar,100),//合同号
new SqlParameter("@CLIENTCODE",SqlDbType.VarChar,20),//客户编码
new SqlParameter("@CLIENTNAME",SqlDbType.VarChar,20),//客户名称
new SqlParameter("@AREANAME",SqlDbType.VarChar,100),//库位名称
new SqlParameter("@GOODSNAME",SqlDbType.VarChar,100),//货物名称/品名
new SqlParameter("@GOODSMODEL",SqlDbType.VarChar,100),//型号
new SqlParameter("@CHARGEUNIT",SqlDbType.VarChar,10),//计费单位
new SqlParameter("@STORAGENAME",SqlDbType.VarChar,100),//仓库名称
new SqlParameter("@FREESTORAGEPERIOD",SqlDbType.Int)
};
parms[0].Value = model.ASSOCIATEDNO;// 关联号
parms[1].Value = model.BLNO;// 提单号
parms[2].Value = model.CONTRACTNO;// 合同号
parms[3].Value = model.CLIENTCODE;// 客户编码
parms[4].Value = model.CLIENTNAME;// 客户名称
parms[5].Value = model.AREANAME;// 库位名称
parms[6].Value = model.GOODSNAME;// 货物名称
parms[7].Value = model.GOODSMODEL;// 型号
parms[8].Value = model.CHARGEUNIT;// 计费单位
parms[9].Value = model.STORAGENAME;// 仓库名称
parms[10].Value = model.FREESTORAGEPERIOD;
//
int existVal = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql, parms);
sqlTran.Commit();
result = 1;//状态为1表示更新成功
}
catch (Exception execError)
{
result = -1;//有异常,更新失败
sqlTran.Rollback();
result = -2;//更新异常,事务已回滚成功
throw execError;
}
finally
{
SqlHelper.CloseConnection();
}
}
return result;
}
#endregion
#region 入库明细CBM更新与wms相关的信息
/// <summary>
/// 入库明细CBM更新与wms相关的信息
/// </summary>
/// <param name="sqlList">更新SQL语句组,将所有要执行的更新语句写入ArrayList,每个索引对应一条SQL语句,执行时需要遍历操作</param>
/// <returns>返回状态值 为1表示更新完成;为-1更新出现异常但未正确回滚事务;为-2更新异常,事务已经成功回滚;默认状态为0</returns>
public int UpdateWmsInCBMInfo(WmsInEntity model)
{
int result = 0;
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
try
{
string strSql = "update wms_in set BLNO=@BLNO,CONTRACTNO=@CONTRACTNO,CLIENTCODE=@CLIENTCODE,CLIENTNAME=@CLIENTNAME,AREANAME=@AREANAME,GOODSNAME=@GOODSNAME,CHARGEUNIT=@CHARGEUNIT,STORAGENAME=@STORAGENAME,FREESTORAGEPERIOD=@FREESTORAGEPERIOD where ASSOCIATEDNO=@ASSOCIATEDNO";
SqlParameter[] parms = {
new SqlParameter("@ASSOCIATEDNO",SqlDbType.VarChar,100),//关联号
new SqlParameter("@BLNO",SqlDbType.VarChar,30),//提单号
new SqlParameter("@CONTRACTNO",SqlDbType.VarChar,100),//合同号
new SqlParameter("@CLIENTCODE",SqlDbType.VarChar,20),//客户编码
new SqlParameter("@CLIENTNAME",SqlDbType.VarChar,20),//客户名称
new SqlParameter("@AREANAME",SqlDbType.VarChar,100),//库位名称
new SqlParameter("@GOODSNAME",SqlDbType.VarChar,100),//货物名称/品名
new SqlParameter("@CHARGEUNIT",SqlDbType.VarChar,10),//计费单位
new SqlParameter("@STORAGENAME",SqlDbType.VarChar,100),//仓库名称
new SqlParameter("@FREESTORAGEPERIOD",SqlDbType.Int)
};
parms[0].Value = model.ASSOCIATEDNO;// 关联号
parms[1].Value = model.BLNO;// 提单号
parms[2].Value = model.CONTRACTNO;// 合同号
parms[3].Value = model.CLIENTCODE;// 客户编码
parms[4].Value = model.CLIENTNAME;// 客户名称
parms[5].Value = model.AREANAME;// 库位名称
parms[6].Value = model.GOODSNAME;// 货物名称
parms[7].Value = model.CHARGEUNIT;// 计费单位
parms[8].Value = model.STORAGENAME;// 仓库名称
parms[9].Value = model.FREESTORAGEPERIOD;
//
int existVal = SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql, parms);
sqlTran.Commit();
result = 1;//状态为1表示更新成功
}
catch (Exception execError)
{
result = -1;//有异常,更新失败
sqlTran.Rollback();
result = -2;//更新异常,事务已回滚成功
throw execError;
}
finally
{
SqlHelper.CloseConnection();
}
}
return result;
}
#endregion
#region 删除入库信息
/// <summary>
/// 删除入库信息
/// </summary>
/// <param name="strSel">入库信息GID</param>
/// <param name="strUserID">删除人ID</param>
/// <returns>值1表示删除成功 值-1表示有异常删除失败 值-2表示插入异常,事务已回滚成功</returns>
public String GetWmsInDel(string strSel, string strUserID)
{
string alt = "";
//string str = "update wms_in set ISDELETE=1,DELETETIME=getdate(),DELETEUSER='" + strUserID + "' where GID in('" + strSel + "') and ISDELETE=0";
string str = "delete from wms_in where GID in('" + strSel + "')";
bool bl = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, str);
if (bl == false)
{
alt = "入库信息表wms_in删除操作出错";
return alt;
}
else
{
//str = str.Trim().Replace("'", "''");
//string str0 = "insert into sys_log(NAME,LOGTYPE,LOGCONTENT,CREATEUSER) values('删除销售订舱信息表wms_in','删除操作','" + str + "','" + strUserID + "')";
//bool bl0 = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, str0);
}
return alt;
}
#endregion
#region 获取当前货主的此类货物的免仓储期
/// <summary>
/// 获取当前货主的此类货物的免仓储期
/// </summary>
/// <param name="strCLIENTNAME">货主名称</param>
/// <param name="strGOODSNAME">货物名称</param>
/// <param name="strDODATE">入库单号</param>
/// <param name="strUserID">操作人gid</param>
/// <returns></returns>
public string GetStrSQL(string strCLIENTNAME, string strGOODSNAME, string strDODATE, string strUserID)
{
string alt = "0";
string strSQL = "select FEESCALE from wms_rate where CUSTOMERNAME='" + strCLIENTNAME + "' and GOODSNAME='" + strGOODSNAME + "' and convert(char(10),STARTTIME,20)<=convert(char(10),'" + strDODATE + "',20) and convert(char(10),'" + strDODATE + "',20)<=convert(char(10),ENDTIME,20)";
DataSet DS = SqlHelper.OpenSqlDataSet(SqlHelper.ConnectionStringLocalTransaction, strSQL);
if (DS != null)
{
if (DS.Tables[0].Rows.Count > 0)
{
alt = DS.Tables[0].Rows[0]["FEESCALE"].ToString();
}
}
return alt;
}
#endregion
#region 获取重量是否大于剩余重量(毛重-入库重量)
/// <summary>
/// 获取重量是否大于剩余重量(毛重-入库重量)
/// </summary>
/// <param name="strAssociatedno">业务关联编号</param>
/// <param name="strBlno">业务提单号</param>
/// <param name="strGid">当前入库单号</param>
/// <param name="strGOODSRKSL">入库重量</param>
/// <returns></returns>
public string GetGOODSRKSL(string strAssociatedno, string strBlno, string strGid, string strGOODSRKSL, string hd_comboCLIENTNAME)
{
string alt = "";
//获取参数
SqlParameter[] parms = new SqlParameter[]
{
new SqlParameter("@strAssociatedno",SqlDbType.VarChar,100),
new SqlParameter("@strBlno",SqlDbType.VarChar,30),
new SqlParameter("@strGid",SqlDbType.VarChar,100),
new SqlParameter("@clientname",SqlDbType.VarChar,20),
new SqlParameter("@strGOODSRKSL",SqlDbType.Decimal)
};
parms[0].Value = strAssociatedno;// 惟一值
parms[1].Value = strBlno;//
parms[2].Value = strGid;//
parms[3].Value = hd_comboCLIENTNAME;//
parms[4].Value = strGOODSRKSL;//
//
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
{
string sResult = SqlHelper.ExecuteSqlStoredProcedureReturnString(conn, "proc_getgoodsrksl", parms);
if (sResult == "error")
{
alt = "";
}
else if (sResult == "0")
{
alt = "";
}
else
{
alt = "";
if (sResult.Trim() != "")
{
alt = "重量超出此票货物总重:"+sResult.Substring(1)+",请重新录入!";
}
}
}
return alt.Trim();
}
#endregion
#region 获取件数是否大于剩余件数(总件数-入库件数)
/// <summary>
/// 获取件数是否大于剩余件数(总件数-入库件数)
/// </summary>
/// <param name="strAssociatedno">业务关联编号</param>
/// <param name="strBlno">业务提单号</param>
/// <param name="strGid">当前入库单号</param>
/// <param name="strGOODSRKSL">入库件数</param>
/// <returns></returns>
public string GetGOODSPACK(string strAssociatedno, string strBlno, string strGid, string strGOODSPACK, string hd_comboCLIENTNAME)
{
string alt = "";
//获取参数
SqlParameter[] parms = new SqlParameter[]
{
new SqlParameter("@strAssociatedno",SqlDbType.VarChar,100),
new SqlParameter("@strBlno",SqlDbType.VarChar,30),
new SqlParameter("@strGid",SqlDbType.VarChar,100),
new SqlParameter("@clientname",SqlDbType.VarChar,20),
new SqlParameter("@strGOODSPACK",SqlDbType.Decimal)
};
parms[0].Value = strAssociatedno;// 惟一值
parms[1].Value = strBlno;//
parms[2].Value = strGid;//
parms[3].Value = hd_comboCLIENTNAME;//
parms[4].Value = strGOODSPACK;//
//
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
{
string sResult = SqlHelper.ExecuteSqlStoredProcedureReturnString(conn, "proc_getgoodspack", parms);
if (sResult == "error")
{
alt = "";
}
else if (sResult == "0")
{
alt = "";
}
else
{
alt = "";
if (sResult.Trim() != "")
{
alt = "件数超出此票货物总件数:"+sResult.Substring(1)+",请重新录入!";
}
}
}
return alt.Trim();
}
#endregion
#region 根据SQL语句查询入库数据集
/// <summary>
/// 根据SQL语句查询数据集
/// </summary>
/// <param name="strSql"></param>
/// <returns></returns>
public DataSet GetExcuteSql(string strSql)
{
DataSet userSet = new DataSet();
userSet = SqlHelper.ExecuteDataset(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, strSql);
return userSet;
}
#endregion
/// <summary>
/// 更新一条数据
/// </summary>
public bool Update(decimal outnum, Decimal outpacknum, string inbsno)
{
using (SqlConnection conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction))
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update wms_in set ");
strSql.Append(" GOODSSTOCK=GOODSSTOCK-@GOODSSTOCK, ");
strSql.Append(" GOODSPACKSTOCK=GOODSPACKSTOCK-@GOODSPACKPFSL ");
strSql.Append(" where BSNO=@BSNO ");
SqlParameter[] parameters = {
new SqlParameter("@GOODSSTOCK", SqlDbType.Decimal),
new SqlParameter("@GOODSPACKPFSL", SqlDbType.Decimal),
new SqlParameter("@BSNO", SqlDbType.VarChar,100)};
parameters[0].Value = outnum;
parameters[1].Value = outpacknum;
parameters[2].Value = inbsno;
//int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
int rows = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
}
#region 删除入库信息
/// <summary>
/// 删除入库信息
/// </summary>
/// <param name="strSel">入库信息GID</param>
/// <param name="strUserID">删除人ID</param>
/// <returns>值1表示删除成功 值-1表示有异常删除失败 值-2表示插入异常,事务已回滚成功</returns>
public String GetWmsDel(string strSel, string strUserID)
{
string alt = "";
//string str = "update wms set ISDELETE=1,DELETETIME=getdate(),DELETEUSER='" + strUserID + "' where GID in('" + strSel + "') and ISDELETE=0";
//str = "delete from ch_fee where BSNO in('" + strSel + "')";
//bool bl = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, str);
string str = "delete from wms_in where gid in('" + strSel + "')";
bool bl = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, str);
if (bl == false)
{
alt = "入库信息表wms删除操作出错";
return alt;
}
else
{
//str = str.Trim().Replace("'", "''");
//string str0 = "insert into sys_log(NAME,LOGTYPE,LOGCONTENT,CREATEUSER) values('删除销售订舱信息表wms','删除操作','" + str + "','" + strUserID + "')";
//bool bl0 = SqlHelper.ExecuteSqlCommand(SqlHelper.ConnectionStringLocalTransaction, str0);
}
return alt;
}
#endregion
/// <summary>
/// 装卸费入账,并锁定入库信息
/// </summary>
public int setislock(string sGids, string strUserID)
{
int iResult = 0;
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
try
{
string strgids = "'" + sGids.Replace(",", "','") + "'";
string strSql = "update wms_in set ISLOCK=1,LOCKUSER='" + strUserID + "',LOCKTIME=getdate() where gid in (" + strgids + ")";
iResult = -4;//
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql, null);
//
string[] items = sGids.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < items.Length; i++)
{
#region 费用参数
string PARM_FEE_GID = "@gid";
string PARM_FEE_BSNO = "@bsno";
string PARM_FEE_TYPE = "@fee_type";
string PARM_FEE_NAME = "@fee_name";
string PARM_FEE_REMARK = "@remark";
string PARM_FEE_FRT = "@fee_frt";
string PARM_FEE_AMOUNT = "@amount";
string PARM_FEE_CURRENCY = "@currency";
string PARM_FEE_QUANTITY = "@quantity";
string PARM_FEE_STATUS = "@fee_status";
string PARM_FEE_UNIT = "@unit";
string PARM_FEE_UNIT_PRICE = "@unit_price";
string PARM_FEE_COMMISSION_RATE = "@comm_rate";
string PARM_FEE_CUSTOMER_NAME = "@customer_name";
string PARM_FEE_EXCHANGE_RATE = "@exchange_rate";
string PARM_FEE_ISADVANCEPAY = "@is_advance_pay";
string PARM_FEE_ENTER_OPERATOR = "@enter_operator";
string PARM_FEE_AUDIT_WMSOUTBSNO = "@WMSOUTBSNO";
//
string strCUSTOMERNAME = "SELECT CLIENTNAME FROM wms_in WHERE GID = '" + items[i].ToString().Trim() + "'";
object statusObj = SqlHelper.ExecuteScalar(sqlTran, CommandType.Text, strCUSTOMERNAME, null);
if (statusObj == null)
{
strCUSTOMERNAME = "";
}
else
{
strCUSTOMERNAME = statusObj.ToString().Trim();
}
//
string strTRUCKNAME = "SELECT TRUCKNAME FROM wms_in WHERE GID = '" + items[i].ToString().Trim() + "'";
statusObj = SqlHelper.ExecuteScalar(sqlTran, CommandType.Text, strTRUCKNAME, null);
if (statusObj == null)
{
strTRUCKNAME = "";
}
else
{
strTRUCKNAME = statusObj.ToString().Trim();
}
//
string strASSOCIATEDNO = "SELECT ASSOCIATEDNO FROM wms_in WHERE GID = '" + items[i].ToString().Trim() + "'";
statusObj = SqlHelper.ExecuteScalar(sqlTran, CommandType.Text, strASSOCIATEDNO, null);
if (statusObj == null)
{
strASSOCIATEDNO = "";
}
else
{
strASSOCIATEDNO = statusObj.ToString().Trim();
}
//
int isFeeGain = 0;
#endregion
//
#region 应收费用合计入ch_fee表
//应收
string feehj = "SELECT isnull(ARFEE,0) as hj FROM wms_in WHERE GID = '" + items[i].ToString().Trim() + "'";
statusObj = SqlHelper.ExecuteScalar(sqlTran, CommandType.Text, feehj, null);
if (statusObj == null)
{
feehj = "0";
}
else
{
feehj = statusObj.ToString().Trim();
}
//
if (decimal.Parse(feehj) != 0)
{
isFeeGain = 1;
string SQL_INSERT_CH_FEE = " INSERT INTO ch_fee (GID,FEENAME,CUSTOMERNAME,UNIT,UNITPRICE,QUANTITY,COMMISSIONRATE,AMOUNT,CURRENCY,EXCHANGERATE,FEEFRT,REMARK,ISADVANCEDPAY,FEETYPE,BSNO,ENTEROPERATOR,ENTERDATE,FEESTATUS,WMSOUTBSNO) VALUES(@gid,@fee_name,@customer_name,@unit,@unit_price,@quantity,@comm_rate,@amount,@currency,@exchange_rate,@fee_frt,@remark,@is_advance_pay,@fee_type,@bsno,@enter_operator,GETDATE(),@fee_status,@WMSOUTBSNO) ";
SqlParameter[] insertParms = new SqlParameter[] {
new SqlParameter(PARM_FEE_GID,SqlDbType.VarChar,36),
new SqlParameter(PARM_FEE_NAME,SqlDbType.VarChar,100),
new SqlParameter(PARM_FEE_CUSTOMER_NAME,SqlDbType.VarChar,50),
new SqlParameter(PARM_FEE_UNIT,SqlDbType.VarChar,20),
new SqlParameter(PARM_FEE_UNIT_PRICE,SqlDbType.Decimal),
new SqlParameter(PARM_FEE_QUANTITY,SqlDbType.Decimal),
new SqlParameter(PARM_FEE_COMMISSION_RATE,SqlDbType.Decimal),
new SqlParameter(PARM_FEE_AMOUNT,SqlDbType.Decimal),
new SqlParameter(PARM_FEE_CURRENCY,SqlDbType.VarChar,20),
new SqlParameter(PARM_FEE_EXCHANGE_RATE,SqlDbType.Decimal),
new SqlParameter(PARM_FEE_FRT,SqlDbType.VarChar,20),
new SqlParameter(PARM_FEE_REMARK,SqlDbType.VarChar),
new SqlParameter(PARM_FEE_ISADVANCEPAY,SqlDbType.Bit),
new SqlParameter(PARM_FEE_TYPE,SqlDbType.Int),
new SqlParameter(PARM_FEE_BSNO,SqlDbType.VarChar,100),
new SqlParameter(PARM_FEE_ENTER_OPERATOR,SqlDbType.VarChar,50),
new SqlParameter(PARM_FEE_STATUS,SqlDbType.Int),
new SqlParameter(PARM_FEE_AUDIT_WMSOUTBSNO,SqlDbType.VarChar,100)
};
insertParms[0].Value = Guid.NewGuid().ToString();
insertParms[1].Value = "入库费";
insertParms[2].Value = strCUSTOMERNAME.Trim();
insertParms[3].Value = "重量";
insertParms[4].Value = decimal.Parse(feehj);
insertParms[5].Value = 1;
insertParms[6].Value = 1;
insertParms[7].Value = decimal.Parse(feehj);
insertParms[8].Value = "RMB";
insertParms[9].Value = 1;
insertParms[10].Value = "";
insertParms[11].Value = "";
insertParms[12].Value = false;
insertParms[13].Value = 1;
insertParms[14].Value = items[i].ToString().Trim();
insertParms[15].Value = strUserID;
insertParms[16].Value = 0;
insertParms[17].Value = items[i].ToString().Trim();
iResult = -5;//
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_CH_FEE, insertParms);
}
#endregion
//
#region 应付费用合计入ch_fee表
//应收
feehj = "SELECT isnull(APFEE,0) as hj FROM wms_in WHERE GID = '" + items[i].ToString().Trim() + "'";
statusObj = SqlHelper.ExecuteScalar(sqlTran, CommandType.Text, feehj, null);
if (statusObj == null)
{
feehj = "0";
}
else
{
feehj = statusObj.ToString().Trim();
}
//
if (decimal.Parse(feehj) != 0)
{
isFeeGain = 1;
string SQL_INSERT_CH_FEE = " INSERT INTO ch_fee (GID,FEENAME,CUSTOMERNAME,UNIT,UNITPRICE,QUANTITY,COMMISSIONRATE,AMOUNT,CURRENCY,EXCHANGERATE,FEEFRT,REMARK,ISADVANCEDPAY,FEETYPE,BSNO,ENTEROPERATOR,ENTERDATE,FEESTATUS,WMSOUTBSNO) VALUES(@gid,@fee_name,@customer_name,@unit,@unit_price,@quantity,@comm_rate,@amount,@currency,@exchange_rate,@fee_frt,@remark,@is_advance_pay,@fee_type,@bsno,@enter_operator,GETDATE(),@fee_status,@WMSOUTBSNO) ";
SqlParameter[] insertParms = new SqlParameter[] {
new SqlParameter(PARM_FEE_GID,SqlDbType.VarChar,36),
new SqlParameter(PARM_FEE_NAME,SqlDbType.VarChar,100),
new SqlParameter(PARM_FEE_CUSTOMER_NAME,SqlDbType.VarChar,50),
new SqlParameter(PARM_FEE_UNIT,SqlDbType.VarChar,20),
new SqlParameter(PARM_FEE_UNIT_PRICE,SqlDbType.Decimal),
new SqlParameter(PARM_FEE_QUANTITY,SqlDbType.Decimal),
new SqlParameter(PARM_FEE_COMMISSION_RATE,SqlDbType.Decimal),
new SqlParameter(PARM_FEE_AMOUNT,SqlDbType.Decimal),
new SqlParameter(PARM_FEE_CURRENCY,SqlDbType.VarChar,20),
new SqlParameter(PARM_FEE_EXCHANGE_RATE,SqlDbType.Decimal),
new SqlParameter(PARM_FEE_FRT,SqlDbType.VarChar,20),
new SqlParameter(PARM_FEE_REMARK,SqlDbType.VarChar),
new SqlParameter(PARM_FEE_ISADVANCEPAY,SqlDbType.Bit),
new SqlParameter(PARM_FEE_TYPE,SqlDbType.Int),
new SqlParameter(PARM_FEE_BSNO,SqlDbType.VarChar,100),
new SqlParameter(PARM_FEE_ENTER_OPERATOR,SqlDbType.VarChar,50),
new SqlParameter(PARM_FEE_STATUS,SqlDbType.Int),
new SqlParameter(PARM_FEE_AUDIT_WMSOUTBSNO,SqlDbType.VarChar,100)
};
insertParms[0].Value = Guid.NewGuid().ToString();
insertParms[1].Value = "入库费";
insertParms[2].Value = strTRUCKNAME.Trim();
insertParms[3].Value = "重量";
insertParms[4].Value = decimal.Parse(feehj);
insertParms[5].Value = 1;
insertParms[6].Value = 1;
insertParms[7].Value = decimal.Parse(feehj);
insertParms[8].Value = "RMB";
insertParms[9].Value = 1;
insertParms[10].Value = "";
insertParms[11].Value = "";
insertParms[12].Value = false;
insertParms[13].Value = 2;
insertParms[14].Value = items[i].ToString().Trim();
insertParms[15].Value = strUserID;
insertParms[16].Value = 0;
insertParms[17].Value = items[i].ToString().Trim();
iResult = -6;//
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_CH_FEE, insertParms);
}
#endregion
//
#region 保存利润信息
if (isFeeGain == 1)
{
string SQL_SELECT_FEE_PROFIT_BY_BSNO = "SELECT BSNO FROM fee_gain WHERE BSNO = '" + strASSOCIATEDNO + "' ";
object bsnoObj = SqlHelper.ExecuteScalar(sqlTran, CommandType.Text, SQL_SELECT_FEE_PROFIT_BY_BSNO, null);
if (bsnoObj == null)//如果没有相关利润信息,则插入新的利润信息
{
SqlParameter[] insertProfitParms = new SqlParameter[] {
new SqlParameter("@bsno",SqlDbType.VarChar,100),//委托编号
new SqlParameter("@create_user",SqlDbType.VarChar,36)//创建人
};
insertProfitParms[0].Value = strASSOCIATEDNO;
insertProfitParms[1].Value = strUserID;
//
string SQL_INSERT_FEE_GAIN_RECALCULATE = " INSERT INTO fee_gain(BSNO,RMBDR,USDDR,OTDR,RMBCR,USDCR,OTCR,STLDRRMB,STLDRUSD, "
+ " STLDROT,STLCRRMB,STLCRUSD,STLCROT,STLDRTTL,STLCRTTL,RMBPROFIT,USDPROFIT,OTPROFIT, "
+ " DRTTL,CRTTL,TTLPROFIT,PROFITRATE,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME) "
+ " SELECT * FROM ("
+ " SELECT BSNO,SUM(RMBDR) AS RMBDR,SUM(USDDR) AS USDDR,0 AS OTDR,SUM(RMBCR) AS RMBCR,SUM(USDCR) AS USDCR,0 AS OTCR, "
+ " 0 AS STLDRRMB,0 AS STLDRUSD,0 AS STLDROT,0 AS STLCRRMB,0 AS STLCRUSD,0 AS STLCROT,0 AS STLDRTTL,0 AS STLCRTTL,SUM(RMBDR) - SUM(RMBCR) AS RMBPROFIT, "
+ " SUM(USDDR) - SUM(USDCR) AS USDPROFIT,0 AS OTPROFIT FROM "
+ " (SELECT CURRENCY,BSNO,SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as RMBDR, "
+ " SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as RMBCR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as USDDR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as USDCR,FEETYPE "
+ " FROM ch_fee WHERE BSNO = @bsno and FEENAME in (select [name] from code_fee where FEETYPE='普通') GROUP BY CURRENCY,EXCHANGERATE,FEETYPE,BSNO ) AS D GROUP BY BSNO) AS B, "
+ " (SELECT SUM(RMBDR+USDTORMBDR) as DRTTL,SUM(RMBCR+USDTORMBCR) as CRTTL,"
+ " SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR) as TTLPROFIT,"
//+ " (CAST(CAST(CASE WHEN SUM(RMBCR+USDTORMBCR) = 0 THEN 100 ELSE (ROUND((case when SUM(RMBDR+USDTORMBDR)=0 then 0 else (SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR))/SUM(RMBDR+USDTORMBDR) END),2))*100 END as decimal(18,2)) as varchar(20))+'%') AS PROFITRATE,"
+ " (CAST(CAST(CASE WHEN SUM(RMBCR+USDTORMBCR) = 0 THEN 100 ELSE (ROUND(((SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR))/SUM(RMBCR+USDTORMBCR)),4))*100 END as decimal(18,2)) as varchar(20))+'%') AS PROFITRATE,"
+ " @create_user as CREATEUSER,GETDATE() as CREATETIME,@create_user as MODIFIEDUSER,GETDATE() as MODIFIEDTIME "
+ " FROM (SELECT CURRENCY,SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as RMBDR,"
+ " SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as RMBCR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as USDDR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as USDCR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT*EXCHANGERATE ELSE 0 END) as USDTORMBDR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT*EXCHANGERATE ELSE 0 END) as USDTORMBCR,FEETYPE "
+ " FROM ch_fee WHERE BSNO = @bsno and FEENAME in (select [name] from code_fee where FEETYPE='普通') GROUP BY CURRENCY,EXCHANGERATE,FEETYPE ) AS C) AS A ";
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_FEE_GAIN_RECALCULATE, insertProfitParms);
}
else
{
SqlParameter[] updateProfitParms = new SqlParameter[] {
new SqlParameter("@bsno",SqlDbType.VarChar,100),//委托编号
new SqlParameter("@modified_user",SqlDbType.VarChar,36)//创建人
};
updateProfitParms[0].Value = strASSOCIATEDNO;
updateProfitParms[1].Value = strUserID;
//
string SQL_UPDATE_FEE_GAIN_RECALCULATE = " UPDATE fee_gain SET RMBDR = B.RMBDR,RMBCR = B.RMBCR,USDDR = B.USDDR,USDCR = B.USDCR,RMBPROFIT = A.RMBPROFIT,"
+ " USDPROFIT = A.USDPROFIT,TTLPROFIT = A.TTLPROFIT,DRTTL = A.DRTTL,CRTTL = A.CRTTL,MODIFIEDUSER = @modified_user,MODIFIEDTIME = GETDATE(),PROFITRATE = A.PROFITRATE "
+ " FROM (SELECT SUM(RMBDR) AS RMBDR,SUM(RMBCR) AS RMBCR,SUM(USDDR) AS USDDR,SUM(USDCR) AS USDCR "
+ " FROM (SELECT CURRENCY,SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as RMBDR,"
+ " SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as RMBCR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as USDDR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as USDCR, "
+ " FEETYPE FROM ch_fee WHERE BSNO = @bsno and FEENAME in (select [name] from code_fee where FEETYPE='普通') GROUP BY CURRENCY,EXCHANGERATE,FEETYPE ) AS D) AS B, "
+ " (SELECT SUM(RMBDR) - SUM(RMBCR) AS RMBPROFIT,SUM(USDDR) - SUM(USDCR) AS USDPROFIT,SUM(RMBDR+USDTORMBDR) as DRTTL, "
+ " SUM(RMBCR+USDTORMBCR) as CRTTL,SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR) as TTLPROFIT, "
//+ " (CAST(CAST(CASE WHEN SUM(RMBCR+USDTORMBCR) = 0 THEN 100 ELSE (ROUND((case when SUM(RMBDR+USDTORMBDR)=0 then 0 else (SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR))/SUM(RMBDR+USDTORMBDR) END),2))*100 END as decimal(18,2)) as varchar(20))+'%') AS PROFITRATE "
+ " (CAST(CAST(CASE WHEN SUM(RMBCR+USDTORMBCR) = 0 THEN 100 ELSE (ROUND(((SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR))/SUM(RMBCR+USDTORMBCR)),4))*100 END as decimal(18,2)) as varchar(20))+'%') AS PROFITRATE "
+ " FROM (SELECT CURRENCY,SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as RMBDR,"
+ " SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as RMBCR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as USDDR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as USDCR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT*EXCHANGERATE ELSE 0 END) as USDTORMBDR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT*EXCHANGERATE ELSE 0 END) as USDTORMBCR,FEETYPE "
+ " FROM ch_fee WHERE BSNO = @bsno and FEENAME in (select [name] from code_fee where FEETYPE='普通') GROUP BY CURRENCY,EXCHANGERATE,FEETYPE ) AS C) AS A"
+ " WHERE fee_gain.BSNO = @bsno ";
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_FEE_GAIN_RECALCULATE, updateProfitParms);
}
}
#endregion
}
//
//事务提交
sqlTran.Commit();
iResult = 1;//状态为1表示插入成功
}
catch (Exception execError)
{
iResult = -1;//有异常,插入失败
sqlTran.Rollback();
iResult = -2;//插入异常,事务已回滚成功
throw execError;
}
finally
{
SqlHelper.CloseConnection();
}
}
return iResult;
}
/// <summary>
/// 装卸费取消入账,并解除锁定入库信息
/// </summary>
public int setnotlock(string strgids, string strUserID)
{
int iResult = 0;
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
try
{
//string strSql = "update wms set ISLOCK=0,LOCKUSER='" + strUserID + "',LOCKTIME=getdate() where gid in (" + strgids + ")";
//iResult = -3;//
//SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql, null);
string strSql = "delete from ch_fee where BSNO in (" + strgids + ") or WMSOUTBSNO in (" + strgids + ")";
iResult = -5;//
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql, null);
strSql = "update wms_in set ISLOCK=0,LOCKUSER='" + strUserID + "',LOCKTIME=getdate() where gid in (" + strgids + ")";
iResult = -4;//
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql, null);
//
string[] items = strgids.Trim().Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < items.Length; i++)
{
string strASSOCIATEDNO = "SELECT ASSOCIATEDNO FROM wms_in WHERE GID = '" + items[i].ToString().Trim() + "'";
object statusObj = SqlHelper.ExecuteScalar(sqlTran, CommandType.Text, strASSOCIATEDNO, null);
if (statusObj == null)
{
strASSOCIATEDNO = "";
}
else
{
strASSOCIATEDNO = statusObj.ToString().Trim();
}
//
#region 保存利润信息
string SQL_SELECT_FEE_PROFIT_BY_BSNO = "SELECT BSNO FROM fee_gain WHERE BSNO = '" + strASSOCIATEDNO + "' ";
object bsnoObj = SqlHelper.ExecuteScalar(sqlTran, CommandType.Text, SQL_SELECT_FEE_PROFIT_BY_BSNO, null);
if (bsnoObj == null)//如果没有相关利润信息,则插入新的利润信息
{
SqlParameter[] insertProfitParms = new SqlParameter[] {
new SqlParameter("@bsno",SqlDbType.VarChar,100),//委托编号
new SqlParameter("@create_user",SqlDbType.VarChar,36)//创建人
};
insertProfitParms[0].Value = strASSOCIATEDNO;
insertProfitParms[1].Value = strUserID;
//
string SQL_INSERT_FEE_GAIN_RECALCULATE = " INSERT INTO fee_gain(BSNO,RMBDR,USDDR,OTDR,RMBCR,USDCR,OTCR,STLDRRMB,STLDRUSD, "
+ " STLDROT,STLCRRMB,STLCRUSD,STLCROT,STLDRTTL,STLCRTTL,RMBPROFIT,USDPROFIT,OTPROFIT, "
+ " DRTTL,CRTTL,TTLPROFIT,PROFITRATE,CREATEUSER,CREATETIME,MODIFIEDUSER,MODIFIEDTIME) "
+ " SELECT * FROM ("
+ " SELECT BSNO,SUM(RMBDR) AS RMBDR,SUM(USDDR) AS USDDR,0 AS OTDR,SUM(RMBCR) AS RMBCR,SUM(USDCR) AS USDCR,0 AS OTCR, "
+ " 0 AS STLDRRMB,0 AS STLDRUSD,0 AS STLDROT,0 AS STLCRRMB,0 AS STLCRUSD,0 AS STLCROT,0 AS STLDRTTL,0 AS STLCRTTL,SUM(RMBDR) - SUM(RMBCR) AS RMBPROFIT, "
+ " SUM(USDDR) - SUM(USDCR) AS USDPROFIT,0 AS OTPROFIT FROM "
+ " (SELECT CURRENCY,BSNO,SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as RMBDR, "
+ " SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as RMBCR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as USDDR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as USDCR,FEETYPE "
+ " FROM ch_fee WHERE BSNO = @bsno and FEENAME in (select [name] from code_fee where FEETYPE='普通') GROUP BY CURRENCY,EXCHANGERATE,FEETYPE,BSNO ) AS D GROUP BY BSNO) AS B, "
+ " (SELECT SUM(RMBDR+USDTORMBDR) as DRTTL,SUM(RMBCR+USDTORMBCR) as CRTTL,"
+ " SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR) as TTLPROFIT,"
//+ " (CAST(CAST(CASE WHEN SUM(RMBCR+USDTORMBCR) = 0 THEN 100 ELSE (ROUND((case when SUM(RMBDR+USDTORMBDR)=0 then 0 else (SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR))/SUM(RMBDR+USDTORMBDR) END),2))*100 END as decimal(18,2)) as varchar(20))+'%') AS PROFITRATE,"
+ " (CAST(CAST(CASE WHEN SUM(RMBCR+USDTORMBCR) = 0 THEN 100 ELSE (ROUND(((SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR))/SUM(RMBCR+USDTORMBCR)),4))*100 END as decimal(18,2)) as varchar(20))+'%') AS PROFITRATE,"
+ " @create_user as CREATEUSER,GETDATE() as CREATETIME,@create_user as MODIFIEDUSER,GETDATE() as MODIFIEDTIME "
+ " FROM (SELECT CURRENCY,SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as RMBDR,"
+ " SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as RMBCR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as USDDR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as USDCR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT*EXCHANGERATE ELSE 0 END) as USDTORMBDR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT*EXCHANGERATE ELSE 0 END) as USDTORMBCR,FEETYPE "
+ " FROM ch_fee WHERE BSNO = @bsno and FEENAME in (select [name] from code_fee where FEETYPE='普通') GROUP BY CURRENCY,EXCHANGERATE,FEETYPE ) AS C) AS A ";
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT_FEE_GAIN_RECALCULATE, insertProfitParms);
}
else
{
SqlParameter[] updateProfitParms = new SqlParameter[] {
new SqlParameter("@bsno",SqlDbType.VarChar,100),//委托编号
new SqlParameter("@modified_user",SqlDbType.VarChar,36)//创建人
};
updateProfitParms[0].Value = strASSOCIATEDNO;
updateProfitParms[1].Value = strUserID;
//
string SQL_UPDATE_FEE_GAIN_RECALCULATE = " UPDATE fee_gain SET RMBDR = B.RMBDR,RMBCR = B.RMBCR,USDDR = B.USDDR,USDCR = B.USDCR,RMBPROFIT = A.RMBPROFIT,"
+ " USDPROFIT = A.USDPROFIT,TTLPROFIT = A.TTLPROFIT,DRTTL = A.DRTTL,CRTTL = A.CRTTL,MODIFIEDUSER = @modified_user,MODIFIEDTIME = GETDATE(),PROFITRATE = A.PROFITRATE "
+ " FROM (SELECT SUM(RMBDR) AS RMBDR,SUM(RMBCR) AS RMBCR,SUM(USDDR) AS USDDR,SUM(USDCR) AS USDCR "
+ " FROM (SELECT CURRENCY,SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as RMBDR,"
+ " SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as RMBCR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as USDDR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as USDCR, "
+ " FEETYPE FROM ch_fee WHERE BSNO = @bsno and FEENAME in (select [name] from code_fee where FEETYPE='普通') GROUP BY CURRENCY,EXCHANGERATE,FEETYPE ) AS D) AS B, "
+ " (SELECT SUM(RMBDR) - SUM(RMBCR) AS RMBPROFIT,SUM(USDDR) - SUM(USDCR) AS USDPROFIT,SUM(RMBDR+USDTORMBDR) as DRTTL, "
+ " SUM(RMBCR+USDTORMBCR) as CRTTL,SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR) as TTLPROFIT, "
//+ " (CAST(CAST(CASE WHEN SUM(RMBCR+USDTORMBCR) = 0 THEN 100 ELSE (ROUND((case when SUM(RMBDR+USDTORMBDR)=0 then 0 else (SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR))/SUM(RMBDR+USDTORMBDR) END),2))*100 END as decimal(18,2)) as varchar(20))+'%') AS PROFITRATE "
+ " (CAST(CAST(CASE WHEN SUM(RMBCR+USDTORMBCR) = 0 THEN 100 ELSE (ROUND(((SUM(RMBDR+USDTORMBDR)- SUM(RMBCR+USDTORMBCR))/SUM(RMBCR+USDTORMBCR)),4))*100 END as decimal(18,2)) as varchar(20))+'%') AS PROFITRATE "
+ " FROM (SELECT CURRENCY,SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as RMBDR,"
+ " SUM(CASE WHEN CURRENCY='RMB' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as RMBCR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT ELSE 0 END) as USDDR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT ELSE 0 END) as USDCR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 1 THEN AMOUNT*EXCHANGERATE ELSE 0 END) as USDTORMBDR, "
+ " SUM(CASE WHEN CURRENCY='USD' AND FEETYPE = 2 THEN AMOUNT*EXCHANGERATE ELSE 0 END) as USDTORMBCR,FEETYPE "
+ " FROM ch_fee WHERE BSNO = @bsno and FEENAME in (select [name] from code_fee where FEETYPE='普通') GROUP BY CURRENCY,EXCHANGERATE,FEETYPE ) AS C) AS A"
+ " WHERE fee_gain.BSNO = @bsno ";
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE_FEE_GAIN_RECALCULATE, updateProfitParms);
}
#endregion
}
//事务提交
sqlTran.Commit();
iResult = 1;//状态为1表示插入成功
}
catch (Exception execError)
{
iResult = -1;//有异常,插入失败
sqlTran.Rollback();
iResult = -2;//插入异常,事务已回滚成功
throw execError;
}
finally
{
SqlHelper.CloseConnection();
}
}
return iResult;
}
//
}
}