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

4224 lines
190 KiB
C#

3 years ago
using System;
using System.Data;
using System.Collections.Generic;
using System.Text;
using DSWeb.MvcShipping.Models.MsInfoClient;
using DSWeb.MvcShipping.Models.MsInfoClientContact;
using DSWeb.MvcShipping.Models.MsInfoContract;
using DSWeb.MvcShipping.Models.MsInfoShipper;
using DSWeb.MvcShipping.Models.MsCompanysDept;
using Microsoft.Practices.EnterpriseLibrary.Data;
using DSWeb.Areas.CommMng.Models;
using HcUtility.Comm;
using DSWeb.TruckMng.Comm.Cookie;
using DSWeb.EntityDA;
using DSWeb.Areas.TruckMng.Models;
using System.Web;
using System.Data.SqlClient;
using System.IO;
using WebSqlHelper;
using DSWeb.Areas.CommMng.DAL;
using System.Text.RegularExpressions;
using System.Linq;
using System.Data.Common;
using DSWeb.MvcShipping.DAL.MsSysParamSet;
using DSWeb.Common.DB;
using DSWeb.MvcShipping.Helper;
2 years ago
using DSWeb.SoftMng.Model;
using DSWeb.SysMng.DAL.SysRoleTaskQuery;
using javax.xml.crypto;
using System.Web.UI.WebControls;
using com.sun.org.apache.xml.@internal.resolver.helpers;
1 year ago
using MimeKit;
using DSWeb.MvcShipping.Models.WMSNew;
using NPOI.SS.Formula.Functions;
using System.Data.Entity.Migrations;
using DSWeb.MvcShipping.Models.MsChFee;
using NPOI.OpenXmlFormats.Dml;
using DSWeb.Areas.OA.Models.ChfeeList;
using DSWeb.Areas.MvcShipping.Helper;
using Quartz.Util;
3 years ago
namespace DSWeb.MvcShipping.DAL.MsInfoClient
{
public class MsInfoClientDAL: IGetTotalCount
3 years ago
{
#region BillNoSet
2 years ago
static public List<MsClient> GetDataList(int start, int limit, string strCondition, string userid, string username, string companyid, string sort = null)
3 years ago
{
SysRoleTaskQueryDAL.SaveQuery(userid, "modExchangesUnit", "formInfoClientIndex", strCondition);
2 years ago
var rangstr = GetRangDAStr("index", userid, username, companyid);
2 years ago
3 years ago
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
2 years ago
3 years ago
var strSql = new StringBuilder();
strSql.Append(@"SELECT * from (SELECT row_number() over (");
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
sortstring = sortstring.Replace("ACCREMARK", " (SELECT TOP 1 REMARK FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID order by BGNDATE DESC) ");
sortstring = sortstring.Replace("ACCTYPE", " (SELECT TOP 1 ACCTYPE FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ");
sortstring = sortstring.Replace("ACCMONTH", " (SELECT TOP 1 ACCMONTH FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ");
sortstring = sortstring.Replace("ALLOWAMOUNT", " (SELECT TOP 1 ALLOWAMOUNT FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ");
sortstring = sortstring.Replace("BLSTATUSREF", " BLSTATUS ");
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by CODENAME desc");
}
strSql.Append(@") as num , ");
strSql.Append("[GID],[CODENAME],[SHORTNAME],[DESCRIPTION],[EnFullName],[STATUS],[ADDR],[EMAIL],[WEB]");
strSql.Append(",(SELECT TOP 1 ACCTYPE FROM Info_Client_ACCDATE WHERE ENDDATE>=GETDATE() AND LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ACCTYPE,(SELECT TOP 1 ACCDAYS FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ACCDAYS");
strSql.Append(",[TEL],[FAX],[CHIEF],[SALE],[OP],[DOC],[ISCARRIER],[ISBOOKING],[ISYARD],[ISTRUCK],[ISCONTROLLER]");
strSql.Append(",[ISCUSTOM],[ISAGENT],[ISAGENTCN],[ISEXPRESS],[ISAIRLINES],[ISSHIPPER],[ISCONSIGNEE],[ISNOTIFYPARTY]");
strSql.Append(",[ISWAREHOUSE],[COUNTRY],[PROVINCE],[CITY],[CORPID],[BLCONTENT],[ISSTOP],[BillRises1],[BillRises2],INVBANK,INVADDRTEL");
strSql.Append(",[USDBillRises],[RMBBillRises],[USDMaxAmountCredit],[RMBMaxAmountCredit],[MaxAmountCredit],[STLNAME]");
strSql.Append(",[OPNAME],[OPTIME],[REMARK],[USDExchangeRate],[STLDATE],[STLFIRSTHALFDATE],[STLMIDDLEDATE],[STLDATEPJ]");
strSql.Append(",[LEVEL],[LOGINNAME],[LOGINPASSWORD],[QQ],[MSN],[MODIFIEDUSER],[MODIFIEDTIME],[ISWHARF],[ISSHIPPINGAGENT]");
strSql.Append(",[FARCODE],[FAPCODE],[ISINSURE],[ISLEASING],[ISTRADINGAGENCY],[ISOTHER],[OTHERS],[UNITPRICE],[REGISTRATIONNO]");
strSql.Append(",[ORDERNO],[ISENTERP],[TAXNO],[EDICODE],[EDICODE2],[EDICODE3],[ORGANIZATIONCODE],CODENAME + '-' + SHORTNAME AS CodeAndName");
strSql.Append(",PCORPNAME,InspectionNo,[ISSHIPAGENCY],ISSP,FEEFRT,BSSOURCE,BLSTATUS,SALECORPID,TICHENG,FENCHENG,TICHENGCANYU");
strSql.Append(",(select EnumValueName from tSysEnumValue where enumtypeid=99024 and enumvalueid=blstatus) BLSTATUSREF");
strSql.Append(",RCVMode,[CUSTTYPE],[CUSTGUIMO],[CUSTCLASS],[QUALIFICATION],[REGDATE],[CARGOL],[PRODUCT],[EXPREGION],[CARRIERLIST],[CTNTYPE],[CUSTNUM],[NATURE]");
strSql.Append(",(SELECT TOP 1 REMARK FROM Info_Client_ACCDATE WHERE ENDDATE>=GETDATE() AND LINKGID=info_client.GID order by BGNDATE DESC) ACCREMARK");
strSql.Append(",(SELECT TOP 1 ACCMONTH FROM Info_Client_ACCDATE WHERE ENDDATE>=GETDATE() AND LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ACCMONTH");
strSql.Append(",(SELECT TOP 1 ALLOWAMOUNT FROM Info_Client_ACCDATE WHERE ENDDATE>=GETDATE() AND LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ALLOWAMOUNT");
strSql.Append(",case WHEN BLSTATUS=0 THEN '合作客户' else '潜在客户' end CUSTPROP");
strSql.Append(",(select showname from [user] where gid=info_client.MODIFIEDUSER) MODIFIEDUSERREF ");
2 years ago
strSql.Append(",RANGETYPE ");
1 year ago
strSql.Append(" from info_client WITH (NOLOCK) where 1=1 ");
3 years ago
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" and " + 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, userid);
}
static public List<MsClient> GetDataListAll(string strCondition, string userid, string usercode, string companyid, string sort = null)
{
3 years ago
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
var strSql = new StringBuilder();
strSql.Append("SELECT [GID],[CODENAME],[SHORTNAME],[DESCRIPTION],[EnFullName],[STATUS],[ADDR],[EMAIL],[WEB],(SELECT TOP 1 ACCTYPE FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ACCTYPE,(SELECT TOP 1 ACCDAYS FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ACCDAYS");
strSql.Append(",[TEL],[FAX],[CHIEF],[SALE],[OP],[DOC],[ISCARRIER],[ISBOOKING],[ISYARD],[ISTRUCK],[ISCONTROLLER]");
strSql.Append(",[ISCUSTOM],[ISAGENT],[ISAGENTCN],[ISEXPRESS],[ISAIRLINES],[ISSHIPPER],[ISCONSIGNEE],[ISNOTIFYPARTY]");
strSql.Append(",[ISWAREHOUSE],[COUNTRY],[PROVINCE],[CITY],[CORPID],[BLCONTENT],[ISSTOP],[BillRises1],[BillRises2],INVBANK,INVADDRTEL");
strSql.Append(",[USDBillRises],[RMBBillRises],[USDMaxAmountCredit],[RMBMaxAmountCredit],[MaxAmountCredit],[STLNAME]");
strSql.Append(",[OPNAME],[OPTIME],[REMARK],[USDExchangeRate],[STLDATE],[STLFIRSTHALFDATE],[STLMIDDLEDATE],[STLDATEPJ]");
strSql.Append(",[LEVEL],[LOGINNAME],[LOGINPASSWORD],[QQ],[MSN],[MODIFIEDUSER],[MODIFIEDTIME],[ISWHARF],[ISSHIPPINGAGENT]");
strSql.Append(",[FARCODE],[FAPCODE],[ISINSURE],[ISLEASING],[ISTRADINGAGENCY],[ISOTHER],[OTHERS],[UNITPRICE],[REGISTRATIONNO]");
strSql.Append(",[ORDERNO],[ISENTERP],[TAXNO],[EDICODE],[EDICODE2],[EDICODE3],[ORGANIZATIONCODE],CODENAME + '-' + SHORTNAME AS CodeAndName");
strSql.Append(",PCORPNAME,InspectionNo,[ISSHIPAGENCY],ISSP,FEEFRT,BSSOURCE,BLSTATUS,SALECORPID,TICHENG,FENCHENG,TICHENGCANYU");
strSql.Append(",(select EnumValueName from tSysEnumValue where enumtypeid=99024 and enumvalueid=blstatus) BLSTATUSREF");
strSql.Append(",RCVMode,[CUSTTYPE],[CUSTGUIMO],[CUSTCLASS],[QUALIFICATION],[REGDATE],[CARGOL],[PRODUCT],[EXPREGION],[CARRIERLIST],[CTNTYPE],[CUSTNUM],[NATURE]");
strSql.Append(",(SELECT TOP 1 REMARK FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID order by BGNDATE DESC) ACCREMARK");
strSql.Append(",(SELECT TOP 1 ACCMONTH FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ACCMONTH");
strSql.Append(",(SELECT TOP 1 ALLOWAMOUNT FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ALLOWAMOUNT");
strSql.Append(",case WHEN BLSTATUS=0 THEN '合作客户' else '潜在客户' end CUSTPROP");
strSql.Append(",(select showname from [user] where gid=info_client.MODIFIEDUSER) MODIFIEDUSERREF ");
2 years ago
strSql.Append(",RANGETYPE ");
3 years ago
strSql.Append(" from info_client where 1=1 ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" and " + strCondition);
}
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by CODENAME desc");
}
return SetData(strSql);
}
public static int getTotalCount(string strCondition, string userid, string usercode, string companyid)
{
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(*) ");
1 year ago
strSql.Append(" from info_client WITH (NOLOCK) where 1=1 ");
3 years ago
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" and " + 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;
}
public int GetTotalCount(string strCondition, string userid, string usercode, string companyid)
{
try
{
return getTotalCount(strCondition, userid, usercode, companyid);
}
catch (Exception e) {
return 0;
}
}
3 years ago
static public string GetDataListStr(string strCondition, string userid, string usercode, string companyid, string sort = null)
{
var rangstr = GetRangDAStr("index", userid, usercode, companyid);
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
var strSql = new StringBuilder();
strSql.Append("SELECT [GID],[CODENAME],[SHORTNAME],[DESCRIPTION],[EnFullName],[STATUS],[ADDR],[EMAIL],[WEB],(SELECT TOP 1 ACCTYPE FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ACCTYPE,(SELECT TOP 1 ACCDAYS FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ACCDAYS");
strSql.Append(",[TEL],[FAX],[CHIEF],[SALE],[OP],[DOC],[ISCARRIER],[ISBOOKING],[ISYARD],[ISTRUCK],[ISCONTROLLER]");
strSql.Append(",[ISCUSTOM],[ISAGENT],[ISAGENTCN],[ISEXPRESS],[ISAIRLINES],[ISSHIPPER],[ISCONSIGNEE],[ISNOTIFYPARTY]");
strSql.Append(",[ISWAREHOUSE],[COUNTRY],[PROVINCE],[CITY],[CORPID],[BLCONTENT],[ISSTOP],[BillRises1],[BillRises2],INVBANK,INVADDRTEL");
strSql.Append(",[USDBillRises],[RMBBillRises],[USDMaxAmountCredit],[RMBMaxAmountCredit],[MaxAmountCredit],[STLNAME]");
strSql.Append(",[OPNAME],[OPTIME],[REMARK],[USDExchangeRate],[STLDATE],[STLFIRSTHALFDATE],[STLMIDDLEDATE],[STLDATEPJ]");
strSql.Append(",[LEVEL],[LOGINNAME],[LOGINPASSWORD],[QQ],[MSN],[MODIFIEDUSER],[MODIFIEDTIME],[ISWHARF],[ISSHIPPINGAGENT]");
strSql.Append(",[FARCODE],[FAPCODE],[ISINSURE],[ISLEASING],[ISTRADINGAGENCY],[ISOTHER],[OTHERS],[UNITPRICE],[REGISTRATIONNO]");
strSql.Append(",[ORDERNO],[ISENTERP],[TAXNO],[EDICODE],[EDICODE2],[EDICODE3],[ORGANIZATIONCODE],CODENAME + '-' + SHORTNAME AS CodeAndName");
strSql.Append(",PCORPNAME,InspectionNo,[ISSHIPAGENCY],ISSP,FEEFRT,BSSOURCE,BLSTATUS,SALECORPID,TICHENG,FENCHENG,TICHENGCANYU");
strSql.Append(",(select EnumValueName from tSysEnumValue where enumtypeid=99024 and enumvalueid=blstatus) BLSTATUSREF");
strSql.Append(",RCVMode,[CUSTTYPE],[CUSTGUIMO],[CUSTCLASS],[QUALIFICATION],[REGDATE],[CARGOL],[PRODUCT],[EXPREGION],[CARRIERLIST],[CTNTYPE],[CUSTNUM],[NATURE]");
strSql.Append(",(SELECT TOP 1 REMARK FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID order by BGNDATE DESC) ACCREMARK");
strSql.Append(",(SELECT TOP 1 ACCMONTH FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ACCMONTH");
strSql.Append(",(SELECT TOP 1 ALLOWAMOUNT FROM Info_Client_ACCDATE WHERE LINKGID=info_client.GID ORDER BY MODIFIEDTIME DESC) ALLOWAMOUNT");
strSql.Append(",case WHEN BLSTATUS=0 THEN '合作客户' else '潜在客户' end CUSTPROP");
strSql.Append(",(select showname from [user] where gid=info_client.MODIFIEDUSER) MODIFIEDUSERREF ");
strSql.Append(",RANGETYPE,''CONTRACTDATE, '' CONTRACTSTATUS");
3 years ago
strSql.Append(" from info_client where 1=1 ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" and " + strCondition);
}
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by CODENAME ");
}
return strSql.ToString();
}
static public MsClient GetData(string condition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT [GID],[CODENAME],[SHORTNAME],[DESCRIPTION],[EnFullName],[STATUS],[ADDR],[EMAIL],[WEB]");
strSql.Append(",[TEL],[FAX],[CHIEF],[SALE],[OP],[DOC],[ISCARRIER],[ISBOOKING],[ISYARD],[ISTRUCK],[ISCONTROLLER]");
strSql.Append(",[ISCUSTOM],[ISAGENT],[ISAGENTCN],[ISEXPRESS],[ISAIRLINES],[ISSHIPPER],[ISCONSIGNEE],[ISNOTIFYPARTY]");
strSql.Append(",[ISWAREHOUSE],[COUNTRY],[PROVINCE],[CITY],[CORPID],[BLCONTENT],[ISSTOP],[BillRises1],[BillRises2],INVBANK,INVADDRTEL");
strSql.Append(",[USDBillRises],[RMBBillRises],[USDMaxAmountCredit],[RMBMaxAmountCredit],[MaxAmountCredit],[STLNAME]");
strSql.Append(",[OPNAME],[OPTIME],[REMARK],[USDExchangeRate],[STLDATE],[STLFIRSTHALFDATE],[STLMIDDLEDATE],[STLDATEPJ]");
strSql.Append(",[LEVEL],[LOGINNAME],[LOGINPASSWORD],[QQ],[MSN],[MODIFIEDUSER],[MODIFIEDTIME],[ISWHARF],[ISSHIPPINGAGENT]");
strSql.Append(",[FARCODE],[FAPCODE],[ISINSURE],[ISLEASING],[ISTRADINGAGENCY],[ISOTHER],[OTHERS],[UNITPRICE],[REGISTRATIONNO]");
strSql.Append(",[ORDERNO],[ISENTERP],[TAXNO],[EDICODE],[EDICODE2],[EDICODE3],[ORGANIZATIONCODE],CODENAME + '-' + SHORTNAME AS CodeAndName");
strSql.Append(",PCORPNAME,InspectionNo,ISSHIPAGENCY,ISSP,FEEFRT,BSSOURCE,BLSTATUS,SALECORPID,TICHENG,FENCHENG,TICHENGCANYU");
strSql.Append(",(select EnumValueName from tSysEnumValue where enumtypeid=99024 and enumvalueid=blstatus) BLSTATUSREF");
strSql.Append(",RCVMode,'' ACCREMARK,'' ACCMONTH,'' ALLOWAMOUNT");
strSql.Append(",[CUSTTYPE],[CUSTGUIMO],[CUSTCLASS],[QUALIFICATION],[REGDATE],[CARGOL],[PRODUCT],[EXPREGION],[CARRIERLIST],[CTNTYPE],[CUSTNUM],[NATURE]");
strSql.Append(",case WHEN BLSTATUS=0 THEN '合作客户' else '潜在客户' end CUSTPROP");
strSql.Append(",(select showname from [user] where gid=info_client.MODIFIEDUSER) MODIFIEDUSERREF ");
2 years ago
strSql.Append(",RANGETYPE ");
3 years ago
strSql.Append(" from info_client where 1=1 ");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" and " + condition);
}
var list = SetData(strSql);
if (list.Count > 0)
return list[0];
return new MsClient();
}
private static List<MsClient> SetData(StringBuilder strSql,string USERID="")
{
var headList = new List<MsClient>();
Database db = DatabaseFactory.CreateDatabase();
var contractrangstr = "";
var ContractList = GetContractDataList("", null, USERID);
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsClient data = new MsClient();
#region Set DB data to Object
reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'ACCTYPE'";
if (reader.GetSchemaTable().DefaultView.Count > 0)
{
data.ACCTYPE = Convert.ToString(reader["ACCTYPE"]);
data.ACCDAYS = Convert.ToString(reader["ACCDAYS"]);
data.ACCMONTH = Convert.ToString(reader["ACCMONTH"]);
if (data.ACCTYPE == "") data.ACCTYPE = "现结买单";
data.ALLOWAMOUNT = Convert.ToString(reader["ALLOWAMOUNT"]);
}
data.GID = Convert.ToString(reader["GID"]);
data.PCORPNAME = Convert.ToString(reader["PCORPNAME"]);
data.CODENAME = Convert.ToString(reader["CODENAME"]);
data.SHORTNAME = Convert.ToString(reader["SHORTNAME"]);
data.CodeAndName = Convert.ToString(reader["CodeAndName"]);
data.DESCRIPTION = Convert.ToString(reader["DESCRIPTION"]);
data.ENFULLNAME = Convert.ToString(reader["ENFULLNAME"]);
data.STATUS = Convert.ToInt16(reader["STATUS"]);
data.ADDR = Convert.ToString(reader["ADDR"]);
data.EMAIL = Convert.ToString(reader["EMAIL"]);
data.WEB = Convert.ToString(reader["WEB"]);
data.TEL = Convert.ToString(reader["TEL"]);
data.FAX = Convert.ToString(reader["FAX"]);
data.CHIEF = Convert.ToString(reader["CHIEF"]);
data.OP = Convert.ToString(reader["OP"]);
data.DOC = Convert.ToString(reader["DOC"]);
data.SALE = Convert.ToString(reader["SALE"]);
data.OPNAME = Convert.ToString(reader["OPNAME"]);
data.OPTIME = Convert.ToString(reader["OPTIME"]);
data.CORPID = Convert.ToString(reader["CORPID"]);
data.SALECORPID = Convert.ToString(reader["SALECORPID"]);
data.OTHERS = Convert.ToString(reader["OTHERS"]);
if (reader["STATUS"] != DBNull.Value)
data.STATUS = Convert.ToInt16(reader["STATUS"]);//状态1
data.COUNTRY = Convert.ToString(reader["COUNTRY"]);
data.PROVINCE = Convert.ToString(reader["PROVINCE"]);
data.CITY = Convert.ToString(reader["CITY"]);
data.BLCONTENT = Convert.ToString(reader["BLCONTENT"]);
data.BILLRISES1 = Convert.ToString(reader["BILLRISES1"]);
data.BILLRISES2 = Convert.ToString(reader["BILLRISES2"]);
data.INVBANK = Convert.ToString(reader["INVBANK"]);
data.INVADDRTEL = Convert.ToString(reader["INVADDRTEL"]);
data.RMBBILLRISES = Convert.ToString(reader["RMBBILLRISES"]);
data.USDBILLRISES = Convert.ToString(reader["USDBILLRISES"]);
if (reader["USDMAXAMOUNTCREDIT"] != DBNull.Value)
data.USDMAXAMOUNTCREDIT = Convert.ToDecimal(reader["USDMAXAMOUNTCREDIT"]);//状态1
if (reader["RMBMAXAMOUNTCREDIT"] != DBNull.Value)
data.RMBMAXAMOUNTCREDIT = Convert.ToDecimal(reader["RMBMAXAMOUNTCREDIT"]);//状态1
if (reader["MAXAMOUNTCREDIT"] != DBNull.Value)
data.MAXAMOUNTCREDIT = Convert.ToDecimal(reader["MAXAMOUNTCREDIT"]);//状态1
data.STLNAME = Convert.ToString(reader["STLNAME"]);
data.REMARK = Convert.ToString(reader["REMARK"]);
data.ACCREMARK = Convert.ToString(reader["ACCREMARK"]);
data.STLDATE = Convert.ToString(reader["STLDATE"]);
if (reader["USDEXCHANGERATE"] != DBNull.Value)
data.USDEXCHANGERATE = Convert.ToDecimal(reader["USDEXCHANGERATE"]);//状态1
data.STLFIRSTHALFDATE = Convert.ToString(reader["STLFIRSTHALFDATE"]);
data.STLMIDDLEDATE = Convert.ToString(reader["STLMIDDLEDATE"]);
data.STLDATEPJ = Convert.ToString(reader["STLDATEPJ"]);
data.LEVEL = Convert.ToString(reader["LEVEL"]);
data.LOGINNAME = Convert.ToString(reader["LOGINNAME"]);
data.LOGINPASSWORD = Convert.ToString(reader["LOGINPASSWORD"]);
data.QQ = Convert.ToString(reader["QQ"]);
data.MSN = Convert.ToString(reader["MSN"]);
data.FARCODE = Convert.ToString(reader["FARCODE"]);
data.FAPCODE = Convert.ToString(reader["FAPCODE"]);
data.UNITPRICE = Convert.ToString(reader["UNITPRICE"]);
data.REGISTRATIONNO = Convert.ToString(reader["REGISTRATIONNO"]);
data.TAXNO = Convert.ToString(reader["TAXNO"]);
data.InspectionNo = Convert.ToString(reader["InspectionNo"]);
data.EDICODE = Convert.ToString(reader["EDICODE"]);
data.EDICODE2 = Convert.ToString(reader["EDICODE2"]);
data.EDICODE3 = Convert.ToString(reader["EDICODE3"]);
data.ORGANIZATIONCODE = Convert.ToString(reader["ORGANIZATIONCODE"]);
data.ORDERNO = Convert.ToString(reader["ORDERNO"]);
if (reader["ISCARRIER"] != DBNull.Value)
data.ISCARRIER = Convert.ToBoolean(reader["ISCARRIER"]);//状态
if (reader["ISBOOKING"] != DBNull.Value)
data.ISBOOKING = Convert.ToBoolean(reader["ISBOOKING"]);//状态
if (reader["ISYARD"] != DBNull.Value)
data.ISYARD = Convert.ToBoolean(reader["ISYARD"]);//状态
if (reader["ISTRUCK"] != DBNull.Value)
data.ISTRUCK = Convert.ToBoolean(reader["ISTRUCK"]);//状态
if (reader["ISCONTROLLER"] != DBNull.Value)
data.ISCONTROLLER = Convert.ToBoolean(reader["ISCONTROLLER"]);//状态
if (reader["ISCUSTOM"] != DBNull.Value)
data.ISCUSTOM = Convert.ToBoolean(reader["ISCUSTOM"]);//状态
if (reader["ISAGENT"] != DBNull.Value)
data.ISAGENT = Convert.ToBoolean(reader["ISAGENT"]);//状态
if (reader["ISAGENTCN"] != DBNull.Value)
data.ISAGENTCN = Convert.ToBoolean(reader["ISAGENTCN"]);//状态
if (reader["ISEXPRESS"] != DBNull.Value)
data.ISEXPRESS = Convert.ToBoolean(reader["ISEXPRESS"]);//状态
if (reader["ISAIRLINES"] != DBNull.Value)
data.ISAIRLINES = Convert.ToBoolean(reader["ISAIRLINES"]);//状态
if (reader["ISSHIPPER"] != DBNull.Value)
data.ISSHIPPER = Convert.ToBoolean(reader["ISSHIPPER"]);//状态
if (reader["ISCONSIGNEE"] != DBNull.Value)
data.ISCONSIGNEE = Convert.ToBoolean(reader["ISCONSIGNEE"]);//状态
if (reader["ISNOTIFYPARTY"] != DBNull.Value)
data.ISNOTIFYPARTY = Convert.ToBoolean(reader["ISNOTIFYPARTY"]);//状态
if (reader["ISWAREHOUSE"] != DBNull.Value)
data.ISWAREHOUSE = Convert.ToBoolean(reader["ISWAREHOUSE"]);//状态
if (reader["ISINSURE"] != DBNull.Value)
data.ISINSURE = Convert.ToBoolean(reader["ISINSURE"]);//状态
if (reader["ISLEASING"] != DBNull.Value)
data.ISLEASING = Convert.ToBoolean(reader["ISLEASING"]);//状态
if (reader["ISTRADINGAGENCY"] != DBNull.Value)
data.ISTRADINGAGENCY = Convert.ToBoolean(reader["ISTRADINGAGENCY"]);//状
if (reader["ISOTHER"] != DBNull.Value)
data.ISOTHER = Convert.ToBoolean(reader["ISOTHER"]);//状
if (reader["ISENTERP"] != DBNull.Value)
data.ISENTERP = Convert.ToBoolean(reader["ISENTERP"]);//状
if (reader["ISSTOP"] != DBNull.Value)
data.ISSTOP = Convert.ToBoolean(reader["ISSTOP"]);//状态1
if (reader["ISSHIPAGENCY"] != DBNull.Value)
data.ISSHIPAGENCY = Convert.ToBoolean(reader["ISSHIPAGENCY"]);//状
data.BLSTATUSREF = Convert.ToString(reader["BLSTATUSREF"]);
if (reader["ISSP"] != DBNull.Value)
data.ISSP = Convert.ToBoolean(reader["ISSP"]);//状
data.FEEFRT = Convert.ToString(reader["FEEFRT"]);
data.RCVMode = Convert.ToString(reader["RCVMode"]);
data.BSSOURCE = Convert.ToString(reader["BSSOURCE"]);
if (reader["TICHENG"] != DBNull.Value)
data.TICHENG = Convert.ToString(reader["TICHENG"]);//提成
if (reader["FENCHENG"] != DBNull.Value)
data.FENCHENG = Convert.ToString(reader["FENCHENG"]);//分成
data.TICHENGCANYU = Convert.ToString(reader["TICHENGCANYU"]);//分成
data.CUSTTYPE = Convert.ToString(reader["CUSTTYPE"]);//分成
data.CUSTGUIMO = Convert.ToString(reader["CUSTGUIMO"]);//分成
data.CUSTCLASS = Convert.ToString(reader["CUSTCLASS"]);//分成
data.QUALIFICATION = Convert.ToString(reader["QUALIFICATION"]);//分成
data.REGDATE = Convert.ToString(reader["REGDATE"]);//分成
data.CARGOL = Convert.ToString(reader["CARGOL"]);//分成
data.PRODUCT = Convert.ToString(reader["PRODUCT"]);//分成
data.EXPREGION = Convert.ToString(reader["EXPREGION"]);//分成
data.CARRIERLIST = Convert.ToString(reader["CARRIERLIST"]);//分成
data.CTNTYPE = Convert.ToString(reader["CTNTYPE"]);//分成
data.CUSTNUM = Convert.ToString(reader["CUSTNUM"]);//分成
data.NATURE = Convert.ToString(reader["NATURE"]);//分成
data.CUSTPROP = Convert.ToString(reader["CUSTPROP"]);//客户属性
data.MODIFIEDUSERREF = Convert.ToString(reader["MODIFIEDUSERREF"]);
if (reader["MODIFIEDTIME"] != DBNull.Value)
data.MODIFIEDTIME = Convert.ToDateTime(reader["MODIFIEDTIME"]).ToString("yyyy-MM-dd HH:mm:ss");
2 years ago
data.RANGETYPE = Convert.ToString(reader["RANGETYPE"]);
3 years ago
#endregion
data.SetContractStatus(ContractList);
headList.Add(data);
}
reader.Close();
}
return headList;
}
#endregion
#region 联系人
static public List<MsClientContact> GetContactDataList(string strCondition,string sort = null,string USERID="1")
{
var strSql = new StringBuilder();
strSql.Append("SELECT [GID],[LINKID],[CODENAME],[SHOWNAME],[ADDR],[EMAIL],[TEL],QQ,[FAX],[MOBILE]");
strSql.Append(",[ISFINANCIALSTAFF],[ISOPERATOR],[ISSALEMAN],[ISOTHER],[ISINSURANCE],[CREATEUSER],[CREATETIME]");
strSql.Append(" ,[ISSTOP],[ISDELETED],[REMARK],[ANNIVERSARY2],[AREMARK2],[BIRTHDAY],[ANNIVERSARY1] ");
strSql.Append(" ,[AREMARK1],[ISBIRTHDAY],[ISANNIVERSARY1],[ISANNIVERSARY2],[BIRTHDAYDAY],[ANNIVERSARYDAY1]");
strSql.Append(" ,[ANNIVERSARYDAY2],[JOB],[SEX],[AGE],[MARRY],[CHILDREN],[HOBBIES],ISDUI");
strSql.Append(",(select filename from info_files where pid=info_client_contact.gid) PICURL");
strSql.Append(" from info_client_contact where 1=1 ");
var rangstr = "";
if (USERID == "1") rangstr = "1=2";
else
{
rangstr=BasicDataRefDAL.GetVisableRange("modInfoClinet_info", USERID, "", "CREATEUSER");
}
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" and " + strCondition);
}
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by CODENAME");
}
return SetContactData(strSql);
}
static public MsClientContact GetContactData(string condition,string userid)
{
MsClientContact data = null;
var list = GetContactDataList(condition,"", userid);
if (list.Count > 0)
data = list[0];
if (data == null)
{
data = new MsClientContact();
}
return data;
}
private static List<MsClientContact> SetContactData(StringBuilder strSql)
{
var headList = new List<MsClientContact>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsClientContact data = new MsClientContact();
#region Set DB data to Object
data.GID = Convert.ToString(reader["GID"]);
data.LINKID = Convert.ToString(reader["LINKID"]);
data.CODENAME = Convert.ToString(reader["CODENAME"]);
data.SHOWNAME = Convert.ToString(reader["SHOWNAME"]);
data.ADDR = Convert.ToString(reader["ADDR"]);
data.EMAIL = Convert.ToString(reader["EMAIL"]);
data.MOBILE = Convert.ToString(reader["MOBILE"]);
data.TEL = Convert.ToString(reader["TEL"]);
data.QQ = Convert.ToString(reader["QQ"]);
data.FAX = Convert.ToString(reader["FAX"]);
data.JOB = Convert.ToString(reader["JOB"]);
data.SEX = Convert.ToString(reader["SEX"]);
data.AGE = Convert.ToString(reader["AGE"]);
data.MARRY = Convert.ToString(reader["MARRY"]);
data.CHILDREN = Convert.ToString(reader["CHILDREN"]);
data.HOBBIES = Convert.ToString(reader["HOBBIES"]);
if (reader["ISFINANCIALSTAFF"] != DBNull.Value)
data.ISFINANCIALSTAFF = Convert.ToBoolean(reader["ISFINANCIALSTAFF"]);//状态1
if (reader["ISOPERATOR"] != DBNull.Value)
data.ISOPERATOR = Convert.ToBoolean(reader["ISOPERATOR"]);//状态1
if (reader["ISSALEMAN"] != DBNull.Value)
data.ISSALEMAN = Convert.ToBoolean(reader["ISSALEMAN"]);//状态1
if (reader["ISSTOP"] != DBNull.Value)
data.ISSTOP = Convert.ToBoolean(reader["ISSTOP"]);//状态1
if (reader["ISINSURANCE"] != DBNull.Value)
data.ISINSURANCE = Convert.ToBoolean(reader["ISINSURANCE"]);//状态1
if (reader["ISDUI"] != DBNull.Value)
data.ISDUI = Convert.ToBoolean(reader["ISDUI"]);//状态1
data.REMARK = Convert.ToString(reader["REMARK"]);
data.BIRTHDAY = Convert.ToString(reader["BIRTHDAY"]);
if (reader["ISBIRTHDAY"] != DBNull.Value)
data.ISBIRTHDAY = Convert.ToBoolean(reader["ISBIRTHDAY"]);//状态1
if (reader["BIRTHDAYDAY"] != DBNull.Value)
data.BIRTHDAYDAY = Convert.ToInt16(reader["BIRTHDAYDAY"]);//状态1
data.ANNIVERSARY1 = Convert.ToString(reader["ANNIVERSARY1"]);
if (reader["ISANNIVERSARY1"] != DBNull.Value)
data.ISANNIVERSARY1 = Convert.ToBoolean(reader["ISANNIVERSARY1"]);//状态1
if (reader["ANNIVERSARYDAY1"] != DBNull.Value)
data.ANNIVERSARYDAY1 = Convert.ToInt16(reader["ANNIVERSARYDAY1"]);//状态1
data.ANNIVERSARY2 = Convert.ToString(reader["ANNIVERSARY2"]);
if (reader["ISANNIVERSARY2"] != DBNull.Value)
data.ISANNIVERSARY2 = Convert.ToBoolean(reader["ISANNIVERSARY2"]);//状态1
if (reader["ANNIVERSARYDAY2"] != DBNull.Value)
data.ANNIVERSARYDAY2 = Convert.ToInt16(reader["ANNIVERSARYDAY2"]);//状态1
data.PICURL = Convert.ToString(reader["PICURL"]);
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
public static DBResult SaveContactDetail(string linkid,List<MsClientContact> bodyList, string userid,string companyid)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdInsert =
db.GetSqlStringCommand(
@"insert into info_client_contact ([GID],[LINKID],[CODENAME],[SHOWNAME],[ADDR],[EMAIL],[TEL],QQ,[FAX],[MOBILE]
,[ISFINANCIALSTAFF],[ISOPERATOR],[ISSALEMAN],[ISOTHER],[CREATEUSER],[CREATETIME],[ISSTOP],[REMARK],[ANNIVERSARY2],
[AREMARK2],[BIRTHDAY],[ANNIVERSARY1],[AREMARK1],[ISBIRTHDAY],[ISANNIVERSARY1],[ISANNIVERSARY2],[BIRTHDAYDAY],[ANNIVERSARYDAY1]
,[ANNIVERSARYDAY2],[JOB],[SEX],[AGE],[MARRY],[CHILDREN],[HOBBIES])
values (@GID,@LINKID,@CODENAME,@SHOWNAME,@ADDR,@EMAIL,@TEL,@QQ,@FAX,@MOBILE
,@ISFINANCIALSTAFF,@ISOPERATOR,@ISSALEMAN,@ISOTHER,@CREATEUSER,@CREATETIME,@ISSTOP,@REMARK,@ANNIVERSARY2,
@AREMARK2,@BIRTHDAY,@ANNIVERSARY1,@AREMARK1,@ISBIRTHDAY,@ISANNIVERSARY1,@ISANNIVERSARY2,@BIRTHDAYDAY,@ANNIVERSARYDAY1
,@ANNIVERSARYDAY2,@JOB,@SEX,@AGE,@MARRY,@CHILDREN,@HOBBIES) ");
var cmdUpdate =
db.GetSqlStringCommand(
@"update info_client_contact set LINKID=@LINKID,CODENAME=@CODENAME,SHOWNAME=@SHOWNAME,ADDR=@ADDR,EMAIL=@EMAIL,TEL=@TEL,QQ=@QQ,FAX=@FAX,MOBILE=@MOBILE
,ISFINANCIALSTAFF=@ISFINANCIALSTAFF,ISOPERATOR=@ISOPERATOR,ISSALEMAN=@ISSALEMAN,ISOTHER=@ISOTHER,CREATEUSER=@CREATEUSER,CREATETIME=@CREATETIME
,ISSTOP@ISSTOP,REMARK=@REMARK,ANNIVERSARY2=@ANNIVERSARY2,AREMARK2=@AREMARK2,BIRTHDAY=@BIRTHDAY,ANNIVERSARY1=@ANNIVERSARY1
,AREMARK1=@AREMARK1,ISBIRTHDAY=@ISBIRTHDAY,ISANNIVERSARY1=@ISANNIVERSARY1,ISANNIVERSARY2=@ISANNIVERSARY2,BIRTHDAYDAY=@BIRTHDAYDAY,
ANNIVERSARYDAY1=@ANNIVERSARYDAY1,ANNIVERSARYDAY2=@ANNIVERSARYDAY2,JOB=@JOB,SEX=@SEX,AGE=@AGE,MARRY=@MARRY,CHILDREN=@CHILDREN,HOBBIES=@HOBBIES
where GID=@GID ");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
if (enumValue.GID == "*" || enumValue.GID == "")
{
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString());
db.AddInParameter(cmdInsert, "@LINKID", DbType.String, linkid);
db.AddInParameter(cmdInsert, "@CODENAME", DbType.String, enumValue.CODENAME);
db.AddInParameter(cmdInsert, "@SHOWNAME", DbType.String, enumValue.SHOWNAME);
db.AddInParameter(cmdInsert, "@ADDR", DbType.String, enumValue.ADDR);
db.AddInParameter(cmdInsert, "@EMAIL", DbType.String, enumValue.EMAIL);
db.AddInParameter(cmdInsert, "@TEL", DbType.String, enumValue.TEL);
db.AddInParameter(cmdInsert, "@QQ", DbType.String, enumValue.QQ);
db.AddInParameter(cmdInsert, "@FAX", DbType.String, enumValue.FAX);
db.AddInParameter(cmdInsert, "@MOBILE", DbType.String, enumValue.MOBILE);
db.AddInParameter(cmdInsert, "@ISFINANCIALSTAFF", DbType.Boolean, enumValue.ISFINANCIALSTAFF);
db.AddInParameter(cmdInsert, "@ISOPERATOR", DbType.Boolean, enumValue.ISOPERATOR);
db.AddInParameter(cmdInsert, "@ISSALEMAN", DbType.Boolean, enumValue.ISSALEMAN);
db.AddInParameter(cmdInsert, "@ISOTHER", DbType.Boolean, enumValue.ISOTHER);
db.AddInParameter(cmdInsert, "@CREATEUSER", DbType.String, userid);
db.AddInParameter(cmdInsert, "@CREATETIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd"));
db.AddInParameter(cmdInsert, "@ISSTOP", DbType.Boolean, enumValue.ISSTOP);
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdInsert, "@ANNIVERSARY2", DbType.String, enumValue.ANNIVERSARY2);
db.AddInParameter(cmdInsert, "@AREMARK2", DbType.String, enumValue.AREMARK2);
db.AddInParameter(cmdInsert, "@BIRTHDAY", DbType.String, enumValue.BIRTHDAY);
db.AddInParameter(cmdInsert, "@ANNIVERSARY1", DbType.String, enumValue.ANNIVERSARY1);
db.AddInParameter(cmdInsert, "@AREMARK1", DbType.String, enumValue.AREMARK1);
db.AddInParameter(cmdInsert, "@ISBIRTHDAY", DbType.Boolean, enumValue.ISBIRTHDAY);
db.AddInParameter(cmdInsert, "@ISANNIVERSARY1", DbType.Boolean, enumValue.ISANNIVERSARY1);
db.AddInParameter(cmdInsert, "@ISANNIVERSARY2", DbType.Boolean, enumValue.ISANNIVERSARY2);
db.AddInParameter(cmdInsert, "@BIRTHDAYDAY", DbType.Int16, enumValue.BIRTHDAYDAY);
db.AddInParameter(cmdInsert, "@ANNIVERSARYDAY1", DbType.Int16, enumValue.ANNIVERSARYDAY1);
db.AddInParameter(cmdInsert, "@ANNIVERSARYDAY2", DbType.Int16, enumValue.ANNIVERSARYDAY2);
db.AddInParameter(cmdInsert, "@JOB", DbType.String, enumValue.JOB);
db.AddInParameter(cmdInsert, "@SEX", DbType.String, enumValue.SEX);
db.AddInParameter(cmdInsert, "@AGE", DbType.String, enumValue.AGE);
db.AddInParameter(cmdInsert, "@MARRY", DbType.String, enumValue.MARRY);
db.AddInParameter(cmdInsert, "@CHILDREN", DbType.String, enumValue.CHILDREN);
db.AddInParameter(cmdInsert, "@HOBBIES", DbType.String, enumValue.HOBBIES);
db.ExecuteNonQuery(cmdInsert, tran);
}
else
{
cmdUpdate.Parameters.Clear();
db.AddInParameter(cmdUpdate, "@GID", DbType.String, enumValue.GID);
db.AddInParameter(cmdUpdate, "@LINKID", DbType.String, enumValue.LINKID);
db.AddInParameter(cmdUpdate, "@CODENAME", DbType.String, enumValue.CODENAME);
db.AddInParameter(cmdUpdate, "@SHOWNAME", DbType.String, enumValue.SHOWNAME);
db.AddInParameter(cmdUpdate, "@ADDR", DbType.String, enumValue.ADDR);
db.AddInParameter(cmdUpdate, "@EMAIL", DbType.String, enumValue.EMAIL);
db.AddInParameter(cmdUpdate, "@TEL", DbType.String, enumValue.TEL);
db.AddInParameter(cmdUpdate, "@QQ", DbType.String, enumValue.QQ);
db.AddInParameter(cmdUpdate, "@FAX", DbType.String, enumValue.FAX);
db.AddInParameter(cmdUpdate, "@MOBILE", DbType.String, enumValue.MOBILE);
db.AddInParameter(cmdUpdate, "@ISFINANCIALSTAFF", DbType.Boolean, enumValue.ISFINANCIALSTAFF);
db.AddInParameter(cmdUpdate, "@ISOPERATOR", DbType.Boolean, enumValue.ISOPERATOR);
db.AddInParameter(cmdUpdate, "@ISSALEMAN", DbType.Boolean, enumValue.ISSALEMAN);
db.AddInParameter(cmdUpdate, "@ISOTHER", DbType.Boolean, enumValue.ISOTHER);
db.AddInParameter(cmdUpdate, "@CREATEUSER", DbType.String, userid);
db.AddInParameter(cmdUpdate, "@CREATETIME", DbType.String, DateTime.Now.ToString("yyyy-MM-dd"));
db.AddInParameter(cmdUpdate, "@ISSTOP", DbType.Boolean, enumValue.ISSTOP);
db.AddInParameter(cmdUpdate, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdUpdate, "@ANNIVERSARY2", DbType.String, enumValue.ANNIVERSARY2);
db.AddInParameter(cmdUpdate, "@AREMARK2", DbType.String, enumValue.AREMARK2);
db.AddInParameter(cmdUpdate, "@BIRTHDAY", DbType.String, enumValue.BIRTHDAY);
db.AddInParameter(cmdUpdate, "@ANNIVERSARY1", DbType.String, enumValue.ANNIVERSARY1);
db.AddInParameter(cmdUpdate, "@AREMARK1", DbType.String, enumValue.AREMARK1);
db.AddInParameter(cmdUpdate, "@ISBIRTHDAY", DbType.Boolean, enumValue.ISBIRTHDAY);
db.AddInParameter(cmdUpdate, "@ISANNIVERSARY1", DbType.Boolean, enumValue.ISANNIVERSARY1);
db.AddInParameter(cmdUpdate, "@ISANNIVERSARY2", DbType.Boolean, enumValue.ISANNIVERSARY2);
db.AddInParameter(cmdUpdate, "@BIRTHDAYDAY", DbType.Int16, enumValue.BIRTHDAYDAY);
db.AddInParameter(cmdUpdate, "@ANNIVERSARYDAY1", DbType.Int16, enumValue.ANNIVERSARYDAY1);
db.AddInParameter(cmdUpdate, "@ANNIVERSARYDAY2", DbType.Int16, enumValue.ANNIVERSARYDAY2);
db.AddInParameter(cmdUpdate, "@JOB", DbType.String, enumValue.JOB);
db.AddInParameter(cmdUpdate, "@SEX", DbType.String, enumValue.SEX);
db.AddInParameter(cmdUpdate, "@AGE", DbType.String, enumValue.AGE);
db.AddInParameter(cmdUpdate, "@MARRY", DbType.String, enumValue.MARRY);
db.AddInParameter(cmdUpdate, "@CHILDREN", DbType.String, enumValue.HOBBIES);
db.ExecuteNonQuery(cmdUpdate, tran);
}
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "保存出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "保存成功" + result.Message;
return result;
}
#endregion
#region 合同
static public List<MsInfoContract> GetContractDataList(string strCondition, string sort = null,string USERID="1")
{
var strSql = new StringBuilder();
strSql.Append("SELECT [GID],LINKID,[CONTRACTNO],CONTRACTNAME,[SIGNINGDATE],[STARTDATE],");
strSql.Append("[CANCELDATE],[CHIEF],[REMARK],[CORPID],[CREATEUSER],[CREATETIME],[DEPTGID]");
strSql.Append(",(select ShowName from [user] where GID=info_client_contract.CREATEUSER) as CREATEUSERREF");
strSql.Append(",(select SHORTNAME from info_client where GID=info_client_contract.LINKID) as CUSTNAME");
strSql.Append(" from info_client_contract where 1=1 ");
var rangstr = "";
if (USERID == "1") rangstr = "1=2";
else
{
rangstr = BasicDataRefDAL.GetVisableRange("modInfoClinet_info", USERID, "", "CREATEUSER","DEPTGID");
}
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" and " + strCondition);
}
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by SIGNINGDATE DESC");
}
return SetContractData(strSql);
}
static public MsInfoContract GetContractData(string condition,string userid)
{
MsInfoContract data = null;
var list = GetContractDataList(condition,"",userid);
if (list.Count > 0)
data = list[0];
if (data == null)
{
data = new MsInfoContract();
}
return data;
}
private static List<MsInfoContract> SetContractData(StringBuilder strSql)
{
var headList = new List<MsInfoContract>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsInfoContract data = new MsInfoContract();
#region Set DB data to Object
data.GID = Convert.ToString(reader["GID"]);
data.LINKID = Convert.ToString(reader["LINKID"]);
data.CONTRACTNO = Convert.ToString(reader["CONTRACTNO"]);
data.CONTRACTNAME = Convert.ToString(reader["CONTRACTNAME"]);
data.CUSTNAME = Convert.ToString(reader["CUSTNAME"]);
if (reader["SIGNINGDATE"] != DBNull.Value)
data.SIGNINGDATE = Convert.ToDateTime(reader["SIGNINGDATE"]).ToString("yyyy-MM-dd");//预抵日期
if (reader["STARTDATE"] != DBNull.Value)
data.STARTDATE = Convert.ToDateTime(reader["STARTDATE"]).ToString("yyyy-MM-dd");//预抵日期
if (reader["CANCELDATE"] != DBNull.Value)
data.CANCELDATE = Convert.ToDateTime(reader["CANCELDATE"]).ToString("yyyy-MM-dd");//预抵日期
data.CHIEF = Convert.ToString(reader["CHIEF"]);
data.REMARK = Convert.ToString(reader["REMARK"]);
data.CORPID = Convert.ToString(reader["CORPID"]);
data.DEPTGID = Convert.ToString(reader["DEPTGID"]);
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
data.CREATEUSERREF = Convert.ToString(reader["CREATEUSERREF"]);
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
#endregion
public static DBResult SaveCustFee(MsClient headData, List<Info_Client_GDFYWHmb> bodyList, 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("delete from cust_fee_templatedetail where CUSTOMERNAME='" + headData.SHORTNAME + "'");
db.ExecuteNonQuery(cmdDelete, tran);
var cmdInsert =
db.GetSqlStringCommand(
@"insert into cust_fee_templatedetail (GID,FEENAME,CUSTOMERNAME,UNIT,CURRENCY,UNITPRICE,REMARK,CREATEUSER,CREATETIME,EXCHANGERATE,ISCTN,ISINVOICE,ISADVANCEDPAY,FEEFRT,TAXRATE,TAX)
values (@GID,@FEENAME,@CUSTOMERNAME,@UNIT,@CURRENCY,@UNITPRICE,@REMARK,@CREATEUSER,@CREATETIME,@EXCHANGERATE,@ISCTN,@ISINVOICE,@ISADVANCEDPAY,@FEEFRT,@TAXRATE,@TAX) ");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString());
db.AddInParameter(cmdInsert, "@FEENAME", DbType.String, enumValue.FEENAME);
db.AddInParameter(cmdInsert, "@CUSTOMERNAME", DbType.String, headData.SHORTNAME);
db.AddInParameter(cmdInsert, "@UNIT", DbType.String, enumValue.UNIT);
db.AddInParameter(cmdInsert, "@CURRENCY", DbType.String, enumValue.CURRENCY);
db.AddInParameter(cmdInsert, "@UNITPRICE", DbType.Decimal, enumValue.UNITPRICE);
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdInsert, "@CREATEUSER", DbType.String, userid);
db.AddInParameter(cmdInsert, "@CREATETIME", DbType.String, DateTime.Now.ToString());
db.AddInParameter(cmdInsert, "@EXCHANGERATE", DbType.Decimal, enumValue.EXCHANGERATE);
db.AddInParameter(cmdInsert, "@ISCTN", DbType.Boolean, enumValue.ISCTN);
db.AddInParameter(cmdInsert, "@ISINVOICE", DbType.Boolean, enumValue.ISINVOICE);
db.AddInParameter(cmdInsert, "@ISADVANCEDPAY", DbType.Boolean, enumValue.ISADVANCEDPAY);
db.AddInParameter(cmdInsert, "@FEEFRT", DbType.String, enumValue.FEEFRT);
db.AddInParameter(cmdInsert, "@TAXRATE", DbType.Decimal, enumValue.TAXRATE);
db.AddInParameter(cmdInsert, "@TAX", DbType.Decimal, enumValue.TAX);
db.ExecuteNonQuery(cmdInsert, tran);
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "保存出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "保存成功";
return result;
}
static public DBResult CreateHangXinCust(string filename)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
var cmdDelete = db.GetSqlStringCommand("delete from tmp_hangxincust ");
db.ExecuteNonQuery(cmdDelete, tran);
try
{
FileStream fs = new FileStream(filename, FileMode.Open);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.GetEncoding("gb2312"));
string line;
int linecount = 0;
while ((line = sr.ReadLine()) != null)
{
if (linecount < 3)
{
linecount++;
continue;
}
linecount++;
string[] custlist = Regex.Split(line, "~~", RegexOptions.IgnoreCase);
if (custlist.Length > 5)
{
var cmdInsert =
db.GetSqlStringCommand(
@"insert into tmp_hangxincust (NO,CUSTNAME,TAXNO,ADDRTEL,BANK,SORT)
values (@NO,@CUSTNAME,@TAXNO,@ADDRTEL,@BANK,@SORT) ");
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@NO", DbType.String, custlist[0]);
db.AddInParameter(cmdInsert, "@CUSTNAME", DbType.String, custlist[1]);
db.AddInParameter(cmdInsert, "@TAXNO", DbType.String, custlist[3]);
db.AddInParameter(cmdInsert, "@ADDRTEL", DbType.String, custlist[4]);
db.AddInParameter(cmdInsert, "@BANK", DbType.String, custlist[5]);
db.AddInParameter(cmdInsert, "@SORT", DbType.Int32, linecount);
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 = "保存成功";
return result;
}
public static DBResult SaveHangXinCust(List<MsHangXinCust> boday, String USERID)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
if (boday != null)
{
var cmdUpdate =
db.GetSqlStringCommand(
@"update tmp_hangxincust set SHORTNAME=@SHORTNAME WHERE GID=@GID ");
foreach (var enumValue in boday)
{
cmdUpdate.Parameters.Clear();
db.AddInParameter(cmdUpdate, "@SHORTNAME", DbType.String, enumValue.SHORTNAME);
db.AddInParameter(cmdUpdate, "@GID", DbType.String, enumValue.GID);
db.ExecuteNonQuery(cmdUpdate, tran);
}
}
result = new DBResult();
result.Success = true;
result.Message = "设置完成";
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "设置出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "设置完成";
return result;
}
public static DBResult UpdateHangXinCust(List<MsHangXinCust> boday, String USERID)
{
var result = new DBResult();
var errostr = "";
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
var shortname = "";
try
{
if (boday != null)
{
var cmdUpdate =
db.GetSqlStringCommand(
@"update info_client set BILLRISES1=@BILLRISES1,INVADDRTEL=@INVADDRTEL,TAXNO=@TAXNO WHERE SHORTNAME=@SHORTNAME ");
var cmdInsert =
db.GetSqlStringCommand(
@"insert into info_client_bank (GID,LINKID,CODENAME,CURRENCY,BANKNAME,ACCOUNT,[REMARK],FINANCESOFTCODE,CREATEUSER,CREATETIME,ACCOUNTNAME)
SELECT NEWID(),GID,'','RMB',@BANKNAME,@ACCOUNT,'','',@CREATEUSER,GETDATE(),@ACCOUNTNAME FROM INFO_CLIENT WHERE SHORTNAME=@SHORTNAME ");
foreach (var enumValue in boday)
{
if (enumValue.SHORTNAME != "")
{
shortname = enumValue.SHORTNAME;
cmdUpdate.Parameters.Clear();
db.AddInParameter(cmdUpdate, "@BILLRISES1", DbType.String, enumValue.CUSTNAME);
db.AddInParameter(cmdUpdate, "@INVADDRTEL", DbType.String, enumValue.ADDRTEL);
db.AddInParameter(cmdUpdate, "@TAXNO", DbType.String, enumValue.TAXNO);
db.AddInParameter(cmdUpdate, "@SHORTNAME", DbType.String, enumValue.SHORTNAME);
db.ExecuteNonQuery(cmdUpdate, tran);
var BANKSTR = enumValue.BANK;
if (BANKSTR != "") {
BANKSTR = BANKSTR.Replace(" ", "");
BANKSTR = BANKSTR.Replace("-", "");
Regex r = new Regex(@"\d+");
try
{
var ms = r.Matches(BANKSTR);
1 year ago
var bankaccount = ms.OfType<System.Text.RegularExpressions.Match>().Last().ToString();
3 years ago
var bankname = BANKSTR.Replace(bankaccount, "").Trim();
var banklist = GetBankList(" LINKID in (select GID FROM INFO_CLIENT WHERE SHORTNAME='" + enumValue.SHORTNAME + "') and BANKNAME='" + bankname + "' and ACCOUNT='" + bankaccount + "'", "1", "BANKNAME", tran);
if (banklist.Count == 0)
{
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@BANKNAME", DbType.String, bankname);
db.AddInParameter(cmdInsert, "@ACCOUNT", DbType.String, bankaccount);
db.AddInParameter(cmdInsert, "@CREATEUSER", DbType.String, USERID);
db.AddInParameter(cmdInsert, "@ACCOUNTNAME", DbType.String, enumValue.CUSTNAME);
db.AddInParameter(cmdInsert, "@SHORTNAME", DbType.String, enumValue.SHORTNAME);
db.ExecuteNonQuery(cmdInsert, tran);
}
}
catch (Exception e)
{
errostr = errostr + e.Message;
}
}
}
}
}
result = new DBResult();
result.Success = true;
result.Message = "设置完成";
tran.Commit();
}
catch (Exception e)
{
tran.Rollback();
result.Success = false;
result.Message = "设置出现错误,请重试或联系系统管理员 "+ shortname + e.Message;
return result;
}
}
result.Success = true;
result.Message = "设置完成"+ errostr;
return result;
}
public static string GetBankNo(string str)
{
string resultstr = "";
str = str.Replace(" ", "");
str = str.Replace("-", "");
Regex r = new Regex(@"\d+");
var ms = r.Matches(str);
1 year ago
resultstr = ms.OfType<System.Text.RegularExpressions.Match>().Last().ToString();
3 years ago
return resultstr;
}
#region 客户部门
static public List<MsCompanysDept> GetDeptList(string strCondition, string sort = null)
{
var strSql = new StringBuilder();
strSql.Append("SELECT * from info_client_dept where 1=1");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" and " + strCondition);
}
//
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by DEPTNO,MODIFIEDTIME");
}
return SetDeptData(strSql);
}
static public MsCompanysDept GetDeptData(string condition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT * from info_client_dept where 1=1");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" and " + condition);
}
var list = SetDeptData(strSql);
if (list.Count > 0)
return list[0];
return new MsCompanysDept();
}
private static List<MsCompanysDept> SetDeptData(StringBuilder strSql)
{
var headList = new List<MsCompanysDept>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsCompanysDept data = new MsCompanysDept();
#region Set DB data to Object
data.GID = (reader["GID"] == null ? "" : Convert.ToString(reader["GID"]));//惟一编号
data.LINKID = (reader["LINKID"] == null ? "" : Convert.ToString(reader["LINKID"]));//公司关联id
data.DEPTNO = (reader["DEPTNO"] == null ? "" : Convert.ToString(reader["DEPTNO"]));//代码
data.DEPTNAME = (reader["DEPTNAME"] == null ? "" : Convert.ToString(reader["DEPTNAME"]));//名称
data.FINANCESOFTCODE = (reader["FINANCESOFTCODE"] == null ? "" : Convert.ToString(reader["FINANCESOFTCODE"]));//FINANCESOFTCODE
data.MANAGE1 = (reader["MANAGE1"] == null ? "" : Convert.ToString(reader["MANAGE1"]));//经理
data.MANAGE2 = (reader["MANAGE2"] == null ? "" : Convert.ToString(reader["MANAGE2"]));//副经理
data.REMARK = (reader["REMARK"] == null ? "" : Convert.ToString(reader["REMARK"]));//备注
data.CREATEUSER = (reader["CREATEUSER"] == null ? "" : Convert.ToString(reader["CREATEUSER"]));//CREATEUSER
if (data.CREATETIME != null)
data.CREATETIME = Convert.ToDateTime(reader["CREATETIME"]);//创建时间
data.MODIFIEDUSER = (reader["MODIFIEDUSER"] == null ? "" : Convert.ToString(reader["MODIFIEDUSER"]));//更改操作人gid
if (data.MODIFIEDTIME != null)
data.MODIFIEDTIME = Convert.ToDateTime(reader["MODIFIEDTIME"]);//更改操作时间
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
#endregion
#region 银行信息
static public List<MsClientAccount> GetBankList(string strCondition,string isedit="0", string sort = null,DbTransaction tran=null)
{
var strSql = new StringBuilder();
strSql.Append("SELECT * ,(SELECT SHORTNAME FROM info_client where GID=info_client_bank.LINKID) CUSTNAME");
strSql.Append(",BANKNAME + '-' + ACCOUNTNAME AS ACCOUNTNAMEREF");
strSql.Append(",BANKNAME + ' ' + ACCOUNT AS BANKACCOUNT");
strSql.Append(",(select country from code_country where countryid=info_client_bank.countryid) country");
strSql.Append(",ISINVDEF,(CASE WHEN ISINVDEF='1' THEN '是' ELSE '否' END) ISINVDEFREF");
strSql.Append(" from info_client_bank where 1=1");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" and " + strCondition);
}
//
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by CODENAME");
}
return SetBankData(strSql,isedit, tran);
}
static public MsClientAccount GetBankData(string condition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT * ,(SELECT SHORTNAME FROM info_client where GID=info_client_bank.LINKID) CUSTNAME");
strSql.Append(",BANKNAME + '-' + ACCOUNTNAME AS ACCOUNTNAMEREF");
strSql.Append(",BANKNAME + ' ' + ACCOUNT AS BANKACCOUNT");
strSql.Append(",(select country from code_country where countryid=info_client_bank.countryid) country");
strSql.Append(",ISINVDEF,(CASE WHEN ISINVDEF='1' THEN '是' ELSE '否' END) ISINVDEFREF");
//strSql.Append(",(select country from code_country where countryid=info_client_bank.countryid),0,(charindex('(',(select country from code_country where countryid=info_client_bank.countryid))) ) country");
strSql.Append(" from info_client_bank where 1=1");
if (!string.IsNullOrEmpty(condition))
{
strSql.Append(" and " + condition);
}
var list = SetBankData(strSql,"1");
if (list.Count > 0)
return list[0];
return new MsClientAccount();
}
private static List<MsClientAccount> SetBankData(StringBuilder strSql,string isedit, DbTransaction tran = null)
{
var headList = new List<MsClientAccount>();
Database db = DatabaseFactory.CreateDatabase();
if (tran == null)
{
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsClientAccount data = new MsClientAccount();
#region Set DB data to Object
data.GID = (reader["GID"] == null ? "" : Convert.ToString(reader["GID"]));//GID
data.LINKID = (reader["LINKID"] == null ? "" : Convert.ToString(reader["LINKID"]));//公司关联id
data.CODENAME = (reader["CODENAME"] == null ? "" : Convert.ToString(reader["CODENAME"]));//CODENAME
data.CURRENCY = (reader["CURRENCY"] == null ? "" : Convert.ToString(reader["CURRENCY"]));//CURRENCY
data.BANKNAME = (reader["BANKNAME"] == null ? "" : Convert.ToString(reader["BANKNAME"]));//BANKNAME
data.ACCOUNT = (reader["ACCOUNT"] == null ? "" : Convert.ToString(reader["ACCOUNT"]));//ACCOUNT
data.ACCOUNTNAME = (reader["ACCOUNTNAME"] == null ? "" : Convert.ToString(reader["ACCOUNTNAME"]));//ACCOUNT
data.SUBJECTCODE = (reader["SUBJECTCODE"] == null ? "" : Convert.ToString(reader["SUBJECTCODE"]));//银行账户
data.REMARK = (reader["REMARK"] == null ? "" : Convert.ToString(reader["REMARK"]));//REMARK
data.FINANCESOFTCODE = (reader["FINANCESOFTCODE"] == null ? "" : Convert.ToString(reader["FINANCESOFTCODE"]));//FINANCESOFTCODE
data.CREATEUSER = (reader["CREATEUSER"] == null ? "" : Convert.ToString(reader["CREATEUSER"]));//CREATEUSER
if (reader["CREATETIME"] != DBNull.Value)
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);//创建时间
data.CUSTNAME = Convert.ToString(reader["CUSTNAME"]);//创建时间
data.ACCOUNTNAMEREF = Convert.ToString(reader["ACCOUNTNAMEREF"]);//创建时间
data.SWIFT = Convert.ToString(reader["SWIFT"]);
data.BANKAGENTNAME = Convert.ToString(reader["BANKAGENTNAME"]);
data.BANKADDR = Convert.ToString(reader["BANKADDR"]);
data.BANKACNO = Convert.ToString(reader["BANKACNO"]);
data.COUNTRYID = Convert.ToString(reader["COUNTRYID"]);
data.COUNTRY = Convert.ToString(reader["COUNTRY"]);
data.BANKNAME_ACCOUNT = Convert.ToString(reader["BANKACCOUNT"]);
data.ISINVDEF = Convert.ToString(reader["ISINVDEF"]);
data.ISINVDEFREF = Convert.ToString(reader["ISINVDEFREF"]);
#endregion
headList.Add(data);
}
reader.Close();
}
}
else {
using (IDataReader reader = db.ExecuteReader(tran,CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsClientAccount data = new MsClientAccount();
#region Set DB data to Object
data.GID = (reader["GID"] == null ? "" : Convert.ToString(reader["GID"]));//GID
data.LINKID = (reader["LINKID"] == null ? "" : Convert.ToString(reader["LINKID"]));//公司关联id
data.CODENAME = (reader["CODENAME"] == null ? "" : Convert.ToString(reader["CODENAME"]));//CODENAME
data.CURRENCY = (reader["CURRENCY"] == null ? "" : Convert.ToString(reader["CURRENCY"]));//CURRENCY
data.BANKNAME = (reader["BANKNAME"] == null ? "" : Convert.ToString(reader["BANKNAME"]));//BANKNAME
data.ACCOUNT = (reader["ACCOUNT"] == null ? "" : Convert.ToString(reader["ACCOUNT"]));//ACCOUNT
data.ACCOUNTNAME = (reader["ACCOUNTNAME"] == null ? "" : Convert.ToString(reader["ACCOUNTNAME"]));//ACCOUNT
data.SUBJECTCODE = (reader["SUBJECTCODE"] == null ? "" : Convert.ToString(reader["SUBJECTCODE"]));//银行账户
data.REMARK = (reader["REMARK"] == null ? "" : Convert.ToString(reader["REMARK"]));//REMARK
data.FINANCESOFTCODE = (reader["FINANCESOFTCODE"] == null ? "" : Convert.ToString(reader["FINANCESOFTCODE"]));//FINANCESOFTCODE
data.CREATEUSER = (reader["CREATEUSER"] == null ? "" : Convert.ToString(reader["CREATEUSER"]));//CREATEUSER
if (reader["CREATETIME"] != DBNull.Value)
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);//创建时间
data.CUSTNAME = Convert.ToString(reader["CUSTNAME"]);//创建时间
data.ACCOUNTNAMEREF = Convert.ToString(reader["ACCOUNTNAMEREF"]);//创建时间
data.SWIFT = Convert.ToString(reader["SWIFT"]);
data.BANKAGENTNAME = Convert.ToString(reader["BANKAGENTNAME"]);
data.BANKADDR = Convert.ToString(reader["BANKADDR"]);
data.BANKACNO = Convert.ToString(reader["BANKACNO"]);
data.COUNTRYID = Convert.ToString(reader["COUNTRYID"]);
data.COUNTRY = Convert.ToString(reader["COUNTRY"]);
data.BANKNAME_ACCOUNT = Convert.ToString(reader["BANKACCOUNT"]);
data.ISINVDEF = Convert.ToString(reader["ISINVDEF"]);
data.ISINVDEFREF = Convert.ToString(reader["ISINVDEFREF"]);
#endregion
headList.Add(data);
}
reader.Close();
}
}
if (isedit != "1")
{
MsClientAccount adata = new MsClientAccount();
#region Set DB data to Object
adata.GID = "";//GID
adata.LINKID = "";//公司关联id
adata.CODENAME = "";//CODENAME
adata.CURRENCY = "";//CURRENCY
adata.BANKNAME = "";//BANKNAME
adata.ACCOUNT = "";//ACCOUNT
adata.ACCOUNTNAME = "";//ACCOUNT
adata.SUBJECTCODE = "";//银行账户
adata.REMARK = "";//REMARK
adata.FINANCESOFTCODE = "";//FINANCESOFTCODE
adata.CREATEUSER = "";//CREATEUSER
adata.CUSTNAME = "";//创建时间
adata.ACCOUNTNAMEREF = "";//创建时间
adata.BANKNAME_ACCOUNT = "";
adata.ISINVDEF ="0";
adata.ISINVDEFREF ="否";
#endregion
headList.Add(adata);
}
return headList;
}
public static DBResult SaveBank(string GID, List<MsClientAccount> bodyList, 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 info_client_bank (GID,LINKID,CODENAME,CURRENCY,BANKNAME,ACCOUNT,[REMARK],FINANCESOFTCODE,CREATEUSER,CREATETIME,ACCOUNTNAME,ISINVDEF)
values (@GID,@LINKID,@CODENAME,@CURRENCY,@BANKNAME,@ACCOUNT,@REMARK,@FINANCESOFTCODE,@CREATEUSER,@CREATETIME,@ACCOUNTNAME,@ISINVDEF) ");
var cmdUpdate =
db.GetSqlStringCommand(
@"update info_client_bank set CODENAME=@CODENAME,CURRENCY=@CURRENCY,BANKNAME=@BANKNAME,ACCOUNT=@ACCOUNT,REMARK=@REMARK,FINANCESOFTCODE=@FINANCESOFTCODE
,ACCOUNTNAME=@ACCOUNTNAME,ISINVDEF=@ISINVDEF where GID=@GID ");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
if (enumValue.LINKID == "*" || enumValue.LINKID == "")
{
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@GID", DbType.String, enumValue.GID);
db.AddInParameter(cmdInsert, "@LINKID", DbType.String,GID);
db.AddInParameter(cmdInsert, "@CODENAME", DbType.String, enumValue.CODENAME);
db.AddInParameter(cmdInsert, "@CURRENCY", DbType.String, enumValue.CURRENCY);
db.AddInParameter(cmdInsert, "@BANKNAME", DbType.String, enumValue.BANKNAME);
db.AddInParameter(cmdInsert, "@ACCOUNT", DbType.String, enumValue.ACCOUNT);
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdInsert, "@FINANCESOFTCODE", DbType.String, enumValue.FINANCESOFTCODE);
db.AddInParameter(cmdInsert, "@CREATEUSER", DbType.String, userid);
db.AddInParameter(cmdInsert, "@CREATETIME", DbType.String, DateTime.Now.ToString());
db.AddInParameter(cmdInsert, "@ACCOUNTNAME", DbType.String, enumValue.ACCOUNTNAME);
db.AddInParameter(cmdInsert, "@ISINVDEF", DbType.String, enumValue.ISINVDEF);
db.ExecuteNonQuery(cmdInsert, tran);
}
else
{
cmdUpdate.Parameters.Clear();
db.AddInParameter(cmdUpdate, "@GID", DbType.String, enumValue.GID);
db.AddInParameter(cmdUpdate, "@CODENAME", DbType.String, enumValue.CODENAME);
db.AddInParameter(cmdUpdate, "@CURRENCY", DbType.String, enumValue.CURRENCY);
db.AddInParameter(cmdUpdate, "@BANKNAME", DbType.String, enumValue.BANKNAME);
db.AddInParameter(cmdUpdate, "@ACCOUNT", DbType.String, enumValue.ACCOUNT);
db.AddInParameter(cmdUpdate, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdUpdate, "@FINANCESOFTCODE", DbType.String, enumValue.FINANCESOFTCODE);
db.AddInParameter(cmdUpdate, "@ACCOUNTNAME", DbType.String, enumValue.ACCOUNTNAME);
db.AddInParameter(cmdUpdate, "@ISINVDEF", DbType.String, enumValue.ISINVDEF);
db.ExecuteNonQuery(cmdUpdate, tran);
}
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "保存出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "保存成功" + result.Message;
return result;
}
#endregion
#region 收发货人信息
static public List<MsInfoShipper> GetShipperDataList(string strCondition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT shipperID,[codename],[SHORTNAME],[shipperdetail]");
strSql.Append(",[shippertype],[LOADADDRESS],[DELIVERADDRESS] ,[ISPUBLIC],SERVICECONTRACTNO,COUNTRY,ATTN,TEL,EMAIL,CORPID ");
strSql.Append(",(select SHORTNAME from info_client where CODENAME=info_shipper.codename) AS CUSTOMERNAME ");
strSql.Append(" from info_shipper where 1=1 ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" and " + strCondition);
}
strSql.Append(" order by shipperID");
return SetShipperData(strSql);
}
static public MsInfoShipper GetShipperData(string condition)
{
MsInfoShipper data = null;
var list = GetShipperDataList(condition);
if (list.Count > 0)
data = list[0];
if (data == null)
{
data = new MsInfoShipper();
}
return data;
}
private static List<MsInfoShipper> SetShipperData(StringBuilder strSql)
{
var headList = new List<MsInfoShipper>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsInfoShipper data = new MsInfoShipper();
#region Set DB data to Object
data.SHIPPERID = Convert.ToString(reader["SHIPPERID"]);
data.CODENAME = Convert.ToString(reader["CODENAME"]);
data.SHORTNAME = Convert.ToString(reader["SHORTNAME"]);
data.SHIPPERDETAIL = Convert.ToString(reader["SHIPPERDETAIL"]);
if (reader["SHIPPERTYPE"] != DBNull.Value)
data.SHIPPERTYPE = Convert.ToInt16(reader["SHIPPERTYPE"]);
if (reader["ISPUBLIC"] != DBNull.Value)
data.ISPUBLIC = Convert.ToBoolean(reader["ISPUBLIC"]);
data.SHIPPERDETAIL = Convert.ToString(reader["SHIPPERDETAIL"]);
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
if (reader["SERVICECONTRACTNO"] != DBNull.Value)
data.SERVICECONTRACTNO = Convert.ToString(reader["SERVICECONTRACTNO"]);
data.CORPID = Convert.ToString(reader["CORPID"]);
data.COUNTRY = Convert.ToString(reader["COUNTRY"]);
data.ATTN = Convert.ToString(reader["ATTN"]);
data.TEL = Convert.ToString(reader["TEL"]);
data.EMAIL = Convert.ToString(reader["EMAIL"]);
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
#endregion
#region 权限范围
2 years ago
/// <summary>
/// 该算法改为只限制销售
///
/// </summary>
/// <param name="tb"></param>
/// <param name="userid"></param>
/// <param name="username"></param>
/// <param name="companyid"></param>
/// <returns></returns>
3 years ago
public static string GetRangDAStr(string tb, string userid, string username, string companyid)
{
2 years ago
string str = "";// ISNULL(BLSTATUS,1)=0 and RANGETYPE='集团'
2 years ago
var cdc = new CommonDataContext();
2 years ago
var userinfo = cdc.VW_user_all.FirstOrDefault(x => x.USERID == userid);
2 years ago
if (userinfo == null) return (" 1=2 ");
if (userinfo != null && userinfo.ISSALEMAN== "true") {
//是销售 看不到录入人 不是自己且不为空的 Rangetype=个人 的往来单位
2 years ago
//str = $" (RANGETYPE='集团' or (RANGETYPE='个人' and (OPNAME='{username}' or SALE='{username}')))";//or isnull(OPNAME,'')=''
//20220901 又改成 如果查询者是销售 则受用户权限控制
//strSql.Append($" and ((RANGETYPE='个人' and (SHORTNAME in (SELECT SHORTNAME from info_client_range where USERID='" + userid + "' )) ) or RANGETYPE='集团' ) ");
2 years ago
//str = $" (RANGETYPE='集团' or (RANGETYPE='个人' and (SHORTNAME in (SELECT SHORTNAME from info_client_range where USERID='" + userid + "' ))))";
str = $" ((RANGETYPE = '个人' and exists(select 1 from info_client_range where info_client_range.SHORTNAME = info_Client.SHORTNAME and USERID = '" + userid + $"')) or (SALE='{username}') or (OPNAME='{username}' or OPNAME in(select SHOWNAME from [user] where codename='{username}')) or RANGETYPE = '集团' )";
2 years ago
2 years ago
}
return str;
/*
3 years ago
string str = "";
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append(" VISIBLERANGE,OPERATERANGE ");
strSql.Append(" from VW_User_Authority ");
strSql.Append(" where [NAME]='modExchangesUnit' 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 = " OPNAME='" + username + "' or SALE='" + username + "' or DOC='" + username + "'or OP='" + username + "' ";
}
else if (visiblerange == "2")
{
if (tb == "index")
{
var rangeDa = new RangeDA();
var deptname = rangeDa.GetDEPTNAME(userid);
var userstr = new StringBuilder();
userstr.Append(" select SHOWNAME from [user] where GID in (select USERID from user_company where COMPANYID='" + companyid + "') and GID in (select userid from user_baseinfo where DEPTNAME='" + deptname + "')");
Database userdb = DatabaseFactory.CreateDatabase();
using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString()))
{
str = "";
while (reader.Read())
{
if (str == "")
{
str = " OPNAME='" + Convert.ToString(reader["SHOWNAME"]) + "' or SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' or DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' or OP='" + Convert.ToString(reader["SHOWNAME"]) + "' ";
}
else
{
str = str + " or OPNAME='" + Convert.ToString(reader["SHOWNAME"]) + "' or SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' or DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' or OP='" + Convert.ToString(reader["SHOWNAME"]) + "' ";
};
}
reader.Close();
}
}
else
{
str = " UPPER(Corpid)='" + companyid + "'";
}
}
else if (visiblerange == "1")
{
str = " UPPER(Corpid)='" + companyid + "'";
}
2 years ago
//20220823 增加对 info_client.TANGETYPE 的查询支持
//info_client.TANGETYPE='集团' 则都可以查看
2 years ago
var InfoClintBlstatus = MsSysParamSetDAL.GetData("PARAMNAME='InfoClintBlstatus'");
if (InfoClintBlstatus.PARAMVALUE != "")
3 years ago
{
2 years ago
if (InfoClintBlstatus.PARAMVALUE == "1")
{
var modCrmClientVisible = MsBaseInfoDAL.MsBaseInfoDAL.GetUserModuleEnable("modCrmClientVisible", userid);
if (modCrmClientVisible)
{
}
else
{
if (str != "") str += (" and ");
str += (" (OPNAME='" + username + "' or (ISNULL(BLSTATUS,1)=0)) ");
}
}
3 years ago
}
2 years ago
2 years ago
if (str != "")
{
2 years ago
2 years ago
str = "((" + str + ") or RANGETYPE='集团')";
}
2 years ago
3 years ago
return str;
2 years ago
*/
3 years ago
}
#endregion
#region 客户权限范围
2 years ago
/// <summary>
/// 2个人 1部门 0分公司
/// </summary>
/// <param name="bodyList"></param>
/// <param name="op"></param>
/// <param name="seltype"></param>
/// <param name="userid"></param>
/// <returns></returns>
3 years ago
public static DBResult InsertClientRange(List<MsClient> bodyList, string op,string seltype,string userid)
{
var result = new DBResult();
if (bodyList != null)
{
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
foreach (var enumValue in bodyList)
{
if (seltype == "2")
2 years ago
{//个人
3 years ago
var cmddeletefeedo = db.GetSqlStringCommand("insert into info_client_range select newid(),'" + enumValue.SHORTNAME + "',u.userid,'" + userid + "',GETDATE() from VW_user u where USERID IN (" + op + ") AND USERID NOT IN (SELECT USERID FROM info_client_range WHERE SHORTNAME='" + enumValue.SHORTNAME + "') ");
db.ExecuteNonQuery(cmddeletefeedo, tran);
}
else if (seltype == "1")
2 years ago
{//部门
3 years ago
var cmddeletefeedo = db.GetSqlStringCommand("insert into info_client_range select newid(),'" + enumValue.SHORTNAME + "',u.userid,'" + userid + "',GETDATE() from VW_user u where deptgid IN (" + op + ") AND USERID NOT IN (SELECT USERID FROM info_client_range WHERE SHORTNAME='" + enumValue.SHORTNAME + "') ");
db.ExecuteNonQuery(cmddeletefeedo, tran);
}
else if (seltype == "0")
2 years ago
{//分公司
3 years ago
var cmddeletefeedo = db.GetSqlStringCommand("insert into info_client_range select newid(),'" + enumValue.SHORTNAME + "',u.userid,'" + userid + "',GETDATE() from VW_user u where COMPANYID IN (" + op + ") AND USERID NOT IN (SELECT USERID FROM info_client_range WHERE SHORTNAME='" + enumValue.SHORTNAME + "') ");
db.ExecuteNonQuery(cmddeletefeedo, tran);
}
}
result = new DBResult();
result.Success = true;
result.Message = "成功";
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "删除出现错误,请重试或联系系统管理员";
return result;
}
}
}
return result;
}
/// <summary>
/// 删除人员、公司权限
/// seltype= 2:op是userid列表3全部1按部门0按公司
/// </summary>
/// <param name="bodyList"></param>
/// <param name="op"></param>
/// <param name="seltype"></param>
/// <param name="userid"></param>
/// <returns></returns>
3 years ago
public static DBResult DelClientRange(List<MsClient> bodyList, string op, string seltype, string userid)
{
var result = new DBResult();
if (bodyList != null)
{
Database db = DatabaseFactory.CreateDatabase();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
foreach (var enumValue in bodyList)
{
if (seltype == "2")
{
var cmddeletefeedo = db.GetSqlStringCommand("delete from info_client_range where USERID IN (" + op + ") and SHORTNAME='"+enumValue.SHORTNAME+"' ");
db.ExecuteNonQuery(cmddeletefeedo, tran);
}
else if (seltype == "1")
{
var cmddeletefeedo = db.GetSqlStringCommand("delete from info_client_range where userid in (select userid from VW_user where deptgid IN (" + op + ")) and SHORTNAME='" + enumValue.SHORTNAME + "' ");
db.ExecuteNonQuery(cmddeletefeedo, tran);
}
else if (seltype == "0")
{
var cmddeletefeedo = db.GetSqlStringCommand("delete from info_client_range where userid in (select userid from VW_user where companyid IN (" + op + ")) and SHORTNAME='" + enumValue.SHORTNAME + "' ");
db.ExecuteNonQuery(cmddeletefeedo, tran);
}
else if (seltype == "3")
{
var cmddeletefeedo = db.GetSqlStringCommand("delete from info_client_range where SHORTNAME='" + enumValue.SHORTNAME + "' ");
db.ExecuteNonQuery(cmddeletefeedo, tran);
}
3 years ago
}
result = new DBResult();
result.Success = true;
result.Message = "成功";
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "删除出现错误,请重试或联系系统管理员";
return result;
}
}
}
return result;
}
3 years ago
#endregion
static public int GetRdCount(string strCondition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT Count(GID) AS CT from info_client (NOLOCK) ");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
var ct = 0;
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
ct = Convert.ToInt16(reader["CT"]);
}
reader.Close();
}
return ct;
}
static public string GetMaxNum()
{
var strSql = new StringBuilder();
strSql.Append("select ISNULL(max(cast(CUSTNUM as int)),0) as maxxh from info_client(NOLOCK) ");
var ct = 0;
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
ct = Convert.ToInt16(reader["maxxh"]);
}
reader.Close();
}
ct = ct + 1;
var custnum = ct.ToString();
if (custnum.Length < 7) {
while (custnum.Length < 7) {
custnum = "0" + custnum;
}
}
return custnum;
}
static public int GetShipperRdCount(string strCondition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT Count(info_shipper) AS CT from info_shipper (NOLOCK) ");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
var ct = 0;
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
ct = Convert.ToInt16(reader["CT"]);
}
reader.Close();
}
return ct;
}
static public int GetFeeTemplateCount(string strCondition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT Count(GID) AS CT from Cust_Truck_feetemplate (NOLOCK) ");
if (strCondition.Trim() != String.Empty)
{
strSql.Append(" where " + strCondition);
}
var ct = 0;
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
ct = Convert.ToInt16(reader["CT"]);
}
reader.Close();
}
return ct;
}
static public bool ISCUSTUSE(string CUSTNAME)
{
var strSql = new StringBuilder();
strSql.Append("SELECT Count(CUSTNAME) AS CT from v_all_client (NOLOCK) where CUSTNAME='" + CUSTNAME + "'");
var ct = 0;
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
ct = Convert.ToInt16(reader["CT"]);
}
reader.Close();
}
if (ct > 0)
return true;
else
return false;
}
public static DBResult UpdateEmail(string userid, string email)
{
var result = new DBResult();
Database db = DatabaseFactory.CreateDatabase("SHIPPINGBOX");
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
var cmdUpdate =
db.GetSqlStringCommand(
@" Update UserInfo set email=@Email where mobile=@Mobile ");
cmdUpdate.Parameters.Clear();
db.AddInParameter(cmdUpdate, "@Email", DbType.String, email);
db.AddInParameter(cmdUpdate, "@Mobile", DbType.String, userid);
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 UpdateCust(string gid, string shortname,string codename)
{
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 info_client set CODENAME=@CODENAME,SHORTNAME=@SHORTNAME where GID=@GID ");
cmdUpdate.Parameters.Clear();
db.AddInParameter(cmdUpdate, "@CODENAME", DbType.String, codename);
db.AddInParameter(cmdUpdate, "@SHORTNAME", DbType.String, shortname);
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 = "保存成功" + result.Message;
return result;
}
#region BillNoSet
static public List<MsInfoClentGroup> GetClientGroupList(string strCondition)
{
var strSql = new StringBuilder();
strSql.Append("SELECT [CODENAME],[SHORTNAME],CODENAME + '-' + SHORTNAME AS CodeAndName,PCORPNAME");
strSql.Append(" from info_client where 1=1 ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" and " + strCondition);
}
return SetClientGroupData(strSql);
}
static public MsInfoClentGroup GetClientGroupData(string condition)
{
MsInfoClentGroup data = null;
var list = GetClientGroupList(condition);
if (list.Count > 0)
data = list[0];
if (data == null)
{
data = new MsInfoClentGroup();
}
return data;
}
private static List<MsInfoClentGroup> SetClientGroupData(StringBuilder strSql)
{
var headList = new List<MsInfoClentGroup>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsInfoClentGroup data = new MsInfoClentGroup();
#region Set DB data to Object
data.PCORPNAME = Convert.ToString(reader["PCORPNAME"]);
data.CODENAME = Convert.ToString(reader["CODENAME"]);
data.SHORTNAME = Convert.ToString(reader["SHORTNAME"]);
data.CodeAndName = Convert.ToString(reader["CodeAndName"]);
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
#endregion
#region 账期列表
public static DBResult SaveAccDateDetail(MsInfoContract headData, List<Info_Client_ACCDATEmb> bodyList, 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 Info_Client_ACCDATE (GID,LINKGID,CONTRACTGID,BGNDATE,ENDDATE,OPLBNAME,SALE,ACCTYPE,ACCSTARTDATE,ACCMONTH,ACCDAYS,ALLOWAMOUNT,REMARK,MODIFIEDUSER,MODIFIEDTIME,BSSOURCE,COMMISSIONRATE)
values (@GID,@LINKGID,@CONTRACTGID,@BGNDATE,@ENDDATE,@OPLBNAME,@SALE,@ACCTYPE,@ACCSTARTDATE,@ACCMONTH,@ACCDAYS,@ALLOWAMOUNT,@REMARK,@MODIFIEDUSER,@MODIFIEDTIME,@BSSOURCE,@COMMISSIONRATE) ");
var cmdUpdate =
db.GetSqlStringCommand(
@"update Info_Client_ACCDATE set BGNDATE=@BGNDATE,ENDDATE=@ENDDATE,OPLBNAME=@OPLBNAME,SALE=@SALE,ACCTYPE=@ACCTYPE,ACCSTARTDATE=@ACCSTARTDATE,ACCMONTH=@ACCMONTH,ACCDAYS=@ACCDAYS,ALLOWAMOUNT=@ALLOWAMOUNT,REMARK=@REMARK,MODIFIEDUSER=@MODIFIEDUSER,MODIFIEDTIME=@MODIFIEDTIME,BSSOURCE=@BSSOURCE,COMMISSIONRATE=@COMMISSIONRATE where GID=@GID ");
if (bodyList != null)
{
foreach (var enumValue in bodyList)
{
if (enumValue.COMMISSIONRATE == "" || enumValue.COMMISSIONRATE == null) enumValue.COMMISSIONRATE = "0";
if (enumValue.CONTRACTGID == "*" || enumValue.CONTRACTGID == "")
{
cmdInsert.Parameters.Clear();
db.AddInParameter(cmdInsert, "@GID", DbType.String, Guid.NewGuid().ToString());
db.AddInParameter(cmdInsert, "@CONTRACTGID", DbType.String, headData.GID);
db.AddInParameter(cmdInsert, "@LINKGID", DbType.String, headData.LINKID);
db.AddInParameter(cmdInsert, "@BGNDATE", DbType.String, enumValue.BGNDATE);
db.AddInParameter(cmdInsert, "@ENDDATE", DbType.String, enumValue.ENDDATE);
db.AddInParameter(cmdInsert, "@OPLBNAME", DbType.String, enumValue.OPLBNAME);
db.AddInParameter(cmdInsert, "@SALE", DbType.String, enumValue.SALE);
db.AddInParameter(cmdInsert, "@BSSOURCE", DbType.String, enumValue.BSSOURCE);
db.AddInParameter(cmdInsert, "@COMMISSIONRATE", DbType.Decimal,Convert.ToDecimal(enumValue.COMMISSIONRATE));
db.AddInParameter(cmdInsert, "@ACCTYPE", DbType.String, enumValue.ACCTYPE);
db.AddInParameter(cmdInsert, "@ACCSTARTDATE", DbType.String, enumValue.ACCSTARTDATE);
db.AddInParameter(cmdInsert, "@ACCMONTH", DbType.String, enumValue.ACCMONTH);
db.AddInParameter(cmdInsert, "@ACCDAYS", DbType.String, enumValue.ACCDAYS);
db.AddInParameter(cmdInsert, "@ALLOWAMOUNT", DbType.String, enumValue.ALLOWAMOUNT);
db.AddInParameter(cmdInsert, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdInsert, "@MODIFIEDUSER", DbType.String, userid);
db.AddInParameter(cmdInsert, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString());
db.ExecuteNonQuery(cmdInsert, tran);
}
else
{
cmdUpdate.Parameters.Clear();
db.AddInParameter(cmdUpdate, "@GID", DbType.String, enumValue.GID);
db.AddInParameter(cmdInsert, "@LINKGID", DbType.String, headData.LINKID);
db.AddInParameter(cmdUpdate, "@BGNDATE", DbType.String, enumValue.BGNDATE);
db.AddInParameter(cmdUpdate, "@ENDDATE", DbType.String, enumValue.ENDDATE);
db.AddInParameter(cmdUpdate, "@OPLBNAME", DbType.String, enumValue.OPLBNAME);
db.AddInParameter(cmdUpdate, "@SALE", DbType.String, enumValue.SALE);
db.AddInParameter(cmdUpdate, "@BSSOURCE", DbType.String, enumValue.BSSOURCE);
db.AddInParameter(cmdUpdate, "@COMMISSIONRATE", DbType.Decimal, Convert.ToDecimal(enumValue.COMMISSIONRATE));
db.AddInParameter(cmdUpdate, "@ACCTYPE", DbType.String, enumValue.ACCTYPE);
db.AddInParameter(cmdUpdate, "@ACCSTARTDATE", DbType.String, enumValue.ACCSTARTDATE);
db.AddInParameter(cmdUpdate, "@ACCMONTH", DbType.String, enumValue.ACCMONTH);
db.AddInParameter(cmdUpdate, "@ACCDAYS", DbType.String, enumValue.ACCDAYS);
db.AddInParameter(cmdUpdate, "@ALLOWAMOUNT", DbType.String, enumValue.ALLOWAMOUNT);
db.AddInParameter(cmdUpdate, "@REMARK", DbType.String, enumValue.REMARK);
db.AddInParameter(cmdUpdate, "@MODIFIEDUSER", DbType.String, userid);
db.AddInParameter(cmdUpdate, "@MODIFIEDTIME", DbType.String, DateTime.Now.ToString());
db.ExecuteNonQuery(cmdUpdate, tran);
}
}
}
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "保存出现错误,请重试或联系系统管理员";
return result;
}
}
result.Success = true;
result.Message = "保存成功";
return result;
}
static public List<Info_Client_ACCDATEmb> GetACCDATEList ( string strCondition )
{
var strSql = new StringBuilder();
strSql.Append(" SELECT GID,LINKGID,dbo.trimdate(BGNDATE) BGNDATE,dbo.trimdate(ENDDATE) ENDDATE,OPLBNAME ");
strSql.Append(" ,SALE,ACCTYPE,ACCSTARTDATE,ACCMONTH,ACCDAYS,ALLOWAMOUNT,MODIFIEDUSER,MODIFIEDUSER,dbo.GetUSER(MODIFIEDUSER) MODIFIEDUSERREF,MODIFIEDTIME,REMARK,CONTRACTGID,BSSOURCE,COMMISSIONRATE ");
strSql.Append(" from Info_Client_ACCDATE ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
return SetACCDATEData(strSql);
}
private static List<Info_Client_ACCDATEmb> SetACCDATEData ( StringBuilder strSql )
{
var headList = new List<Info_Client_ACCDATEmb>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
Info_Client_ACCDATEmb data = new Info_Client_ACCDATEmb();
#region Set DB data to Object
data.GID = Convert.ToString(reader["GID"]);
data.LINKGID = Convert.ToString(reader["LINKGID"]);
data.CONTRACTGID = Convert.ToString(reader["CONTRACTGID"]);
data.BGNDATE = Convert.ToString(reader["BGNDATE"]);
data.ENDDATE = Convert.ToString(reader["ENDDATE"]);
data.OPLBNAME = Convert.ToString(reader["OPLBNAME"]);
data.SALE = Convert.ToString(reader["SALE"]);
data.BSSOURCE = Convert.ToString(reader["BSSOURCE"]);
if (reader["COMMISSIONRATE"] != DBNull.Value)
data.COMMISSIONRATE = Convert.ToString(reader["COMMISSIONRATE"]);//状态1
data.ACCTYPE = Convert.ToString(reader["ACCTYPE"]);
data.ACCSTARTDATE = Convert.ToString(reader["ACCSTARTDATE"]);
data.ACCMONTH = Convert.ToString(reader["ACCMONTH"]);
data.ACCDAYS = Convert.ToString(reader["ACCDAYS"]);
data.ALLOWAMOUNT = Convert.ToString(reader["ALLOWAMOUNT"]);
data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]);
data.MODIFIEDUSERREF = Convert.ToString(reader["MODIFIEDUSERREF"]);
data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]);
data.REMARK = Convert.ToString(reader["REMARK"]);
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
#endregion
#region 固定费用维护
static public List<Info_Client_GDFYWHmb> GetGDFYWHList(string strCondition, string sort = null)
{
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append("GID,FEENAME,CUSTOMERNAME,UNIT");
strSql.Append(",CURRENCY,UNITPRICE,REMARK,CREATEUSER,CREATETIME,EXCHANGERATE,ISCTN,TAXRATE,TAX");
strSql.Append(",(case ISCTN when 1 then '是' else '否' end) as ISCTNREF,ISINVOICE,ISADVANCEDPAY,FEEFRT ");
strSql.Append(" from cust_fee_templatedetail ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
return SetBodyData(strSql);
}
private static List<Info_Client_GDFYWHmb> SetBodyData(StringBuilder strSql)
{
var bodyList = new List<Info_Client_GDFYWHmb>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
Info_Client_GDFYWHmb data = new Info_Client_GDFYWHmb();
#region Set DB data to Object
data.GID = Convert.ToString(reader["GID"]);
if (reader["UNITPRICE"] != DBNull.Value)
data.UNITPRICE = Convert.ToDecimal(reader["UNITPRICE"]);
if (reader["EXCHANGERATE"] != DBNull.Value)
data.EXCHANGERATE = Convert.ToDecimal(reader["EXCHANGERATE"]);
if (reader["TAXRATE"] != DBNull.Value)
data.TAXRATE = Convert.ToDecimal(reader["TAXRATE"]);
if (reader["TAX"] != DBNull.Value)
data.TAX = Convert.ToDecimal(reader["TAX"]);
data.FEENAME = Convert.ToString(reader["FEENAME"]);
data.CUSTOMERNAME = Convert.ToString(reader["CUSTOMERNAME"]);
data.UNIT = Convert.ToString(reader["UNIT"]);
data.CURRENCY = Convert.ToString(reader["CURRENCY"]);
data.REMARK = Convert.ToString(reader["REMARK"]);
data.FEEFRT = Convert.ToString(reader["FEEFRT"]);
data.CREATEUSER = Convert.ToString(reader["CREATEUSER"]);
data.CREATETIME = Convert.ToString(reader["CREATETIME"]);
if (reader["ISCTN"] != DBNull.Value)
data.ISCTN = Convert.ToBoolean(reader["ISCTN"]);
data.ISCTNREF = Convert.ToString(reader["ISCTNREF"]);
if (reader["ISINVOICE"] != DBNull.Value)
data.ISINVOICE = Convert.ToBoolean(reader["ISINVOICE"]);
if (reader["ISADVANCEDPAY"] != DBNull.Value)
data.ISADVANCEDPAY = Convert.ToBoolean(reader["ISADVANCEDPAY"]);
#endregion
bodyList.Add(data);
}
reader.Close();
}
return bodyList;
}
#endregion
#region 获得结算日期
static public STLDATEmb GetSTLDATE ( string CUSTOMERNAME,string OPLBNAME,string BUSDATE,string SALE )
{
var strcondition=new StringBuilder();
strcondition.Append(" LINKGID=(SELECT GID from info_client where Shortname='" + CUSTOMERNAME
+ "') and Convert(datetime,'" + BUSDATE + "') between BGNDATE and ENDDATE and (OPLBNAME='" + OPLBNAME + "' or ISNULL(OPLBNAME,'')='') ");
if (!string.IsNullOrEmpty(SALE))
{
strcondition.Append(" and (isnull(SALE,'')='" + SALE + "' or isnull(SALE,'')='') ");
}
else {
strcondition.Append(" and isnull(SALE,'')='' ");
}
strcondition.Append(" order by SALE desc,BGNDATE ASC ");
var ClientACCDATEList = GetACCDATEList(strcondition.ToString());
if (ClientACCDATEList.Count==0){
var _r=new STLDATEmb();
_r.STLDATE=BUSDATE;
_r.STLNAME = "";
_r.BSSOURCE = "";
return _r;
}else{
var CA = ClientACCDATEList[0];
var _r = new STLDATEmb();
_r.STLNAME = CA.ACCTYPE;
_r.BSSOURCE = CA.BSSOURCE;
if (CA.ACCTYPE == "月结") {
//延迟月份 指定日
var Date_0=Convert.ToDateTime(BUSDATE);
var year_0 =Date_0.Year;
var month_0=Date_0.Month;
var day_0 = Date_0.Day;
var month = Convert.ToInt32(CA.ACCMONTH);
if (month<=0) month=1;
//var tmonth = Convert.ToInt32((Math.Ceiling(Convert.ToDecimal(month_0 / month)) + 1) * month );
//if (tmonth > 12) {
// var years = Convert.ToDouble(tmonth / 12);
// tmonth = tmonth % 12;
// year_0=year_0+Convert.ToInt32( Math.Floor(years));
//}
var day = Convert.ToInt32(CA.ACCDAYS);
//var d = new DateTime();
var d = Date_0.AddMonths(month);
if (day > 28) {
d = new DateTime(d.Year, d.Month, 1).AddMonths(1).AddDays(-1);
// d = Convert.ToDateTime(d).AddMonths(1).AddDays(-1);
}else{
if (day == 0) {
d = Date_0.AddMonths(month);
}else
d = new DateTime(d.Year, d.Month, day);
}
_r.STLDATE = d.ToShortDateString();
return _r;
}else
if (CA.ACCTYPE == "约定天数")// CA.ACCTYPE == "固定期限"||
{
var month = Convert.ToInt32(CA.ACCMONTH);
var Date = Convert.ToDateTime(BUSDATE);//.AddMonths(month);
Date = Date.AddDays(Convert.ToInt32(CA.ACCDAYS));
_r.STLDATE = Date.ToShortDateString();
return _r;
}
else
if (CA.ACCTYPE == "旬结")// CA.ACCTYPE == "固定期限"||
{
var month = Convert.ToInt32(CA.ACCMONTH);
var Date = Convert.ToDateTime(BUSDATE);//.AddMonths(month);
Date = Date.AddDays(Convert.ToInt32(10));
_r.STLDATE = Date.ToShortDateString();
return _r;
}
else
if (CA.ACCTYPE == "半月结")
{
var _busdate = Convert.ToDateTime(BUSDATE);
var Date = Convert.ToDateTime(BUSDATE);
if (_busdate.Day < 16)
{
var TMPDAYS =Convert.ToInt32(CA.ACCDAYS);
if (Convert.ToInt32(CA.ACCDAYS) > 28) {
var tmpdate= new DateTime(_busdate.Year, _busdate.Month,1);
tmpdate = tmpdate.AddMonths(1).AddDays(-1);
if (tmpdate.Day < Convert.ToInt32(CA.ACCDAYS)) TMPDAYS = tmpdate.Day;
}
Date = new DateTime(_busdate.Year, _busdate.Month, TMPDAYS);
}
else
{
var TMPDAYS = Convert.ToInt32(CA.ACCMONTH);
if (Convert.ToInt32(CA.ACCDAYS) > 28)
{
var tmpdate = new DateTime(_busdate.Year, _busdate.Month, 1);
tmpdate = tmpdate.AddMonths(2).AddDays(-1);
if (tmpdate.Day < Convert.ToInt32(CA.ACCMONTH)) TMPDAYS = tmpdate.Day;
}
Date = new DateTime(_busdate.Year, _busdate.Month, TMPDAYS);
Date = Date.AddMonths(1);
}
_r.STLDATE = Date.ToShortDateString();
return _r;
}
else
if (CA.ACCTYPE == "季结")
{
var _busdate = Convert.ToDateTime(BUSDATE);
var Date = _busdate.AddDays(Convert.ToInt32(Convert.ToInt16(CA.ACCMONTH)*90));
_r.STLDATE = Date.ToShortDateString();
return _r;
}
else
{
_r.STLDATE = BUSDATE;
return _r;
}
/*if (CA.ACCTYPE == "约定天数")
{
}*/
}
}
#endregion
#region 获得账期天数
static public STLDATEmb GetSTLDAYS ( string CUSTOMERNAME, string OPLBNAME, string BUSDATE, string SALE )
{
var strcondition = new StringBuilder();
strcondition.Append(" LINKGID=(SELECT GID from info_client where Shortname='" + CUSTOMERNAME
+ "') and Convert(datetime,(dbo.trimdate(BGNDATE)+' 00:00:00'))<=Convert(datetime,'" + BUSDATE + "') "
+ " and Convert(datetime,(dbo.trimdate(ENDDATE)+' 23:59:59'))>=Convert(datetime,'" + BUSDATE + "') and OPLBNAME='" + OPLBNAME + "' ");
if (!string.IsNullOrEmpty(SALE))
{
strcondition.Append(" and SALE='" + SALE + "' ");
}
strcondition.Append(" order by BGNDATE ");
var ClientACCDATEList = GetACCDATEList(strcondition.ToString());
if (ClientACCDATEList.Count == 0)
{
var _r = new STLDATEmb();
_r.STLDATE = BUSDATE;
_r.STLNAME = "";
return _r;
}
else
{
var CA = ClientACCDATEList[0];
var _r = new STLDATEmb();
_r.STLNAME = CA.ACCTYPE;
if (CA.ACCTYPE == "月结")
{
//延迟月份 指定日
var Date_0 = Convert.ToDateTime(BUSDATE);
var year_0 = Date_0.Year;
var month_0 = Date_0.Month;
var month = Convert.ToInt32(CA.ACCMONTH);
if (month <= 0) month = 1;
var tmonth = Convert.ToInt32((Math.Ceiling(Convert.ToDecimal(month_0 / month)) + 1) * month);
if (tmonth > 12)
{
tmonth = tmonth % 12;
var years = Convert.ToDouble(year_0 / 12);
year_0 = year_0 + Convert.ToInt32(Math.Floor(years));
}
var day = Convert.ToInt32(CA.ACCDAYS);
var d = new DateTime();
if (day > 28)
{
var Date = new DateTime(year_0, tmonth, 1);
d = Convert.ToDateTime(Date).AddMonths(1).AddDays(-1);
}
else
{
d = new DateTime(year_0, tmonth, day);
}
DateTime d1 = Convert.ToDateTime(BUSDATE);
DateTime d2 = Convert.ToDateTime(d.ToShortDateString());
TimeSpan d3 = d2.Subtract(d1);
_r.STLDAYS = d3.Days.ToString();
return _r;
}
else
if (CA.ACCTYPE == "约定天数")// CA.ACCTYPE == "固定期限"||
{
var month = Convert.ToInt32(CA.ACCMONTH);
var Date = Convert.ToDateTime(BUSDATE);//.AddMonths(month);
Date = Date.AddDays(Convert.ToInt32(CA.ACCDAYS));
_r.STLDATE = Date.ToShortDateString();
DateTime d1 = Convert.ToDateTime(BUSDATE);
DateTime d2 = Convert.ToDateTime(Date.ToShortDateString());
TimeSpan d3 = d2.Subtract(d1);
_r.STLDAYS = d3.Days.ToString();
return _r;
}
else
if (CA.ACCTYPE == "半月结")
{
var _busdate = Convert.ToDateTime(BUSDATE);
var Date = Convert.ToDateTime(BUSDATE);
if (_busdate.Day < 16)
{
Date = new DateTime(_busdate.Year, _busdate.Month, Convert.ToInt32(CA.ACCDAYS));
}
else
{
Date = new DateTime(_busdate.Year, _busdate.Month, Convert.ToInt32(CA.ACCMONTH));
Date = Date.AddMonths(1);
}
_r.STLDATE = Date.ToShortDateString();
DateTime d1 = Convert.ToDateTime(BUSDATE);
DateTime d2 = Convert.ToDateTime(Date.ToShortDateString());
TimeSpan d3 = d2.Subtract(d1);
_r.STLDAYS = d3.Days.ToString();
return _r;
}
else
{
_r.STLDATE = BUSDATE;
return _r;
}
/*if (CA.ACCTYPE == "约定天数")
{
}*/
}
}
#endregion
#region 根据业务BSNO判断该客户该业务当前属于何种账期类型。如无账期信息或者有但是没有找到则返回一条acctype=票结 的查询结果
/// <summary>
/// 根据业务BSNO判断该客户该业务当前属于何种账期类型(日期用ETD)。如无账期信息或者有但是没有找到则返回一条acctype=票结 的查询结果
/// 如果实际上有多条满足条件,则会返回其中的某一条
/// </summary>
/// <param name="BSNO"></param>
/// <returns></returns>
public static Info_Client_ACCDATE_mb GetCustAccdate(string BSNO)
{
var result = new Info_Client_ACCDATE_mb();
result.ACCTYPE = "票结";
var cdc = new CommonDataContext();
var bs = cdc.v_op_bs.FirstOrDefault(x => x.BSNO == BSNO);
if (bs == null || string.IsNullOrWhiteSpace(bs.CUSTOMERNAME))
{
return result;
}
var cust = cdc.info_client.FirstOrDefault(x => x.SHORTNAME == bs.CUSTOMERNAME);
var accdatainfoList = cdc.Info_Client_ACCDATE.Where(x => x.LINKGID == cust.GID).ToList();
if (accdatainfoList == null || accdatainfoList.Count == 0)
{
return result;
}
else
{
//账期信息有三个维度 sale oplbname 有效期
//优先找全部符合的 如无则寻找有销售无oplbname的
//如无则寻找有oplbname无销售的
//如无则寻找没有销售没有业务类型只有有效期的
//
//1首先按 sale oplbname 有效期 找
foreach (var item in accdatainfoList)
{
try
{
//1首先按 sale oplbname 有效期 找
if (item.OPLBNAME != bs.OPLBNAME || item.SALE != bs.SALE) continue;
var settledate = Convert.ToDateTime(bs.ETD);
var startdate = Convert.ToDateTime(item.BGNDATE);
var enddate = Convert.ToDateTime(item.ENDDATE);
if (startdate <= settledate && enddate >= settledate)
{
result = item;
return result;
}
}
catch (Exception ex)
{
return result;
}
}
////2按sale找
foreach (var item in accdatainfoList)
{
try
{
//2按sale找
if (item.SALE != bs.SALE) continue;
var settledate = Convert.ToDateTime(bs.ETD);
var startdate = Convert.ToDateTime(item.BGNDATE);
var enddate = Convert.ToDateTime(item.ENDDATE);
if (startdate <= settledate && enddate >= settledate)
{
result = item;
return result;
}
}
catch (Exception ex)
{
return result;
}
}
//3按业务类型找
foreach (var item in accdatainfoList)
{
try
{
//3按业务类型找
if (item.OPLBNAME != bs.OPLBNAME) continue;
var settledate = Convert.ToDateTime(bs.ETD);
var startdate = Convert.ToDateTime(item.BGNDATE);
var enddate = Convert.ToDateTime(item.ENDDATE);
if (startdate <= settledate && enddate >= settledate)
{
result = item;
return result;
}
}
catch (Exception ex)
{
return result;
}
}
//4按指定业务类型和销售没找到 找业务类型空白的
foreach (var item in accdatainfoList)
{
try
{
//找业务类型空白的
if (!string.IsNullOrWhiteSpace(item.OPLBNAME))
continue;
var settledate = Convert.ToDateTime(bs.ETD);
var startdate = Convert.ToDateTime(item.BGNDATE);
var enddate = Convert.ToDateTime(item.ENDDATE);
if (startdate <= settledate && enddate >= settledate)
{
result = item;
return result;
}
}
catch (Exception ex)
{
return result;
}
}
if (result.ACCTYPE == "") result.ACCTYPE = "票结";
}
return result;
}
public static string GetCustAcctype(string BSNO) {
var accdate = GetCustAccdate(BSNO);
return accdate.ACCTYPE;
}
3 years ago
#endregion
#region 往来单位审核
public static DBResult IC_Start ( List<MsClient> _List, string USERID ) //申请签入
{
var WorkFlowName = "MsInfoClient_Audit";
Database db = DatabaseFactory.CreateDatabase();
var result = new DBResult();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
foreach (var _bill in _List)
{
Resultmb WorkResult = WorkFlowDAL.WorkFlowStart(WorkFlowName, _bill.GID, USERID,_bill.SHORTNAME, _bill.GID,"");
if (WorkResult.Success == true)
{
if (WorkResult.islast != true)
{
var cmdupdate = db.GetSqlStringCommand("update Info_client set BLSTATUS=2 where GID=@GID and BLSTATUS in(1,6) ");
cmdupdate.Parameters.Clear();
//db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.AddInParameter(cmdupdate, "@GID", DbType.String, _bill.GID);
db.ExecuteNonQuery(cmdupdate, tran);
3 years ago
}
else {
var cmdupdate = db.GetSqlStringCommand("update Info_client set BLSTATUS=0 where GID=@GID and BLSTATUS in(1,6) ");
cmdupdate.Parameters.Clear();
//db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.AddInParameter(cmdupdate, "@GID", DbType.String, _bill.GID);
db.ExecuteNonQuery(cmdupdate, tran);
}
}
else
{
result.Success = false;
2 years ago
result.Message = $"提交错误![{WorkResult.Message}]";
tran.Rollback();
return result;
3 years ago
}
}
var r2 = MsInfoClientDAL.SetRange(_List, USERID);
3 years ago
result = new DBResult();
result.Success = true;
result.Message = "提交成功";
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "提交错误,请重试或联系系统管理员";
//return result;
}
}
return result;
}
public static DBResult IC_back ( List<MsClient> _List, string USERID ) //申请签入_撤回
{
var WorkFlowName = "MsInfoClient_Audit";
Database db = DatabaseFactory.CreateDatabase();
var result = new DBResult();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
foreach (var _bill in _List)
{
Resultmb WorkResult = WorkFlowDAL.WorkFlowReset(WorkFlowName, _bill.GID, USERID);
if (WorkResult.Success == true)
{
var cmdupdate = db.GetSqlStringCommand("update Info_Client set BLSTATUS=1 where GID=@GID and BLSTATUS=2 ");
cmdupdate.Parameters.Clear();
//db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.AddInParameter(cmdupdate, "@GID", DbType.String, _bill.GID);
db.ExecuteNonQuery(cmdupdate, tran);
}
else
{
result.Success = false;
result.Message = "提交错误!";
}
}
result = new DBResult();
result.Success = true;
result.Message = "提交成功";
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "提交错误,请重试或联系系统管理员";
//return result;
}
}
return result;
}
public static DBResult IC_Auditback ( List<MsClient> _List, string USERID ) //申请签入_驳回
{
var WorkFlowName = "MsInfoClient_Audit";
Database db = DatabaseFactory.CreateDatabase();
var result = new DBResult();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
foreach (var _bill in _List)
{
Resultmb WorkResult = WorkFlowDAL.DeleteWorkFlowDo(WorkFlowName, _bill.GID, USERID, "");
if (WorkResult.Success == true)
{
var cmdupdate = db.GetSqlStringCommand("update Info_client set BLSTATUS=6 where GID=@GID and BLSTATUS in (2,0) ");
cmdupdate.Parameters.Clear();
//db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.AddInParameter(cmdupdate, "@GID", DbType.String, _bill.GID);
db.ExecuteNonQuery(cmdupdate, tran);
}
else
{
result.Success = false;
result.Message = "提交错误!";
}
}
result = new DBResult();
result.Success = true;
result.Message = "提交成功";
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "提交错误,请重试或联系系统管理员";
//return result;
}
}
return result;
}
public static DBResult IC_Audit ( List<MsClient> _List, string USERID ) //申请签入_驳回
{
var WorkFlowName = "MsInfoClient_Audit";
Database db = DatabaseFactory.CreateDatabase();
var result = new DBResult();
using (var conn = db.CreateConnection())
{
conn.Open();
var tran = conn.BeginTransaction();
try
{
foreach (var _bill in _List)
{
Resultmb WorkResult = WorkFlowDAL.InsertWorkFlowDo(WorkFlowName, _bill.GID, USERID,_bill.SHORTNAME);
if (WorkResult.Success == true)
{
if (WorkResult.islast == true)
{
var cmdupdate = db.GetSqlStringCommand("update Info_Client set BLSTATUS=0 where GID=@GID and BLSTATUS =2 ");
cmdupdate.Parameters.Clear();
//db.AddInParameter(cmdupdate, "@AUDITDATE", DbType.String, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
db.AddInParameter(cmdupdate, "@GID", DbType.String, _bill.GID);
db.ExecuteNonQuery(cmdupdate, tran);
}
else
{
}
}
else
{
result.Success = false;
result.Message = "提交错误!";
}
}
result = new DBResult();
result.Success = true;
result.Message = "提交成功";
tran.Commit();
}
catch (Exception)
{
tran.Rollback();
result.Success = false;
result.Message = "提交错误,请重试或联系系统管理员";
//return result;
}
}
return result;
}
#endregion
#region 往来单位图片
static public List<MsInfoClientImgmb> GetImgList(string strCondition, string sort = null,string USERID="1")
{
var strSql = new StringBuilder();
var rangstr = "";
if (USERID == "1") rangstr = "1=2";
else
{
rangstr = BasicDataRefDAL.GetVisableRange("modInfoClinet_info", USERID, "", "CREATEUSER");
}
if (!string.IsNullOrEmpty(rangstr))
{
if (!string.IsNullOrEmpty(strCondition))
{
strCondition = strCondition + " and " + rangstr;
}
else
{
strCondition = rangstr;
}
}
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" and " + strCondition);
}
var sortstring = DatasetSort.Getsortstring(sort);
if (!string.IsNullOrEmpty(sortstring))
{
strSql.Append(" order by " + sortstring);
}
else
{
strSql.Append(" order by NAME ");
}
return SetImgData(strSql);
}
private static List<MsInfoClientImgmb> SetImgData(StringBuilder strSql)//, List<HcUtility.Core.Fieldmb> fieldlist
{
var headList = new List<MsInfoClientImgmb>();
Database db = DatabaseFactory.CreateDatabase();
string sql = MsInfoClientImgmb.getSQL() + strSql;
using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql))
{
while (reader.Read())
{
////根据字段名设定同名属性值
MsInfoClientImgmb data = new MsInfoClientImgmb();
data.SetExtendValue(reader);
data.SetValue("INDATABASE_OLD", data.GetValue("INDATABASE"));
headList.Add(data);
}
reader.Close();
}
return headList;
}
#endregion
#region 独立版本功能 设定往来单位权限
public static DBResult SetRange(string RANGETYPE, string data,string USERID)
{
//1集团 2分公司 3个人
//1集团 即清空所有往来单位人员权限
//2分公司 效果为选中所有该往来单位录入人的本公司人员
//3个人 效果为选中录入人本人 和他所在公司的操作部、财务
var dataList = JsonConvert.Deserialize<List<MsClient>>(data);
var result = new DBResult();
//op为一串用逗号隔开的带单引号userid 形如 'aaaaa','bbbbb'
var op = "";
var seltype = "2";
var cdc = new CommonDataContext();
if (RANGETYPE == "1")
{
3 years ago
result = MsInfoClientDAL.DelClientRange(dataList, op, "3", USERID);
2 years ago
/// //1集团 2分公司 3个人
DoSetRangeType(dataList, "集团");
}
if (RANGETYPE == "2")
{
3 years ago
result = MsInfoClientDAL.DelClientRange(dataList, op, "3", USERID);
//获取本公司的所有人gid
2 years ago
var = new List<VW_user_all_md>();
foreach (var item in dataList)
{
2 years ago
= cdc.VW_user_all.Where(x => x.COMPANYID == item.CORPID).ToList();
op = GetUseridStr();
var templist = dataList.Where(x => x.GID == item.GID).ToList();
result = MsInfoClientDAL.InsertClientRange(templist, op, seltype, USERID);
if (!result.Success) return result;
}
2 years ago
DoSetRangeType(dataList, "分公司");
//SetInfoclientLogic_range(dataList, RANGETYPE);
}
if (RANGETYPE == "3")
{
//20230823 改为不删除当前人员权限
//result = MsInfoClientDAL.DelClientRange(dataList, op, "3", USERID);
//获取本公司非销售人员
//user_userattribute.userid属于本公司 且attri 3C91140E-6FB6-4B5A-B5AB-30E59E3CBBED
//var 本公司人员 = new List<VW_user_md>();
foreach (var item in dataList)
{
2 years ago
//本公司人员 = cdc.VW_user_all.Where(x => x.COMPANYID == item.CORPID).ToList();
2 years ago
//改为所有公司的所有销售人员
2 years ago
var = cdc.VW_user_all.FirstOrDefault(x => x.SHOWNAME == item.OPNAME);
var = cdc.VW_user_all.FirstOrDefault(x => x.SHOWNAME == item.SALE);
2 years ago
var = cdc.VW_user_all.Where(x => x.USERID!= .USERID).ToList();
op = str();
if (op != "") op += ",";
op += $"'{本人.USERID}'";
if (!string.IsNullOrWhiteSpace(.USERID))
{
op += $",'{往来单位销售.USERID}'";
}
//20230823 改为不删除当前人员权限
result = MsInfoClientDAL.DelClientRange(dataList, op, "2", USERID);
2 years ago
//2个人1部门0分公司
result = MsInfoClientDAL.InsertClientRange(dataList, op, seltype, USERID);
if (!result.Success) return result;
}
2 years ago
DoSetRangeType(dataList, "个人");
//SetInfoclientLogic_range(dataList, RANGETYPE);
}
return result;
2 years ago
}
public static DBResult SetRange(string data, string USERID)
{
//1集团 2分公司 3个人
//1集团 即清空所有往来单位人员权限
//2分公司 效果为选中所有该往来单位录入人的本公司人员
//3个人 效果为选中录入人本人 和他所在公司的操作部、财务
var dataList = JsonConvert.Deserialize<List<MsClient>>(data);
var result = SetRange(dataList, USERID);
//var result = new DBResult();
////op为一串用逗号隔开的带单引号userid 形如 'aaaaa','bbbbb'
//var op = "";
//var seltype = "2";
//var cdc = new CommonDataContext();
//var 集团List = new List<MsClient>();
//var 个人List = new List<MsClient>();
//foreach (var item in dataList)
//{
// if (item.RANGETYPE == "集团")
// {
// 集团List.Add(item);
// }
// if (item.RANGETYPE == "个人")
// {
// 个人List.Add(item);
// }
//}
//if (集团List != null && 集团List.Count > 0)
//{
// result = MsInfoClientDAL.DelClientRange(集团List, op, "3", USERID);
// /// //1集团 2分公司 3个人
// //DoSetRangeType(dataList, "集团");
//}
//if (个人List != null && 个人List.Count > 0)
//{
// {
// result = MsInfoClientDAL.DelClientRange(个人List, op, "3", USERID);
// //获取本公司非销售人员
// //user_userattribute.userid属于本公司 且attri 3C91140E-6FB6-4B5A-B5AB-30E59E3CBBED
// //var 本公司人员 = new List<VW_user_md>();
// foreach (var item in 个人List)
// {
2 years ago
// //本公司人员 = cdc.VW_user_all.Where(x => x.COMPANYID == item.CORPID).ToList();
// //改为所有公司的所有销售人员
2 years ago
// var 本人 = cdc.VW_user_all.FirstOrDefault(x => x.SHOWNAME == item.OPNAME);
2 years ago
// var 全部人员 = cdc.VW_user_all.Where(x => x.USERID != 本人.USERID).ToList();
// op = 获取非销售人员str(全部人员);
// if (op != "") op += ",";
// op += $"'{本人.USERID}'";
// result = MsInfoClientDAL.InsertClientRange(个人List, op, "2", USERID);
// if (!result.Success) return result;
// }
// //DoSetRangeType(dataList, "个人");
// //SetInfoclientLogic_range(dataList, RANGETYPE);
// }
//}
return result;
}
public static DBResult SetRange(List<MsClient> dataList, string USERID)
{
//1集团 2分公司 3个人
//1集团 即清空所有往来单位人员权限
//2分公司 效果为选中所有该往来单位录入人的本公司人员
//3个人 效果为选中录入人本人 和他所在公司的操作部、财务
//var dataList = JsonConvert.Deserialize<List<MsClient>>(data);
2 years ago
var result = new DBResult();
//op为一串用逗号隔开的带单引号userid 形如 'aaaaa','bbbbb'
var op = "";
var seltype = "2";
var cdc = new CommonDataContext();
var List = new List<MsClient>();
var List = new List<MsClient>();
foreach (var item in dataList)
{
if (item.RANGETYPE == "集团")
{
List.Add(item);
}
if (item.RANGETYPE == "个人")
{
List.Add(item);
}
}
if (List != null && List.Count > 0)
{
result = MsInfoClientDAL.DelClientRange(List, op, "3", USERID);
/// //1集团 2分公司 3个人
//DoSetRangeType(dataList, "集团");
}
if (List != null && List.Count > 0)
{
{
2 years ago
//获取本公司非销售人员
//user_userattribute.userid属于本公司 且attri 3C91140E-6FB6-4B5A-B5AB-30E59E3CBBED
//var 本公司人员 = new List<VW_user_md>();
foreach (var item in List)
{
2 years ago
//本公司人员 = cdc.VW_user_all.Where(x => x.COMPANYID == item.CORPID).ToList();
2 years ago
//改为所有公司的所有销售人员
2 years ago
var = cdc.VW_user_all.FirstOrDefault(x => x.SHOWNAME == item.OPNAME);
var = cdc.VW_user_all.FirstOrDefault(x => x.SHOWNAME == item.SALE);
2 years ago
2 years ago
var = cdc.VW_user_all.Where(x => x.USERID != .USERID).ToList();
2 years ago
op = str();
if (op != "") op += ",";
op += $"'{本人.USERID}'";
if (!string.IsNullOrWhiteSpace(.USERID))
{
op += $",'{往来单位销售.USERID}'";
}
result = MsInfoClientDAL.DelClientRange(List, op, "2", USERID);
2 years ago
result = MsInfoClientDAL.InsertClientRange(List, op, "2", USERID);
if (!result.Success) return result;
}
//DoSetRangeType(dataList, "个人");
//SetInfoclientLogic_range(dataList, RANGETYPE);
}
}
return result;
}
2 years ago
private static void DoSetRangeType(List<MsClient> dataList,string RANGETYPE) {
var GIDList = dataList.Select(s => s.GID).ToList();
var GIDListStr = "";
foreach (var gid in GIDList)
{
if (GIDListStr != "") GIDListStr += ",";
GIDListStr += "'" + gid + "'";
}
var _r = BasicDataRefDAL.ExecSql(" UPDATE info_client set RANGETYPE='"+ RANGETYPE + "' where GID in(" + GIDListStr + ")");
}
2 years ago
private static string GetUseridStr(List<VW_user_all_md> vwuserlist)
{
var result = "";
foreach (var user in vwuserlist)
{
if (result != "") result += ",";
result += $"'{user.USERID}'";
}
return result;
}
2 years ago
private static string str(List<VW_user_all_md> vwuserlist)
{
var cdc = new CommonDataContext();
var useridlist = vwuserlist.Select(s => s.USERID).ToList();
var List = cdc.user_userattribute.Where(x => useridlist.Contains(x.USERID) && x.ATTRIBUTEID == "3C91140E-6FB6-4B5A-B5AB-30E59E3CBBED" && x.VALUE == "false").ToList();
3 years ago
var UseridList = List.Select(s => s.USERID).ToList();
3 years ago
var result = "";
foreach (var userid in UseridList)
{
if (result != "") result += ",";
result += $"'{userid}'";
}
return result;
}
3 years ago
private static void SetInfoclientLogic_range(List<MsClient> MsClients, string RANGETYPE) {
foreach (var client in MsClients) {
var logicinfo= new Dictionary<string, string>();
logicinfo.Add("权限范围", RANGETYPE);
BasicDataRefDAL.SaveLogicInfo(client.GID, "权限范围", logicinfo);
}
}
#endregion
3 years ago
#region 参照部分
#region FileList
static public List<MsUpLoadFile> GetUpLoadFileList ( string strCondition )
{
var strSql = new StringBuilder();
strSql.Append("SELECT ");
strSql.Append("GID,PID,FILENAME,FILETYPE,IMGFILE,UPLOADEMPLY,UPLOADDATE,FILEPATH");
strSql.Append(" from info_files ");
if (!string.IsNullOrEmpty(strCondition))
{
strSql.Append(" where " + strCondition);
}
return SetUpLoadFileData(strSql);
}
private static List<MsUpLoadFile> SetUpLoadFileData ( StringBuilder strSql )
{
var headList = new List<MsUpLoadFile>();
Database db = DatabaseFactory.CreateDatabase();
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
{
while (reader.Read())
{
MsUpLoadFile data = new MsUpLoadFile();
#region Set DB data to Object
data.GID = Convert.ToString(reader["GID"]);
data.PID = Convert.ToString(reader["PID"]);
data.UPLOADEMPLY = Convert.ToString(reader["UPLOADEMPLY"]);
data.UPLOADDATE = Convert.ToString(reader["UPLOADDATE"]);
data.FILETYPE = Convert.ToString(reader["FILETYPE"]);
data.FILENAME = Convert.ToString(reader["FILENAME"]);
data.FILEPATH = Convert.ToString(reader["FILEPATH"]);
#endregion
headList.Add(data);
}
reader.Close();
}
return headList;
}
#endregion
public static bool UpdateFileData ( HttpRequestBase request, string filename,string Path, string GID, out string msg )
{
var isSucess = false;
msg = "";
Stream stream = new FileStream(filename, FileMode.Open);
byte[] data = new byte[stream.Length];
stream.Read(data, 0, data.Length);
stream.Close();
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
try
{
const string insertSql = @" delete from info_files where PID=@PID0 "+
" insert info_files (GID,PID,UPLOADEMPLY,UPLOADDATE,FILENAME,FILETYPE,IMGFILE) "+
" VALUES(@GID,@PID,@UPLOADEMPLY,@UPLOADDATE,@FILENAME,@FILETYPE,@Image) ";
SqlParameter[] insertParms = new SqlParameter[] {
new SqlParameter("@GID",SqlDbType.VarChar),
new SqlParameter("@PID",SqlDbType.VarChar),
new SqlParameter("@UPLOADEMPLY",SqlDbType.VarChar),
new SqlParameter("@UPLOADDATE",SqlDbType.VarChar),
new SqlParameter("@FILENAME",SqlDbType.VarChar),
new SqlParameter("@FILETYPE",SqlDbType.VarChar),
new SqlParameter("@PID0",SqlDbType.VarChar),
new SqlParameter("@Image",SqlDbType.Image)
};
insertParms[0].Value = Guid.NewGuid().ToString();
insertParms[1].Value = GID;
insertParms[2].Value = CookieConfig.GetCookie_UserName(request);
insertParms[3].Value = DateTime.Now.ToString();
insertParms[4].Value = Path;
insertParms[5].Value = "结算单位联系人签名";
insertParms[6].Value = GID;
insertParms[7].Value = data;
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, insertSql, insertParms);
sqlTran.Commit();
isSucess = true;//状态为1表示插入成功
}
catch (Exception execError)
{
isSucess = false;//有异常,插入失败
sqlTran.Rollback();
msg = execError.Message;
}
finally
{
SqlHelper.CloseConnection();
}
}
return isSucess;
}
static public int SaveFileList ( IList<MsUpLoadFile> tempFileEntities, string tempBSNO )
{
int iResult = 0;
const string SQL_INSERT = @"insert info_files (GID,PID,UPLOADEMPLY,UPLOADDATE,FILENAME,FILETYPE) VALUES(@GID,@PID,@UPLOADEMPLY,@UPLOADDATE,@FILENAME,@FILETYPE) ";
const string SQL_UPDATE = @"update info_files SET FILENAME=@FILENAME where GID=@GID";
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
try
{
foreach (MsUpLoadFile fileEntity in tempFileEntities)
{
if (fileEntity.PID == "*" || fileEntity.PID == "")
{
SqlParameter[] insertParms = new SqlParameter[] {
new SqlParameter("@GID",SqlDbType.VarChar),
new SqlParameter("@PID",SqlDbType.VarChar),
new SqlParameter("@UPLOADEMPLY",SqlDbType.VarChar),
new SqlParameter("@UPLOADDATE",SqlDbType.VarChar),
new SqlParameter("@FILENAME",SqlDbType.VarChar),
new SqlParameter("@FILETYPE",SqlDbType.VarChar)
};
insertParms[0].Value = fileEntity.GID;
insertParms[1].Value = tempBSNO;
insertParms[2].Value = fileEntity.UPLOADEMPLY;
insertParms[3].Value = fileEntity.UPLOADDATE;
insertParms[4].Value = fileEntity.FILENAME;
insertParms[5].Value = fileEntity.FILETYPE;
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_INSERT, insertParms);
}
else
{
SqlParameter[] updateParms = new SqlParameter[] {
new SqlParameter("@FILENAME",SqlDbType.VarChar)
};
updateParms[0].Value = fileEntity.GID;
updateParms[1].Value = tempBSNO;
updateParms[2].Value = fileEntity.UPLOADEMPLY;
updateParms[3].Value = fileEntity.UPLOADDATE;
updateParms[4].Value = fileEntity.FILENAME;
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, SQL_UPDATE, updateParms);
}
}
sqlTran.Commit();
iResult = 1;//状态为1表示插入成功
}
catch (Exception execError)
{
iResult = -1;//有异常,插入失败
sqlTran.Rollback();
iResult = -2;//插入异常,事务已回滚成功
throw execError;
}
finally
{
SqlHelper.CloseConnection();
}
}
return iResult;
}
static public int DeleteUploadFile ( string tempGId )
{
int iResult = 0;
using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction))
{
try
{
var strSql = new StringBuilder();
strSql.Append("Delete from info_files where ");
strSql.Append(" GId in (" + tempGId + ")");
SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, strSql.ToString());
sqlTran.Commit();
iResult = 1;//状态为1表示插入成功
}
catch (Exception execError)
{
iResult = -1;//有异常,插入失败
sqlTran.Rollback();
iResult = -2;//插入异常,事务已回滚成功
throw execError;
}
finally
{
SqlHelper.CloseConnection();
}
}
return iResult;
}
#endregion
1 year ago
}
public class InfoClientLimitDAL
{
public static DBResult DoSave(string InfoClientId,string data)
{
var headList = JsonConvert.Deserialize<List<Info_Client_Limit_md>>(data);
var result = new DBResult();
try
{
var cdc = new CommonDataContext();
if (headList == null || headList.Count == 0)
{
DoSet(InfoClientId);
}
else
{
var currHeadList = cdc.Info_Client_Limit.Where(x => x.InfoClientId == InfoClientId).ToList();
foreach (var head in headList)
{
var _count = BasicDataRefDAL.GetExist("info_client_limit_change", " pid='" + head.GID + "' ");
var currHead = currHeadList.FirstOrDefault(x => x.GID == head.GID);
if (currHead.TOTALLIMIT == head.TOTALLIMIT)
{
continue;
}
if (_count == 0)
{
//无原有变动日志 直接修改
currHead.TOTALLIMIT = head.TOTALLIMIT;
currHead.REMAINLIMIT = head.TOTALLIMIT;
cdc.Info_Client_Limit.AddOrUpdate(currHead);
}
else {
//需判断原有值,计算差值,并反应到所有日志记录
var addLimit = head.TOTALLIMIT - currHead.TOTALLIMIT;
var currbodyList = cdc.Info_Client_Limit_Change.Where(x => x.Pid == head.GID).ToList();
currHead.TOTALLIMIT = head.TOTALLIMIT;
currHead.REMAINLIMIT = currHead.REMAINLIMIT+ addLimit;
cdc.Info_Client_Limit.AddOrUpdate(currHead);
foreach (var body in currbodyList) {
body.AMOUNT2 += addLimit;
body.AMOUNT3 += addLimit;
}
}
cdc.SaveChanges();
}
}
result.OK();
}
catch (Exception ex)
{
result.SetErrorInfo(ex.Message);
}
return result;
}
public static DBResult DoSet(string GID) {
var result = new DBResult();
var cdc = new CommonDataContext();
var _list = cdc.info_client.Where(x => x.GID == GID).ToList();
if (_list == null || _list.Count == 0)
{
}
else {
var companyList = cdc.company.Where(x => 1 == 1).ToList();
//var currHeadList = cdc.Info_Client_Limit.Where(x => x.InfoClientId == GID).ToList();
foreach (var company in companyList)
{
DoSet(GID, company.GID);
}
}
return result;
}
private static DBResult DoSet(string InfoClientId,string SALECORPID)
{
var result = new DBResult();
try
{
var cdc = new CommonDataContext();
var _list = cdc.Info_Client_Limit.Where(x => x.InfoClientId == InfoClientId && x.SALECORPID== SALECORPID).ToList();
if (_list == null || _list.Count == 0)
{
var infoclient = cdc.info_client.First(x => x.GID == InfoClientId);
var newhead = new Info_Client_Limit_md();
newhead.GID = Guid.NewGuid().ToString();
newhead.SALECORPID = SALECORPID;
newhead.InfoClientId = InfoClientId;
newhead.CUSTOMERNAME = infoclient.SHORTNAME;
newhead.PCORPNAME = "";
newhead.TOTALLIMIT = 0;
newhead.CURRENTDEBT = 0;
newhead.REMAINLIMIT = 0;
cdc.Info_Client_Limit.Add(newhead);
cdc.SaveChanges();
}
//else
//{
// //已有更新
// var head = _list[0];
// head.PCORPNAME = PCORPNAME;
// head.TOTALLIMIT = TOTALLIMIT;
// cdc.Info_Client_Limit.AddOrUpdate(head);
// cdc.SaveChanges();
//}
result.OK();
}
catch (Exception ex)
{
result.SetErrorInfo(ex.Message);
}
return result;
}
public static DBResult GetHeadList(string GID)
{
var result = new DBResult();
try
{
var cdc = new CommonDataContext();
var head = new Info_Client_Limit_md();
var _list = cdc.Info_Client_Limit.Where(x => x.InfoClientId == GID).ToList();
if (_list == null || _list.Count == 0)
{
DoSet(GID);
return GetHeadList(GID);
}
else
{
}
result.OK("", _list);
result.totalCount= _list.Count;
}
catch (Exception ex)
{
result.SetErrorInfo(ex.Message);
}
return result;
}
public static DBResult GetBodyList(int start, int limit, string GID,string condition)
{
var result = new DBResult();
try
{
var cdc = new CommonDataContext();
Dictionary<string, string> dictionary = JsonConvert.Deserialize<Dictionary<string, string>>(condition);
var data = new List<Info_Client_Limit_Change_md>();
var alldata = 0;
QueryCollection queries = new QueryCollection();
if (dictionary != null && dictionary.Count>0)
{
if (dictionary.ContainsKey("CUSTNO") && !string.IsNullOrWhiteSpace(dictionary["CUSTNO"]))
{
queries.Add(new Query { Name = "CUSTNO", Operator = Query.Operators.Contains, Value = dictionary["CUSTNO"] });
}
if (dictionary.ContainsKey("BILLNO") && !string.IsNullOrWhiteSpace(dictionary["BILLNO"]))
{
queries.Add(new Query { Name = "BILLNO", Operator = Query.Operators.Contains, Value = dictionary["BILLNO"] });
}
}
else {
queries.Add(new Query { Name = "Id", Operator = Query.Operators.GreaterThan, Value = 0 });
}
//alldata = cdc.Info_Client_Limit_Change.Where(x => x.Pid == GID ).Count();
//data = cdc.Info_Client_Limit_Change
// .Where(x => x.Pid == GID)
// .OrderBy(o => o.Id)
// .Skip(start).Take(limit).ToList();
alldata = cdc.Info_Client_Limit_Change
.Where(x => x.Pid == GID)
.Where(queries.AsExpression<Info_Client_Limit_Change_md>())
.Count();
data = cdc.Info_Client_Limit_Change
.Where(x => x.Pid == GID)
.Where(queries.AsExpression<Info_Client_Limit_Change_md>())
.OrderBy(o => o.Id)
.Skip(start).Take(limit).ToList();
result.OK("", data);
result.totalCount = alldata;
}
catch (Exception ex)
{
result.SetErrorInfo(ex.Message);
}
return result;
}
}
/// <summary>
/// 用于查询和使用往来单位的欠费
/// </summary>
public class InfoClientLimitHelper
{
private Info_Client_Limit_md Head { get; set; }
private v_op_bill_mb Bill { get; set; }
private string CHANGEUSER { get; set; }
private List<Info_Client_Limit_Change_md> ChangeDetail { get; set; }
public InfoClientLimitHelper() { }
public bool canuse() {
if (Head != null && Head.GID != null && Head.GID != "")
{
return true;
}
else {
return false;
}
}
private CommonDataContext cdc { get; set; }
/// <summary>
/// 传入往来单位GID或往来单位shortname
/// </summary>
/// <param name="GID"></param>
public InfoClientLimitHelper(string SALECORPID, string InfoClientId,string USERNAME)
{
cdc = new CommonDataContext();
Head = cdc.Info_Client_Limit.FirstOrDefault(x => x.SALECORPID== SALECORPID &&( x.GID == InfoClientId || x.CUSTOMERNAME == InfoClientId));
CHANGEUSER = USERNAME;
NewChange = new List<Info_Client_Limit_Change_md>();
//if (canuse()) {
// ChangeDetail = cdc.Info_Client_Limit_Change.Where(x=>x.Pid== Head.GID).OrderBy(x=>x.Id).ToList();
//}
}
public InfoClientLimitHelper(string BSNO, string USERNAME)
{
cdc = new CommonDataContext();
Bill = cdc.v_op_bill.FirstOrDefault(x => x.BSNO == BSNO);
Head = cdc.Info_Client_Limit.FirstOrDefault(x => x.SALECORPID == Bill.SALECORPID && ( x.CUSTOMERNAME == Bill.CUSTOMERNAME));
CHANGEUSER = USERNAME;
NewChange = new List<Info_Client_Limit_Change_md>();
//if (canuse()) {
// ChangeDetail = cdc.Info_Client_Limit_Change.Where(x=>x.Pid== Head.GID).OrderBy(x=>x.Id).ToList();
//}
}
public DBResult CanCheckOut() {
var result = new DBResult();
if (Bill == null || string.IsNullOrWhiteSpace(Bill.BSNO)) {
result.SetErrorInfo("没有找到业务");
return result;
}
var billfee = cdc.ch_fee.Where(x => x.BSNO == Bill.BSNO && x.FEETYPE==1).ToList();
if (billfee == null || billfee.Count == 0) {
result.OK();
return result;
}
var = billfee.Sum(s => ((s.AMOUNT - s.SETTLEMENT) * s.EXCHANGERATE));
if ( > Head.REMAINLIMIT)
{
result.SetErrorInfo($"本业务有未收款共[{欠费}RMB],委托单位[{Head.CUSTOMERNAME}]的欠费放单额度 {Head.TOTALLIMIT},目前剩余 {Head.REMAINLIMIT},不能放货.");
return result;
}
else {
result.OK();
return result;
}
}
private void FrashHead()
{
Head = cdc.Info_Client_Limit.FirstOrDefault(x => x.GID == Head.GID );
}
private void GetDetail(bool getnow=false) {
if (canuse())
{
if (getnow == false)
{
if (ChangeDetail == null || ChangeDetail.Count == 0)
ChangeDetail = cdc.Info_Client_Limit_Change.Where(x => x.Pid == Head.GID).OrderBy(x => x.Id).ToList();
}
else {
ChangeDetail = cdc.Info_Client_Limit_Change.Where(x => x.Pid == Head.GID).OrderBy(x => x.Id).ToList();
}
}
}
private Info_Client_Limit_Change_md GetLastDetail(bool getnow = false)
{
var result = new Info_Client_Limit_Change_md();
if (canuse())
{
try
{
var lastlist = cdc.Info_Client_Limit_Change.Where(x => x.Pid == Head.GID).OrderByDescending(x => x.Id).Skip(0).Take(1).ToList();
result = lastlist[0];
}
catch (Exception e) {
}
}
return result;
}
//类行为: 外部行为 1查询额度 2查询变动日志 2添加变动记录
public Info_Client_Limit_md GetLimit() {
return Head;
}
public List<Info_Client_Limit_Change_md> GetLimitChange()
{
GetDetail(true);
return ChangeDetail;
}
/// <summary>
///
/// </summary>
/// <param name="CUSTOMERNAME"></param>
/// <param name="CHANGETYPE">1扣除 2加</param>
/// <param name="CHANGEOPLBNAME"></param>
/// <param name="CHANGEUSER"></param>
/// <param name="FEEID"></param>
/// <param name="FEEDOID"></param>
/// <param name="BSNO"></param>
/// <param name="BILLNO"></param>
/// <param name="CUSTNO"></param>
/// <param name="CHANGEAMOUNT"></param>
/// <returns></returns>
private Info_Client_Limit_Change_md GetNewChange(string SALECORPID, string CUSTOMERNAME,int CHANGETYPE, string CHANGEOPLBNAME,string CHANGEUSER
,string FEEID,string FEEDOID,string BSNO,string BILLNO,string CUSTNO,decimal CHANGEAMOUNT)
{
var result = new Info_Client_Limit_Change_md();
result.Pid = Head.GID;
result.SALECORPID = SALECORPID;
result.PCORPNAME = Head.PCORPNAME;
result.CUSTOMERNAME = CUSTOMERNAME;
result.CHANGETYPE = CHANGETYPE;
result.CHANGEOPLBNAME = CHANGEOPLBNAME;
result.CHANGEUSER = CHANGEUSER;
result.CREATEDATE = DateTime.Now;
result.FEEID = FEEID;
result.FEEDOID = FEEDOID;
result.BSNO = BSNO;
result.BILLNO = BILLNO;
result.CUSTNO = CUSTNO;
result.CHANGEAMOUNT = CHANGEAMOUNT;
return result;
}
private List<Info_Client_Limit_Change_md> NewChange { get; set; }
private void DoSave() {
cdc.Info_Client_Limit.AddOrUpdate(Head);
if (NewChange != null && NewChange.Count > 0) {
cdc.Info_Client_Limit_Change.AddRange(NewChange);
}
cdc.SaveChanges();
NewChange.Clear();
}
private void AddChange(Info_Client_Limit_Change_md changeitem)
{
//GetDetail(true);
var lastchange = GetLastDetail();
if (lastchange == null || lastchange.AMOUNT3==null)
{
lastchange.AMOUNT3 = Head.TOTALLIMIT;
}
changeitem.AMOUNT2 = lastchange.AMOUNT3;
if (changeitem.CHANGETYPE == 1) {
//扣减额度
changeitem.AMOUNT3 = changeitem.AMOUNT2 - changeitem.CHANGEAMOUNT;
Head.CURRENTDEBT += changeitem.CHANGEAMOUNT;
Head.REMAINLIMIT -= changeitem.CHANGEAMOUNT;
}
if (changeitem.CHANGETYPE == 2)
{
//恢复额度
changeitem.AMOUNT3 = changeitem.AMOUNT2 + changeitem.CHANGEAMOUNT;
Head.CURRENTDEBT -= changeitem.CHANGEAMOUNT;
Head.REMAINLIMIT += changeitem.CHANGEAMOUNT;
}
NewChange.Add(changeitem);
}
public void (string BSNO)
{
("直接放单_票结", BSNO);
}
public void (string BSNO)
{
("直接放单_月结", BSNO);
}
public void (string BSNO)
{
("特放申请放单", BSNO);
}
public void (string BSNO)
{
("直接放单", BSNO);
}
//1直接放单票结有欠款ATD不是最晚《未超额度》
//月结,有欠款,欠费不超期,《未超额度》
//通过特殊放单 )扣额度
//2收费结算 加额度
//3取消放单 加额度1的逆运算同样插入一条加额度的变动
//4取消结算 扣额度3的逆运算同样插入一条扣额度的变动
/// <summary>
///
/// </summary>
public void (string CHANGEOPLBNAME,string BSNO)
{
var CHANGETYPE = 1;
var BSNOList = new List<string> { BSNO };
var amend = cdc.op_amend.Where(x => x.PARENTID == BSNO).ToList();
if (amend != null && amend.Count > 0) {
BSNOList.AddRange(amend.Select(s => s.BSNO));
}
var feehead = cdc.v_op_bill.Where(x => BSNOList.Contains(x.BSNO)).ToList();
var FeeList = cdc.ch_fee.Where(x => BSNOList.Contains(x.BSNO) && x.FEETYPE == 1 && x.SETTLEMENT < x.AMOUNT).ToList();
if (FeeList == null || FeeList.Count == 0) return;
foreach (var item in FeeList)
{
var bill = feehead.FirstOrDefault(x => x.BSNO == item.BSNO);
var changeamount = (item.AMOUNT - item.SETTLEMENT) * item.EXCHANGERATE;
var change = GetNewChange(bill.SALECORPID, item.CUSTOMERNAME, CHANGETYPE, CHANGEOPLBNAME, CHANGEUSER
, item.GID, "", item.BSNO, "", bill.CUSTNO, (decimal)changeamount);
AddChange(change);
}
DoSave();
}
public void (string BSNO)
{
var CHANGEOPLBNAME = "取消放单通知";
var CHANGETYPE = 2;
var BSNOList = new List<string> { BSNO };
var amend = cdc.op_amend.Where(x => x.PARENTID == BSNO).ToList();
if (amend != null && amend.Count > 0)
{
BSNOList.AddRange(amend.Select(s => s.BSNO));
}
var feehead = cdc.v_op_bill.Where(x => BSNOList.Contains(x.BSNO)).ToList();
var FeeList = cdc.ch_fee.Where(x => BSNOList.Contains(x.BSNO) && x.FEETYPE == 1 && x.SETTLEMENT < x.AMOUNT).ToList();
if (FeeList == null || FeeList.Count == 0) return;
var feeidList = FeeList.Select(s => s.GID).ToList();
var = cdc.Info_Client_Limit_Change.Where(x => feeidList.Contains(x.FEEID)).ToList();
foreach (var item in FeeList)
{
if (!.Exists(x => x.FEEID == item.GID)) {
continue;
}
var bill = feehead.FirstOrDefault(x => x.BSNO == item.BSNO);
var changeamount = (item.AMOUNT - item.SETTLEMENT) * item.EXCHANGERATE;
var change = GetNewChange(bill.SALECORPID, item.CUSTOMERNAME, CHANGETYPE, CHANGEOPLBNAME, CHANGEUSER
, item.GID, "", item.BSNO, "", bill.CUSTNO, (decimal)changeamount);
AddChange(change);
}
DoSave();
}
/// <summary>
/// 收费结算
/// </summary>
/// <param name="chfeedo"></param>
public void (List<ch_fee_do_md> chfeedoList,List<v_op_bill_mb> BillList,List<ch_fee_md> feeList) {
var feeidList = chfeedoList.Select(s => s.FEEID).ToList();
var = cdc.Info_Client_Limit_Change.Where(x => feeidList.Contains(x.FEEID)).ToList();
var bsnoList = chfeedoList.Select(s => s.BSNO).ToList();
var feeheadList = cdc.v_op_bill.Where(x => bsnoList.Contains(x.BSNO)).ToList();
foreach (var chfeedo in chfeedoList)
{
if (!.Exists(x => x.FEEID == chfeedo.FEEID))
continue;
var _bill = BillList.First(x => x.BSNO == chfeedo.BSNO);
var _fee = feeList.First(x => x.GID == chfeedo.FEEID);
var _feehead = feeheadList.First(x => x.BSNO == chfeedo.BSNO);
var changeamount = chfeedo.AMOUNT * _fee.EXCHANGERATE;
var change = GetNewChange(_feehead.SALECORPID, _fee.CUSTOMERNAME,2, "收费结算", CHANGEUSER
, chfeedo.FEEID, chfeedo.GID, chfeedo.BSNO, chfeedo.BILLNO, _bill.CUSTNO, (decimal)changeamount);
AddChange(change);
}
DoSave();
}
public void (List<ch_fee_do_md> chfeedoList, List<v_op_bill_mb> BillList, List<ch_fee_md> feeList)
{
var feeidList = chfeedoList.Select(s => s.FEEID).ToList();
var = cdc.Info_Client_Limit_Change.Where(x => feeidList.Contains(x.FEEID)).ToList();
var bsnoList = chfeedoList.Select(s => s.BSNO).ToList();
var feeheadList = cdc.v_op_bill.Where(x => bsnoList.Contains(x.BSNO)).ToList();
foreach (var chfeedo in chfeedoList)
{
if (!.Exists(x => x.FEEID == chfeedo.FEEID))
continue;
var _bill = BillList.First(x => x.BSNO == chfeedo.BSNO);
var _fee = feeList.First(x => x.GID == chfeedo.FEEID);
var _feehead = feeheadList.First(x => x.BSNO == chfeedo.BSNO);
var changeamount = chfeedo.AMOUNT * _fee.EXCHANGERATE;
var change = GetNewChange(_feehead.SALECORPID, _fee.CUSTOMERNAME, 1, "取消收费结算", CHANGEUSER
, chfeedo.FEEID, chfeedo.GID, chfeedo.BSNO, chfeedo.BILLNO, _bill.CUSTNO, (decimal)changeamount);
AddChange(change);
}
DoSave();
}
private class {
public string SALECORPID { get; set; }
public string CUSTOMERNAME { get; set; }
public () { }
public (string a, string b) {
SALECORPID = a;
CUSTOMERNAME = b;
}
}
/// <summary>
///
/// </summary>
/// <param name="BILLNO"></param>
/// <param name="BILLTYPE"></param>
/// <param name="USERNAME"></param>
/// <param name="CHANGETYPE">2收费结算1取消收费结算</param>
public static void (string BILLNO, int BILLTYPE,string USERNAME,int CHANGETYPE)
{
if (BILLTYPE == 2) return;
var _cdc = new CommonDataContext();
//查找收费结算的ch_fee_do
var feedoList = _cdc.ch_fee_do.Where(x => x.BILLNO == BILLNO).ToList();
if (feedoList == null || feedoList.Count == 0) return;
var bsnoList = feedoList.Select(s => s.BSNO).ToList();
var billList = _cdc.v_op_bill.Where(x => bsnoList.Contains(x.BSNO)).ToList();
var feeidList = feedoList.Select(s => s.FEEID).ToList();
var feeList = _cdc.ch_fee.Where(x => feeidList.Contains(x.GID)).ToList();
var billinfoList = new List<>();
void addbillinfo(string SALECORPID, string CUSTOMERNAME)
{
if (billinfoList == null) billinfoList = new List<>();
if (billinfoList.Exists(x => x.SALECORPID == SALECORPID && x.CUSTOMERNAME == CUSTOMERNAME))
{
}
else
{
billinfoList.Add(new (SALECORPID, CUSTOMERNAME));
}
}
foreach (var bill in billList) {
addbillinfo(bill.SALECORPID, bill.CUSTOMERNAME);
}
foreach (var billinfo in billinfoList) {
var helper = new InfoClientLimitHelper(billinfo.SALECORPID,billinfo.CUSTOMERNAME, USERNAME);
var _billList = billList.Where(x => x.SALECORPID == billinfo.SALECORPID && x.CUSTOMERNAME== billinfo.CUSTOMERNAME).ToList();
var dolist = feedoList.Where(x => _billList.Select(s => s.BSNO).Contains(x.BSNO)).ToList();
if (CHANGETYPE == 2)
helper.(dolist, _billList, feeList);
if (CHANGETYPE == 1)
helper.(dolist, _billList, feeList);
}
}
//public static void 取消结算单扣除欠款额度(string BILLNO, string USERNAME)
//{
// //if (BILLTYPE == 2) return;
// var _cdc = new CommonDataContext();
// //查找收费结算的ch_fee_do
// var feedoList = _cdc.ch_fee_do.Where(x => x.BILLNO == BILLNO).ToList();
// if (feedoList == null || feedoList.Count == 0) return;
// var bsnoList = feedoList.Select(s => s.BSNO).ToList();
// var billList = _cdc.v_op_bill.Where(x => bsnoList.Contains(x.BSNO)).ToList();
// var feeidList = feedoList.Select(s => s.FEEID).ToList();
// var feeList = _cdc.ch_fee.Where(x => feeidList.Contains(x.GID)).ToList();
// var 委托单位简称List = billList.Select(s => s.CUSTOMERNAME).Distinct().ToList();
// var 委托单位List = _cdc.info_client.Where(x => 委托单位简称List.Contains(x.SHORTNAME)).ToList();
// foreach (var 委托单位 in 委托单位List)
// {
// var helper = new InfoClientLimitHelper(委托单位.SHORTNAME, USERNAME);
// var _billList = billList.Where(x => x.CUSTOMERNAME == 委托单位.SHORTNAME).ToList();
// var dolist = feedoList.Where(x => _billList.Select(s => s.BSNO).Contains(x.BSNO)).ToList();
// helper.取消收费结算(dolist, 委托单位, _billList, feeList);
// }
//}
3 years ago
}
}