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.
2434 lines
120 KiB
C#
2434 lines
120 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using DSWeb.MvcContainer.Models.MsOpPrice;
|
|
using DSWeb.MvcContainer.Models.MsOpCtnApply;
|
|
using DSWeb.MvcShipping.DAL.MsChFeeDAL;
|
|
using DSWeb.MvcShipping.Models.MsChFee;
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
using DSWeb.Areas.CommMng.Models;
|
|
using HcUtility.Comm;
|
|
using DSWeb.MvcShipping.DAL.MsBaseInfoDAL;
|
|
using DSWeb.EntityDA;
|
|
using DSWeb.MvcShipping.DAL.MsSysParamSet;
|
|
|
|
namespace DSWeb.MvcContainer.DAL.MsOpCtnApply
|
|
{
|
|
public class MsOpCtnApplyDAL
|
|
{
|
|
#region Inquery DataList
|
|
|
|
static public List<OpCtnApply> GetDataList(int start, int limit, string strCondition, string pricetype, string companyid, string userid, string username, string sort = null)
|
|
{
|
|
var rangstr = GetRangDAStr(pricetype, userid, username, companyid);
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
{
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strCondition = strCondition + " and " + rangstr;
|
|
}
|
|
else
|
|
{
|
|
strCondition = rangstr;
|
|
}
|
|
}
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append(@"SELECT * from (SELECT row_number() over (");
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
sortstring = sortstring.Replace("CTNNUMS", "(select count(*) from op_ctnapplyctnitems where AUDITSTATUS='生成业务卡' AND LINKGID=b.GID)");
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by INPUTTIME DESC ");
|
|
|
|
}
|
|
strSql.Append(@") as num , ");
|
|
|
|
|
|
strSql.Append(" [GID],[BSNO],[BSDATE],BSSTATUS,[SALE],[OP],[GOODSNAME],[GOODTYPE],[PORTLOAD],[PORTDISCHARGE]");
|
|
strSql.Append(",[CTNALL],[CTNNUM],[ISOWNERBOOKING],[CUSTOMERNAME],[FACTORYNAME],[FACTORYADDR],[REMARKS]");
|
|
strSql.Append(",[INPUTBY],[INPUTTIME],[ISGOODSNAMESAME],[PREGOODSNAME],[CURGOODSNAME],[PRODUCTGOODSNAME],OWNERCTN");
|
|
strSql.Append(",[PH],[DENSITY],[UNNO],[DCLASS],[SDCLASS],[PACKINGGROUP],[ISPOLLUTEOCEAN],[MELTINGPOINT]");
|
|
strSql.Append(",[BOILINGPOINT],[FLASHPOINT],[IMDG],[AUDITSTATUS],[AUDITBY],[AUDITTIME],[AUDITRESULT],[SUBMITBY],[SUBMITTIME]");
|
|
strSql.Append(",[AGENTINPUTBY],[CYCLEDAYS],[CHANGERATE],[FULL_CTN_FREE_STORAGE_DAY],[FULL_CTN_OVER_STORAGE_RATE]");
|
|
strSql.Append(",[CLEAR_CTN_FREE_STORAGE_DAY],[CLEAR_CTN_OVER_STORAGE_RATE],[NO_CLEAR_CTN_FREE_STORAGE_DAY]");
|
|
strSql.Append(",[NO_CLEAR_CTN_OVER_STORAGE_RATE],[CTN_PRICE],[CURRENCY],[CTN_INCOME],[LOAD_FREE_USECTNE_DAY],[LOAD_OVER_USECTNE_RATE]");
|
|
strSql.Append(",[DEST_FREE_USECTNE_DAY],[DEST_OVER_USECTNE_RATE],[COSTAUDITSTATUS],[COSTAUDITBY],[COSTAUDITTIME],[COSTSUBMITBY],[COSTSUBMITTIME]");
|
|
strSql.Append(",[COSTAUDITRESULT],[COMPANYID],PLANCTNDATE,[ACCAUDITSTATUS],[ACCAUDITBY],[ACCAUDITTIME],[ACCAUDITRESULT]");
|
|
strSql.Append(",[SLOAD_FREE_USECTNE_DAY],[SLOAD_OVER_USECTNE_RATE],[SDEST_FREE_USECTNE_DAY],[SDEST_OVER_USECTNE_RATE]");
|
|
strSql.Append(",[MNGAUDITRESULT],[AGENTNAME],ISPORTLOADDATE,[BSAUDITSTATUS],[BSAUDITBY],[BSAUDITTIME],[BSAUDITRESULT],ADDCTNSTATUS");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.INPUTBY) as INPUTBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.AUDITBY) as AUDITBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.COSTAUDITBY) as COSTAUDITBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.ACCAUDITBY) as ACCAUDITBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.BSAUDITBY) as BSAUDITBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.COSTSUBMITBY) as COSTSUBMITBYREF");
|
|
strSql.Append(",(select SUM(case CURRENCY when 'USD' THEN AMOUNT ELSE 0 END) from [op_ctnapplycostitems] where LINKGID=b.GID) as USDCOST");
|
|
strSql.Append(",(select SUM(case when CURRENCY<>'USD' THEN AMOUNT*EXCHANGERATE ELSE 0 END) from [op_ctnapplycostitems] where LINKGID=b.GID) as RMBCOST");
|
|
// strSql.Append(",(select count(*) from op_ctnbscard where applyno=b.bsno) as CTNNUMS");
|
|
strSql.Append(",(select count(*) from op_ctnapplyctnitems where AUDITSTATUS='生成业务卡' AND LINKGID=b.GID) as CTNNUMS");
|
|
strSql.Append(",[MNGAUDITSTATUS],[MNGAUDITBY],[MNGAUDITTIME],(select ShowName from [user] where GID=b.MNGAUDITBY) as MNGAUDITBYREF");
|
|
|
|
strSql.Append(",GOODSNAME+'_'+(select top 1 chemicalgoodsname from code_msds where CHEMICALCGOODSNAME=GOODSNAME) GOODSNAMEREF");//货物名称(含英文简称)
|
|
strSql.Append(",isnull(DESTPORT_STATOIN,'') DESTPORT_STATOIN");//目的港还箱堆场
|
|
strSql.Append(",isnull(SERVICE,'') SERVICE ");//运输条款
|
|
strSql.Append(",isnull(NEEDBEHEATED,0)NEEDBEHEATED,isnull(EMPTYCTNALLOCATION,0) EMPTYCTNALLOCATION");//是否加热,空箱调拨
|
|
strSql.Append(",isnull(WEIGHT,0) WEIGHT ");//重量
|
|
strSql.Append(",dbo.trimdate(PREI_ETD)PREI_ETD ");//预计开船日期
|
|
strSql.Append(" from op_ctnapply b ");
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
strSql.Append(@")as t ");
|
|
strSql.Append(string.Format("where t.num>{0} and t.num<={1} order by t.num ", start, start + limit)); //
|
|
return SetData(strSql);
|
|
}
|
|
|
|
|
|
|
|
public static int getTotalCount(string strCondition, string pricetype, string companyid, string userid, string username)
|
|
{
|
|
var rangstr = GetRangDAStr(pricetype, userid, username, companyid);
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
{
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strCondition = strCondition + " and " + rangstr;
|
|
}
|
|
else
|
|
{
|
|
strCondition = rangstr;
|
|
}
|
|
}
|
|
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("select count(*) ");
|
|
strSql.Append(" from op_ctnapply b ");
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
int cnt = 0;
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
cnt = Convert.ToInt32(reader[0]);
|
|
}
|
|
}
|
|
return cnt;
|
|
}
|
|
|
|
static public string GetDataListStr(string strCondition, string pricetype, string companyid, string userid, string username, string sort = null)
|
|
{
|
|
|
|
var rangstr = GetRangDAStr(pricetype, userid, username, companyid);
|
|
if (!string.IsNullOrEmpty(rangstr))
|
|
{
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strCondition = strCondition + " and " + rangstr;
|
|
}
|
|
else
|
|
{
|
|
strCondition = rangstr;
|
|
}
|
|
}
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT [GID],[BSNO],[BSDATE],BSSTATUS,[SALE],[OP],[GOODSNAME],[GOODTYPE],[PORTLOAD],[PORTDISCHARGE]");
|
|
strSql.Append(",[CTNALL],[CTNNUM],[ISOWNERBOOKING],[CUSTOMERNAME],[FACTORYNAME],[FACTORYADDR],[REMARKS]");
|
|
strSql.Append(",[INPUTBY],[INPUTTIME],[ISGOODSNAMESAME],[PREGOODSNAME],[CURGOODSNAME],[PRODUCTGOODSNAME],OWNERCTN");
|
|
strSql.Append(",[PH],[DENSITY],[UNNO],[DCLASS],[SDCLASS],[PACKINGGROUP],[ISPOLLUTEOCEAN],[MELTINGPOINT]");
|
|
strSql.Append(",[BOILINGPOINT],[FLASHPOINT],[IMDG],[AUDITSTATUS],[AUDITBY],[AUDITTIME],[AUDITRESULT],[SUBMITBY],[SUBMITTIME]");
|
|
strSql.Append(",[AGENTINPUTBY],[CYCLEDAYS],[CHANGERATE],[FULL_CTN_FREE_STORAGE_DAY],[FULL_CTN_OVER_STORAGE_RATE]");
|
|
strSql.Append(",[CLEAR_CTN_FREE_STORAGE_DAY],[CLEAR_CTN_OVER_STORAGE_RATE],[NO_CLEAR_CTN_FREE_STORAGE_DAY]");
|
|
strSql.Append(",[NO_CLEAR_CTN_OVER_STORAGE_RATE],[CTN_PRICE],CURRENCY,[CTN_INCOME],[LOAD_FREE_USECTNE_DAY],[LOAD_OVER_USECTNE_RATE]");
|
|
strSql.Append(",[DEST_FREE_USECTNE_DAY],[DEST_OVER_USECTNE_RATE],[COSTAUDITSTATUS],[COSTAUDITBY],[COSTAUDITTIME],[COSTSUBMITBY],[COSTSUBMITTIME]");
|
|
strSql.Append(",[COSTAUDITRESULT],[COMPANYID],PLANCTNDATE,[ACCAUDITSTATUS],[ACCAUDITBY],[ACCAUDITTIME],[ACCAUDITRESULT]");
|
|
strSql.Append(",[SLOAD_FREE_USECTNE_DAY],[SLOAD_OVER_USECTNE_RATE],[SDEST_FREE_USECTNE_DAY],[SDEST_OVER_USECTNE_RATE]");
|
|
strSql.Append(",[MNGAUDITRESULT],[AGENTNAME],ISPORTLOADDATE,[BSAUDITSTATUS],[BSAUDITBY],[BSAUDITTIME],[BSAUDITRESULT],ADDCTNSTATUS");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.INPUTBY) as INPUTBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.AUDITBY) as AUDITBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.COSTAUDITBY) as COSTAUDITBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.ACCAUDITBY) as ACCAUDITBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.BSAUDITBY) as BSAUDITBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.COSTSUBMITBY) as COSTSUBMITBYREF");
|
|
strSql.Append(",(select SUM(case CURRENCY when 'USD' THEN AMOUNT ELSE 0 END) from [op_ctnapplycostitems] where LINKGID=b.GID) as USDCOST");
|
|
strSql.Append(",(select SUM(case when CURRENCY<>'USD' THEN AMOUNT*EXCHANGERATE ELSE 0 END) from [op_ctnapplycostitems] where LINKGID=b.GID) as RMBCOST");
|
|
strSql.Append(",[MNGAUDITSTATUS],[MNGAUDITBY],[MNGAUDITTIME],(select ShowName from [user] where GID=b.MNGAUDITBY) as MNGAUDITBYREF");
|
|
strSql.Append(" from op_ctnapply b ");
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by INPUTTIME DESC ");
|
|
|
|
}
|
|
return strSql.ToString();
|
|
}
|
|
|
|
|
|
static public OpCtnApply GetData(string condition, string pricetype, string companyid, string userid,string username)
|
|
{
|
|
OpCtnApply data = null;
|
|
var list = GetDataList(0,1,condition, pricetype,companyid, userid,username);
|
|
if (list.Count > 0)
|
|
data = list[0];
|
|
|
|
if (data == null)
|
|
{
|
|
data = new OpCtnApply();
|
|
data.COMPANYID = companyid;
|
|
|
|
}
|
|
|
|
return data;
|
|
}
|
|
static public OpCtnApply GetData(string condition, string userid)
|
|
{
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT [GID],[BSNO],[BSDATE],BSSTATUS,[SALE],[OP],[GOODSNAME],[GOODTYPE],[PORTLOAD],[PORTDISCHARGE]");
|
|
strSql.Append(",[CTNALL],[CTNNUM],[ISOWNERBOOKING],[CUSTOMERNAME],[FACTORYNAME],[FACTORYADDR],[REMARKS]");
|
|
strSql.Append(",[INPUTBY],[INPUTTIME],[ISGOODSNAMESAME],[PREGOODSNAME],[CURGOODSNAME],[PRODUCTGOODSNAME],OWNERCTN");
|
|
strSql.Append(",[PH],[DENSITY],[UNNO],[DCLASS],[SDCLASS],[PACKINGGROUP],[ISPOLLUTEOCEAN],[MELTINGPOINT]");
|
|
strSql.Append(",[BOILINGPOINT],[FLASHPOINT],[IMDG],[AUDITSTATUS],[AUDITBY],[AUDITTIME],[AUDITRESULT],[SUBMITBY],[SUBMITTIME]");
|
|
strSql.Append(",[AGENTINPUTBY],[CYCLEDAYS],[CHANGERATE],[FULL_CTN_FREE_STORAGE_DAY],[FULL_CTN_OVER_STORAGE_RATE]");
|
|
strSql.Append(",[CLEAR_CTN_FREE_STORAGE_DAY],[CLEAR_CTN_OVER_STORAGE_RATE],[NO_CLEAR_CTN_FREE_STORAGE_DAY]");
|
|
strSql.Append(",[NO_CLEAR_CTN_OVER_STORAGE_RATE],[CTN_PRICE],CURRENCY,[CTN_INCOME],[LOAD_FREE_USECTNE_DAY],[LOAD_OVER_USECTNE_RATE]");
|
|
strSql.Append(",[DEST_FREE_USECTNE_DAY],[DEST_OVER_USECTNE_RATE],[COSTAUDITSTATUS],[COSTAUDITBY],[COSTAUDITTIME],[COSTSUBMITBY],[COSTSUBMITTIME]");
|
|
strSql.Append(",[COSTAUDITRESULT],[COMPANYID],PLANCTNDATE,[ACCAUDITSTATUS],[ACCAUDITBY],[ACCAUDITTIME],[ACCAUDITRESULT]");
|
|
strSql.Append(",[SLOAD_FREE_USECTNE_DAY],[SLOAD_OVER_USECTNE_RATE],[SDEST_FREE_USECTNE_DAY],[SDEST_OVER_USECTNE_RATE]");
|
|
strSql.Append(",[MNGAUDITRESULT],[AGENTNAME],ISPORTLOADDATE,[BSAUDITSTATUS],[BSAUDITBY],[BSAUDITTIME],[BSAUDITRESULT],ADDCTNSTATUS");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.INPUTBY) as INPUTBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.AUDITBY) as AUDITBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.ACCAUDITBY) as ACCAUDITBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.BSAUDITBY) as BSAUDITBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.COSTAUDITBY) as COSTAUDITBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.COSTSUBMITBY) as COSTSUBMITBYREF");
|
|
strSql.Append(",(select SUM(case CURRENCY when 'USD' THEN AMOUNT ELSE 0 END) from [op_ctnapplycostitems] where LINKGID=b.GID) as USDCOST");
|
|
strSql.Append(",(select SUM(case when CURRENCY<>'USD' THEN AMOUNT*EXCHANGERATE ELSE 0 END) from [op_ctnapplycostitems] where LINKGID=b.GID) as RMBCOST");
|
|
strSql.Append(",(select count(*) from op_ctnbscard where applyno=b.bsno) as CTNNUMS");
|
|
strSql.Append(",[MNGAUDITSTATUS],[MNGAUDITBY],[MNGAUDITTIME],(select ShowName from [user] where GID=b.MNGAUDITBY) as MNGAUDITBYREF");
|
|
strSql.Append(",GOODSNAME+'_'+(select top 1 chemicalgoodsname from code_msds where CHEMICALCGOODSNAME=GOODSNAME) GOODSNAMEREF");//货物名称(含英文简称)
|
|
strSql.Append(",isnull(DESTPORT_STATOIN,'') DESTPORT_STATOIN");//目的港还箱堆场
|
|
strSql.Append(",isnull(SERVICE,'') SERVICE ");//运输条款
|
|
strSql.Append(",isnull(NEEDBEHEATED,0)NEEDBEHEATED,isnull(EMPTYCTNALLOCATION,0) EMPTYCTNALLOCATION");//是否加热,空箱调拨
|
|
strSql.Append(",isnull(WEIGHT,0) WEIGHT ");//重量
|
|
strSql.Append(",dbo.trimdate(PREI_ETD)PREI_ETD ");//预计开船日期
|
|
|
|
strSql.Append(" from op_ctnapply b ");
|
|
|
|
if (!string.IsNullOrEmpty(condition))
|
|
{
|
|
strSql.Append(" where " + condition);
|
|
}
|
|
|
|
var list = SetData(strSql);
|
|
if (list.Count > 0)
|
|
return list[0];
|
|
return new OpCtnApply();
|
|
}
|
|
|
|
private static List<OpCtnApply> SetData(StringBuilder strSql)
|
|
{
|
|
|
|
var headList = new List<OpCtnApply>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
OpCtnApply data = new OpCtnApply();
|
|
|
|
#region Set DB data to Object
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);
|
|
data.BSDATE = Convert.ToDateTime(reader["BSDATE"]).ToString("yyyy-MM-dd");
|
|
var usdexrate = GetUsdExrate(data.BSDATE,"USD");
|
|
data.BSSTATUS = Convert.ToString(reader["BSSTATUS"]);
|
|
data.SALE = Convert.ToString(reader["SALE"]);
|
|
data.OP = Convert.ToString(reader["OP"]);
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
data.GOODTYPE = Convert.ToString(reader["GOODTYPE"]);
|
|
data.PORTLOAD = Convert.ToString(reader["PORTLOAD"]);
|
|
data.PORTDISCHARGE = Convert.ToString(reader["PORTDISCHARGE"]);
|
|
data.CTNALL = Convert.ToString(reader["CTNALL"]);
|
|
if (reader["CTNNUM"] != DBNull.Value)
|
|
data.CTNNUM = Convert.ToInt16(reader["CTNNUM"]);
|
|
if (reader["ISOWNERBOOKING"] != DBNull.Value)
|
|
data.ISOWNERBOOKING = Convert.ToBoolean(reader["ISOWNERBOOKING"]);
|
|
if (reader["ISPORTLOADDATE"] != DBNull.Value)
|
|
data.ISPORTLOADDATE = Convert.ToBoolean(reader["ISPORTLOADDATE"]);
|
|
data.OWNERCTN = Convert.ToString(reader["OWNERCTN"]);
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
data.FACTORYNAME = Convert.ToString(reader["FACTORYNAME"]);
|
|
data.FACTORYADDR = Convert.ToString(reader["FACTORYADDR"]);
|
|
data.REMARKS = Convert.ToString(reader["REMARKS"]);
|
|
data.INPUTBY = Convert.ToString(reader["INPUTBY"]);
|
|
data.INPUTBYREF = Convert.ToString(reader["INPUTBYREF"]);
|
|
|
|
data.CTNNUMS = Convert.ToString(reader["CTNNUMS"]);
|
|
if (reader["INPUTTIME"] != DBNull.Value)
|
|
data.INPUTTIME = Convert.ToDateTime(reader["INPUTTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
if (reader["PLANCTNDATE"] != DBNull.Value)
|
|
data.PLANCTNDATE = Convert.ToDateTime(reader["PLANCTNDATE"]).ToString("yyyy-MM-dd");
|
|
if (reader["ISGOODSNAMESAME"] != DBNull.Value)
|
|
data.ISGOODSNAMESAME = Convert.ToBoolean(reader["ISGOODSNAMESAME"]);
|
|
data.PREGOODSNAME = Convert.ToString(reader["PREGOODSNAME"]);
|
|
data.CURGOODSNAME = Convert.ToString(reader["CURGOODSNAME"]);
|
|
data.PRODUCTGOODSNAME = Convert.ToString(reader["PRODUCTGOODSNAME"]);
|
|
data.PH = Convert.ToString(reader["PH"]);
|
|
data.DENSITY = Convert.ToString(reader["DENSITY"]);
|
|
data.UNNO = Convert.ToString(reader["UNNO"]);
|
|
data.DCLASS = Convert.ToString(reader["DCLASS"]);
|
|
data.SDCLASS = Convert.ToString(reader["SDCLASS"]);
|
|
data.PACKINGGROUP = Convert.ToString(reader["PACKINGGROUP"]);
|
|
if (reader["ISPOLLUTEOCEAN"] != DBNull.Value)
|
|
data.ISPOLLUTEOCEAN = Convert.ToBoolean(reader["ISPOLLUTEOCEAN"]);
|
|
data.MELTINGPOINT = Convert.ToString(reader["MELTINGPOINT"]);
|
|
data.BOILINGPOINT = Convert.ToString(reader["BOILINGPOINT"]);
|
|
data.FLASHPOINT = Convert.ToString(reader["FLASHPOINT"]);
|
|
data.IMDG = Convert.ToString(reader["IMDG"]);
|
|
data.AUDITSTATUS = Convert.ToString(reader["AUDITSTATUS"]);
|
|
data.AUDITBY = Convert.ToString(reader["AUDITBY"]);
|
|
data.AUDITBYREF = Convert.ToString(reader["AUDITBYREF"]);
|
|
if (reader["AUDITTIME"] != DBNull.Value)
|
|
data.AUDITTIME = Convert.ToDateTime(reader["AUDITTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
data.AUDITRESULT = Convert.ToString(reader["AUDITRESULT"]);
|
|
data.SUBMITBY = Convert.ToString(reader["SUBMITBY"]);
|
|
if (reader["SUBMITTIME"] != DBNull.Value)
|
|
data.SUBMITTIME = Convert.ToDateTime(reader["SUBMITTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
data.AGENTINPUTBY = Convert.ToString(reader["AGENTINPUTBY"]);
|
|
if (reader["CYCLEDAYS"] != DBNull.Value)
|
|
data.CYCLEDAYS = Convert.ToDecimal(reader["CYCLEDAYS"]);
|
|
if (reader["CHANGERATE"] != DBNull.Value)
|
|
data.CHANGERATE = Convert.ToDecimal(reader["CHANGERATE"]);
|
|
if (reader["FULL_CTN_FREE_STORAGE_DAY"] != DBNull.Value)
|
|
data.FULL_CTN_FREE_STORAGE_DAY = Convert.ToDecimal(reader["FULL_CTN_FREE_STORAGE_DAY"]);
|
|
if (reader["FULL_CTN_OVER_STORAGE_RATE"] != DBNull.Value)
|
|
data.FULL_CTN_OVER_STORAGE_RATE = Convert.ToDecimal(reader["FULL_CTN_OVER_STORAGE_RATE"]);
|
|
if (reader["CLEAR_CTN_FREE_STORAGE_DAY"] != DBNull.Value)
|
|
data.CLEAR_CTN_FREE_STORAGE_DAY = Convert.ToDecimal(reader["CLEAR_CTN_FREE_STORAGE_DAY"]);
|
|
if (reader["CLEAR_CTN_OVER_STORAGE_RATE"] != DBNull.Value)
|
|
data.CLEAR_CTN_OVER_STORAGE_RATE = Convert.ToDecimal(reader["CLEAR_CTN_OVER_STORAGE_RATE"]);
|
|
if (reader["NO_CLEAR_CTN_FREE_STORAGE_DAY"] != DBNull.Value)
|
|
data.NO_CLEAR_CTN_FREE_STORAGE_DAY = Convert.ToDecimal(reader["NO_CLEAR_CTN_FREE_STORAGE_DAY"]);
|
|
if (reader["NO_CLEAR_CTN_OVER_STORAGE_RATE"] != DBNull.Value)
|
|
data.NO_CLEAR_CTN_OVER_STORAGE_RATE = Convert.ToDecimal(reader["NO_CLEAR_CTN_OVER_STORAGE_RATE"]);
|
|
if (reader["CTN_PRICE"] != DBNull.Value)
|
|
data.CTN_PRICE = Convert.ToDecimal(reader["CTN_PRICE"]);
|
|
if (reader["CURRENCY"] != DBNull.Value)
|
|
data.CURRENCY = Convert.ToString(reader["CURRENCY"]);
|
|
//if (reader["CTN_INCOME"] != DBNull.Value)
|
|
// data.CTN_INCOME = Convert.ToDecimal(reader["CTN_INCOME"]);
|
|
if (reader["LOAD_FREE_USECTNE_DAY"] != DBNull.Value)
|
|
data.LOAD_FREE_USECTNE_DAY = Convert.ToDecimal(reader["LOAD_FREE_USECTNE_DAY"]);
|
|
if (reader["LOAD_OVER_USECTNE_RATE"] != DBNull.Value)
|
|
data.LOAD_OVER_USECTNE_RATE = Convert.ToDecimal(reader["LOAD_OVER_USECTNE_RATE"]);
|
|
if (reader["DEST_FREE_USECTNE_DAY"] != DBNull.Value)
|
|
data.DEST_FREE_USECTNE_DAY = Convert.ToDecimal(reader["DEST_FREE_USECTNE_DAY"]);
|
|
if (reader["DEST_OVER_USECTNE_RATE"] != DBNull.Value)
|
|
data.DEST_OVER_USECTNE_RATE = Convert.ToDecimal(reader["DEST_OVER_USECTNE_RATE"]);
|
|
if (reader["SLOAD_FREE_USECTNE_DAY"] != DBNull.Value)
|
|
data.SLOAD_FREE_USECTNE_DAY = Convert.ToDecimal(reader["SLOAD_FREE_USECTNE_DAY"]);
|
|
if (reader["SLOAD_OVER_USECTNE_RATE"] != DBNull.Value)
|
|
data.SLOAD_OVER_USECTNE_RATE = Convert.ToDecimal(reader["SLOAD_OVER_USECTNE_RATE"]);
|
|
if (reader["SDEST_FREE_USECTNE_DAY"] != DBNull.Value)
|
|
data.SDEST_FREE_USECTNE_DAY = Convert.ToDecimal(reader["SDEST_FREE_USECTNE_DAY"]);
|
|
if (reader["SDEST_OVER_USECTNE_RATE"] != DBNull.Value)
|
|
data.SDEST_OVER_USECTNE_RATE = Convert.ToDecimal(reader["SDEST_OVER_USECTNE_RATE"]);
|
|
|
|
|
|
data.COSTAUDITSTATUS = Convert.ToString(reader["COSTAUDITSTATUS"]);
|
|
data.COSTAUDITBY = Convert.ToString(reader["COSTAUDITBY"]);
|
|
data.COSTAUDITBYREF = Convert.ToString(reader["COSTAUDITBYREF"]);
|
|
if (reader["COSTAUDITTIME"] != DBNull.Value)
|
|
data.COSTAUDITTIME = Convert.ToDateTime(reader["COSTAUDITTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
data.COSTSUBMITBY = Convert.ToString(reader["COSTSUBMITBY"]);
|
|
data.COSTSUBMITBYREF = Convert.ToString(reader["COSTSUBMITBYREF"]);
|
|
if (reader["COSTSUBMITTIME"] != DBNull.Value)
|
|
data.COSTSUBMITTIME = Convert.ToDateTime(reader["COSTSUBMITTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
data.COSTAUDITRESULT = Convert.ToString(reader["COSTAUDITRESULT"]);
|
|
|
|
data.ACCAUDITSTATUS = Convert.ToString(reader["ACCAUDITSTATUS"]);
|
|
data.ACCAUDITBY = Convert.ToString(reader["ACCAUDITBY"]);
|
|
data.ACCAUDITBYREF = Convert.ToString(reader["ACCAUDITBYREF"]);
|
|
if (reader["ACCAUDITTIME"] != DBNull.Value)
|
|
data.ACCAUDITTIME = Convert.ToDateTime(reader["ACCAUDITTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
data.ACCAUDITRESULT = Convert.ToString(reader["ACCAUDITRESULT"]);
|
|
|
|
if (reader["USDCOST"] != DBNull.Value)
|
|
data.COSTUSD = Convert.ToDecimal(reader["USDCOST"]);
|
|
if (reader["RMBCOST"] != DBNull.Value)
|
|
data.COSTRMB= Convert.ToDecimal(reader["RMBCOST"]);
|
|
|
|
data.COSTTTL = Math.Round(data.COSTUSD + data.COSTRMB / usdexrate,2);
|
|
if ((data.CYCLEDAYS != 0) && (data.CTNNUM != 0))
|
|
{
|
|
if (data.CURRENCY == "USD")
|
|
data.CTN_INCOME = Math.Round((data.CTN_PRICE - data.COSTTTL / data.CTNNUM) / data.CYCLEDAYS, 2);
|
|
else {
|
|
var otexrate = GetUsdExrate(data.BSDATE, data.CURRENCY);
|
|
var ttldr = data.CTN_PRICE * otexrate;
|
|
data.CTN_INCOME = Math.Round(((ttldr / usdexrate) - data.COSTTTL / data.CTNNUM) / data.CYCLEDAYS, 2);
|
|
}
|
|
}
|
|
|
|
data.MNGAUDITSTATUS = Convert.ToString(reader["MNGAUDITSTATUS"]);
|
|
data.MNGAUDITBY = Convert.ToString(reader["MNGAUDITBY"]);
|
|
data.MNGAUDITBYREF = Convert.ToString(reader["MNGAUDITBYREF"]);
|
|
if (reader["MNGAUDITTIME"] != DBNull.Value)
|
|
data.MNGAUDITTIME = Convert.ToDateTime(reader["MNGAUDITTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
data.AGENTNAME = Convert.ToString(reader["AGENTNAME"]);
|
|
data.MNGAUDITRESULT = Convert.ToString(reader["MNGAUDITRESULT"]);
|
|
|
|
data.COMPANYID = Convert.ToString(reader["COMPANYID"]);
|
|
data.ADDCTNSTATUS = Convert.ToString(reader["ADDCTNSTATUS"]);
|
|
|
|
data.BSAUDITSTATUS = Convert.ToString(reader["BSAUDITSTATUS"]);
|
|
data.BSAUDITBY = Convert.ToString(reader["BSAUDITBY"]);
|
|
data.BSAUDITBYREF = Convert.ToString(reader["BSAUDITBYREF"]);
|
|
if (reader["BSAUDITTIME"] != DBNull.Value)
|
|
data.BSAUDITTIME = Convert.ToDateTime(reader["BSAUDITTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
data.BSAUDITRESULT = Convert.ToString(reader["BSAUDITRESULT"]);
|
|
|
|
data.GOODSNAMEREF = Convert.ToString(reader["GOODSNAMEREF"]);
|
|
|
|
data.DESTPORT_STATOIN = Convert.ToString(reader["DESTPORT_STATOIN"]);
|
|
data.SERVICE = Convert.ToString(reader["SERVICE"]);
|
|
data.NEEDBEHEATED = Convert.ToBoolean(reader["NEEDBEHEATED"]);
|
|
data.WEIGHT = Convert.ToDecimal(reader["WEIGHT"]);
|
|
data.PREI_ETD = Convert.ToString(reader["PREI_ETD"]);
|
|
data.EMPTYCTNALLOCATION = Convert.ToBoolean(reader["EMPTYCTNALLOCATION"]);
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
public static DBResult DeleteOpCtnApply(List<OpCtnApply> headData)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
if (headData != null)
|
|
{
|
|
foreach (var enumValue in headData)
|
|
{
|
|
|
|
var cmdDelete = db.GetSqlStringCommand("delete from op_ctnapply where GID='" + enumValue.GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
}
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "删除成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
#region 申请修改
|
|
static public OpCtnApplyModify GetModifyData(string condition, string userid)
|
|
{
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT [GID],[BSNO],[BSDATE],MDSTATUS,[SALE],[OP],[GOODSNAME],[GOODTYPE],[PORTLOAD],[PORTDISCHARGE]");
|
|
strSql.Append(",[CTNALL],[CTNNUM],[ISOWNERBOOKING],[CUSTOMERNAME],[FACTORYNAME],[FACTORYADDR],[REMARKS]");
|
|
strSql.Append(",[INPUTBY],[INPUTTIME],[ISGOODSNAMESAME],[PREGOODSNAME],[CURGOODSNAME],[PRODUCTGOODSNAME]");
|
|
strSql.Append(",[PH],[DENSITY],[UNNO],[DCLASS],[SDCLASS],[PACKINGGROUP],[ISPOLLUTEOCEAN],[MELTINGPOINT]");
|
|
strSql.Append(",[BOILINGPOINT],[FLASHPOINT],[IMDG],[AUDITSTATUS],[AUDITBY],[AUDITTIME],[AUDITRESULT]");
|
|
strSql.Append(",[AGENTINPUTBY],[CYCLEDAYS],[CHANGERATE],[FULL_CTN_FREE_STORAGE_DAY],[FULL_CTN_OVER_STORAGE_RATE]");
|
|
strSql.Append(",[CLEAR_CTN_FREE_STORAGE_DAY],[CLEAR_CTN_OVER_STORAGE_RATE],[NO_CLEAR_CTN_FREE_STORAGE_DAY]");
|
|
strSql.Append(",[NO_CLEAR_CTN_OVER_STORAGE_RATE],[CTN_PRICE],CURRENCY,[CTN_INCOME],[LOAD_FREE_USECTNE_DAY],[LOAD_OVER_USECTNE_RATE]");
|
|
strSql.Append(",[DEST_FREE_USECTNE_DAY],[DEST_OVER_USECTNE_RATE]");
|
|
strSql.Append(",[COMPANYID],PLANCTNDATE,APPLYID,MODIFYTYPE,REASON");
|
|
strSql.Append(",[SLOAD_FREE_USECTNE_DAY],[SLOAD_OVER_USECTNE_RATE],[SDEST_FREE_USECTNE_DAY],[SDEST_OVER_USECTNE_RATE]");
|
|
strSql.Append(",[AGENTNAME],ISPORTLOADDATE");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.INPUTBY) as INPUTBYREF");
|
|
strSql.Append(",(select ShowName from [user] where GID=b.AUDITBY) as AUDITBYREF");
|
|
strSql.Append(",(select SUM(case CURRENCY when 'USD' THEN AMOUNT ELSE 0 END) from [op_ctnapplycostitems] where LINKGID=b.APPLYID) as USDCOST");
|
|
strSql.Append(",(select SUM(case when CURRENCY<>'USD' THEN AMOUNT*EXCHANGERATE ELSE 0 END) from [op_ctnapplycostitems] where LINKGID=b.APPLYID) as RMBCOST");
|
|
strSql.Append(",isnull(DESTPORT_STATOIN,'') DESTPORT_STATOIN");//目的港还箱堆场
|
|
strSql.Append(",isnull(SERVICE,'') SERVICE ");//运输条款
|
|
strSql.Append(",isnull(NEEDBEHEATED,0)NEEDBEHEATED,isnull(EMPTYCTNALLOCATION,0) EMPTYCTNALLOCATION");//是否加热,空箱调拨
|
|
strSql.Append(",isnull(WEIGHT,0) WEIGHT ");//重量
|
|
strSql.Append(",dbo.trimdate(PREI_ETD)PREI_ETD ");//预计开船日期
|
|
strSql.Append(" from op_ctnapply_modify b ");
|
|
|
|
if (!string.IsNullOrEmpty(condition))
|
|
{
|
|
strSql.Append(" where " + condition);
|
|
}
|
|
|
|
var list = SetModifyData(strSql);
|
|
if (list.Count > 0)
|
|
return list[0];
|
|
return new OpCtnApplyModify();
|
|
}
|
|
|
|
private static List<OpCtnApplyModify> SetModifyData(StringBuilder strSql)
|
|
{
|
|
|
|
var headList = new List<OpCtnApplyModify>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
OpCtnApplyModify data = new OpCtnApplyModify();
|
|
|
|
#region Set DB data to Object
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
data.APPLYID = Convert.ToString(reader["APPLYID"]);
|
|
data.MODIFYTYPE= Convert.ToString(reader["MODIFYTYPE"]);
|
|
data.REASON = Convert.ToString(reader["REASON"]);
|
|
data.BSNO = Convert.ToString(reader["BSNO"]);
|
|
data.BSDATE = Convert.ToDateTime(reader["BSDATE"]).ToString("yyyy-MM-dd");
|
|
data.MDSTATUS = Convert.ToString(reader["MDSTATUS"]);
|
|
data.SALE = Convert.ToString(reader["SALE"]);
|
|
data.OP = Convert.ToString(reader["OP"]);
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
data.GOODTYPE = Convert.ToString(reader["GOODTYPE"]);
|
|
data.PORTLOAD = Convert.ToString(reader["PORTLOAD"]);
|
|
data.PORTDISCHARGE = Convert.ToString(reader["PORTDISCHARGE"]);
|
|
data.CTNALL = Convert.ToString(reader["CTNALL"]);
|
|
if (reader["CTNNUM"] != DBNull.Value)
|
|
data.CTNNUM = Convert.ToInt16(reader["CTNNUM"]);
|
|
if (reader["ISOWNERBOOKING"] != DBNull.Value)
|
|
data.ISOWNERBOOKING = Convert.ToBoolean(reader["ISOWNERBOOKING"]);
|
|
if (reader["ISPORTLOADDATE"] != DBNull.Value)
|
|
data.ISPORTLOADDATE = Convert.ToBoolean(reader["ISPORTLOADDATE"]);
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
data.FACTORYNAME = Convert.ToString(reader["FACTORYNAME"]);
|
|
data.FACTORYADDR = Convert.ToString(reader["FACTORYADDR"]);
|
|
data.REMARKS = Convert.ToString(reader["REMARKS"]);
|
|
data.INPUTBY = Convert.ToString(reader["INPUTBY"]);
|
|
data.INPUTBYREF = Convert.ToString(reader["INPUTBYREF"]);
|
|
data.AGENTNAME = Convert.ToString(reader["AGENTNAME"]);
|
|
if (reader["INPUTTIME"] != DBNull.Value)
|
|
data.INPUTTIME = Convert.ToDateTime(reader["INPUTTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
if (reader["PLANCTNDATE"] != DBNull.Value)
|
|
data.PLANCTNDATE = Convert.ToDateTime(reader["PLANCTNDATE"]).ToString("yyyy-MM-dd");
|
|
if (reader["ISGOODSNAMESAME"] != DBNull.Value)
|
|
data.ISGOODSNAMESAME = Convert.ToBoolean(reader["ISGOODSNAMESAME"]);
|
|
data.PREGOODSNAME = Convert.ToString(reader["PREGOODSNAME"]);
|
|
data.CURGOODSNAME = Convert.ToString(reader["CURGOODSNAME"]);
|
|
data.PRODUCTGOODSNAME = Convert.ToString(reader["PRODUCTGOODSNAME"]);
|
|
data.PH = Convert.ToString(reader["PH"]);
|
|
data.DENSITY = Convert.ToString(reader["DENSITY"]);
|
|
data.UNNO = Convert.ToString(reader["UNNO"]);
|
|
data.DCLASS = Convert.ToString(reader["DCLASS"]);
|
|
data.SDCLASS = Convert.ToString(reader["SDCLASS"]);
|
|
data.PACKINGGROUP = Convert.ToString(reader["PACKINGGROUP"]);
|
|
if (reader["ISPOLLUTEOCEAN"] != DBNull.Value)
|
|
data.ISPOLLUTEOCEAN = Convert.ToBoolean(reader["ISPOLLUTEOCEAN"]);
|
|
data.MELTINGPOINT = Convert.ToString(reader["MELTINGPOINT"]);
|
|
data.BOILINGPOINT = Convert.ToString(reader["BOILINGPOINT"]);
|
|
data.FLASHPOINT = Convert.ToString(reader["FLASHPOINT"]);
|
|
data.IMDG = Convert.ToString(reader["IMDG"]);
|
|
data.AUDITSTATUS = Convert.ToString(reader["AUDITSTATUS"]);
|
|
data.AUDITBY = Convert.ToString(reader["AUDITBY"]);
|
|
data.AUDITBYREF = Convert.ToString(reader["AUDITBYREF"]);
|
|
if (reader["AUDITTIME"] != DBNull.Value)
|
|
data.AUDITTIME = Convert.ToDateTime(reader["AUDITTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
data.AUDITRESULT = Convert.ToString(reader["AUDITRESULT"]);
|
|
data.AGENTINPUTBY = Convert.ToString(reader["AGENTINPUTBY"]);
|
|
if (reader["CYCLEDAYS"] != DBNull.Value)
|
|
data.CYCLEDAYS = Convert.ToDecimal(reader["CYCLEDAYS"]);
|
|
if (reader["CHANGERATE"] != DBNull.Value)
|
|
data.CHANGERATE = Convert.ToDecimal(reader["CHANGERATE"]);
|
|
if (reader["FULL_CTN_FREE_STORAGE_DAY"] != DBNull.Value)
|
|
data.FULL_CTN_FREE_STORAGE_DAY = Convert.ToDecimal(reader["FULL_CTN_FREE_STORAGE_DAY"]);
|
|
if (reader["FULL_CTN_OVER_STORAGE_RATE"] != DBNull.Value)
|
|
data.FULL_CTN_OVER_STORAGE_RATE = Convert.ToDecimal(reader["FULL_CTN_OVER_STORAGE_RATE"]);
|
|
if (reader["CLEAR_CTN_FREE_STORAGE_DAY"] != DBNull.Value)
|
|
data.CLEAR_CTN_FREE_STORAGE_DAY = Convert.ToDecimal(reader["CLEAR_CTN_FREE_STORAGE_DAY"]);
|
|
if (reader["CLEAR_CTN_OVER_STORAGE_RATE"] != DBNull.Value)
|
|
data.CLEAR_CTN_OVER_STORAGE_RATE = Convert.ToDecimal(reader["CLEAR_CTN_OVER_STORAGE_RATE"]);
|
|
if (reader["NO_CLEAR_CTN_FREE_STORAGE_DAY"] != DBNull.Value)
|
|
data.NO_CLEAR_CTN_FREE_STORAGE_DAY = Convert.ToDecimal(reader["NO_CLEAR_CTN_FREE_STORAGE_DAY"]);
|
|
if (reader["NO_CLEAR_CTN_OVER_STORAGE_RATE"] != DBNull.Value)
|
|
data.NO_CLEAR_CTN_OVER_STORAGE_RATE = Convert.ToDecimal(reader["NO_CLEAR_CTN_OVER_STORAGE_RATE"]);
|
|
if (reader["CTN_PRICE"] != DBNull.Value)
|
|
data.CTN_PRICE = Convert.ToDecimal(reader["CTN_PRICE"]);
|
|
if (reader["CURRENCY"] != DBNull.Value)
|
|
data.CURRENCY = Convert.ToString(reader["CURRENCY"]);
|
|
if (reader["CTN_INCOME"] != DBNull.Value)
|
|
data.CTN_INCOME = Convert.ToDecimal(reader["CTN_INCOME"]);
|
|
if (reader["LOAD_FREE_USECTNE_DAY"] != DBNull.Value)
|
|
data.LOAD_FREE_USECTNE_DAY = Convert.ToDecimal(reader["LOAD_FREE_USECTNE_DAY"]);
|
|
if (reader["LOAD_OVER_USECTNE_RATE"] != DBNull.Value)
|
|
data.LOAD_OVER_USECTNE_RATE = Convert.ToDecimal(reader["LOAD_OVER_USECTNE_RATE"]);
|
|
if (reader["DEST_FREE_USECTNE_DAY"] != DBNull.Value)
|
|
data.DEST_FREE_USECTNE_DAY = Convert.ToDecimal(reader["DEST_FREE_USECTNE_DAY"]);
|
|
if (reader["DEST_OVER_USECTNE_RATE"] != DBNull.Value)
|
|
data.DEST_OVER_USECTNE_RATE = Convert.ToDecimal(reader["DEST_OVER_USECTNE_RATE"]);
|
|
if (reader["SLOAD_FREE_USECTNE_DAY"] != DBNull.Value)
|
|
data.SLOAD_FREE_USECTNE_DAY = Convert.ToDecimal(reader["SLOAD_FREE_USECTNE_DAY"]);
|
|
if (reader["SLOAD_OVER_USECTNE_RATE"] != DBNull.Value)
|
|
data.SLOAD_OVER_USECTNE_RATE = Convert.ToDecimal(reader["SLOAD_OVER_USECTNE_RATE"]);
|
|
if (reader["SDEST_FREE_USECTNE_DAY"] != DBNull.Value)
|
|
data.SDEST_FREE_USECTNE_DAY = Convert.ToDecimal(reader["SDEST_FREE_USECTNE_DAY"]);
|
|
if (reader["SDEST_OVER_USECTNE_RATE"] != DBNull.Value)
|
|
data.SDEST_OVER_USECTNE_RATE = Convert.ToDecimal(reader["SDEST_OVER_USECTNE_RATE"]);
|
|
if (reader["USDCOST"] != DBNull.Value)
|
|
data.COSTUSD = Convert.ToDecimal(reader["USDCOST"]);
|
|
if (reader["RMBCOST"] != DBNull.Value)
|
|
data.COSTRMB = Convert.ToDecimal(reader["RMBCOST"]);
|
|
//var usdexrate = GetUsdExrate(data.BSDATE, "USD");
|
|
//data.COSTTTL = Math.Round(data.COSTUSD + data.COSTRMB / usdexrate, 2);
|
|
//if ((data.CYCLEDAYS != 0) && (data.CTNNUM != 0))
|
|
// data.CTN_INCOME = Math.Round((data.CTN_PRICE - data.COSTTTL / data.CTNNUM) / data.CYCLEDAYS, 2);
|
|
var usdexrate = GetUsdExrate(data.BSDATE, "USD");
|
|
data.COSTTTL = Math.Round(data.COSTUSD + data.COSTRMB / usdexrate, 2);
|
|
if ((data.CYCLEDAYS != 0) && (data.CTNNUM != 0))
|
|
{
|
|
if (data.CURRENCY == "USD")
|
|
data.CTN_INCOME = Math.Round((data.CTN_PRICE - data.COSTTTL / data.CTNNUM) / data.CYCLEDAYS, 2);
|
|
else
|
|
{
|
|
var otexrate = GetUsdExrate(data.BSDATE, data.CURRENCY);
|
|
var ttldr = data.CTN_PRICE * otexrate;
|
|
data.CTN_INCOME = Math.Round(((ttldr / usdexrate) - data.COSTTTL / data.CTNNUM) / data.CYCLEDAYS, 2);
|
|
}
|
|
}
|
|
|
|
data.DESTPORT_STATOIN = Convert.ToString(reader["DESTPORT_STATOIN"]);
|
|
data.SERVICE = Convert.ToString(reader["SERVICE"]);
|
|
data.NEEDBEHEATED = Convert.ToBoolean(reader["NEEDBEHEATED"]);
|
|
data.WEIGHT = Convert.ToDecimal(reader["WEIGHT"]);
|
|
data.PREI_ETD = Convert.ToString(reader["PREI_ETD"]);
|
|
data.EMPTYCTNALLOCATION = Convert.ToBoolean(reader["EMPTYCTNALLOCATION"]);
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
public static DBResult AuditGoods(OpCtnApply headdata,string userid)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update op_ctnapply set ISGOODSNAMESAME=@ISGOODSNAMESAME,PRODUCTGOODSNAME=@PRODUCTGOODSNAME,AUDITSTATUS=@AUDITSTATUS,AUDITBY=@AUDITBY,AUDITTIME=@AUDITTIME,
|
|
AUDITRESULT=@AUDITRESULT,BSSTATUS=@BSSTATUS where GID=@GID ");
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, headdata.GID);
|
|
db.AddInParameter(cmdUpdate, "@ISGOODSNAMESAME", DbType.Boolean, headdata.ISGOODSNAMESAME);
|
|
db.AddInParameter(cmdUpdate, "@PRODUCTGOODSNAME", DbType.String, headdata.PRODUCTGOODSNAME);
|
|
db.AddInParameter(cmdUpdate, "@AUDITSTATUS", DbType.String, headdata.AUDITSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@BSSTATUS", DbType.String, headdata.BSSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@AUDITBY", DbType.String, userid);
|
|
db.AddInParameter(cmdUpdate, "@AUDITTIME", DbType.String,DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.AddInParameter(cmdUpdate, "@AUDITRESULT", DbType.String, headdata.AUDITRESULT);
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
|
|
public static DBResult SaveCost(OpCtnApply headdata)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update op_ctnapply set AGENTINPUTBY=@AGENTINPUTBY,CYCLEDAYS=@CYCLEDAYS,CHANGERATE=@CHANGERATE,
|
|
FULL_CTN_FREE_STORAGE_DAY=@FULL_CTN_FREE_STORAGE_DAY,FULL_CTN_OVER_STORAGE_RATE=@FULL_CTN_OVER_STORAGE_RATE,
|
|
CLEAR_CTN_FREE_STORAGE_DAY=@CLEAR_CTN_FREE_STORAGE_DAY,CLEAR_CTN_OVER_STORAGE_RATE=@CLEAR_CTN_OVER_STORAGE_RATE,
|
|
NO_CLEAR_CTN_FREE_STORAGE_DAY=@NO_CLEAR_CTN_FREE_STORAGE_DAY,NO_CLEAR_CTN_OVER_STORAGE_RATE=@NO_CLEAR_CTN_OVER_STORAGE_RATE,
|
|
CTN_PRICE=@CTN_PRICE,CURRENCY=@CURRENCY,AGENTNAME=@AGENTNAME,
|
|
LOAD_FREE_USECTNE_DAY=@LOAD_FREE_USECTNE_DAY,
|
|
LOAD_OVER_USECTNE_RATE=@LOAD_OVER_USECTNE_RATE,
|
|
DEST_FREE_USECTNE_DAY=@DEST_FREE_USECTNE_DAY,
|
|
DEST_OVER_USECTNE_RATE=@DEST_OVER_USECTNE_RATE,
|
|
COSTAUDITSTATUS=@COSTAUDITSTATUS,BSSTATUS=@BSSTATUS,
|
|
DESTPORT_STATOIN=@DESTPORT_STATOIN
|
|
where GID=@GID ");
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, headdata.GID);
|
|
db.AddInParameter(cmdUpdate, "@AGENTINPUTBY", DbType.String, headdata.AGENTINPUTBY);
|
|
db.AddInParameter(cmdUpdate, "@CYCLEDAYS", DbType.Decimal, headdata.CYCLEDAYS);
|
|
db.AddInParameter(cmdUpdate, "@CHANGERATE", DbType.Decimal, headdata.CHANGERATE);
|
|
db.AddInParameter(cmdUpdate, "@FULL_CTN_FREE_STORAGE_DAY", DbType.Decimal, headdata.FULL_CTN_FREE_STORAGE_DAY);
|
|
db.AddInParameter(cmdUpdate, "@FULL_CTN_OVER_STORAGE_RATE", DbType.Decimal, headdata.FULL_CTN_OVER_STORAGE_RATE);
|
|
db.AddInParameter(cmdUpdate, "@CLEAR_CTN_FREE_STORAGE_DAY", DbType.Decimal, headdata.CLEAR_CTN_FREE_STORAGE_DAY);
|
|
db.AddInParameter(cmdUpdate, "@CLEAR_CTN_OVER_STORAGE_RATE", DbType.Decimal, headdata.CLEAR_CTN_OVER_STORAGE_RATE);
|
|
db.AddInParameter(cmdUpdate, "@NO_CLEAR_CTN_FREE_STORAGE_DAY", DbType.Decimal, headdata.NO_CLEAR_CTN_FREE_STORAGE_DAY);
|
|
db.AddInParameter(cmdUpdate, "@NO_CLEAR_CTN_OVER_STORAGE_RATE", DbType.Decimal, headdata.NO_CLEAR_CTN_OVER_STORAGE_RATE);
|
|
db.AddInParameter(cmdUpdate, "@CTN_PRICE", DbType.Decimal, headdata.CTN_PRICE);
|
|
db.AddInParameter(cmdUpdate, "@CURRENCY", DbType.String, headdata.CURRENCY);
|
|
db.AddInParameter(cmdUpdate, "@COSTAUDITSTATUS", DbType.String, headdata.COSTAUDITSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@BSSTATUS", DbType.String, headdata.BSSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@AGENTNAME", DbType.String, headdata.AGENTNAME);
|
|
db.AddInParameter(cmdUpdate, "@LOAD_FREE_USECTNE_DAY", DbType.String, headdata.LOAD_FREE_USECTNE_DAY);
|
|
|
|
db.AddInParameter(cmdUpdate, "@LOAD_OVER_USECTNE_RATE", DbType.String, headdata.LOAD_OVER_USECTNE_RATE);
|
|
db.AddInParameter(cmdUpdate, "@DEST_FREE_USECTNE_DAY", DbType.String, headdata.DEST_FREE_USECTNE_DAY);
|
|
db.AddInParameter(cmdUpdate, "@DEST_OVER_USECTNE_RATE", DbType.String, headdata.DEST_OVER_USECTNE_RATE);
|
|
|
|
db.AddInParameter(cmdUpdate, "@DESTPORT_STATOIN", DbType.String, headdata.DESTPORT_STATOIN);
|
|
|
|
|
|
|
|
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
|
|
public static DBResult SubmitCostAuditBack(string GID)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
var cmdDelete = db.GetSqlStringCommand("update op_ctnapply set COSTAUDITSTATUS='未提交',BSSTATUS='成本审核撤销提交',COSTSUBMITBY='',COSTSUBMITTIME='' where GID='" + GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "撤销审核出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "撤销审核成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
public static DBResult AccAudit(OpCtnApply headdata)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update op_ctnapply set ACCAUDITSTATUS=@ACCAUDITSTATUS,ACCAUDITBY=@ACCAUDITBY,ACCAUDITTIME=@ACCAUDITTIME,ACCAUDITRESULT=@ACCAUDITRESULT,
|
|
BSSTATUS=@BSSTATUS where GID=@GID ");
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, headdata.GID);
|
|
db.AddInParameter(cmdUpdate, "@ACCAUDITSTATUS", DbType.String, headdata.ACCAUDITSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@BSSTATUS", DbType.String, headdata.BSSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@ACCAUDITBY", DbType.String, headdata.ACCAUDITBY);
|
|
db.AddInParameter(cmdUpdate, "@ACCAUDITTIME", DbType.String, headdata.ACCAUDITTIME);
|
|
db.AddInParameter(cmdUpdate, "@ACCAUDITRESULT", DbType.String, headdata.ACCAUDITRESULT);
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
public static DBResult BsAudit(OpCtnApply headdata)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update op_ctnapply set BSAUDITSTATUS=@BSAUDITSTATUS,BSAUDITBY=@BSAUDITBY,BSAUDITTIME=@BSAUDITTIME,BSAUDITRESULT=@BSAUDITRESULT,
|
|
BSSTATUS=@BSSTATUS where GID=@GID ");
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, headdata.GID);
|
|
db.AddInParameter(cmdUpdate, "@BSAUDITSTATUS", DbType.String, headdata.BSAUDITSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@BSSTATUS", DbType.String, headdata.BSSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@BSAUDITBY", DbType.String, headdata.BSAUDITBY);
|
|
db.AddInParameter(cmdUpdate, "@BSAUDITTIME", DbType.String, headdata.BSAUDITTIME);
|
|
db.AddInParameter(cmdUpdate, "@BSAUDITRESULT", DbType.String, headdata.BSAUDITRESULT);
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
|
|
public static DBResult AuditCost(OpCtnApply headdata, string userid)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update op_ctnapply set CTN_PRICE=@CTN_PRICE,CURRENCY=@CURRENCY,LOAD_FREE_USECTNE_DAY=@LOAD_FREE_USECTNE_DAY,
|
|
LOAD_OVER_USECTNE_RATE=@LOAD_OVER_USECTNE_RATE,DEST_FREE_USECTNE_DAY=@DEST_FREE_USECTNE_DAY,DEST_OVER_USECTNE_RATE=@DEST_OVER_USECTNE_RATE,
|
|
COSTAUDITSTATUS=@COSTAUDITSTATUS,COSTAUDITBY=@COSTAUDITBY,COSTAUDITTIME=@COSTAUDITTIME,
|
|
COSTAUDITRESULT=@COSTAUDITRESULT,BSSTATUS=@BSSTATUS,MNGAUDITSTATUS=@MNGAUDITSTATUS
|
|
,AGENTNAME=@AGENTNAME where GID=@GID ");
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, headdata.GID);
|
|
db.AddInParameter(cmdUpdate, "@CTN_PRICE", DbType.Decimal, headdata.CTN_PRICE);
|
|
db.AddInParameter(cmdUpdate, "@CURRENCY", DbType.String, headdata.CURRENCY);
|
|
db.AddInParameter(cmdUpdate, "@LOAD_FREE_USECTNE_DAY", DbType.Decimal, headdata.LOAD_FREE_USECTNE_DAY);
|
|
db.AddInParameter(cmdUpdate, "@LOAD_OVER_USECTNE_RATE", DbType.Decimal, headdata.LOAD_OVER_USECTNE_RATE);
|
|
db.AddInParameter(cmdUpdate, "@DEST_FREE_USECTNE_DAY", DbType.Decimal, headdata.DEST_FREE_USECTNE_DAY);
|
|
db.AddInParameter(cmdUpdate, "@DEST_OVER_USECTNE_RATE", DbType.Decimal, headdata.DEST_OVER_USECTNE_RATE);
|
|
db.AddInParameter(cmdUpdate, "@COSTAUDITSTATUS", DbType.String, headdata.COSTAUDITSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@BSSTATUS", DbType.String, headdata.BSSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@COSTAUDITBY", DbType.String, userid);
|
|
db.AddInParameter(cmdUpdate, "@COSTAUDITTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.AddInParameter(cmdUpdate, "@COSTAUDITRESULT", DbType.String, headdata.COSTAUDITRESULT);
|
|
db.AddInParameter(cmdUpdate, "@MNGAUDITSTATUS", DbType.String, headdata.MNGAUDITSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@AGENTNAME", DbType.String, headdata.AGENTNAME);
|
|
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
|
|
public static DBResult MNGAudit(OpCtnApply headdata, string userid)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
if (headdata.BSSTATUS == "总经理审核通过")
|
|
{
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update op_ctnapply set MNGAUDITSTATUS=@MNGAUDITSTATUS,MNGAUDITBY=@MNGAUDITBY,MNGAUDITTIME=@MNGAUDITTIME,BSSTATUS=@BSSTATUS where GID=@GID ");
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, headdata.GID);
|
|
db.AddInParameter(cmdUpdate, "@MNGAUDITSTATUS", DbType.String, headdata.MNGAUDITSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@BSSTATUS", DbType.String, headdata.BSSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@MNGAUDITBY", DbType.String, userid);
|
|
db.AddInParameter(cmdUpdate, "@MNGAUDITTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
}
|
|
else
|
|
{
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update op_ctnapply set MNGAUDITSTATUS=@MNGAUDITSTATUS,MNGAUDITBY=@MNGAUDITBY,MNGAUDITTIME=@MNGAUDITTIME,BSSTATUS=@BSSTATUS,
|
|
COSTAUDITSTATUS=@COSTAUDITSTATUS, ACCAUDITSTATUS=@ACCAUDITSTATUS
|
|
,MNGAUDITRESULT=@MNGAUDITRESULT where GID=@GID ");
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, headdata.GID);
|
|
db.AddInParameter(cmdUpdate, "@MNGAUDITSTATUS", DbType.String, headdata.MNGAUDITSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@BSSTATUS", DbType.String, headdata.BSSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@MNGAUDITBY", DbType.String, userid);
|
|
db.AddInParameter(cmdUpdate, "@MNGAUDITTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
db.AddInParameter(cmdUpdate, "@COSTAUDITSTATUS", DbType.String, headdata.MNGAUDITSTATUS);
|
|
db.AddInParameter(cmdUpdate, "@ACCAUDITSTATUS", DbType.String, headdata.ACCAUDITSTATUS);
|
|
//db.AddInParameter(cmdUpdate, "@COSTAUDITBY", DbType.String, userid);
|
|
//db.AddInParameter(cmdUpdate, "@COSTAUDITTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.AddInParameter(cmdUpdate, "@MNGAUDITRESULT", DbType.String, headdata.MNGAUDITRESULT);
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
}
|
|
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
|
|
public static DBResult SubmitAddCtn(string GID,string bsstatus)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
if (bsstatus == "配箱完成" || bsstatus == "总经理审核通过")
|
|
{
|
|
var cmdDelete = db.GetSqlStringCommand("update op_ctnapply set BSSTATUS='" + bsstatus + "',ADDCTNSTATUS='" + bsstatus + "' where GID='" + GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
}
|
|
else
|
|
{
|
|
var cmdDelete = db.GetSqlStringCommand("update op_ctnapply set BSSTATUS='" + bsstatus + "' where GID='" + GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
}
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "撤销审核出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "撤销审核成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region OpCtnApplyCostItems
|
|
|
|
static public List<OpCtnApplyCostitems> GetCtnApplyCostItemsList(string strCondition, string sort = null)
|
|
{
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT [GID],[LINKGID],PRICETYPE,[FEENAME],[UNITPRICE] ,[UNIT],[CURRENCY],QUANTITY");
|
|
strSql.Append(",[AMOUNT],[AUDITSTATUS],[AUDITBY],[AUDITTIME],[AUDITRESULT],[REMARKS]");
|
|
strSql.Append(",[INPUTBY],[INPUTTIME],[COMPANYID],[CUSTOMERNAME],EXCHANGERATE,GOODSNAME ");
|
|
strSql.Append(",(select ShowName from [user] where GID=op_ctnapplycostitems.INPUTBY) as INPUTBYREF");
|
|
strSql.Append(" from op_ctnapplycostitems ");
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by ITEMSNO");
|
|
|
|
}
|
|
return SetCtnApplyCostItemsData(strSql);
|
|
}
|
|
|
|
|
|
|
|
private static List<OpCtnApplyCostitems> SetCtnApplyCostItemsData(StringBuilder strSql)
|
|
{
|
|
var headList = new List<OpCtnApplyCostitems>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
OpCtnApplyCostitems data = new OpCtnApplyCostitems();
|
|
#region Set DB data to Object
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
data.LINKGID = Convert.ToString(reader["LINKGID"]);
|
|
//if (reader["ITEMSNO"] != DBNull.Value)
|
|
// data.ITEMSNO = Convert.ToInt16(reader["ITEMSNO"]);
|
|
data.FEENAME = Convert.ToString(reader["FEENAME"]);
|
|
data.UNIT = Convert.ToString(reader["UNIT"]);
|
|
if (reader["UNITPRICE"] != DBNull.Value)
|
|
data.UNITPRICE = Convert.ToDecimal(reader["UNITPRICE"]);
|
|
data.CURRENCY = Convert.ToString(reader["CURRENCY"]);
|
|
if (reader["QUANTITY"] != DBNull.Value)
|
|
data.QUANTITY = Convert.ToDecimal(reader["QUANTITY"]);
|
|
if (reader["AMOUNT"] != DBNull.Value)
|
|
data.AMOUNT = Convert.ToDecimal(reader["AMOUNT"]);
|
|
if (reader["EXCHANGERATE"] != DBNull.Value)
|
|
data.EXCHANGERATE = Convert.ToDecimal(reader["EXCHANGERATE"]);
|
|
data.REMARKS = Convert.ToString(reader["REMARKS"]);
|
|
data.INPUTBY = Convert.ToString(reader["INPUTBY"]);
|
|
data.INPUTBYREF = Convert.ToString(reader["INPUTBYREF"]);
|
|
if (reader["INPUTTIME"] != DBNull.Value)
|
|
data.INPUTTIME = Convert.ToDateTime(reader["INPUTTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
if (reader["AUDITTIME"] != DBNull.Value)
|
|
data.AUDITTIME = Convert.ToDateTime(reader["AUDITTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
|
|
data.AUDITSTATUS = Convert.ToString(reader["AUDITSTATUS"]);
|
|
data.AUDITBY = Convert.ToString(reader["AUDITBY"]);
|
|
data.AUDITRESULT = Convert.ToString(reader["AUDITRESULT"]);
|
|
data.PRICETYPE = Convert.ToString(reader["PRICETYPE"]);
|
|
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
|
|
data.GOODSNAME = Convert.ToString(reader["GOODSNAME"]);
|
|
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
public static DBResult SaveCtnApplyCostItems(List<OpCtnApplyCostitems> bodyList, string PID, 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(
|
|
@"insert into op_ctnapplycostitems (GID,LINKGID,ITEMSNO,PRICETYPE,FEENAME,UNIT,UNITPRICE,CURRENCY,INPUTBY,INPUTTIME,REMARKS,
|
|
QUANTITY,AMOUNT,CUSTOMERNAME,EXCHANGERATE,GOODSNAME)
|
|
values (@GID,@LINKGID,@ITEMSNO,@PRICETYPE,@FEENAME,@UNIT,@UNITPRICE,@CURRENCY,@INPUTBY,@INPUTTIME,@REMARKS,@QUANTITY,
|
|
@AMOUNT,@CUSTOMERNAME,@EXCHANGERATE,@GOODSNAME) ");
|
|
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update op_ctnapplycostitems set FEENAME=@FEENAME,UNIT=@UNIT,UNITPRICE=@UNITPRICE,CURRENCY=@CURRENCY,QUANTITY=@QUANTITY,AMOUNT=@AMOUNT,
|
|
REMARKS=@REMARKS,ITEMSNO=@ITEMSNO,CUSTOMERNAME=@CUSTOMERNAME,EXCHANGERATE=@EXCHANGERATE,GOODSNAME=@GOODSNAME where GID=@GID ");
|
|
|
|
if (bodyList != null)
|
|
{
|
|
foreach (var enumValue in bodyList)
|
|
{
|
|
|
|
if (enumValue.LINKGID == "*" || enumValue.LINKGID == "")
|
|
{
|
|
cmdInsert.Parameters.Clear();
|
|
db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString());
|
|
db.AddInParameter(cmdInsert, "@LINKGID", DbType.String, PID);
|
|
db.AddInParameter(cmdInsert, "@FEENAME", DbType.String, enumValue.FEENAME);
|
|
db.AddInParameter(cmdInsert, "@UNIT", DbType.String, enumValue.UNIT);
|
|
db.AddInParameter(cmdInsert, "@UNITPRICE", DbType.Decimal, enumValue.UNITPRICE);
|
|
db.AddInParameter(cmdInsert, "@CURRENCY", DbType.String, enumValue.CURRENCY);
|
|
db.AddInParameter(cmdInsert, "@QUANTITY", DbType.Decimal, enumValue.QUANTITY);
|
|
db.AddInParameter(cmdInsert, "@AMOUNT", DbType.Decimal, enumValue.AMOUNT);
|
|
db.AddInParameter(cmdInsert, "@EXCHANGERATE", DbType.Decimal, enumValue.EXCHANGERATE);
|
|
db.AddInParameter(cmdInsert, "@INPUTBY", DbType.String, userid);
|
|
db.AddInParameter(cmdInsert, "@INPUTTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.AddInParameter(cmdInsert, "@REMARKS", DbType.String, enumValue.REMARKS);
|
|
db.AddInParameter(cmdInsert, "@PRICETYPE", DbType.String, enumValue.PRICETYPE);
|
|
db.AddInParameter(cmdInsert, "@CUSTOMERNAME", DbType.String, enumValue.CUSTOMERNAME);
|
|
db.AddInParameter(cmdInsert, "@ITEMSNO", DbType.String, enumValue.ITEMSNO);
|
|
db.AddInParameter(cmdInsert, "@GOODSNAME", DbType.String, enumValue.GOODSNAME);
|
|
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
}
|
|
else
|
|
{
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, enumValue.GID);
|
|
|
|
|
|
db.AddInParameter(cmdUpdate, "@FEENAME", DbType.String, enumValue.FEENAME);
|
|
db.AddInParameter(cmdUpdate, "@UNIT", DbType.String, enumValue.UNIT);
|
|
db.AddInParameter(cmdUpdate, "@UNITPRICE", DbType.Decimal, enumValue.UNITPRICE);
|
|
db.AddInParameter(cmdUpdate, "@CURRENCY", DbType.String, enumValue.CURRENCY);
|
|
db.AddInParameter(cmdUpdate, "@QUANTITY", DbType.Decimal, enumValue.QUANTITY);
|
|
db.AddInParameter(cmdUpdate, "@AMOUNT", DbType.Decimal, enumValue.AMOUNT);
|
|
db.AddInParameter(cmdUpdate, "@EXCHANGERATE", DbType.Decimal, enumValue.EXCHANGERATE);
|
|
db.AddInParameter(cmdUpdate, "@REMARKS", DbType.String, enumValue.REMARKS);
|
|
db.AddInParameter(cmdUpdate, "@CUSTOMERNAME", DbType.String, enumValue.CUSTOMERNAME);
|
|
db.AddInParameter(cmdUpdate, "@ITEMSNO", DbType.String, enumValue.ITEMSNO);
|
|
db.AddInParameter(cmdUpdate, "@GOODSNAME", DbType.String, enumValue.GOODSNAME);
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
|
|
public static DBResult DeleteOpCtnApplyCostItems(List<OpCtnApplyCostitems> headData)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
if (headData != null)
|
|
{
|
|
foreach (var enumValue in headData)
|
|
{
|
|
|
|
var cmdDelete = db.GetSqlStringCommand("delete from op_ctnapplycostitems where GID='" + enumValue.GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
}
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
result.Success = true;
|
|
result.Message = "删除成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region OpCtnApplySaleitems
|
|
|
|
static public List<OpCtnApplySaleitems> GetCtnApplySaleItemsList(string strCondition, string sort = null)
|
|
{
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT [GID],[LINKGID],ITEMSNO,[ITEMNAME],[REMARKS]");
|
|
strSql.Append(",[INPUTBY],[INPUTTIME],[COMPANYID]");
|
|
strSql.Append(" from op_ctnapplysalesitems ");
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by ITEMSNO");
|
|
|
|
}
|
|
return SetCtnApplySaleItemsData(strSql);
|
|
}
|
|
|
|
|
|
|
|
private static List<OpCtnApplySaleitems> SetCtnApplySaleItemsData(StringBuilder strSql)
|
|
{
|
|
var headList = new List<OpCtnApplySaleitems>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
OpCtnApplySaleitems data = new OpCtnApplySaleitems();
|
|
#region Set DB data to Object
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
data.LINKGID = Convert.ToString(reader["LINKGID"]);
|
|
if (reader["ITEMSNO"] != DBNull.Value)
|
|
data.ITEMSNO = Convert.ToInt16(reader["ITEMSNO"]);
|
|
data.ITEMNAME = Convert.ToString(reader["ITEMNAME"]);
|
|
data.REMARKS = Convert.ToString(reader["REMARKS"]);
|
|
data.INPUTBY = Convert.ToString(reader["INPUTBY"]);
|
|
if (reader["INPUTTIME"] != DBNull.Value)
|
|
data.INPUTTIME = Convert.ToDateTime(reader["INPUTTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
public static DBResult SaveCtnApplySaleItems(List<OpCtnApplySaleitems> bodyList, string PID, 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(
|
|
@"insert into op_ctnapplysalesitems (GID,LINKGID,ITEMSNO,ITEMNAME,INPUTBY,INPUTTIME,REMARKS)
|
|
values (@GID,@LINKGID,@ITEMSNO,@ITEMNAME,@INPUTBY,@INPUTTIME,@REMARKS
|
|
) ");
|
|
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update op_ctnapplysalesitems set ITEMSNO=@ITEMSNO,ITEMNAME=@ITEMNAME,REMARKS=@REMARKS where GID=@GID ");
|
|
|
|
if (bodyList != null)
|
|
{
|
|
foreach (var enumValue in bodyList)
|
|
{
|
|
|
|
if (enumValue.LINKGID == "*" || enumValue.LINKGID == "")
|
|
{
|
|
cmdInsert.Parameters.Clear();
|
|
db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString());
|
|
db.AddInParameter(cmdInsert, "@LINKGID", DbType.String, PID);
|
|
db.AddInParameter(cmdInsert, "@ITEMSNO", DbType.Int16, enumValue.ITEMSNO);
|
|
db.AddInParameter(cmdInsert, "@ITEMNAME", DbType.String, enumValue.ITEMNAME);
|
|
db.AddInParameter(cmdInsert, "@INPUTBY", DbType.String, userid);
|
|
db.AddInParameter(cmdInsert, "@INPUTTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.AddInParameter(cmdInsert, "@REMARKS", DbType.String, enumValue.REMARKS);
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
}
|
|
else
|
|
{
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, enumValue.GID);
|
|
db.AddInParameter(cmdUpdate, "@ITEMSNO", DbType.Int16, enumValue.ITEMSNO);
|
|
db.AddInParameter(cmdUpdate, "@ITEMNAME", DbType.String, enumValue.ITEMNAME);
|
|
db.AddInParameter(cmdUpdate, "@REMARKS", DbType.String, enumValue.REMARKS);
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
|
|
public static DBResult DeleteOpCtnApplySaleItems(List<OpCtnApplySaleitems> headData)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
if (headData != null)
|
|
{
|
|
foreach (var enumValue in headData)
|
|
{
|
|
|
|
var cmdDelete = db.GetSqlStringCommand("delete from op_ctnapplysalesitems where GID='" + enumValue.GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
}
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
result.Success = true;
|
|
result.Message = "删除成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region OpCtnApplyCtnitems
|
|
|
|
static public List<OpCtnApplyCtnitems> GetCtnApplyCtnItemsList(string strCondition, string sort = null)
|
|
{
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT [GID],[LINKGID],ITEMSNO,[CTNNO],[REMARKS],OWNERCTN,TANKVOLUMN,AUDITSTATUS,AUDITBY,AUDITTIME,AUDITRESULT");
|
|
strSql.Append(",[INPUTBY],[INPUTTIME],[COMPANYID],INSPECTION_EXPIRE_DATE,INSURANCE_EXPIRE_DATE,CURPORT,CURSTATOIN,PREGOODNAME");
|
|
strSql.Append(",(select CTNPROP from [code_ctntk] where CTNNO=b.CTNNO) as CTNPROP");
|
|
strSql.Append(" from op_ctnapplyctnitems b ");
|
|
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" where " + strCondition);
|
|
}
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by ITEMSNO");
|
|
|
|
}
|
|
return SetCtnApplyCtnItemsData(strSql);
|
|
}
|
|
|
|
|
|
|
|
private static List<OpCtnApplyCtnitems> SetCtnApplyCtnItemsData(StringBuilder strSql)
|
|
{
|
|
var headList = new List<OpCtnApplyCtnitems>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
OpCtnApplyCtnitems data = new OpCtnApplyCtnitems();
|
|
#region Set DB data to Object
|
|
data.GID = Convert.ToString(reader["GID"]);
|
|
data.LINKGID = Convert.ToString(reader["LINKGID"]);
|
|
if (reader["ITEMSNO"] != DBNull.Value)
|
|
data.ITEMSNO = Convert.ToInt16(reader["ITEMSNO"]);
|
|
data.CTNNO = Convert.ToString(reader["CTNNO"]);
|
|
data.CTNPROP = Convert.ToString(reader["CTNPROP"]);
|
|
data.OWNERCTN = Convert.ToString(reader["OWNERCTN"]);
|
|
data.REMARKS = Convert.ToString(reader["REMARKS"]);
|
|
data.TANKVOLUMN = Convert.ToString(reader["TANKVOLUMN"]);
|
|
data.INPUTBY = Convert.ToString(reader["INPUTBY"]);
|
|
if (reader["INPUTTIME"] != DBNull.Value)
|
|
data.INPUTTIME = Convert.ToDateTime(reader["INPUTTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
|
|
if (reader["INSPECTION_EXPIRE_DATE"] != DBNull.Value)
|
|
data.INSPECTION_EXPIRE_DATE = Convert.ToDateTime(reader["INSPECTION_EXPIRE_DATE"]).ToString("yyyy-MM-dd");
|
|
if (reader["INSURANCE_EXPIRE_DATE"] != DBNull.Value)
|
|
data.INSURANCE_EXPIRE_DATE = Convert.ToDateTime(reader["INSURANCE_EXPIRE_DATE"]).ToString("yyyy-MM-dd");
|
|
data.CURPORT = Convert.ToString(reader["CURPORT"]);
|
|
data.CURSTATOIN = Convert.ToString(reader["CURSTATOIN"]);
|
|
data.PREGOODNAME = Convert.ToString(reader["PREGOODNAME"]);
|
|
data.AUDITSTATUS = Convert.ToString(reader["AUDITSTATUS"]);
|
|
data.AUDITBY = Convert.ToString(reader["AUDITBY"]);
|
|
if (reader["AUDITTIME"] != DBNull.Value)
|
|
data.AUDITTIME = Convert.ToDateTime(reader["AUDITTIME"]).ToString("yyyy-MM-dd");
|
|
data.AUDITRESULT = Convert.ToString(reader["AUDITRESULT"]);
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
public static DBResult SaveCtnApplyCtnItems(List<OpCtnApplyCtnitems> bodyList, string PID, 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(
|
|
@"insert into op_ctnapplyctnitems (GID,LINKGID,ITEMSNO,CTNNO,INPUTBY,INPUTTIME,REMARKS,OWNERCTN,TANKVOLUMN
|
|
,INSPECTION_EXPIRE_DATE,INSURANCE_EXPIRE_DATE,CURPORT,CURSTATOIN,PREGOODNAME)
|
|
values (@GID,@LINKGID,@ITEMSNO,@CTNNO,@INPUTBY,@INPUTTIME,@REMARKS,@OWNERCTN,@TANKVOLUMN
|
|
,@INSPECTION_EXPIRE_DATE,@INSURANCE_EXPIRE_DATE,@CURPORT,@CURSTATOIN,@PREGOODNAME ) ");
|
|
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update op_ctnapplyctnitems set ITEMSNO=@ITEMSNO,CTNNO=@CTNNO,REMARKS=@REMARKS,OWNERCTN=@OWNERCTN,TANKVOLUMN=@TANKVOLUMN
|
|
,INSPECTION_EXPIRE_DATE=@INSPECTION_EXPIRE_DATE,INSURANCE_EXPIRE_DATE=@INSURANCE_EXPIRE_DATE,
|
|
CURPORT=@CURPORT,CURSTATOIN=@CURSTATOIN,PREGOODNAME=@PREGOODNAME where GID=@GID ");
|
|
|
|
var cmdUpdateCtn =
|
|
db.GetSqlStringCommand(
|
|
@"update code_ctntk set CTNSTATUS='不可用' where CTNNO=@CTNNO ");
|
|
|
|
|
|
if (bodyList != null)
|
|
{
|
|
foreach (var enumValue in bodyList)
|
|
{
|
|
|
|
if (enumValue.INSPECTION_EXPIRE_DATE == "") enumValue.INSPECTION_EXPIRE_DATE = null;
|
|
if (enumValue.INSURANCE_EXPIRE_DATE == "") enumValue.INSURANCE_EXPIRE_DATE = null;
|
|
|
|
if (enumValue.GID == "*" || enumValue.GID == "")
|
|
{
|
|
cmdInsert.Parameters.Clear();
|
|
db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString());
|
|
db.AddInParameter(cmdInsert, "@LINKGID", DbType.String, PID);
|
|
db.AddInParameter(cmdInsert, "@ITEMSNO", DbType.Int16, enumValue.ITEMSNO);
|
|
db.AddInParameter(cmdInsert, "@CTNNO", DbType.String, enumValue.CTNNO);
|
|
db.AddInParameter(cmdInsert, "@INPUTBY", DbType.String, userid);
|
|
db.AddInParameter(cmdInsert, "@INPUTTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.AddInParameter(cmdInsert, "@OWNERCTN", DbType.String, enumValue.OWNERCTN);
|
|
db.AddInParameter(cmdInsert, "@TANKVOLUMN", DbType.String, enumValue.TANKVOLUMN);
|
|
db.AddInParameter(cmdInsert, "@INSPECTION_EXPIRE_DATE", DbType.String, enumValue.INSPECTION_EXPIRE_DATE);
|
|
db.AddInParameter(cmdInsert, "@INSURANCE_EXPIRE_DATE", DbType.String, enumValue.INSURANCE_EXPIRE_DATE);
|
|
db.AddInParameter(cmdInsert, "@CURPORT", DbType.String, enumValue.CURPORT);
|
|
db.AddInParameter(cmdInsert, "@CURSTATOIN", DbType.String, enumValue.CURSTATOIN);
|
|
db.AddInParameter(cmdInsert, "@PREGOODNAME", DbType.String, enumValue.PREGOODNAME);
|
|
db.AddInParameter(cmdInsert, "@REMARKS", DbType.String, enumValue.REMARKS);
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
}
|
|
else
|
|
{
|
|
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, enumValue.GID);
|
|
db.AddInParameter(cmdUpdate, "@ITEMSNO", DbType.Int16, enumValue.ITEMSNO);
|
|
db.AddInParameter(cmdUpdate, "@CTNNO", DbType.String, enumValue.CTNNO);
|
|
db.AddInParameter(cmdUpdate, "@REMARKS", DbType.String, enumValue.REMARKS);
|
|
db.AddInParameter(cmdUpdate, "@OWNERCTN", DbType.String, enumValue.OWNERCTN);
|
|
db.AddInParameter(cmdUpdate, "@TANKVOLUMN", DbType.String, enumValue.TANKVOLUMN);
|
|
db.AddInParameter(cmdUpdate, "@INSPECTION_EXPIRE_DATE", DbType.String, enumValue.INSPECTION_EXPIRE_DATE);
|
|
db.AddInParameter(cmdUpdate, "@INSURANCE_EXPIRE_DATE", DbType.String, enumValue.INSURANCE_EXPIRE_DATE);
|
|
db.AddInParameter(cmdUpdate, "@CURPORT", DbType.String, enumValue.CURPORT);
|
|
db.AddInParameter(cmdUpdate, "@CURSTATOIN", DbType.String, enumValue.CURSTATOIN);
|
|
db.AddInParameter(cmdUpdate, "@PREGOODNAME", DbType.String, enumValue.PREGOODNAME);
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
}
|
|
cmdUpdateCtn.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdateCtn, "@CTNNO", DbType.String, enumValue.CTNNO);
|
|
db.ExecuteNonQuery(cmdUpdateCtn, 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 DeleteOpCtnApplyCtnItems(List<OpCtnApplyCtnitems> headData)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
if (headData != null)
|
|
{
|
|
foreach (var enumValue in headData)
|
|
{
|
|
|
|
var cmdDelete = db.GetSqlStringCommand("delete from op_ctnapplyctnitems where GID='" + enumValue.GID + "'");
|
|
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
|
|
|
|
var cmdUpdateCtn =
|
|
db.GetSqlStringCommand(
|
|
@"update code_ctntk set CTNSTATUS='可用' where CTNNO=@CTNNO ");
|
|
cmdUpdateCtn.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdateCtn, "@CTNNO", DbType.String, enumValue.CTNNO);
|
|
db.ExecuteNonQuery(cmdUpdateCtn, tran);
|
|
}
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
result.Success = true;
|
|
result.Message = "删除成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
public static DBResult UpOpCtnApplyCtnItems(string GID,string userid)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
|
|
var cmdUpdate =
|
|
db.GetSqlStringCommand(
|
|
@"update op_ctnapplyctnitems set AUDITSTATUS=@AUDITSTATUS,AUDITBY=@AUDITBY,AUDITTIME=@AUDITTIME where GID=@GID ");
|
|
cmdUpdate.Parameters.Clear();
|
|
db.AddInParameter(cmdUpdate, "@AUDITSTATUS", DbType.String, "生成业务卡");
|
|
db.AddInParameter(cmdUpdate, "@AUDITBY", DbType.String, userid);
|
|
db.AddInParameter(cmdUpdate, "@AUDITTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.AddInParameter(cmdUpdate, "@GID", DbType.String, GID);
|
|
|
|
db.ExecuteNonQuery(cmdUpdate, tran);
|
|
|
|
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
result.Success = true;
|
|
result.Message = "删除成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
public static DBResult SaveSaleToOpCtnRepair(List<OpCtnApplySaleitems> bodyList, string PID, 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(
|
|
@"insert into op_ctnrepair (GID,LINKGID,REPAIRITEMS,INPUTBY,INPUTTIME,AUDITSTATUS)
|
|
values (@GID,@LINKGID,@REPAIRITEMS,@INPUTBY,@INPUTTIME,@AUDITSTATUS) ");
|
|
|
|
|
|
if (bodyList != null)
|
|
{
|
|
foreach (var enumValue in bodyList)
|
|
{
|
|
|
|
cmdInsert.Parameters.Clear();
|
|
db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString());
|
|
db.AddInParameter(cmdInsert, "@LINKGID", DbType.String, PID);
|
|
db.AddInParameter(cmdInsert, "@REPAIRITEMS", DbType.String, enumValue.ITEMNAME);
|
|
db.AddInParameter(cmdInsert, "@INPUTBY", DbType.String, userid);
|
|
db.AddInParameter(cmdInsert, "@INPUTTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.AddInParameter(cmdInsert, "@AUDITSTATUS", DbType.String, "录入状态");
|
|
db.ExecuteNonQuery(cmdInsert, tran);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "保存出现错误,请重试或联系系统管理员"; //+ex.ToString
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "保存成功" + result.Message;
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
public static DBResult SaveFee(List<OpCtnApplyCostitems> bodyList, string bsno, string userid,Int16 ctnnum)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
int feestatus = 1;
|
|
var OPCTNFEESTATUSISAUDIT = MsSysParamSetDAL.GetData("PARAMNAME='OPCTNFEESTATUSISAUDIT'");
|
|
if (OPCTNFEESTATUSISAUDIT.PARAMVALUE == "1")
|
|
{
|
|
feestatus = 0;
|
|
}
|
|
|
|
T_ALL_DA T_ALL_DA = new T_ALL_DA();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
var cmdInsert =
|
|
db.GetSqlStringCommand(
|
|
@"INSERT INTO ch_fee(GID, BSNO, FEETYPE, FEENAME, FEEDESCRIPTION, CUSTOMERTYPE, CUSTOMERNAME, UNIT, UNITPRICE, QUANTITY, AMOUNT, CURRENCY,
|
|
EXCHANGERATE, REASON, REMARK, COMMISSIONRATE,ENTEROPERATOR, ENTERDATE,ISOPEN, ISADVANCEDPAY, SORT, FEESTATUS, FEEFRT,
|
|
TAXRATE,NOTAXAMOUNT,ACCTAXRATE,LINENUM,TAXUNITPRICE,MODIFIEDUSER,MODIFIEDTIME,WMSOUTBSNO,PREAMOUNT,INPUTMODE,IsCrmOrderFee)
|
|
VALUES
|
|
(@gid,@bsno,@fee_type,@fee_name,@fee_description,@customer_type,@customer_name,@unit,@unit_price,@quantity,@amount,@currency,
|
|
@exchange_rate,@reason,@remark,@comm_rate,@enter_operator,@enter_date,@is_open,@is_advance_pay,@sort,@fee_status,@fee_frt,
|
|
@taxrate,@notaxamount,@acctaxrate,@LINENUM,@taxunit_price,@MODIFIEDUSER,@MODIFIEDTIME,@WMSOUTBSNO,@PREAMOUNT,@INPUTMODE,@IsCrmOrderFee) ");
|
|
|
|
if (bodyList != null)
|
|
{
|
|
foreach (var enumValue in bodyList)
|
|
{
|
|
|
|
|
|
cmdInsert.Parameters.Clear();
|
|
db.AddInParameter(cmdInsert, "@gid", DbType.String, Guid.NewGuid().ToString());
|
|
db.AddInParameter(cmdInsert, "@bsno", DbType.String, bsno);
|
|
db.AddInParameter(cmdInsert, "@fee_type", DbType.Int16,2);
|
|
db.AddInParameter(cmdInsert, "@fee_name", DbType.String, enumValue.FEENAME);
|
|
db.AddInParameter(cmdInsert, "@customer_type", DbType.String,"");
|
|
db.AddInParameter(cmdInsert, "@customer_name", DbType.String, enumValue.CUSTOMERNAME);
|
|
|
|
db.AddInParameter(cmdInsert, "@unit", DbType.String, enumValue.UNIT);
|
|
|
|
|
|
if (ctnnum != 0)
|
|
db.AddInParameter(cmdInsert, "@unit_price", DbType.Decimal, enumValue.AMOUNT / ctnnum);
|
|
else db.AddInParameter(cmdInsert, "@unit_price", DbType.Decimal, enumValue.AMOUNT);
|
|
|
|
var strDESCRIPTION = T_ALL_DA.GetStrSQL("DESCRIPTION", "select top 1 DESCRIPTION from code_fee where [NAME]='" + enumValue.FEENAME + "'");
|
|
|
|
db.AddInParameter(cmdInsert, "@fee_description", DbType.String, strDESCRIPTION);
|
|
|
|
db.AddInParameter(cmdInsert, "@quantity",DbType.Decimal, 1);
|
|
if (ctnnum !=0)
|
|
db.AddInParameter(cmdInsert, "@amount", DbType.Decimal, enumValue.AMOUNT / ctnnum);
|
|
else db.AddInParameter(cmdInsert, "@amount", DbType.Decimal, enumValue.AMOUNT);
|
|
|
|
db.AddInParameter(cmdInsert, "@currency", DbType.String, enumValue.CURRENCY);
|
|
db.AddInParameter(cmdInsert, "@exchange_rate", DbType.Decimal,enumValue.EXCHANGERATE);
|
|
db.AddInParameter(cmdInsert, "@reason", DbType.String, "");
|
|
|
|
db.AddInParameter(cmdInsert, "@remark", DbType.String, enumValue.REMARKS);
|
|
|
|
// db.AddInParameter(cmdInsert, "@CARGO_GID", DbType.String, enumValue.PRICETYPE);
|
|
|
|
db.AddInParameter(cmdInsert, "@comm_rate", DbType.Decimal, 0);
|
|
db.AddInParameter(cmdInsert, "@enter_operator", DbType.String, userid);
|
|
db.AddInParameter(cmdInsert, "@enter_date", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.AddInParameter(cmdInsert, "@is_open", DbType.String,"0");
|
|
db.AddInParameter(cmdInsert, "@is_advance_pay", DbType.String,"0");
|
|
db.AddInParameter(cmdInsert, "@sort", DbType.Int16, enumValue.ITEMSNO);
|
|
db.AddInParameter(cmdInsert, "@fee_status", DbType.Int16, feestatus);
|
|
db.AddInParameter(cmdInsert, "@fee_frt", DbType.String,"");
|
|
db.AddInParameter(cmdInsert, "@taxrate", DbType.Decimal, 0);
|
|
|
|
if (ctnnum != 0)
|
|
db.AddInParameter(cmdInsert, "@notaxamount", DbType.Decimal, enumValue.AMOUNT / ctnnum);
|
|
else db.AddInParameter(cmdInsert, "@notaxamount", DbType.Decimal, enumValue.AMOUNT);
|
|
|
|
|
|
db.AddInParameter(cmdInsert, "@acctaxrate", DbType.Decimal, 0);
|
|
db.AddInParameter(cmdInsert, "@LINENUM", DbType.Int16, enumValue.ITEMSNO);
|
|
|
|
if (ctnnum != 0)
|
|
db.AddInParameter(cmdInsert, "@taxunit_price", DbType.Decimal, enumValue.AMOUNT / ctnnum);
|
|
else db.AddInParameter(cmdInsert, "@taxunit_price", DbType.Decimal, enumValue.AMOUNT);
|
|
|
|
|
|
// db.AddInParameter(cmdInsert, "@taxunit_price", DbType.Decimal, enumValue.UNITPRICE);
|
|
db.AddInParameter(cmdInsert, "@MODIFIEDUSER", DbType.String, userid);
|
|
db.AddInParameter(cmdInsert, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.AddInParameter(cmdInsert, "@WMSOUTBSNO", DbType.String,"");
|
|
|
|
if (ctnnum != 0)
|
|
db.AddInParameter(cmdInsert, "@PREAMOUNT", DbType.Decimal, enumValue.AMOUNT / ctnnum);
|
|
else db.AddInParameter(cmdInsert, "@PREAMOUNT", DbType.Decimal, enumValue.AMOUNT);
|
|
|
|
if (enumValue.PRICETYPE=="1")
|
|
db.AddInParameter(cmdInsert, "@INPUTMODE", DbType.String, "海运出口报价");
|
|
else if (enumValue.PRICETYPE=="2")
|
|
db.AddInParameter(cmdInsert, "@INPUTMODE", DbType.String, "海运进口报价");
|
|
else if (enumValue.PRICETYPE=="3")
|
|
db.AddInParameter(cmdInsert, "@INPUTMODE", DbType.String, "代理报价");
|
|
else if (enumValue.PRICETYPE=="4")
|
|
db.AddInParameter(cmdInsert, "@INPUTMODE", DbType.String, "场站报价");
|
|
else db.AddInParameter(cmdInsert, "@INPUTMODE", DbType.String, "");
|
|
db.AddInParameter(cmdInsert, "@IsCrmOrderFee", DbType.String, "1");
|
|
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 从apply表的成本核算信息生成应收费用
|
|
/// </summary>
|
|
/// <param name="ctnprice"></param>
|
|
/// <param name="bsno"></param>
|
|
/// <param name="userid"></param>
|
|
/// <param name="ctnnum"></param>
|
|
/// <param name="cust"></param>
|
|
/// <returns></returns>
|
|
public static DBResult SaveFeeDR(decimal ctnprice,string currency, string bsno, string userid, Int16 ctnnum,string cust)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
int feestatus = 1;
|
|
var OPCTNFEESTATUSISAUDIT = MsSysParamSetDAL.GetData("PARAMNAME='OPCTNFEESTATUSISAUDIT'");
|
|
if (OPCTNFEESTATUSISAUDIT.PARAMVALUE == "1")
|
|
{
|
|
feestatus = 0;
|
|
}
|
|
|
|
var TANKCTNFEECUSTOMERNAME = MsSysParamSetDAL.GetData("PARAMNAME='TANKCTNFEECUSTOMERNAME'").PARAMVALUE;
|
|
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
|
|
var cmdInsert =
|
|
db.GetSqlStringCommand(
|
|
@"INSERT INTO ch_fee(GID, BSNO, FEETYPE, FEENAME, FEEDESCRIPTION, CUSTOMERTYPE, CUSTOMERNAME, UNIT, UNITPRICE, QUANTITY, AMOUNT, CURRENCY,
|
|
EXCHANGERATE, REASON, REMARK, COMMISSIONRATE,ENTEROPERATOR, ENTERDATE,ISOPEN, ISADVANCEDPAY, SORT, FEESTATUS, FEEFRT,
|
|
TAXRATE,NOTAXAMOUNT,ACCTAXRATE,LINENUM,TAXUNITPRICE,MODIFIEDUSER,MODIFIEDTIME,WMSOUTBSNO,PREAMOUNT,INPUTMODE)
|
|
VALUES
|
|
(@gid,@bsno,@fee_type,@fee_name,@fee_description,@customer_type,@customer_name,@unit,@unit_price,@quantity,@amount,@currency,
|
|
@exchange_rate,@reason,@remark,@comm_rate,@enter_operator,@enter_date,@is_open,@is_advance_pay,@sort,@fee_status,@fee_frt,
|
|
@taxrate,@notaxamount,@acctaxrate,@LINENUM,@taxunit_price,@MODIFIEDUSER,@MODIFIEDTIME,@WMSOUTBSNO,@PREAMOUNT,@INPUTMODE) ");
|
|
|
|
if (bsno != "")
|
|
{
|
|
|
|
|
|
cmdInsert.Parameters.Clear();
|
|
db.AddInParameter(cmdInsert, "@gid", DbType.String, Guid.NewGuid().ToString());
|
|
db.AddInParameter(cmdInsert, "@bsno", DbType.String, bsno);
|
|
db.AddInParameter(cmdInsert, "@fee_type", DbType.Int16, 1);
|
|
db.AddInParameter(cmdInsert, "@fee_name", DbType.String, "罐箱费");
|
|
db.AddInParameter(cmdInsert, "@customer_type", DbType.String, "");
|
|
db.AddInParameter(cmdInsert, "@customer_name", DbType.String, TANKCTNFEECUSTOMERNAME);
|
|
db.AddInParameter(cmdInsert, "@unit", DbType.String, "TEU");
|
|
db.AddInParameter(cmdInsert, "@unit_price", DbType.Decimal, ctnprice);
|
|
db.AddInParameter(cmdInsert, "@fee_description", DbType.String, "TANK RENTAL");
|
|
|
|
db.AddInParameter(cmdInsert, "@quantity", DbType.Decimal, 1);
|
|
if (ctnnum != 0)
|
|
db.AddInParameter(cmdInsert, "@amount", DbType.Decimal, ctnprice);
|
|
else db.AddInParameter(cmdInsert, "@amount", DbType.Decimal, ctnprice);
|
|
|
|
db.AddInParameter(cmdInsert, "@currency", DbType.String, currency);
|
|
|
|
|
|
var exchangerate = MsChFeeDAL.GetExrate("", "", currency);
|
|
db.AddInParameter(cmdInsert, "@exchange_rate", DbType.Decimal, exchangerate);
|
|
db.AddInParameter(cmdInsert, "@reason", DbType.String, "");
|
|
|
|
|
|
|
|
db.AddInParameter(cmdInsert, "@remark", DbType.String, "");
|
|
|
|
// db.AddInParameter(cmdInsert, "@CARGO_GID", DbType.String, enumValue.PRICETYPE);
|
|
|
|
db.AddInParameter(cmdInsert, "@comm_rate", DbType.Decimal, 0);
|
|
db.AddInParameter(cmdInsert, "@enter_operator", DbType.String, userid);
|
|
db.AddInParameter(cmdInsert, "@enter_date", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.AddInParameter(cmdInsert, "@is_open", DbType.String, "0");
|
|
db.AddInParameter(cmdInsert, "@is_advance_pay", DbType.String, "0");
|
|
db.AddInParameter(cmdInsert, "@sort", DbType.Int16, 0);
|
|
db.AddInParameter(cmdInsert, "@fee_status", DbType.Int16, feestatus);
|
|
db.AddInParameter(cmdInsert, "@fee_frt", DbType.String, "");
|
|
db.AddInParameter(cmdInsert, "@taxrate", DbType.Decimal, 0);
|
|
|
|
if (ctnnum != 0)
|
|
db.AddInParameter(cmdInsert, "@notaxamount", DbType.Decimal, ctnprice);
|
|
else db.AddInParameter(cmdInsert, "@notaxamount", DbType.Decimal, ctnprice);
|
|
|
|
|
|
db.AddInParameter(cmdInsert, "@acctaxrate", DbType.Decimal, 0);
|
|
db.AddInParameter(cmdInsert, "@LINENUM", DbType.Int16, 0);
|
|
db.AddInParameter(cmdInsert, "@taxunit_price", DbType.Decimal, 0);
|
|
db.AddInParameter(cmdInsert, "@MODIFIEDUSER", DbType.String, userid);
|
|
db.AddInParameter(cmdInsert, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
db.AddInParameter(cmdInsert, "@WMSOUTBSNO", DbType.String, "");
|
|
|
|
if (ctnnum != 0)
|
|
db.AddInParameter(cmdInsert, "@PREAMOUNT", DbType.Decimal, ctnprice );
|
|
else db.AddInParameter(cmdInsert, "@PREAMOUNT", DbType.Decimal, ctnprice);
|
|
|
|
db.AddInParameter(cmdInsert, "@INPUTMODE", DbType.String, "手工");
|
|
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;
|
|
}
|
|
|
|
#endregion
|
|
|
|
public static DBResult SubmitGoodsAudit(string GID,string userid)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
var cmdDelete = db.GetSqlStringCommand("update op_ctnapply set AUDITSTATUS='提交审核',BSSTATUS='提交适货审核',SUBMITBY='" +userid+ "',SUBMITTIME='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' where GID='" + GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "提交审核出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "提交审核成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
public static DBResult SubmitGoodsAuditBack(string GID)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
var cmdDelete = db.GetSqlStringCommand("update op_ctnapply set AUDITSTATUS='未提交',BSSTATUS='未提交',SUBMITBY='',SUBMITTIME=null where GID='" + GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "撤销审核出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "撤销审核成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
public static DBResult AuditFee(List<OpPriceItems> headData,string userid)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
if (headData != null)
|
|
{
|
|
foreach (var enumValue in headData)
|
|
{
|
|
|
|
var cmdDelete = db.GetSqlStringCommand("update op_price_items set FEESTATUS=0,AUDITOPERATOR='" + userid + "',AUDITDATE='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "' where GID='" + enumValue.GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
}
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "删除成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
public static DBResult AuditBack(List<OpPriceItems> headData)
|
|
{
|
|
var result = new DBResult();
|
|
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (var conn = db.CreateConnection())
|
|
{
|
|
conn.Open();
|
|
var tran = conn.BeginTransaction();
|
|
|
|
try
|
|
{
|
|
if (headData != null)
|
|
{
|
|
foreach (var enumValue in headData)
|
|
{
|
|
|
|
var cmdDelete = db.GetSqlStringCommand("update op_price_items set FEESTATUS=6,AUDITOPERATOR='',AUDITDATE=null where GID='" + enumValue.GID + "'");
|
|
db.ExecuteNonQuery(cmdDelete, tran);
|
|
}
|
|
}
|
|
|
|
|
|
tran.Commit();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
tran.Rollback();
|
|
|
|
result.Success = false;
|
|
result.Message = "删除出现错误,请重试或联系系统管理员";
|
|
|
|
return result;
|
|
}
|
|
}
|
|
|
|
result.Success = true;
|
|
result.Message = "删除成功";
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
public static string GetBillBsNo(string masterbsno)
|
|
{
|
|
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("select top 1 bsno from op_ctnbscard where bsno like '%" + masterbsno + "%' order by bsno desc ");
|
|
var i = 1;
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
var evData = Convert.ToString(reader["bsno"]);
|
|
var strnumno1=evData.Replace(masterbsno,"");
|
|
try
|
|
{
|
|
i = Convert.ToInt16(strnumno1) + 1;
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
reader.Close();
|
|
}
|
|
|
|
var strnum = i.ToString();
|
|
if (strnum.Length == 1) strnum = "0" + strnum;
|
|
|
|
return masterbsno + strnum;
|
|
|
|
}
|
|
|
|
public static decimal GetUsdExrate(string currdate, string curr)
|
|
{
|
|
decimal result = -1;
|
|
|
|
if (currdate == "")
|
|
{
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("Select CODENAME,DEFAULTRATE ");
|
|
strSql.Append(" from code_currency where CODENAME='"+ curr + "'");
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
result = Convert.ToDecimal(reader["DEFAULTRATE"]);
|
|
}
|
|
reader.Close();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("Select CURRENCYID,VALUE ");
|
|
strSql.Append(" from currency_exchange ");
|
|
strSql.Append(" left join code_currency c on (c.GID=currency_exchange.CURRENCYID) ");
|
|
strSql.Append(" where c.CODENAME='" + curr + "' and STARTTIME<='" + currdate + "' and ENDTIME>='" + currdate + "'");
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
result = Convert.ToDecimal(reader["VALUE"]);
|
|
}
|
|
reader.Close();
|
|
}
|
|
|
|
if (result == -1)
|
|
{
|
|
|
|
var strSql2 = new StringBuilder();
|
|
strSql2.Append("Select CODENAME,DEFAULTRATE ");
|
|
strSql2.Append(" from code_currency where CODENAME='USD'");
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql2.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
result = Convert.ToDecimal(reader["DEFAULTRATE"]);
|
|
}
|
|
reader.Close();
|
|
}
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
#region 权限范围
|
|
public static string GetRangDAStr(string tb, string userid, string username, string companyid)
|
|
{
|
|
string str = "";
|
|
string modustr = "modOpCtnApply";
|
|
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT ");
|
|
strSql.Append(" VISIBLERANGE,OPERATERANGE ");
|
|
strSql.Append(" from VW_User_Authority ");
|
|
strSql.Append(" where [NAME]='" + modustr + "' 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 = "1=2";
|
|
}
|
|
else if (visiblerange == "3")
|
|
{
|
|
|
|
str = " (b.inputby='"+userid+"' or b.OP='" + username + "' OR b.SALE='" + username + "' or b.AGENTINPUTBY='" + username + "' )";
|
|
|
|
|
|
}
|
|
else if (visiblerange == "2")
|
|
{
|
|
if (tb == "index")
|
|
{
|
|
var rangeDa = new RangeDA();
|
|
var deptname = rangeDa.GetDEPTNAME(userid);
|
|
var userstr = new StringBuilder();
|
|
userstr.Append(" select GID,SHOWNAME from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "') and GID in (select userid from user_baseinfo where DEPTNAME='" + deptname + "')");
|
|
Database userdb = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
|
|
{
|
|
str = "";
|
|
while (reader.Read())
|
|
{
|
|
if (str == "")
|
|
{
|
|
str = " (b.INPUTBY='" + Convert.ToString(reader["GID"]) + "' or b.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR b.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR b.AGENTINPUTBY='" + Convert.ToString(reader["SHOWNAME"]) + "' ";
|
|
}
|
|
else
|
|
{
|
|
str = str + " or b.INPUTBY='" + Convert.ToString(reader["GID"]) + "' or b.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR b.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR b.AGENTINPUTBY='" + Convert.ToString(reader["SHOWNAME"]) + "' ";
|
|
};
|
|
}
|
|
str = str + ")";
|
|
reader.Close();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
str = " b.COMPANYID='" + companyid + "'";
|
|
}
|
|
|
|
}
|
|
else if (visiblerange == "1")
|
|
{
|
|
str = " b.COMPANYID='" + companyid + "'";
|
|
}
|
|
return str;
|
|
}
|
|
#endregion
|
|
|
|
|
|
}
|
|
}
|