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.
360 lines
15 KiB
C#
360 lines
15 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.Services;
|
|
using DSWeb.MvcShipping.Models.MsChFee;
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
using System.Text;
|
|
using System.Data;
|
|
using DSWeb.EntityDA;
|
|
|
|
namespace DSWebMobileService
|
|
{
|
|
/// <summary>
|
|
/// ChfeeAuditServer 的摘要说明
|
|
/// </summary>
|
|
[WebService(Namespace = "http://tempuri.org/")]
|
|
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
|
|
[System.ComponentModel.ToolboxItem(false)]
|
|
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
|
|
// [System.Web.Script.Services.ScriptService]
|
|
public class ChfeeAuditServer : System.Web.Services.WebService
|
|
{
|
|
|
|
[WebMethod]
|
|
public string HelloWorld()
|
|
{
|
|
return "Hello World";
|
|
}
|
|
|
|
[WebMethod]
|
|
public static List<MsChFee> GetDataList(string gid, string bsno, int type, string optype, string isAll, string userid, string username, string companyid)
|
|
{
|
|
var rangstr = GetRangDAStr(type, optype, userid, username, companyid);
|
|
|
|
var WorkFlowNameM = "FeeModifyAudit";
|
|
var WorkFlowName = "FeeRecvPayAudit";
|
|
if (optype == "op_seae")
|
|
{
|
|
WorkFlowNameM = "FeeModifyAudit";
|
|
WorkFlowName = "FeeRecvPayAudit";
|
|
} if (optype == "op_seai")
|
|
{
|
|
WorkFlowNameM = "FeeSeaiModifyAudit";
|
|
WorkFlowName = "FeeSeaiRecvPayAudit";
|
|
|
|
} if (optype == "op_aire")
|
|
{
|
|
WorkFlowNameM = "AireFeeModify";
|
|
WorkFlowName = "AireFeeAudit";
|
|
|
|
} if (optype == "op_airi")
|
|
{
|
|
WorkFlowNameM = "AiriFeeModify";
|
|
WorkFlowName = "AiriFeeAudit";
|
|
|
|
} if (optype == "op_apply")
|
|
{
|
|
WorkFlowNameM = "ApplyFeeModify";
|
|
WorkFlowName = "ApplyFeeAudit";
|
|
|
|
} if (optype == "op_bulk")
|
|
{
|
|
WorkFlowNameM = "BulkFeeModify";
|
|
WorkFlowName = "BulkFeeAudit";
|
|
} if (optype == "op_other" || optype == "tMsWlPcHead")
|
|
{
|
|
WorkFlowNameM = "FeeOpOtherModifyAudit";
|
|
WorkFlowName = "FeeOpOpOtherRecvPayAudit";
|
|
} if (optype == "op_railway")
|
|
{
|
|
WorkFlowNameM = "RailwayFeeModify";
|
|
WorkFlowName = "RailwayFeeAudit";
|
|
}
|
|
|
|
if (optype == "op_railway")
|
|
{
|
|
WorkFlowNameM = "RailwayFeeModify";
|
|
WorkFlowName = "RailwayFeeAudit";
|
|
}
|
|
|
|
|
|
var strSql = new StringBuilder();
|
|
strSql.Append("SELECT top 1 ");
|
|
strSql.Append("GId,ch_fee.BsNo,FeeStatus,");
|
|
strSql.Append("(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99024 and EnumValueID=ch_fee.FeeStatus) as FeeStatus_Ref");
|
|
strSql.Append(",FeeType,");
|
|
strSql.Append("(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99020 and EnumValueID=ch_fee.FeeType) as FeeType_Ref");
|
|
strSql.Append(",FeeName,");
|
|
strSql.Append("FeeDescription,CustomerType,CustomerName,");
|
|
strSql.Append("Unit,UnitPrice,Quantity,TaxRate,TaxUnitPrice,NoTaxAmount,Amount,AccTaxRate,Currency,ExChangerate,ch_fee.Reason");
|
|
strSql.Append(",Remark,Commissionrate,Settlement,Invoice,OrderAmount,OrderInvoice,SubmitDate");
|
|
strSql.Append(",Auditoperator,AuditDate,EnteroPerator,EnterDate,DebitNo,IsDebit,IsOpen");
|
|
strSql.Append(",(select ShowName from [user] where GID=ch_fee.EnteroPerator) as OpName");
|
|
strSql.Append(",IsAdvancedpay,Sort,IsInvoice,FeeFrt,IsCrmOrderFee,AuditStatus,InvoiceNum");
|
|
strSql.Append(",ChequeNum,WmsOutBsNo,LineNum");
|
|
|
|
if (isAll == "1")
|
|
{
|
|
strSql.Append(",dbo.[GetUsingStep](wu.WORKFLOWID,wu.currentid,'" + userid + "',wu.stepno) as IsAudit ");
|
|
strSql.Append(" from ch_fee left join workflow_using wu on wu.bsno=ch_fee.GID ");
|
|
strSql.Append(" where ch_fee.GId='" + gid + "' ");
|
|
/*if (type != 0)
|
|
strSql.Append(" and ch_fee.FeeType=" + type);
|
|
strSql.Append(" and dbo.[GetUsingStep](wu.WORKFLOWID,wu.currentid,'" + userid + "',wu.stepno)>0 and (wu.WORKFLOWID=dbo.[GetBSNOWorkFlowID]('" + WorkFlowName + "',ch_fee.GID) or wu.WORKFLOWID=dbo.[GetBSNOWorkFlowID]('" + WorkFlowNameM + "',ch_fee.GID)) ");*/
|
|
|
|
}
|
|
else if (isAll == "2")
|
|
{
|
|
strSql.Append(",0 as IsAudit ");
|
|
strSql.Append(" from ch_fee ");
|
|
strSql.Append(" where ch_fee.GId='" + gid + "' ");
|
|
/*if (type != 0)
|
|
strSql.Append(" and ch_fee.FeeType=" + type);
|
|
strSql.Append(" and ch_fee.FeeStatus=0 AND ch_fee.GID IN (select distinct billno from workflow_do where auditor='" + userid + "' ) ");*/
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(",dbo.[GetUsingStep](wu.WORKFLOWID,wu.currentid,'" + userid + "',wu.stepno) as IsAudit ");
|
|
strSql.Append(" from ch_fee left join workflow_using wu on wu.bsno=ch_fee.GID and wu.FINISHED=0 ");
|
|
strSql.Append(" where ch_fee.GId='" + gid + "' ");
|
|
/*if (type != 0)
|
|
strSql.Append(" and ch_fee.FeeType=" + type);*/
|
|
|
|
}
|
|
|
|
strSql.Append(" order by sort,LineNum ");
|
|
return SetData(strSql);
|
|
}
|
|
|
|
private static List<MsChFee> SetData(StringBuilder strSql)
|
|
{
|
|
var bodyList = new List<MsChFee>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
|
|
while (reader.Read())
|
|
{
|
|
MsChFee data = new MsChFee();
|
|
#region Set DB data to Object
|
|
data.GId = Convert.ToString(reader["GId"]);
|
|
data.BsNo = Convert.ToString(reader["BsNo"]);
|
|
data.FeeStatus = Convert.ToInt16(reader["FeeStatus"]);
|
|
data.FeeStatus_Ref = Convert.ToString(reader["FeeStatus_Ref"]);
|
|
data.FeeType = Convert.ToDecimal(reader["FeeType"]);
|
|
data.FeeName = Convert.ToString(reader["FeeName"]);
|
|
data.FeeDescription = Convert.ToString(reader["FeeDescription"]);
|
|
data.CustomerType = Convert.ToString(reader["CustomerType"]);
|
|
data.CustomerName = Convert.ToString(reader["CustomerName"]);
|
|
data.Unit = Convert.ToString(reader["Unit"]);
|
|
if (reader["UnitPrice"] != DBNull.Value)
|
|
data.UnitPrice = Convert.ToDecimal(reader["UnitPrice"]);
|
|
if (reader["Quantity"] != DBNull.Value)
|
|
data.Quantity = Convert.ToDecimal(reader["Quantity"]);
|
|
if (reader["TaxRate"] != DBNull.Value)
|
|
data.TaxRate = Convert.ToDecimal(reader["TaxRate"]);
|
|
if (reader["TaxUnitPrice"] != DBNull.Value)
|
|
data.TaxUnitPrice = Convert.ToDecimal(reader["TaxUnitPrice"]);
|
|
if (reader["NoTaxAmount"] != DBNull.Value)
|
|
data.NoTaxAmount = Convert.ToDecimal(reader["NoTaxAmount"]);
|
|
data.Amount = Convert.ToDecimal(reader["Amount"]);
|
|
if (reader["AccTaxRate"] != DBNull.Value)
|
|
data.AccTaxRate = Convert.ToDecimal(reader["AccTaxRate"]);
|
|
data.Currency = Convert.ToString(reader["Currency"]);
|
|
if (reader["ExChangerate"] != DBNull.Value)
|
|
data.ExChangerate = Convert.ToDecimal(reader["ExChangerate"]);
|
|
data.Reason = Convert.ToString(reader["Reason"]);
|
|
data.Remark = Convert.ToString(reader["Remark"]);
|
|
data.Commissionrate = Convert.ToDecimal(reader["Commissionrate"]);
|
|
data.Settlement = Convert.ToDecimal(reader["Settlement"]);
|
|
if (reader["Invoice"] != DBNull.Value)
|
|
data.Invoice = Convert.ToDecimal(reader["Invoice"]);
|
|
data.OrderAmount = Convert.ToDecimal(reader["OrderAmount"]);
|
|
data.OrderInvoice = Convert.ToDecimal(reader["OrderInvoice"]);
|
|
if (reader["SubmitDate"] != DBNull.Value)
|
|
data.SubmitDate = Convert.ToDateTime(reader["SubmitDate"]);
|
|
data.Auditoperator = Convert.ToString(reader["Auditoperator"]);
|
|
if (reader["AuditDate"] != DBNull.Value)
|
|
data.AuditDate = Convert.ToDateTime(reader["AuditDate"]);
|
|
data.EnteroPerator = Convert.ToString(reader["EnteroPerator"]);
|
|
data.OpName = Convert.ToString(reader["OpName"]);
|
|
if (reader["EnterDate"] != DBNull.Value)
|
|
data.EnterDate = Convert.ToDateTime(reader["EnterDate"]);
|
|
data.DebitNo = Convert.ToString(reader["DebitNo"]);
|
|
data.IsDebit = Convert.ToString(reader["IsDebit"]);
|
|
data.IsOpen = Convert.ToString(reader["IsOpen"]);
|
|
data.IsAdvancedpay = Convert.ToString(reader["IsAdvancedpay"]);
|
|
data.Sort = Convert.ToString(reader["Sort"]);
|
|
data.IsInvoice = Convert.ToString(reader["IsInvoice"]);
|
|
data.FeeFrt = Convert.ToString(reader["FeeFrt"]);
|
|
data.IsCrmOrderFee = Convert.ToString(reader["IsCrmOrderFee"]);
|
|
data.AuditStatus = Convert.ToDecimal(reader["AuditStatus"]);
|
|
data.InvoiceNum = Convert.ToString(reader["InvoiceNum"]);
|
|
data.ChequeNum = Convert.ToString(reader["ChequeNum"]);
|
|
data.WmsOutBsNo = Convert.ToString(reader["WmsOutBsNo"]);
|
|
data.LineNum = Convert.ToDecimal(reader["LineNum"]);
|
|
if (reader["IsAudit"] != DBNull.Value)
|
|
data.IsAudit = Convert.ToString(reader["IsAudit"]);
|
|
#endregion
|
|
|
|
bodyList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
|
|
return bodyList;
|
|
}
|
|
|
|
public static string GetRangDAStr(int type, string optype, string userid, string username, string companyid)
|
|
{
|
|
|
|
string str = "";
|
|
string modustr = "";
|
|
if (type == 1)
|
|
{
|
|
if (optype == "op_seae")
|
|
{
|
|
modustr = "modRecvFeeManagement";
|
|
}
|
|
else if (optype == "op_apply")
|
|
{
|
|
modustr = "modApplyRecvFeeManagement";
|
|
|
|
}
|
|
else if (optype == "op_seai")
|
|
{
|
|
modustr = "modSeaiRecvFeeManagement";
|
|
|
|
}
|
|
else if (optype == "op_aire")
|
|
{
|
|
modustr = "modAireRecvFeeManagement";
|
|
|
|
}
|
|
else if (optype == "op_airi")
|
|
{
|
|
modustr = "modAiriRecvFeeManagement";
|
|
|
|
}
|
|
|
|
else if (optype == "op_other" || optype == "tMsWlPcHead")
|
|
{
|
|
modustr = "modOtherRecvFeeManagement";
|
|
|
|
}
|
|
else if (optype == "op_bulk")
|
|
{
|
|
modustr = "modBulkRecvFeeManagement";
|
|
|
|
}
|
|
else if (optype == "op_railway")
|
|
{
|
|
modustr = "modRailwayRecvFeeManagement";
|
|
|
|
}
|
|
else if (optype == "import_main")
|
|
{
|
|
modustr = "modImportTrade";
|
|
}
|
|
|
|
}
|
|
else if (type == 2)
|
|
{
|
|
if (optype == "op_seae")
|
|
{
|
|
modustr = "modPayFeeManagement";
|
|
}
|
|
else if (optype == "op_apply")
|
|
{
|
|
|
|
modustr = "modApplyPayFeeManagement";
|
|
}
|
|
else if (optype == "op_seai")
|
|
{
|
|
|
|
modustr = "modSeaiPayFeeManagement";
|
|
}
|
|
else if (optype == "op_aire")
|
|
{
|
|
|
|
modustr = "modAirePayFeeManagement";
|
|
}
|
|
|
|
else if (optype == "op_airi")
|
|
{
|
|
|
|
modustr = "modAiriPayFeeManagement";
|
|
}
|
|
|
|
else if (optype == "op_other" || optype == "tMsWlPcHead")
|
|
{
|
|
modustr = "modOtherPayFeeManagement";
|
|
|
|
}
|
|
else if (optype == "op_bulk")
|
|
{
|
|
modustr = "modBulkPayFeeManagement";
|
|
|
|
}
|
|
else if (optype == "op_railway")
|
|
{
|
|
modustr = "modRailwayPayFeeManagement";
|
|
|
|
}
|
|
else if (optype == "import_main")
|
|
{
|
|
modustr = "modImportTrade";
|
|
}
|
|
}
|
|
|
|
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 = " ENTEROPERATOR='" + userid + "'";
|
|
}
|
|
else if (visiblerange == "3")
|
|
{
|
|
str = " ENTEROPERATOR='" + userid + "'";
|
|
}
|
|
else if (visiblerange == "2")
|
|
{
|
|
var rangeDa = new RangeDA();
|
|
var deptname = rangeDa.GetDEPTNAME(userid);
|
|
str = " ENTEROPERATOR in (select USERID from user_company where COMPANYID='" + companyid + "') and ENTEROPERATOR in (select userid from user_baseinfo where DEPTNAME='" + deptname + "')";
|
|
}
|
|
else if (visiblerange == "1")
|
|
{
|
|
str = " ENTEROPERATOR in (select USERID from user_company where COMPANYID='" + companyid + "') ";
|
|
}
|
|
else if (visiblerange == "0")
|
|
{
|
|
str = " 1=1 ";
|
|
}
|
|
|
|
return str;
|
|
}
|
|
|
|
}
|
|
}
|