using System; using System.Data; using System.Collections.Generic; using System.Text; using DSWeb.Areas.Import.Models.XXH; using DSWeb.Areas.Import.Models.ImportTrade; using Microsoft.Practices.EnterpriseLibrary.Data; using DSWeb.Areas.CommMng.Models; using System.Web; using System.Data.Common; using DSWeb.TruckMng.Comm.Cookie; using WebSqlHelper; using HcUtility.Core; using System.Collections; using System.Xml; using DSWeb.Areas.CommMng.DAL; using HcUtility.Comm; using InvokeWebService; using System.IO; using System.Xml.Serialization; using System.Linq; using DSWeb.TruckMng.Helper.Repository; using DSWeb.TruckMng.Helper; using System.Data.SqlClient; using DSWeb.Areas.Import.DAL.ImportTrade; using DSWeb.Areas.Import.Models.PortOperate; using DSWeb.EntityDA; namespace DSWeb.Areas.Import.DAL.XXH { public partial class XXHDAL { #region 合同基础信息列表 static public List GetDataList(string strCondition, string userid, string username, string companyid, string sort) { //合同信息/商品信息 var rangstr = GetRangDAStr("index", userid, username, companyid); if (!string.IsNullOrEmpty(rangstr)) { if (!string.IsNullOrEmpty(strCondition)) { strCondition = strCondition + " and " + rangstr; } else { strCondition = rangstr; } } var strSql = new StringBuilder(); strSql.Append(" SELECT dbo.trimdate(preArrivalDate) preArrivalDate ,dbo.trimdate(M.MODIFIEDTIME) MODIFIEDTIME ,M.MODIFIEDUSER,M.InventoryState,M.[id],M.[ContractNo],[HTH],[seller],M.[company],M.PORTLOAD,comp.name as companyname,[buyer],[STT],(select top 1 cc.NAME from company cc where cc.GID = M.CORPID) CORPNAME, "); strSql.Append(" M.[countryid],[creator],(select CODENAME+'-'+SHOWNAME from [user] where [CODENAME]=M.Creator) RECEIVE_MAN,[Auditor],[MainState],[printed],[AutoAPP],[AutoAPPApplyId],[AutoAPPNum],[ApplyDate],M.OP, "); strSql.Append(" (select showname from [user] where codename=M.auditor) AuditorREF, "); strSql.Append(" dbo.F_YN(convert(int,AutoAPP)) AutoAPPRef, "); strSql.Append(" dbo.F_YN(convert(int,printed)) printedRef, "); strSql.Append(" [ShipCompany_id], [BillNo] ,[BillType],[Vessel],[Voyage], ci.code as cicode,ci.name as ciname,cg.[weight]/1000 [weight], "); strSql.Append(" dbo.trimdate(BillTime) BillTime, "); strSql.Append(" dbo.trimdate(Ex_sailingdate) Ex_sailingdate, "); strSql.Append(" dbo.trimdate(Sailingdate) Sailingdate , "); strSql.Append(" dbo.trimdate(ArrivalDate) ArrivalDate "); strSql.Append(" ,[ContainerNo],[SealNo],[TransactionMethod],[PaymentMethods] "); strSql.Append(" ,[SecurityDeposit], M.TRADINGAGENCY, "); strSql.Append(" dbo.trimdate(CustomsReleaseDate) CustomsReleaseDate, "); strSql.Append(" dbo.trimdate(InspectionReleaseDate) InspectionReleaseDate, "); strSql.Append(" dbo.trimdate(SamplingDate_Plan) SamplingDate_Plan, "); strSql.Append(" dbo.trimdate(SamplingDate_Act) SamplingDate_Act, "); strSql.Append(" dbo.trimdate(inspection_Signup_date) inspection_Signup_date "); strSql.Append(" ,[inspection_no],cg.FactoryNo,cg.ICP, "); strSql.Append(" dbo.trimdate(inspection_date) inspection_date "); strSql.Append(" ,cg.id as cgid ,cg.name,c.country, convert(bigint ,M.TimeMark) as TimeMark , "); strSql.Append(" dbo.trimdate(creattime) creattime , "); strSql.Append(" dbo.trimdate(Audittime) Audittime , "); strSql.Append(" Freetime,CIQ_licence,CIQ_canbesearch,dbo.F_YN(convert(int,CIQ_canbesearch)) CIQ_canbesearchRef , ");// strSql.Append(" dbo.trimdate(tax_date) tax_date , "); strSql.Append(" dbo.trimdate(tax_paydate) tax_paydate , "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=3 and EnumValueID=M.MainState) as MainstateRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=10 and EnumValueID=M.port) as portRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=5 and EnumValueID=M.ShipCompany_id) as ShipCompanyRef, "); strSql.Append(" M.port, M.remark,ap.AppNo,ap.ValidDate ,M.Writeoffs,M.ReceiptStatus,M.Receiptremark,dbo.F_YN(convert(int,ReceiptStatus)) ReceiptStatusRef, "); strSql.Append(" dbo.F_YN(convert(int,Writeoffs)) WriteoffsRef ,M.OwnApp, "); strSql.Append(" M.FinanceStatus,M.remark_2,M.remark_3,M.remark_4,M.Sampling_need,dbo.F_YN(convert(int,Sampling_need)) Sampling_needREF ,M.DeclareNumber,M.Inspection_Storage,M.DeliveryAddress,M.Contacter,M.Tel,M.Overfilled, "); strSql.Append(" dbo.trimdate(M.Paydate) Paydate , "); strSql.Append(" dbo.trimdate(M.Prepaydate) Prepaydate , "); strSql.Append(" dbo.trimdate(M.E_Billtime) E_Billtime , "); strSql.Append(" dbo.trimdate(M.HDtime) HDtime , "); strSql.Append(" dbo.trimdate(M.DeliveryDate) DeliveryDate "); strSql.Append(" ,M.ACCDATE,M.ContractStatus,ap.AppName,M.KCClear,M.RCVMode, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=23 and EnumValueID=M.RCVMode) as RCVModeREF "); strSql.Append(" ,case when ap.remark like '%自贸%' then ap.remark else '' end ZMQ "); strSql.Append(" ,M.MZBZ, (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=0 and EnumValueID=M.MZBZ) as MZBZREF "); strSql.Append(" ,dbo.trimdate(RecDate) Recdate,PortDays,ap.remark appremark "); strSql.Append(" ,m.buztype,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=27 and EnumValueID=M.buztype) buztypeREF"); strSql.Append(" ,(select sum(weight) from Import_appstate where cargo_id=cg.id) APPWEIGHT"); strSql.Append(" ,(select description from info_client where shortname=seller ) sellerfullname"); strSql.Append(" ,cg.Exporter,M.Inspection_Buyer"); strSql.Append(" ,IC.tel Inspection_tel,IC.EMAIL Inspection_Email,IC.ADDR Inspection_DeliveryAddress "); strSql.Append(" ,CHIEF Inspection_Contacter,EDICODE Inspection_Code,HaveContract,HaveCargoMark,cg.Productiondate,cg.BZTCHNO "); strSql.Append(" ,(select sum(weight) from import_appstate where cargo_id=cg.id) appusedweight "); strSql.Append(" ,isnull(m.HAVESAMPLE,0) HAVESAMPLE,isnull(m.CHECKSAMPLE,0) CHECKSAMPLE,cg.price,cg.price_agio,M.CTN,M.BILLTRANCNO,cg.SBYS "); strSql.Append(" ,(select top 1 dbo.trimdate(RECEIVE_DATE) from op_receipt where bsno=M.contractno and m.BillType=0) BILL_RECEIVE_DATE "); strSql.Append(" ,(select top 1 dbo.trimdate(SEND_DATE) from op_receipt where bsno=M.contractno and m.BillType=0) BILL_SEND_DATE "); strSql.Append(" ,LOCK_EXCHANGERATE,M.EXCHANGERATE M_EXCHANGERATE "); strSql.Append(" ,dbo.trimdate(m.Unsealdate) Unsealdate,M.ISREFORM"); strSql.Append(" ,Convert(varchar(20),Convert(numeric(18,2),isnull((select sum(isnull(amount,0)) from ch_fee where bsno=m.contractno and FEESTATUS in(10,11)),0))) "); strSql.Append(" + '/' + Convert(varchar(20), Convert(numeric(18, 2), isnull((select sum(isnull(settlement, 0) * isnull(EXCHANGERATE, 1)) "); strSql.Append(" from ch_fee where bsno in (select F_NO from IMPORT_FINANCE_BODY where BSNO = M.ContractNo) and feetype = 1), 0))) isRongZi "); strSql.Append(" ,M.MBLNOREPEAT,M.AGENT,M.AGENT2,M.AGENT3"); strSql.Append(" ,dbo.trimtime(m.CreateTime_2) CreateTime_2,dbo.trimtime(m.ResendTime) ResendTime,M.Dock,M.Customs_broker,M.inspection_broker "); strSql.Append(" ,TRADECOUNTRY,(select country from code_country where countryid=TRADECOUNTRY) TRADECOUNTRY_REF,dbo.trimdate(CIQDATE) CIQDATE,isnull(VSIGN,'') VSIGN,M.ClearanceNo,M.zhuanjian_date"); strSql.Append(" ,(case M.InventoryState WHEN 0 THEN '过车' WHEN 1 THEN '直送' WHEN 2 THEN '入库' WHEN 3 THEN '部分过车' ELSE '' END) InventoryStateREF"); strSql.Append(" ,dbo.trimdate(M.HTDATE) HTDATE"); strSql.Append(" FROM [dbo].[Import_main] M "); strSql.Append(" left join code_country c on m.countryid=c.countryid "); strSql.Append(" left join import_cargo cg on cg.contractno=M.contractno "); strSql.Append(" left join import_cargoinfo ci on ci.id=cg.cargoinfo_id "); strSql.Append(" left join company comp on comp.gid=M.company "); strSql.Append(" left join import_appstate ast on ast.cargo_id=cg.id "); strSql.Append(" left join import_approval ap on ap.id=ast.app_id "); strSql.Append(" left join vmsappused vau on vau.app_id=ap.id "); strSql.Append(" left join info_client IC on IC.shortname=M.Inspection_Buyer "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition.Replace("~", ""));//str.Replace("b","**"); } var sortstring = DatasetSort.Getsortstring(sort); if (!string.IsNullOrEmpty(sortstring)) { strSql.Append(" order by " + sortstring); } else { strSql.Append(" order by M.contractno "); } return SetData(strSql); } static public XXHmb GetData(string condition, string userid, string username, string companyid) { var _t = ""; var list = GetDataList(condition,userid,username,companyid,_t); if (list.Count > 0) return list[0]; return new XXHmb(); } private static List SetData ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { XXHmb data = new XXHmb(); #region Set DB data to Object data.cgid = Convert.ToString(reader["cgid"]); data.name = Convert.ToString(reader["name"]); data.country = Convert.ToString(reader["country"]); data.weight = Convert.ToString(reader["weight"]); data.id = Convert.ToDecimal(reader["id"]); data.ContractNo = Convert.ToString(reader["ContractNo"]); data.HTH = Convert.ToString(reader["HTH"]); data.HTDATE = Convert.ToString(reader["HTDATE"]); data.seller = Convert.ToString(reader["seller"]); data.buyer = Convert.ToString(reader["buyer"]); data.STT = Convert.ToString(reader["STT"]); data.countryid = Convert.ToString(reader["countryid"]); data.creator = Convert.ToString(reader["creator"]); data.RECEIVE_MAN = Convert.ToString(reader["RECEIVE_MAN"]); data.Auditor = Convert.ToString(reader["Auditor"]); data.AuditorREF = Convert.ToString(reader["AuditorREF"]); data.Mainstate = Convert.ToString(reader["Mainstate"]); data.MainstateRef = Convert.ToString(reader["MainstateRef"]); data.Printed = Convert.ToString(reader["Printed"]); data.AutoAPP = Convert.ToString(reader["AutoAPP"]); data.AutoAPPApplyId = Convert.ToString(reader["AutoAPPApplyId"]); data.AutoAPPNum = Convert.ToString(reader["AutoAPPNum"]); if(reader["ApplyDate"].ToString()!="") data.ApplyDate = Convert.ToDateTime(reader["ApplyDate"]); data.ShipCompany_id = Convert.ToString(reader["ShipCompany_id"]); data.BillNo = Convert.ToString(reader["BillNo"]); data.BillType = Convert.ToString(reader["BillType"]); data.BillTime = Convert.ToString(reader["BillTime"]); data.Vessel = Convert.ToString(reader["Vessel"]); data.Voyage = Convert.ToString(reader["Voyage"]); data.Ex_sailingdate = Convert.ToString(reader["Ex_sailingdate"]); data.Sailingdate = Convert.ToString(reader["Sailingdate"]); data.ArrivalDate = Convert.ToString(reader["ArrivalDate"]); //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'CORPNAME'"; if (reader.GetSchemaTable().DefaultView.Count > 0) data.CORPNAME = Convert.ToString(reader["CORPNAME"]); reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'PORTLOAD'"; if (reader.GetSchemaTable().DefaultView.Count > 0) data.PORTLOAD = Convert.ToString(reader["PORTLOAD"]); //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'preArrivalDate'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { if (!string.IsNullOrEmpty(reader["preArrivalDate"].ToString())) data.preArrivalDate = Convert.ToString(reader["preArrivalDate"]); } //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'InventoryState'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { if (!string.IsNullOrEmpty(reader["InventoryState"].ToString())) data.InventoryState = Convert.ToInt32(reader["InventoryState"]); data.InventoryStateRef = Convert.ToString(reader["InventoryStateRef"]); } //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'MODIFIEDUSER'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { if (!string.IsNullOrEmpty(reader["MODIFIEDUSER"].ToString())) data.MODIFIEDUSER = Convert.ToString(reader["MODIFIEDUSER"]); } //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'MODIFIEDTIME'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { if (!string.IsNullOrEmpty(reader["MODIFIEDTIME"].ToString())) data.MODIFIEDTIME = Convert.ToString(reader["MODIFIEDTIME"]); } data.ContainerNo = Convert.ToString(reader["ContainerNo"]); data.SealNo = Convert.ToString(reader["SealNo"]); data.TransactionMethod = Convert.ToString(reader["TransactionMethod"]); data.PaymentMethods = Convert.ToString(reader["PaymentMethods"]); data.SecurityDeposit = Convert.ToString(reader["SecurityDeposit"]); data.SamplingDate_Plan = Convert.ToString(reader["SamplingDate_Plan"]); data.SamplingDate_Act = Convert.ToString(reader["SamplingDate_Act"]); data.CustomsReleaseDate = Convert.ToString(reader["CustomsReleaseDate"]); data.InspectionReleaseDate = Convert.ToString(reader["InspectionReleaseDate"]); data.inspection_Signup_date = Convert.ToString(reader["inspection_Signup_date"]); data.inspection_no = Convert.ToString(reader["inspection_no"]); data.inspection_date = Convert.ToString(reader["inspection_date"]); data.TimeMark = Convert.ToDecimal(reader["TimeMark"]); data.cicode = Convert.ToString(reader["cicode"]); data.ciname = Convert.ToString(reader["ciname"]); data.company = Convert.ToString(reader["company"]); data.companyname = Convert.ToString(reader["companyname"]); data.creattime = Convert.ToString(reader["creattime"]); data.Audittime = Convert.ToString(reader["Audittime"]); data.Freetime = Convert.ToString(reader["Freetime"]); data.CIQ_licence = Convert.ToString(reader["CIQ_licence"]); data.CIQ_canbesearch = Convert.ToString(reader["CIQ_canbesearch"]); data.CIQ_canbesearchRef = Convert.ToString(reader["CIQ_canbesearchRef"]); data.tax_date = Convert.ToString(reader["tax_date"]); data.tax_paydate = Convert.ToString(reader["tax_paydate"]); data.port = Convert.ToString(reader["port"]); data.remark = Convert.ToString(reader["remark"]); data.portRef = Convert.ToString(reader["portRef"]); data.AppNo = Convert.ToString(reader["AppNo"]); data.ValidDate = Convert.ToString(reader["ValidDate"]); data.Writeoffs = Convert.ToString(reader["Writeoffs"]); data.WriteoffsRef = Convert.ToString(reader["WriteoffsRef"]); data.AutoAPPRef = Convert.ToString(reader["AutoAPPRef"]); data.printedRef = Convert.ToString(reader["printedRef"]); data.ShipCompanyRef = Convert.ToString(reader["ShipCompanyRef"]); data.Paydate = Convert.ToString(reader["Paydate"]); data.Prepaydate = Convert.ToString(reader["Prepaydate"]); data.E_Billtime = Convert.ToString(reader["E_Billtime"]); data.HDtime = Convert.ToString(reader["HDtime"]); data.FinanceStatus = Convert.ToString(reader["FinanceStatus"]); data.remark_2 = Convert.ToString(reader["remark_2"]); data.remark_3 = Convert.ToString(reader["remark_3"]); data.remark_4 = Convert.ToString(reader["remark_4"]); data.Sampling_need = Convert.ToString(reader["Sampling_need"]); data.Sampling_needREF = Convert.ToString(reader["Sampling_needREF"]); data.DeclareNumber = Convert.ToString(reader["DeclareNumber"]); data.Inspection_Storage = Convert.ToString(reader["Inspection_Storage"]); data.DeliveryDate = Convert.ToString(reader["DeliveryDate"]); data.DeliveryAddress = Convert.ToString(reader["DeliveryAddress"]); data.Contacter = Convert.ToString(reader["Contacter"]); data.Tel = Convert.ToString(reader["Tel"]); data.Overfilled = Convert.ToString(reader["Overfilled"]); data.OwnApp = Convert.ToString(reader["OwnApp"]); data.ReceiptStatus = Convert.ToString(reader["ReceiptStatus"]); data.ReceiptStatusRef = Convert.ToString(reader["ReceiptStatusRef"]); data.Receiptremark = Convert.ToString(reader["Receiptremark"]); data.TRADINGAGENCY = Convert.ToString(reader["TRADINGAGENCY"]); data.FactoryNo = Convert.ToString(reader["FactoryNo"]); data.ACCDATE = Convert.ToString(reader["ACCDATE"]); data.ContractStatus = Convert.ToString(reader["ContractStatus"]); data.KCClear = Convert.ToString(reader["KCClear"]); data.AppName = Convert.ToString(reader["AppName"]); data.OP = Convert.ToString(reader["OP"]); data.RCVMode = Convert.ToString(reader["RCVMode"]); data.RCVModeREF = Convert.ToString(reader["RCVModeREF"]); data.ZMQ = Convert.ToString(reader["ZMQ"]); data.MZBZ = Convert.ToString(reader["MZBZ"]); data.MZBZREF = Convert.ToString(reader["MZBZREF"]); data.RecDate = Convert.ToString(reader["RecDate"]); data.PortDays = Convert.ToString(reader["PortDays"]); data.APPREMARK = Convert.ToString(reader["APPREMARK"]); data.BUZTYPE = Convert.ToString(reader["BUZTYPE"]); data.BUZTYPEREF = Convert.ToString(reader["BUZTYPEREF"]); data.APPWEIGHT = Convert.ToString(reader["APPWEIGHT"]); data.SELLERFULLNAME = Convert.ToString(reader["SELLERFULLNAME"]); data.Exporter = Convert.ToString(reader["Exporter"]); data.Inspection_Contacter = Convert.ToString(reader["Inspection_Contacter"]); data.Inspection_Tel = Convert.ToString(reader["Inspection_Tel"]); data.Inspection_DeliveryAddress = Convert.ToString(reader["Inspection_DeliveryAddress"]); data.Inspection_Buyer = Convert.ToString(reader["Inspection_Buyer"]); data.Inspection_Code = Convert.ToString(reader["Inspection_Code"]); data.Inspection_Email = Convert.ToString(reader["Inspection_Email"]); data.HaveContract = Convert.ToString(reader["HaveContract"]); data.HaveCargoMark = Convert.ToString(reader["HaveCargoMark"]); data.Productiondate = Convert.ToString(reader["Productiondate"]); data.BZTCHNO = Convert.ToString(reader["BZTCHNO"]); data.appusedweight = Convert.ToString(reader["appusedweight"]); data.HAVESAMPLE = Convert.ToString(reader["HAVESAMPLE"]); data.CHECKSAMPLE = Convert.ToString(reader["CHECKSAMPLE"]); data.price = Convert.ToString(reader["price"]); data.price_agio = Convert.ToString(reader["price_agio"]); data.CTN = Convert.ToString(reader["CTN"]); data.BILLTRANCNO = Convert.ToString(reader["BILLTRANCNO"]); data.SBYS = Convert.ToString(reader["SBYS"]); data.BILL_RECEIVE_DATE = Convert.ToString(reader["BILL_RECEIVE_DATE"]); data.BILL_SEND_DATE = Convert.ToString(reader["BILL_SEND_DATE"]); data.LOCK_EXCHANGERATE = Convert.ToString(reader["LOCK_EXCHANGERATE"]); data.EXCHANGERATE = Convert.ToString(reader["M_EXCHANGERATE"]); data.Unsealdate = Convert.ToString(reader["Unsealdate"]); data.ISREFORM = Convert.ToString(reader["ISREFORM"]); data.MBLNOREPEAT = Convert.ToString(reader["MBLNOREPEAT"]); //data.SBYS = Convert.ToString(reader["SBYS"]); data.LOADFINISH = "1"; data.Agent = Convert.ToString(reader["AGENT"]); data.Agent2 = Convert.ToString(reader["AGENT2"]); data.Agent3 = Convert.ToString(reader["AGENT3"]); data.CreateTime_2 = Convert.ToString(reader["CreateTime_2"]); data.ResendTime = Convert.ToString(reader["ResendTime"]); data.Dock = Convert.ToString(reader["Dock"]); data.Customs_broker = Convert.ToString(reader["Customs_broker"]); data.inspection_broker = Convert.ToString(reader["inspection_broker"]); data.TRADECOUNTRY = Convert.ToString(reader["TRADECOUNTRY"]); data.TRADECOUNTRY_REF = Convert.ToString(reader["TRADECOUNTRY_REF"]); data.CIQDATE = Convert.ToString(reader["CIQDATE"]); data.VSIGN = Convert.ToString(reader["VSIGN"]); data.ClearanceNo = Convert.ToString(reader["ClearanceNo"]); data.ZHUANJIAN_DATE =reader["zhuanjian_date"]==DBNull.Value?"":Convert.ToString(reader["zhuanjian_date"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 合同基础信息列表__天津用 static public List GetDataList_single ( string strCondition, string sort,string uid ,int start,int limit,out int total) { //合同信息/商品信息 ——每合同一行 var strSql = new StringBuilder(); strSql.Append(" SELECT "); strSql.Append("(select c.CODENAME from user_company uc join company c on c.GID=uc.COMPANYID where USERID = '"+uid+"' ) comcode , "); strSql.Append("(select c.allowOpenMark2 from user_company uc join company c on c.GID=uc.COMPANYID where USERID = '" + uid + "' ) OpenMark2 , "); strSql.Append(" M.[id],M.[ContractNo],[HTH],[seller],M.[company],comp.name as companyname,[buyer],[STT], "); strSql.Append(" M.[countryid],M.[tradecountry],c2.country tradecountry_ref,[creator],[Auditor],(select showname from [user] where codename=M.auditor) AuditorREF,[MainState],[printed],[AutoAPP],[AutoAPPApplyId],[AutoAPPNum],[ApplyDate],dbo.F_YN(convert(int,AutoAPP)) AutoAPPRef, "); strSql.Append(" dbo.F_YN(convert(int,printed)) printedRef, [ShipCompany_id], [BillNo] ,[BillType],[Vessel],[Voyage], "); strSql.Append(" dbo.trimdate(BillTime) BillTime, dbo.trimdate(Ex_sailingdate) Ex_sailingdate, "); strSql.Append(" dbo.trimdate(m.Sailingdate) Sailingdate, dbo.trimdate(ArrivalDate) ArrivalDate, "); strSql.Append(" [ContainerNo],[SealNo],[TransactionMethod],[PaymentMethods],[SecurityDeposit],dbo.F_str(M.contractno) name, "); strSql.Append(" dbo.trimdate(CustomsReleaseDate) CustomsReleaseDate,dbo.trimdate(SamplingDate_Plan) SamplingDate_Plan, "); strSql.Append(" dbo.trimdate(SamplingDate_Act) SamplingDate_Act,dbo.trimdate(inspection_Signup_date) inspection_Signup_date,[inspection_no], "); strSql.Append(" dbo.trimdate(inspection_date) inspection_date,c.country,convert(bigint ,M.TimeMark) as TimeMark , "); strSql.Append(" dbo.trimdate(creattime) creattime , dbo.trimdate(Audittime) Audittime , "); strSql.Append(" Freetime,CIQ_licence,CIQ_canbesearch,dbo.F_YN(convert(int,CIQ_canbesearch)) CIQ_canbesearchRef , "); strSql.Append(" dbo.trimdate(tax_date) tax_date , dbo.trimdate(tax_paydate) tax_paydate , "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=3 and EnumValueID=M.MainState) as MainstateRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=10 and EnumValueID=M.port) as portRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=5 and EnumValueID=M.ShipCompany_id) as ShipCompanyRef, "); strSql.Append(" M.port, M.remark,M.Writeoffs,M.ReceiptStatus,M.Receiptremark,dbo.F_YN(convert(int,ReceiptStatus)) ReceiptStatusRef, "); strSql.Append(" dbo.F_YN(convert(int,Writeoffs)) WriteoffsRef ,M.OwnApp,M.FinanceStatus,M.remark_2,M.remark_3,M.remark_4, "); strSql.Append(" M.Sampling_need,M.DeclareNumber,M.Inspection_Storage,case M.Inspection_Storage when 0 then '否/快检' when 1 then '是/慢检' end Inspection_StorageREF,M.DeliveryAddress,M.Contacter,M.Tel,M.Overfilled, "); // strSql.Append(" dbo.trimdate(Paydate) Paydate, convert(varchar,dbo.trimdate(M.E_Billtime),23) E_Billtime , "); strSql.Append(" dbo.trimdate(M.E_Billtime) E_Billtime , "); strSql.Append(" dbo.trimdate(HDtime) HDtime ,dbo.trimdate(DeliveryDate) DeliveryDate , "); strSql.Append(" dbo.f_FactoryNo(M.contractno) FactoryNo,dbo.f_count(M.contractno) boxcount, "); strSql.Append(" dbo.f_pay_Amount_single(m.contractno) amount,dbo.f_weight(M.contractno) [weight], "); strSql.Append(" dbo.f_price(M.contractno) price,dbo.f_validdate(M.contractno) validdate, "); strSql.Append(" '' cicode,'' ciname,'' AppNo ,M.TRADINGAGENCY,dbo.trimtime(M.createtime_2) createtime_2,dbo.trimtime(M.resendtime) resendtime"); strSql.Append(" ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=6 and EnumValueID=M.Billtype) as BilltypeREF "); strSql.Append(" ,M.MZBZ, (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=23 and EnumValueID=M.MZBZ) as MZBZREF "); strSql.Append(" ,dbo.trimtime(M.OPBillTime) OPBillTime,M.Dock,M.Customs_broker,M.inspection_broker "); strSql.Append(" ,(select top 1 Receive_date from OP_Receipt where BSNO=m.contractno and receipttype='税单') Shuidan_Time "); strSql.Append(" ,(select top 1 Receive_date from OP_Receipt where BSNO=m.contractno and receipttype='检验检疫证明') Jianyizheng_Time "); strSql.Append(" ,(select top 1 Receive_date from OP_Receipt where BSNO=m.contractno and receipttype='自动证') AutoAPP_Time "); strSql.Append(" ,(select top 1 Receive_date from OP_Receipt where BSNO=m.contractno and receipttype='核销单(内部)') HXD_Time "); strSql.Append(" ,dbo.trimdate( M.Paydate) as Paydate "); strSql.Append(" ,dbo.trimdate( M.Prepaydate) as Prepaydate ,M.CTN,M.BILLTRANCNO,'' SBYS"); strSql.Append(" ,(select top 1 dbo.trimdate(RECEIVE_DATE) from op_receipt where bsno=M.contractno and m.BillType=0) BILL_RECEIVE_DATE "); strSql.Append(" ,(select top 1 dbo.trimdate(SEND_DATE) from op_receipt where bsno=M.contractno and m.BillType=0) BILL_SEND_DATE "); strSql.Append(" ,dbo.trimdate(m.Unsealdate) Unsealdate,(select name from company where gid = M.agent ) AGENT,M.AGENT AGENTID,M.AGENT2,M.AGENT3,M.OP,comp2.openCustom openCustom "); strSql.Append(" ,dbo.trimdate(M.HTDATE) HTDATE "); strSql.Append(" FROM [dbo].[Import_main] M "); strSql.Append(" left join code_country c on m.countryid=c.countryid "); strSql.Append(" left join code_country c2 on m.tradecountry=c2.countryid "); strSql.Append(" left join company comp2 on comp2.gid=M.Agent "); strSql.Append(" left join company comp on comp.gid=M.company "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); } var sortstring = DatasetSort.Getsortstring(sort); if (!string.IsNullOrEmpty(sortstring)) { strSql.Append(" order by " + sortstring); } else { strSql.Append(" order by M.contractno "); } int totalcnt =0; StringBuilder sb = PagerHelper.PageSQL(strSql.ToString(), start, limit, out totalcnt); total = totalcnt; return SetData_single(sb); } private static List SetData_single ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { XXH_singlemb data = new XXH_singlemb(); #region Set DB data to Object //data.cgid = Convert.ToString(reader["cgid"]); data.name = Convert.ToString(reader["name"]); data.country = Convert.ToString(reader["country"]); data.weight = Convert.ToString(reader["weight"]); data.id = Convert.ToDecimal(reader["id"]); data.ContractNo = Convert.ToString(reader["ContractNo"]); data.HTH = Convert.ToString(reader["HTH"]); data.HTDATE = Convert.ToString(reader["HTDATE"]); data.seller = Convert.ToString(reader["seller"]); data.companyname = Convert.ToString(reader["companyname"]); //openCustom-是否可以看到客户信息0:否(默认) 1:是 老单没关联代理公司获取不到该字段,则为可见 if (reader["openCustom"] == null) { data.buyer = Convert.ToString(reader["buyer"]); }else if(reader["comcode"].ToString()=="XXH"){ //青岛公司的员工(公司代码为xxh)则有可见的权限 data.buyer = Convert.ToString(reader["buyer"]); } else { int openCustom = Convert.ToInt32(reader["openCustom"]); if (openCustom == 0) { data.buyer = ""; } else { data.buyer = Convert.ToString(reader["buyer"]); } } data.STT = Convert.ToString(reader["STT"]); data.countryid = Convert.ToString(reader["countryid"]); data.TRADECOUNTRY = Convert.ToString(reader["TRADECOUNTRY"]); data.TRADECOUNTRY_REF = Convert.ToString(reader["TRADECOUNTRY_REF"]); data.creator = Convert.ToString(reader["creator"]); data.Auditor = Convert.ToString(reader["Auditor"]); data.AuditorREF = Convert.ToString(reader["AuditorREF"]); data.Mainstate = Convert.ToString(reader["Mainstate"]); data.MainstateRef = Convert.ToString(reader["MainstateRef"]); data.Printed = Convert.ToString(reader["Printed"]); data.AutoAPP = Convert.ToString(reader["AutoAPP"]); data.AutoAPPApplyId = Convert.ToString(reader["AutoAPPApplyId"]); data.AutoAPPNum = Convert.ToString(reader["AutoAPPNum"]); if (reader["ApplyDate"].ToString() != "") data.ApplyDate = Convert.ToDateTime(reader["ApplyDate"]); data.ShipCompany_id = Convert.ToString(reader["ShipCompany_id"]); data.BillNo = Convert.ToString(reader["BillNo"]); data.BillType = Convert.ToString(reader["BillType"]); data.BillTime = Convert.ToString(reader["BillTime"]); data.Vessel = Convert.ToString(reader["Vessel"]); data.Voyage = Convert.ToString(reader["Voyage"]); data.Ex_sailingdate = Convert.ToString(reader["Ex_sailingdate"]); data.Sailingdate = Convert.ToString(reader["Sailingdate"]); data.ArrivalDate = Convert.ToString(reader["ArrivalDate"]); data.ContainerNo = Convert.ToString(reader["ContainerNo"]); data.SealNo = Convert.ToString(reader["SealNo"]); data.TransactionMethod = Convert.ToString(reader["TransactionMethod"]); data.PaymentMethods = Convert.ToString(reader["PaymentMethods"]); data.SecurityDeposit = Convert.ToString(reader["SecurityDeposit"]); data.SamplingDate_Plan = Convert.ToString(reader["SamplingDate_Plan"]); data.SamplingDate_Act = Convert.ToString(reader["SamplingDate_Act"]); data.CustomsReleaseDate = Convert.ToString(reader["CustomsReleaseDate"]); data.inspection_Signup_date = Convert.ToString(reader["inspection_Signup_date"]); data.inspection_no = Convert.ToString(reader["inspection_no"]); data.inspection_date = Convert.ToString(reader["inspection_date"]); data.TimeMark = Convert.ToDecimal(reader["TimeMark"]); data.cicode = Convert.ToString(reader["cicode"]); data.ciname = Convert.ToString(reader["ciname"]); data.company = Convert.ToString(reader["company"]); data.creattime = Convert.ToString(reader["creattime"]); data.Audittime = Convert.ToString(reader["Audittime"]); data.Freetime = Convert.ToString(reader["Freetime"]); data.CIQ_licence = Convert.ToString(reader["CIQ_licence"]); data.CIQ_canbesearch = Convert.ToString(reader["CIQ_canbesearch"]); data.CIQ_canbesearchRef = Convert.ToString(reader["CIQ_canbesearchRef"]); data.tax_date = Convert.ToString(reader["tax_date"]); data.tax_paydate = Convert.ToString(reader["tax_paydate"]); data.port = Convert.ToString(reader["port"]); data.remark = Convert.ToString(reader["remark"]); data.portRef = Convert.ToString(reader["portRef"]); data.AppNo = Convert.ToString(reader["AppNo"]); data.ValidDate = Convert.ToString(reader["ValidDate"]); data.Writeoffs = Convert.ToString(reader["Writeoffs"]); data.WriteoffsRef = Convert.ToString(reader["WriteoffsRef"]); data.AutoAPPRef = Convert.ToString(reader["AutoAPPRef"]); data.printedRef = Convert.ToString(reader["printedRef"]); data.ShipCompanyRef = Convert.ToString(reader["ShipCompanyRef"]); data.Paydate = Convert.ToString(reader["Paydate"]); data.E_Billtime = Convert.ToString(reader["E_Billtime"]); data.HDtime = Convert.ToString(reader["HDtime"]); data.FinanceStatus = Convert.ToString(reader["FinanceStatus"]); data.remark_2 = Convert.ToString(reader["remark_2"]); data.remark_3 = Convert.ToString(reader["remark_3"]); data.remark_4 = Convert.ToString(reader["remark_4"]); data.Sampling_need = Convert.ToString(reader["Sampling_need"]); data.DeclareNumber = Convert.ToString(reader["DeclareNumber"]); data.Inspection_Storage = Convert.ToString(reader["Inspection_Storage"]); data.DeliveryDate = Convert.ToString(reader["DeliveryDate"]); data.DeliveryAddress = Convert.ToString(reader["DeliveryAddress"]); data.Contacter = Convert.ToString(reader["Contacter"]); data.Tel = Convert.ToString(reader["Tel"]); data.Overfilled = Convert.ToString(reader["Overfilled"]); data.OwnApp = Convert.ToString(reader["OwnApp"]); data.ReceiptStatus = Convert.ToString(reader["ReceiptStatus"]); data.ReceiptStatusRef = Convert.ToString(reader["ReceiptStatusRef"]); data.Receiptremark = Convert.ToString(reader["Receiptremark"]); data.FactoryNo = Convert.ToString(reader["FactoryNo"]); data.boxcount = Convert.ToString(reader["boxcount"]); data.amount = Convert.ToString(reader["amount"]); data.weight = Convert.ToString(reader["weight"]); data.price = Convert.ToString(reader["price"]); data.CreateTime_2 = Convert.ToString(reader["CreateTime_2"]); data.ResendTime = Convert.ToString(reader["ResendTime"]); data.Inspection_StorageREF = Convert.ToString(reader["Inspection_StorageREF"]); data.BilltypeREF = Convert.ToString(reader["BillTypeREF"]); data.MZBZ = Convert.ToString(reader["MZBZ"]); data.MZBZREF = Convert.ToString(reader["MZBZREF"]); data.OPBillTime = Convert.ToString(reader["OPBillTime"]); data.Dock = Convert.ToString(reader["Dock"]); data.Customs_broker = Convert.ToString(reader["Customs_broker"]); data.inspection_broker = Convert.ToString(reader["inspection_broker"]); data.Shuidan_Time = Convert.ToString(reader["Shuidan_Time"]); data.Jianyizheng_Time = Convert.ToString(reader["Jianyizheng_Time"]); data.AutoAPP_Time = Convert.ToString(reader["AutoAPP_Time"]); data.HXD_Time = Convert.ToString(reader["HXD_Time"]); data.Paydate = Convert.ToString(reader["Paydate"]); data.Prepaydate = Convert.ToString(reader["Prepaydate"]); data.CTN = Convert.ToString(reader["CTN"]); data.BILLTRANCNO = Convert.ToString(reader["BILLTRANCNO"]); data.SBYS = Convert.ToString(reader["SBYS"]); data.BILL_RECEIVE_DATE = Convert.ToString(reader["BILL_RECEIVE_DATE"]); data.BILL_SEND_DATE = Convert.ToString(reader["BILL_SEND_DATE"]); data.Unsealdate = Convert.ToString(reader["Unsealdate"]); data.Agent = Convert.ToString(reader["AGENT"]); data.Agent2 = Convert.ToString(reader["AGENT2"]); data.Agent3 = Convert.ToString(reader["AGENT3"]); data.OP = Convert.ToString(reader["OP"]); data.AgentId = Convert.ToString(reader["AgentId"]); data.AllowOpenMark2 = Convert.ToInt32(reader["OpenMark2"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 合同基础信息列表——包括全部商品信息 static public List GetDataList_ALL(string strCondition, string userid, string username, string companyid, string sort) { //合同信息/商品信息 ——每合同一行 var rangstr = GetRangDAStr("index", userid, username, companyid); if (!string.IsNullOrEmpty(rangstr)) { if (!string.IsNullOrEmpty(strCondition)) { strCondition = strCondition + " and " + rangstr; } else { strCondition = rangstr; } } var strSql = new StringBuilder(); strSql.Append(" SELECT dbo.trimdate(preArrivalDate) preArrivalDate,M.InventoryState,cg.pay_prepayments,cg.pay_balance,M.[id],M.[ContractNo],[HTH],[seller],M.[company],comp.name as companyname,[buyer],[STT],(select top 1 cc.NAME from company cc where cc.GID = M.CORPID) CORPNAME,(select CODENAME+'-'+SHOWNAME from [user] where [CODENAME]=M.Creator) RECEIVE_MAN, ");//1-14 strSql.Append(" M.[countryid],[creator],[Auditor],(select showname from [user] where codename=M.auditor) AuditorREF,[MainState],[printed],[AutoAPP],M.OP, ");//15-22 strSql.Append(" dbo.F_YN(convert(int,AutoAPP)) AutoAPPRef, ");//23 strSql.Append(" dbo.F_YN(convert(int,printed)) printedRef, ");//24 strSql.Append(" [ShipCompany_id], [BillNo] ,[BillType],[Vessel],[Voyage], ci.code as cicode,ci.name as ciname,cg.[weight]/1000 [weight_t],cg.[weight], ");//25-33 strSql.Append(" dbo.trimdate(BillTime) BillTime, ");//34 strSql.Append(" dbo.trimdate(Ex_sailingdate) Ex_sailingdate, "); strSql.Append(" dbo.trimdate(Sailingdate) Sailingdate , "); strSql.Append(" dbo.trimdate(ArrivalDate) ArrivalDate ");//37 strSql.Append(" ,[ContainerNo],[SealNo],[TransactionMethod],[PaymentMethods] ");//41 strSql.Append(" ,[SecurityDeposit],M.TRADINGAGENCY, "); strSql.Append(" dbo.trimdate(CustomsReleaseDate) CustomsReleaseDate, "); strSql.Append(" dbo.trimdate(SamplingDate_Plan) SamplingDate_Plan, "); strSql.Append(" dbo.trimdate(SamplingDate_Act) SamplingDate_Act, "); strSql.Append(" dbo.trimdate(inspection_Signup_date) inspection_Signup_date "); strSql.Append(" ,[inspection_no], "); strSql.Append(" dbo.trimdate(inspection_date) inspection_date "); strSql.Append(" ,cg.id as cgid ,cg.name,c.country, convert(bigint ,M.TimeMark) as TimeMark , "); strSql.Append(" dbo.trimdate(creattime) creattime , "); strSql.Append(" dbo.trimdate(Audittime) Audittime , "); strSql.Append(" Freetime,CIQ_licence,CIQ_canbesearch,dbo.F_YN(convert(int,CIQ_canbesearch)) CIQ_canbesearchRef , "); strSql.Append(" dbo.trimdate(tax_date) tax_date , "); strSql.Append(" dbo.trimdate(tax_paydate) tax_paydate , "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=3 and EnumValueID=M.MainState) as MainstateRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=10 and EnumValueID=M.port) as portRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=5 and EnumValueID=M.ShipCompany_id) as ShipCompanyRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=1 and EnumValueID=M.TransactionMethod) as TransactionMethodRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=4 and EnumValueID=M.PaymentMethods) as PaymentMethodsRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=6 and EnumValueID=M.Billtype) as BilltypeRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=16 and EnumValueID=M.Financestatus) as FinancestatusREF, "); strSql.Append(" M.port, M.remark,ap.AppNo,ap.ValidDate ,M.Writeoffs,M.ReceiptStatus,M.Receiptremark,dbo.F_YN(convert(int,ReceiptStatus)) ReceiptStatusRef, "); strSql.Append(" dbo.F_YN(convert(int,Writeoffs)) WriteoffsRef ,M.OwnApp, "); strSql.Append(" M.FinanceStatus,M.remark_2,M.remark_3,M.remark_4,M.Sampling_need,M.DeclareNumber,M.Inspection_Storage,M.DeliveryAddress,M.Contacter,M.Tel,M.Overfilled, "); strSql.Append(" dbo.f_yn( Inspection_Storage) Inspection_StorageREF, "); strSql.Append(" dbo.trimdate( M.Paydate) as Paydate, "); strSql.Append(" dbo.trimdate( M.Prepaydate) as Prepaydate, "); strSql.Append(" dbo.trimdate( M.E_Billtime) as E_Billtime, "); strSql.Append(" dbo.trimdate( M.HDtime) as HDtime , "); strSql.Append(" dbo.trimdate( M.DeliveryDate) as DeliveryDate, "); strSql.Append(" cg.m_weight/1000 m_weight,cg.price,cg.price_agio,cg.price_limit,cg.amount,cg.amount*cg.Exchangerate RMBAmount ,cg.tax_amount,cg.Exchangerate_Customs*cg.tax_amount tax_amount_RMB,cg.pay_amount,curr.codename, "); strSql.Append(" cg.boxcount,cg.boxweight,cg.exporter,cg.FactoryNo,cg.productiondate,cg.prepayments,cg.balance,cg.baolv, "); strSql.Append(" cg.tariff,cg.tax,cg.tax_zz,cg.exchangerate,cg.exchangerate_customs,cg.tax_1,cg.tax_zz_1,cg.tax_2,cg.tax_zz_2, "); strSql.Append(" M.RCVMode,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=23 and EnumValueID=M.RCVMode) as RCVModeREF "); strSql.Append(" ,dbo.F_YN(convert(int,Sampling_need)) Sampling_needREF "); strSql.Append(" ,case when ap.remark like '%自贸%' then ap.remark else '' end ZMQ ");//自贸区 strSql.Append(" ,M.MZBZ, (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=23 and EnumValueID=M.MZBZ) as MZBZREF "); strSql.Append(" ,dbo.trimdate(RecDate) Recdate,PortDays,M.DeliveryDate,M.DeliveryAddress,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=27 and EnumValueID=M.buztype) buztypeREF "); strSql.Append(" ,m.Inspection_Buyer ,M.ACCDATE "); strSql.Append(" ,Convert(varchar(20),Convert(numeric(18,2),isnull((select sum(isnull(amount,0)) from ch_fee where bsno=m.contractno and FEESTATUS in(10,11)),0))) "); strSql.Append(" + '/' + Convert(varchar(20), Convert(numeric(18, 2), isnull((select sum(isnull(settlement, 0) * isnull(EXCHANGERATE, 1)) "); strSql.Append(" from ch_fee where bsno in (select F_NO from IMPORT_FINANCE_BODY where BSNO = M.ContractNo) and feetype = 1), 0))) isRongZi "); strSql.Append(" ,isnull(m.CHECKSAMPLE,0) CHECKSAMPLE,M.CTN,M.BILLTRANCNO,cg.SBYS "); strSql.Append(" ,(select top 1 dbo.trimdate(RECEIVE_DATE) from op_receipt where bsno=M.contractno and m.BillType=0) BILL_RECEIVE_DATE "); strSql.Append(" ,(select top 1 dbo.trimdate(SEND_DATE) from op_receipt where bsno=M.contractno and m.BillType=0) BILL_SEND_DATE "); strSql.Append(" ,LOCK_EXCHANGERATE,M.EXCHANGERATE M_EXCHANGERATE "); strSql.Append(" ,dbo.trimdate(m.Unsealdate) Unsealdate,M.ISREFORM,ic.InspectionNo"); strSql.Append(" ,TRADECOUNTRY,(select country from code_country where countryid=TRADECOUNTRY) TRADECOUNTRY_REF,dbo.trimdate(CIQDATE) CIQDATE,isnull(VSIGN,'') VSIGN"); strSql.Append(" ,M.ClearanceNo"); strSql.Append(" ,(case M.InventoryState WHEN 0 THEN '过车' WHEN 1 THEN '直送' WHEN 2 THEN '入库' WHEN 3 THEN '部分过车' ELSE '' END) InventoryStateREF"); strSql.Append(" ,dbo.trimdate(M.HTDATE) HTDATE "); //商品标签 strSql.Append(" ,(select top 1 TAGPICURL from Import_Cargoname where hs_id =cg.cargoinfo_id and ciq_id = cg.cargociq_id and ENNAME = cg.Ename and CNNAME = cg.name "); strSql.Append(" and FactoryNoGID in (select GID from Import_Factoryno where FACTORYNO = cg.FactoryNo) and isnull(TAGPICURL,'')<> '' ) TAGPICURL "); strSql.Append(" ,dbo.trimdate(InspectionReleaseDate) InspectionReleaseDate "); strSql.Append(" FROM [dbo].[Import_main] M "); strSql.Append(" left join code_country c on m.countryid=c.countryid "); strSql.Append(" left join import_cargo cg on cg.contractno=M.contractno "); strSql.Append(" left join import_cargoinfo ci on ci.id=cg.cargoinfo_id "); strSql.Append(" left join company comp on comp.gid=M.company "); strSql.Append(" left join import_appstate ast on ast.cargo_id=cg.id "); strSql.Append(" left join import_approval ap on ap.id=ast.app_id "); strSql.Append(" left join [code_currency] curr on curr.gid=cg.currid "); strSql.Append(" left join Info_client ic on cg.Exporter =ic.shortname "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); } strSql.Append(" union all select "); strSql.Append("'','',0,0,'','','','','','','','','','','','','','','','','','','','','','','','','','','', "); strSql.Append(" sum(cg.[weight])/1000 [weight_t],sum(cg.[weight])[weight], "); strSql.Append(" '','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','', "); strSql.Append(" '','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','', "); strSql.Append(" sum(cg.m_weight/1000) ,0,0,0,sum(cg.amount) ,sum(cg.amount*cg.Exchangerate), "); strSql.Append(" sum(cg.tax_amount) ,sum(cg.tax_amount*cg.Exchangerate_Customs), sum(cg.pay_amount) , '', sum(cg.boxcount),0,'','', "); strSql.Append(" '',sum(cg.prepayments),sum(cg.balance),0, '',0,0,0,0,sum(cg.tax_1), "); strSql.Append(" sum(cg.tax_zz_1),sum(cg.tax_2),sum(cg.tax_zz_2),'','','','','','','','','','','','','','1','0','','','','','',0,'','','','','','','','','','' "); strSql.Append(" ,'','','' "); strSql.Append(" FROM [dbo].[Import_main] M "); strSql.Append(" left join code_country c on m.countryid=c.countryid "); strSql.Append(" left join import_cargo cg on cg.contractno=M.contractno "); strSql.Append(" left join import_cargoinfo ci on ci.id=cg.cargoinfo_id "); strSql.Append(" left join company comp on comp.gid=M.company "); strSql.Append(" left join import_appstate ast on ast.cargo_id=cg.id "); strSql.Append(" left join import_approval ap on ap.id=ast.app_id "); strSql.Append(" left join [code_currency] curr on curr.gid=cg.currid "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); } return SetData_ALL(strSql); } static public XXH_ALLmb GetData_ALL(string condition, string userid, string username, string companyid) { var list = GetDataList_ALL(condition, userid, username, companyid, ""); if (list.Count > 0) return list[0]; return new XXH_ALLmb(); } private static List SetData_ALL ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); SqlCommand cmd = new SqlCommand(); cmd.CommandText = strSql.ToString(); cmd.CommandTimeout = 120000; //要加这一句 using (IDataReader reader = db.ExecuteReader(cmd)) { while (reader.Read()) { XXH_ALLmb data = new XXH_ALLmb(); #region Set DB data to Object data.cgid = Convert.ToString(reader["cgid"]); data.name = Convert.ToString(reader["name"]); data.country = Convert.ToString(reader["country"]); data.weight_t = Convert.ToString(reader["weight_t"]); data.weight = Convert.ToString(reader["weight"]); //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'CORPNAME'"; if (reader.GetSchemaTable().DefaultView.Count > 0) data.CORPNAME = Convert.ToString(reader["CORPNAME"]); //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'preArrivalDate'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { if(!string.IsNullOrEmpty(reader["preArrivalDate"].ToString())) data.preArrivalDate = Convert.ToString(reader["preArrivalDate"]); } //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'InventoryState'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { if (!string.IsNullOrEmpty(reader["InventoryState"].ToString())) data.InventoryState = Convert.ToInt32(reader["InventoryState"]); data.InventoryStateRef = Convert.ToString(reader["InventoryStateRef"]); } //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'RECEIVE_MAN'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { if (!string.IsNullOrEmpty(reader["RECEIVE_MAN"].ToString())) data.RECEIVE_MAN = Convert.ToString(reader["RECEIVE_MAN"]); } data.id = Convert.ToDecimal(reader["id"]); data.ContractNo = Convert.ToString(reader["ContractNo"]); data.HTH = Convert.ToString(reader["HTH"]); data.HTDATE = Convert.ToString(reader["HTDATE"]); data.seller = Convert.ToString(reader["seller"]); data.companyname = Convert.ToString(reader["companyname"]); data.buyer = Convert.ToString(reader["buyer"]); data.STT = Convert.ToString(reader["STT"]); data.countryid = Convert.ToString(reader["countryid"]); data.creator = Convert.ToString(reader["creator"]); data.Auditor = Convert.ToString(reader["Auditor"]); data.AuditorREF = Convert.ToString(reader["AuditorREF"]); data.Mainstate = Convert.ToString(reader["Mainstate"]); data.MainstateRef = Convert.ToString(reader["MainstateRef"]); data.Printed = Convert.ToString(reader["Printed"]); data.AutoAPP = Convert.ToString(reader["AutoAPP"]); data.ShipCompany_id = Convert.ToString(reader["ShipCompany_id"]); data.BillNo = Convert.ToString(reader["BillNo"]); data.BillType = Convert.ToString(reader["BillType"]); data.BillTime = Convert.ToString(reader["BillTime"]); data.Vessel = Convert.ToString(reader["Vessel"]); data.Voyage = Convert.ToString(reader["Voyage"]); data.Ex_sailingdate = Convert.ToString(reader["Ex_sailingdate"]); data.Sailingdate = Convert.ToString(reader["Sailingdate"]); data.ArrivalDate = Convert.ToString(reader["ArrivalDate"]); data.ContainerNo = Convert.ToString(reader["ContainerNo"]); data.SealNo = Convert.ToString(reader["SealNo"]); data.TransactionMethod = Convert.ToString(reader["TransactionMethod"]); data.PaymentMethods = Convert.ToString(reader["PaymentMethods"]); data.TransactionMethodRef = Convert.ToString(reader["TransactionMethodRef"]); data.PaymentMethodsRef = Convert.ToString(reader["PaymentMethodsRef"]); data.SecurityDeposit = Convert.ToString(reader["SecurityDeposit"]); data.SamplingDate_Plan = Convert.ToString(reader["SamplingDate_Plan"]); data.SamplingDate_Act = Convert.ToString(reader["SamplingDate_Act"]); data.CustomsReleaseDate = Convert.ToString(reader["CustomsReleaseDate"]); data.inspection_Signup_date = Convert.ToString(reader["inspection_Signup_date"]); data.inspection_no = Convert.ToString(reader["inspection_no"]); data.inspection_date = Convert.ToString(reader["inspection_date"]); data.TimeMark = Convert.ToDecimal(reader["TimeMark"]); data.cicode = Convert.ToString(reader["cicode"]); data.ciname = Convert.ToString(reader["ciname"]); data.company = Convert.ToString(reader["company"]); data.creattime = Convert.ToString(reader["creattime"]); data.Audittime = Convert.ToString(reader["Audittime"]); data.Freetime = Convert.ToString(reader["Freetime"]); data.CIQ_licence = Convert.ToString(reader["CIQ_licence"]); data.CIQ_canbesearch = Convert.ToString(reader["CIQ_canbesearch"]); data.CIQ_canbesearchRef = Convert.ToString(reader["CIQ_canbesearchRef"]); data.tax_date = Convert.ToString(reader["tax_date"]); data.tax_paydate = Convert.ToString(reader["tax_paydate"]); data.port = Convert.ToString(reader["port"]); data.remark = Convert.ToString(reader["remark"]); data.portRef = Convert.ToString(reader["portRef"]); data.AppNo = Convert.ToString(reader["AppNo"]); data.ValidDate = Convert.ToString(reader["ValidDate"]); data.Writeoffs = Convert.ToString(reader["Writeoffs"]); data.WriteoffsRef = Convert.ToString(reader["WriteoffsRef"]); data.AutoAPPRef = Convert.ToString(reader["AutoAPPRef"]); data.printedRef = Convert.ToString(reader["printedRef"]); data.ShipCompanyRef = Convert.ToString(reader["ShipCompanyRef"]); data.Paydate = Convert.ToString(reader["Paydate"]); data.Prepaydate = Convert.ToString(reader["Prepaydate"]); data.E_Billtime = Convert.ToString(reader["E_Billtime"]); data.HDtime = Convert.ToString(reader["HDtime"]); data.FinanceStatus = Convert.ToString(reader["FinanceStatus"]); data.FinanceStatusREF = Convert.ToString(reader["FinanceStatusREF"]); data.remark_2 = Convert.ToString(reader["remark_2"]); data.remark_3 = Convert.ToString(reader["remark_3"]); data.remark_4 = Convert.ToString(reader["remark_4"]); data.Sampling_need = Convert.ToString(reader["Sampling_need"]); data.Sampling_needREF = Convert.ToString(reader["Sampling_needREF"]); data.DeclareNumber = Convert.ToString(reader["DeclareNumber"]); data.Inspection_Storage = Convert.ToString(reader["Inspection_Storage"]); data.Inspection_StorageREF = Convert.ToString(reader["Inspection_StorageREF"]); data.DeliveryDate = Convert.ToString(reader["DeliveryDate"]); data.DeliveryAddress = Convert.ToString(reader["DeliveryAddress"]); data.Contacter = Convert.ToString(reader["Contacter"]); data.Tel = Convert.ToString(reader["Tel"]); data.Overfilled = Convert.ToString(reader["Overfilled"]); data.OwnApp = Convert.ToString(reader["OwnApp"]); data.ReceiptStatus = Convert.ToString(reader["ReceiptStatus"]); data.ReceiptStatusRef = Convert.ToString(reader["ReceiptStatusRef"]); data.Receiptremark = Convert.ToString(reader["Receiptremark"]); data.m_weight = Convert.ToString(reader["m_weight"]); data.price = Convert.ToString(reader["price"]); data.price_agio = Convert.ToString(reader["price_agio"]); data.price_limit = Convert.ToString(reader["price_limit"]); data.amount = Convert.ToString(reader["amount"]); data.tax_amount = Convert.ToString(reader["tax_amount"]); data.tax_amount_RMB = Convert.ToString(reader["tax_amount_RMB"]); data.pay_amount = Convert.ToString(reader["pay_amount"]); data.codename = Convert.ToString(reader["codename"]); data.boxcount = Convert.ToString(reader["boxcount"]); data.boxweight = Convert.ToString(reader["boxweight"]); data.exporter = Convert.ToString(reader["exporter"]); data.FactoryNo = Convert.ToString(reader["FactoryNo"]); data.productiondate = Convert.ToString(reader["productiondate"]); data.prepayments = Convert.ToString(reader["prepayments"]); data.balance = Convert.ToString(reader["balance"]); //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'pay_prepayments'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { data.pay_prepayments = Convert.ToString(reader["pay_prepayments"]); } //字段过滤器(判断是否存在该列 InspectionReleaseDate 商检放行日期) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'InspectionReleaseDate'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { data.InspectionReleaseDate = Convert.ToString(reader["InspectionReleaseDate"]); } reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'pay_balance'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { data.pay_balance = Convert.ToString(reader["pay_balance"]); } data.baolv = Convert.ToString(reader["baolv"]); data.tariff = Convert.ToString(reader["tariff"]); data.tax = Convert.ToString(reader["tax"]); data.tax_zz = Convert.ToString(reader["tax_zz"]); data.exchangerate = Convert.ToString(reader["exchangerate"]); data.exchangerate_customs = Convert.ToString(reader["exchangerate_customs"]); data.tax_1 = Convert.ToString(reader["tax_1"]); data.tax_zz_1 = Convert.ToString(reader["tax_zz_1"]); data.tax_2 = Convert.ToString(reader["tax_2"]); data.tax_zz_2 = Convert.ToString(reader["tax_zz_2"]); data.RMBAmount = Convert.ToString(reader["RMBAmount"]); data.BilltypeREF = Convert.ToString(reader["BilltypeREF"]); data.OP = Convert.ToString(reader["OP"]); data.ZMQ = Convert.ToString(reader["ZMQ"]); data.RecDate = Convert.ToString(reader["RecDate"]); data.PortDays = Convert.ToString(reader["PortDays"]); data.RCVModeREF = Convert.ToString(reader["RCVModeREF"]); data.BUZTYPEREF = Convert.ToString(reader["BUZTYPEREF"]); data.DeliveryDate = Convert.ToString(reader["DeliveryDate"]); data.DeliveryAddress = Convert.ToString(reader["DeliveryAddress"]); data.Inspection_Buyer = Convert.ToString(reader["Inspection_Buyer"]); data.TRADINGAGENCY = Convert.ToString(reader["TRADINGAGENCY"]); data.IsRongZi = Convert.ToString(reader["IsRongZi"]); data.ACCDATE = Convert.ToString(reader["ACCDATE"]); data.CHECKSAMPLE = Convert.ToString(reader["CHECKSAMPLE"]); data.CTN = Convert.ToString(reader["CTN"]); data.BILLTRANCNO = Convert.ToString(reader["BILLTRANCNO"]); data.SBYS = Convert.ToString(reader["SBYS"]); data.BILL_RECEIVE_DATE = Convert.ToString(reader["BILL_RECEIVE_DATE"]); data.BILL_SEND_DATE = Convert.ToString(reader["BILL_SEND_DATE"]); data.LOCK_EXCHANGERATE = Convert.ToString(reader["LOCK_EXCHANGERATE"]); data.EXCHANGERATE = Convert.ToString(reader["M_EXCHANGERATE"]); data.Unsealdate = Convert.ToString(reader["Unsealdate"]); data.ISREFORM = Convert.ToString(reader["ISREFORM"]); data.InspectionNo = Convert.ToString(reader["InspectionNo"]); data.TRADECOUNTRY = Convert.ToString(reader["TRADECOUNTRY"]); data.TRADECOUNTRY_REF = Convert.ToString(reader["TRADECOUNTRY_REF"]); data.CIQDATE = Convert.ToString(reader["CIQDATE"]); data.VSIGN = Convert.ToString(reader["VSIGN"]); data.ClearanceNo = Convert.ToString(reader["ClearanceNo"]); //reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'TAGPICURL'"; //if (reader.GetSchemaTable().DefaultView.Count > 0) // data.TAGPICURL = Convert.ToString(reader["TAGPICURL"]); data.TAGPICURL = Convert.ToString(BasicDataRefDAL.getValue(reader, "TAGPICURL", "string")); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 合同基础信息列表——包括全部商品信息 增加天津誉恒用货代字段 static public List GetDataList_ALL_HD ( string strCondition, string sort ) { //合同信息/商品信息 ——每合同一行 var strSql = new StringBuilder(); strSql.Append(" SELECT M.[id],M.[ContractNo],[HTH],[seller],M.[company],comp.name as companyname,[buyer],[STT], "); strSql.Append(" M.[countryid],[creator],[Auditor],[MainState],[printed],[AutoAPP],M.OP, "); strSql.Append(" dbo.F_YN(convert(int,AutoAPP)) AutoAPPRef, "); strSql.Append(" dbo.F_YN(convert(int,printed)) printedRef, "); strSql.Append(" [ShipCompany_id], [BillNo] ,[BillType],[Vessel],[Voyage], ci.code as cicode,ci.name as ciname,cg.[weight]/1000 [weight_t],cg.[weight], "); strSql.Append(" dbo.trimdate(BillTime) BillTime, "); strSql.Append(" dbo.trimdate(Ex_sailingdate) Ex_sailingdate, "); strSql.Append(" dbo.trimdate(Sailingdate) Sailingdate , "); strSql.Append(" dbo.trimdate(ArrivalDate) ArrivalDate "); strSql.Append(" ,[ContainerNo],[SealNo],[TransactionMethod],[PaymentMethods] "); strSql.Append(" ,[SecurityDeposit],M.TRADINGAGENCY, "); strSql.Append(" dbo.trimdate(CustomsReleaseDate) CustomsReleaseDate, "); strSql.Append(" dbo.trimdate(SamplingDate_Plan) SamplingDate_Plan, "); strSql.Append(" dbo.trimdate(SamplingDate_Act) SamplingDate_Act, "); strSql.Append(" dbo.trimdate(inspection_Signup_date) inspection_Signup_date "); strSql.Append(" ,[inspection_no], "); strSql.Append(" dbo.trimdate(inspection_date) inspection_date "); strSql.Append(" ,cg.id as cgid ,cg.name,c.country, convert(bigint ,M.TimeMark) as TimeMark , "); strSql.Append(" dbo.trimdate(creattime) creattime , "); strSql.Append(" dbo.trimdate(Audittime) Audittime , "); strSql.Append(" Freetime,CIQ_licence,CIQ_canbesearch,dbo.F_YN(convert(int,CIQ_canbesearch)) CIQ_canbesearchRef , "); strSql.Append(" dbo.trimdate(tax_date) tax_date , "); strSql.Append(" dbo.trimdate(tax_paydate) tax_paydate , "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=3 and EnumValueID=M.MainState) as MainstateRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=10 and EnumValueID=M.port) as portRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=5 and EnumValueID=M.ShipCompany_id) as ShipCompanyRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=1 and EnumValueID=M.TransactionMethod) as TransactionMethodRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=4 and EnumValueID=M.PaymentMethods) as PaymentMethodsRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=6 and EnumValueID=M.Billtype) as BilltypeRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=16 and EnumValueID=M.Financestatus) as FinancestatusREF, "); strSql.Append(" M.port, M.remark,ap.AppNo,ap.ValidDate ,M.Writeoffs,M.ReceiptStatus,M.Receiptremark,dbo.F_YN(convert(int,ReceiptStatus)) ReceiptStatusRef, "); strSql.Append(" dbo.F_YN(convert(int,Writeoffs)) WriteoffsRef ,M.OwnApp, "); strSql.Append(" M.FinanceStatus,M.remark_2,M.remark_3,M.remark_4,M.Sampling_need,M.DeclareNumber,M.Inspection_Storage,M.DeliveryAddress,M.Contacter,M.Tel,M.Overfilled, "); strSql.Append(" dbo.f_yn( Inspection_Storage) Inspection_StorageREF, "); strSql.Append(" dbo.trimdate( M.Paydate) as Paydate, "); strSql.Append(" dbo.trimdate( M.Prepaydate) as Prepaydate, "); strSql.Append(" dbo.trimdate( M.E_Billtime) as E_Billtime, "); strSql.Append(" CONVERT(varchar ,[HDtime],20) HDtime , "); strSql.Append(" dbo.trimdate( M.DeliveryDate) as DeliveryDate, "); strSql.Append(" cg.m_weight/1000 m_weight,cg.price,cg.price_agio,cg.price_limit,cg.amount,cg.amount*cg.Exchangerate RMBAmount ,cg.tax_amount,cg.Exchangerate_Customs*cg.tax_amount tax_amount_RMB,cg.pay_amount,curr.codename, "); strSql.Append(" cg.boxcount,cg.boxweight,cg.exporter,cg.FactoryNo,cg.productiondate,cg.prepayments,cg.balance,cg.baolv, "); strSql.Append(" cg.tariff,cg.tax,cg.tax_zz,cg.exchangerate,cg.exchangerate_customs,cg.tax_1,cg.tax_zz_1,cg.tax_2,cg.tax_zz_2, "); strSql.Append(" M.RCVMode,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=23 and EnumValueID=M.RCVMode) as RCVModeREF "); strSql.Append(" ,dbo.F_YN(convert(int,Sampling_need)) Sampling_needREF "); strSql.Append(" ,case when ap.remark like '%自贸%' then ap.remark else '' end ZMQ ");//自贸区 strSql.Append(" ,M.MZBZ, (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=23 and EnumValueID=M.MZBZ) as MZBZREF "); strSql.Append(" ,dbo.trimdate(RecDate) Recdate,PortDays,M.DeliveryDate,M.DeliveryAddress,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=27 and EnumValueID=M.buztype) buztypeREF "); strSql.Append(" ,m.Inspection_Buyer ,M.ACCDATE "); strSql.Append(" ,Convert(varchar(20),Convert(numeric(18,2),isnull((select sum(isnull(amount,0)) from ch_fee where bsno=m.contractno and FEESTATUS in(10,11)),0))) "); strSql.Append(" + '/' + Convert(varchar(20), Convert(numeric(18, 2), isnull((select sum(isnull(settlement, 0) * isnull(EXCHANGERATE, 1)) "); strSql.Append(" from ch_fee where bsno in (select F_NO from IMPORT_FINANCE_BODY where BSNO = M.ContractNo) and feetype = 1), 0))) isRongZi "); strSql.Append(" ,isnull(m.CHECKSAMPLE,0) CHECKSAMPLE,M.CTN,M.BILLTRANCNO,cg.SBYS "); strSql.Append(" ,(select top 1 dbo.trimdate(RECEIVE_DATE) from op_receipt where bsno=M.contractno and m.BillType=0) BILL_RECEIVE_DATE "); strSql.Append(" ,(select top 1 dbo.trimdate(SEND_DATE) from op_receipt where bsno=M.contractno and m.BillType=0) BILL_SEND_DATE "); strSql.Append(" ,LOCK_EXCHANGERATE,M.EXCHANGERATE M_EXCHANGERATE "); strSql.Append(" ,dbo.trimdate(m.Unsealdate) Unsealdate,M.ISREFORM,ic.InspectionNo"); strSql.Append(" ,Supplier_Billno,dbo.trimdate(ResendTime) ResendTime,dbo.trimtime(ResendTime2) ResendTime2,ShipAgent, CONVERT(varchar ,[BillReleaseDate],20) BillReleaseDate "); strSql.Append(" ,IsLBill,LBillShipAgent,IsInnerLine,InnerLinePort,YARD,dbo.trimdate(PriceLimitDate) PriceLimitDate "); strSql.Append(" ,PriceLimitRemark,ClearanceNo,dbo.trimtime(ClearanceDate) ClearanceDate,dbo.trimdate(TaxRecvDate) TaxRecvDate "); strSql.Append(" ,dbo.trimdate(GetBoxDate) GetBoxDate,IsRec,dbo.trimdate(FUNDDATE_1) FUNDDATE_1,M.TaxRecvRemark,M.TaxPayRemark"); strSql.Append(" ,dbo.trimdate(M.HTDATE) HTDATE "); strSql.Append(" FROM [dbo].[Import_main] M "); strSql.Append(" left join code_country c on m.countryid=c.countryid "); strSql.Append(" left join import_cargo cg on cg.contractno=M.contractno "); strSql.Append(" left join import_cargoinfo ci on ci.id=cg.cargoinfo_id "); strSql.Append(" left join company comp on comp.gid=M.company "); strSql.Append(" left join import_appstate ast on ast.cargo_id=cg.id "); strSql.Append(" left join import_approval ap on ap.id=ast.app_id "); strSql.Append(" left join [code_currency] curr on curr.gid=cg.currid "); strSql.Append(" left join Info_client ic on cg.Exporter =ic.shortname "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); } /* strSql.Append(" union all select "); strSql.Append(" '','','','','','','','','','','','','','','','','','','','','','','','', "); strSql.Append(" sum(cg.[weight])/1000 [weight_t],sum(cg.[weight])[weight], "); strSql.Append(" '','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','', "); strSql.Append(" '','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','', "); strSql.Append(" sum(cg.m_weight/1000) ,0,0,0,sum(cg.amount) ,sum(cg.amount*cg.Exchangerate), "); strSql.Append(" sum(cg.tax_amount) ,sum(cg.tax_amount*cg.Exchangerate_Customs), sum(cg.pay_amount) , '', sum(cg.boxcount),0,'','', "); strSql.Append(" '',sum(cg.prepayments),sum(cg.balance),0, '',0,0,0,0,sum(cg.tax_1), "); strSql.Append(" sum(cg.tax_zz_1),sum(cg.tax_2),sum(cg.tax_zz_2),'','','','','','','','','','','','','','1','0','','','','','',0,'','','','' FROM [dbo].[Import_main] M "); strSql.Append(" left join code_country c on m.countryid=c.countryid "); strSql.Append(" left join import_cargo cg on cg.contractno=M.contractno "); strSql.Append(" left join import_cargoinfo ci on ci.id=cg.cargoinfo_id "); strSql.Append(" left join company comp on comp.gid=M.company "); strSql.Append(" left join import_appstate ast on ast.cargo_id=cg.id "); strSql.Append(" left join import_approval ap on ap.id=ast.app_id "); strSql.Append(" left join [code_currency] curr on curr.gid=cg.currid "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); }*/ return SetData_ALL_HD(strSql); } static public XXH_ALLmb GetData_ALL_HD ( string condition ) { var list = GetDataList_ALL_HD(condition, ""); if (list.Count > 0) return list[0]; return new XXH_ALLmb(); } private static List SetData_ALL_HD ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); SqlCommand cmd = new SqlCommand(); cmd.CommandText = strSql.ToString(); cmd.CommandTimeout = 120000; //要加这一句 using (IDataReader reader = db.ExecuteReader(cmd)) { while (reader.Read()) { XXH_ALLmb data = new XXH_ALLmb(); #region Set DB data to Object data.cgid = Convert.ToString(reader["cgid"]); data.name = Convert.ToString(reader["name"]); data.country = Convert.ToString(reader["country"]); data.weight_t = Convert.ToString(reader["weight_t"]); data.weight = Convert.ToString(reader["weight"]); data.id = Convert.ToDecimal(reader["id"]); data.ContractNo = Convert.ToString(reader["ContractNo"]); data.HTH = Convert.ToString(reader["HTH"]); data.HTDATE = Convert.ToString(reader["HTDATE"]); data.seller = Convert.ToString(reader["seller"]); data.companyname = Convert.ToString(reader["companyname"]); data.buyer = Convert.ToString(reader["buyer"]); data.STT = Convert.ToString(reader["STT"]); data.countryid = Convert.ToString(reader["countryid"]); data.creator = Convert.ToString(reader["creator"]); data.Auditor = Convert.ToString(reader["Auditor"]); data.Mainstate = Convert.ToString(reader["Mainstate"]); data.MainstateRef = Convert.ToString(reader["MainstateRef"]); data.Printed = Convert.ToString(reader["Printed"]); data.AutoAPP = Convert.ToString(reader["AutoAPP"]); data.ShipCompany_id = Convert.ToString(reader["ShipCompany_id"]); data.BillNo = Convert.ToString(reader["BillNo"]); data.BillType = Convert.ToString(reader["BillType"]); data.BillTime = Convert.ToString(reader["BillTime"]); data.Vessel = Convert.ToString(reader["Vessel"]); data.Voyage = Convert.ToString(reader["Voyage"]); data.Ex_sailingdate = Convert.ToString(reader["Ex_sailingdate"]); data.Sailingdate = Convert.ToString(reader["Sailingdate"]); data.ArrivalDate = Convert.ToString(reader["ArrivalDate"]); data.ContainerNo = Convert.ToString(reader["ContainerNo"]); data.SealNo = Convert.ToString(reader["SealNo"]); data.TransactionMethod = Convert.ToString(reader["TransactionMethod"]); data.PaymentMethods = Convert.ToString(reader["PaymentMethods"]); data.TransactionMethodRef = Convert.ToString(reader["TransactionMethodRef"]); data.PaymentMethodsRef = Convert.ToString(reader["PaymentMethodsRef"]); data.SecurityDeposit = Convert.ToString(reader["SecurityDeposit"]); data.SamplingDate_Plan = Convert.ToString(reader["SamplingDate_Plan"]); data.SamplingDate_Act = Convert.ToString(reader["SamplingDate_Act"]); data.CustomsReleaseDate = Convert.ToString(reader["CustomsReleaseDate"]); data.inspection_Signup_date = Convert.ToString(reader["inspection_Signup_date"]); data.inspection_no = Convert.ToString(reader["inspection_no"]); data.inspection_date = Convert.ToString(reader["inspection_date"]); data.TimeMark = Convert.ToDecimal(reader["TimeMark"]); data.cicode = Convert.ToString(reader["cicode"]); data.ciname = Convert.ToString(reader["ciname"]); data.company = Convert.ToString(reader["company"]); data.creattime = Convert.ToString(reader["creattime"]); data.Audittime = Convert.ToString(reader["Audittime"]); data.Freetime = Convert.ToString(reader["Freetime"]); data.CIQ_licence = Convert.ToString(reader["CIQ_licence"]); data.CIQ_canbesearch = Convert.ToString(reader["CIQ_canbesearch"]); data.CIQ_canbesearchRef = Convert.ToString(reader["CIQ_canbesearchRef"]); data.tax_date = Convert.ToString(reader["tax_date"]); data.tax_paydate = Convert.ToString(reader["tax_paydate"]); data.port = Convert.ToString(reader["port"]); data.remark = Convert.ToString(reader["remark"]); data.portRef = Convert.ToString(reader["portRef"]); data.AppNo = Convert.ToString(reader["AppNo"]); data.ValidDate = Convert.ToString(reader["ValidDate"]); data.Writeoffs = Convert.ToString(reader["Writeoffs"]); data.WriteoffsRef = Convert.ToString(reader["WriteoffsRef"]); data.AutoAPPRef = Convert.ToString(reader["AutoAPPRef"]); data.printedRef = Convert.ToString(reader["printedRef"]); data.ShipCompanyRef = Convert.ToString(reader["ShipCompanyRef"]); data.Paydate = Convert.ToString(reader["Paydate"]); data.Prepaydate = Convert.ToString(reader["Prepaydate"]); data.E_Billtime = Convert.ToString(reader["E_Billtime"]); data.HDtime = Convert.ToString(reader["HDtime"]); data.FinanceStatus = Convert.ToString(reader["FinanceStatus"]); data.FinanceStatusREF = Convert.ToString(reader["FinanceStatusREF"]); data.remark_2 = Convert.ToString(reader["remark_2"]); data.remark_3 = Convert.ToString(reader["remark_3"]); data.remark_4 = Convert.ToString(reader["remark_4"]); data.Sampling_need = Convert.ToString(reader["Sampling_need"]); data.Sampling_needREF = Convert.ToString(reader["Sampling_needREF"]); data.DeclareNumber = Convert.ToString(reader["DeclareNumber"]); data.Inspection_Storage = Convert.ToString(reader["Inspection_Storage"]); data.Inspection_StorageREF = Convert.ToString(reader["Inspection_StorageREF"]); data.DeliveryDate = Convert.ToString(reader["DeliveryDate"]); data.DeliveryAddress = Convert.ToString(reader["DeliveryAddress"]); data.Contacter = Convert.ToString(reader["Contacter"]); data.Tel = Convert.ToString(reader["Tel"]); data.Overfilled = Convert.ToString(reader["Overfilled"]); data.OwnApp = Convert.ToString(reader["OwnApp"]); data.ReceiptStatus = Convert.ToString(reader["ReceiptStatus"]); data.ReceiptStatusRef = Convert.ToString(reader["ReceiptStatusRef"]); data.Receiptremark = Convert.ToString(reader["Receiptremark"]); data.m_weight = Convert.ToString(reader["m_weight"]); data.price = Convert.ToString(reader["price"]); data.price_agio = Convert.ToString(reader["price_agio"]); data.price_limit = Convert.ToString(reader["price_limit"]); data.amount = Convert.ToString(reader["amount"]); data.tax_amount = Convert.ToString(reader["tax_amount"]); data.tax_amount_RMB = Convert.ToString(reader["tax_amount_RMB"]); data.pay_amount = Convert.ToString(reader["pay_amount"]); data.codename = Convert.ToString(reader["codename"]); data.boxcount = Convert.ToString(reader["boxcount"]); data.boxweight = Convert.ToString(reader["boxweight"]); data.exporter = Convert.ToString(reader["exporter"]); data.FactoryNo = Convert.ToString(reader["FactoryNo"]); data.productiondate = Convert.ToString(reader["productiondate"]); data.prepayments = Convert.ToString(reader["prepayments"]); data.balance = Convert.ToString(reader["balance"]); data.baolv = Convert.ToString(reader["baolv"]); data.tariff = Convert.ToString(reader["tariff"]); data.tax = Convert.ToString(reader["tax"]); data.tax_zz = Convert.ToString(reader["tax_zz"]); data.exchangerate = Convert.ToString(reader["exchangerate"]); data.exchangerate_customs = Convert.ToString(reader["exchangerate_customs"]); data.tax_1 = Convert.ToString(reader["tax_1"]); data.tax_zz_1 = Convert.ToString(reader["tax_zz_1"]); data.tax_2 = Convert.ToString(reader["tax_2"]); data.tax_zz_2 = Convert.ToString(reader["tax_zz_2"]); data.RMBAmount = Convert.ToString(reader["RMBAmount"]); data.BilltypeREF = Convert.ToString(reader["BilltypeREF"]); data.OP = Convert.ToString(reader["OP"]); data.ZMQ = Convert.ToString(reader["ZMQ"]); data.RecDate = Convert.ToString(reader["RecDate"]); data.PortDays = Convert.ToString(reader["PortDays"]); data.RCVModeREF = Convert.ToString(reader["RCVModeREF"]); data.BUZTYPEREF = Convert.ToString(reader["BUZTYPEREF"]); data.DeliveryDate = Convert.ToString(reader["DeliveryDate"]); data.DeliveryAddress = Convert.ToString(reader["DeliveryAddress"]); data.Inspection_Buyer = Convert.ToString(reader["Inspection_Buyer"]); data.TRADINGAGENCY = Convert.ToString(reader["TRADINGAGENCY"]); data.IsRongZi = Convert.ToString(reader["IsRongZi"]); data.ACCDATE = Convert.ToString(reader["ACCDATE"]); data.CHECKSAMPLE = Convert.ToString(reader["CHECKSAMPLE"]); data.CTN = Convert.ToString(reader["CTN"]); data.BILLTRANCNO = Convert.ToString(reader["BILLTRANCNO"]); data.SBYS = Convert.ToString(reader["SBYS"]); data.BILL_RECEIVE_DATE = Convert.ToString(reader["BILL_RECEIVE_DATE"]); data.BILL_SEND_DATE = Convert.ToString(reader["BILL_SEND_DATE"]); data.LOCK_EXCHANGERATE = Convert.ToString(reader["LOCK_EXCHANGERATE"]); data.EXCHANGERATE = Convert.ToString(reader["M_EXCHANGERATE"]); data.Unsealdate = Convert.ToString(reader["Unsealdate"]); data.ISREFORM = Convert.ToString(reader["ISREFORM"]); data.InspectionNo = Convert.ToString(reader["InspectionNo"]); data.Supplier_Billno = Convert.ToString(reader["Supplier_Billno"]); data.ResendTime = Convert.ToString(reader["ResendTime"]); data.ResendTime2 = Convert.ToString(reader["ResendTime2"]); data.ShipAgent = Convert.ToString(reader["ShipAgent"]); data.BillReleaseDate = Convert.ToString(reader["BillReleaseDate"]); data.IsLBill = Convert.ToString(reader["IsLBill"]); data.LBillShipAgent = Convert.ToString(reader["LBillShipAgent"]); data.IsInnerLine = Convert.ToString(reader["IsInnerLine"]); data.InnerLinePort = Convert.ToString(reader["InnerLinePort"]); data.YARD = Convert.ToString(reader["YARD"]); data.PriceLimitDate = Convert.ToString(reader["PriceLimitDate"]); data.PriceLimitRemark = Convert.ToString(reader["PriceLimitRemark"]); data.ClearanceNo = Convert.ToString(reader["ClearanceNo"]); data.ClearanceDate = Convert.ToString(reader["ClearanceDate"]); data.TaxRecvDate = Convert.ToString(reader["TaxRecvDate"]); data.GetBoxDate = Convert.ToString(reader["GetBoxDate"]); data.IsRec = Convert.ToString(reader["IsRec"]); data.FUNDDATE_1 = Convert.ToString(reader["FUNDDATE_1"]); data.Supplier_Billno = Convert.ToString(reader["Supplier_Billno"]); data.ResendTime = Convert.ToString(reader["ResendTime"]); data.ShipAgent = Convert.ToString(reader["ShipAgent"]); data.BillReleaseDate = Convert.ToString(reader["BillReleaseDate"]); data.IsLBill = Convert.ToString(reader["IsLBill"]); data.LBillShipAgent = Convert.ToString(reader["LBillShipAgent"]); data.IsInnerLine = Convert.ToString(reader["IsInnerLine"]); data.InnerLinePort = Convert.ToString(reader["InnerLinePort"]); data.YARD = Convert.ToString(reader["YARD"]); data.PriceLimitDate = Convert.ToString(reader["PriceLimitDate"]); data.PriceLimitRemark = Convert.ToString(reader["PriceLimitRemark"]); //data.ClearanceNo = Convert.ToString(reader["ClearanceNo"]); data.ClearanceDate = Convert.ToString(reader["ClearanceDate"]); data.TaxRecvDate = Convert.ToString(reader["TaxRecvDate"]); data.GetBoxDate = Convert.ToString(reader["GetBoxDate"]); //data.IsRec = Convert.ToString(reader["IsRec"]); data.ResendTime2 = Convert.ToString(reader["ResendTime2"]); data.TaxRecvRemark = Convert.ToString(reader["TaxRecvRemark"]); data.TaxPayRemark = Convert.ToString(reader["TaxPayRemark"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 港口操作 编辑模式 static public List GetEditList_ALL(string strCondition, string userid, string username, string companyid, string sort) { //编辑模式 每商品一行 var rangstr = GetRangDAStr("index", userid, username, companyid); if (!string.IsNullOrEmpty(rangstr)) { if (!string.IsNullOrEmpty(strCondition)) { strCondition = strCondition + " and " + rangstr; } else { strCondition = rangstr; } } var strSql = new StringBuilder(); strSql.Append(" SELECT M.preArrivalDate,M.InventoryState,M.[id],M.[ContractNo],[HTH],[seller],M.[company],comp.name as companyname,[buyer],[STT], (select top 1 cc.NAME from company cc where cc.GID = M.CORPID) CORPNAME,"); strSql.Append(" M.[countryid],[creator],[Auditor],[MainState],[printed],[AutoAPP],M.OP, "); strSql.Append(" dbo.F_YN(convert(int,AutoAPP)) AutoAPPRef, "); strSql.Append(" dbo.F_YN(convert(int,printed)) printedRef, "); strSql.Append(" [ShipCompany_id], [BillNo] ,[BillType],[Vessel],[Voyage], ci.code as cicode,ci.name as ciname,cg.[weight]/1000 [weight], "); strSql.Append(" dbo.trimdate(BillTime) BillTime, "); strSql.Append(" dbo.trimdate(Ex_sailingdate) Ex_sailingdate, "); strSql.Append(" dbo.trimdate(Sailingdate) Sailingdate , "); strSql.Append(" dbo.trimdate(ArrivalDate) ArrivalDate "); strSql.Append(" ,[ContainerNo],[SealNo],[TransactionMethod],[PaymentMethods] "); strSql.Append(" ,[SecurityDeposit],M.TRADINGAGENCY, "); strSql.Append(" dbo.trimdate(CustomsReleaseDate) CustomsReleaseDate, "); strSql.Append(" dbo.trimdate(InspectionReleaseDate) InspectionReleaseDate, "); strSql.Append(" dbo.trimdate(SamplingDate_Plan) SamplingDate_Plan, "); strSql.Append(" dbo.trimdate(SamplingDate_Act) SamplingDate_Act, "); strSql.Append(" dbo.trimdate(inspection_Signup_date) inspection_Signup_date "); strSql.Append(" ,[inspection_no], "); strSql.Append(" dbo.trimdate(inspection_date) inspection_date "); strSql.Append(" ,cg.id as cgid ,cg.name,c.country, convert(bigint ,M.TimeMark) as TimeMark , "); strSql.Append(" dbo.trimdate(creattime) creattime , "); strSql.Append(" dbo.trimdate(Audittime) Audittime , "); strSql.Append(" Freetime,CIQ_licence,CIQ_canbesearch,dbo.F_YN(convert(int,CIQ_canbesearch)) CIQ_canbesearchRef , "); strSql.Append(" dbo.trimdate(tax_date) tax_date , "); strSql.Append(" dbo.trimdate(tax_paydate) tax_paydate , "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=3 and EnumValueID=M.MainState) as MainstateRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=10 and EnumValueID=M.port) as portRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=5 and EnumValueID=M.ShipCompany_id) as ShipCompanyRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=1 and EnumValueID=M.TransactionMethod) as TransactionMethodRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=4 and EnumValueID=M.PaymentMethods) as PaymentMethodsRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=6 and EnumValueID=M.Billtype) as BilltypeRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=16 and EnumValueID=M.Financestatus) as FinancestatusREF, "); strSql.Append(" M.port, M.remark,ap.AppNo,ap.ValidDate ,M.Writeoffs,M.ReceiptStatus,M.Receiptremark,dbo.F_YN(convert(int,ReceiptStatus)) ReceiptStatusRef, "); strSql.Append(" dbo.F_YN(convert(int,Writeoffs)) WriteoffsRef ,M.OwnApp, "); strSql.Append(" M.FinanceStatus,M.remark_2,M.remark_3,M.remark_4,M.Sampling_need,M.DeclareNumber,M.Inspection_Storage,M.DeliveryAddress,M.Contacter,M.Tel,M.Overfilled, "); strSql.Append(" dbo.f_yn( Inspection_Storage) Inspection_StorageREF, "); strSql.Append(" dbo.trimdate(M.Paydate) Paydate, "); strSql.Append(" dbo.trimdate(M.Prepaydate) Prepaydate, "); strSql.Append(" dbo.trimdate(M.E_Billtime) E_Billtime, "); strSql.Append(" dbo.trimdate(M.HDtime) HDtime , "); strSql.Append(" dbo.trimdate(M.DeliveryDate) DeliveryDate, "); strSql.Append(" cg.m_weight/1000 m_weight,cg.price,cg.price_agio,cg.price_limit,cg.amount,cg.amount*cg.Exchangerate RMBAmount ,cg.tax_amount,cg.Exchangerate_Customs*cg.tax_amount tax_amount_RMB,cg.pay_amount,curr.codename, "); strSql.Append(" cg.boxcount,cg.boxweight,cg.exporter,cg.FactoryNo,cg.productiondate,cg.prepayments,cg.balance,cg.baolv, "); strSql.Append(" cg.tariff,cg.tax,cg.tax_zz,cg.exchangerate,cg.exchangerate_customs,cg.tax_1,cg.tax_zz_1,cg.tax_2,cg.tax_zz_2, "); strSql.Append(" M.RCVMode,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=23 and EnumValueID=M.RCVMode) as RCVModeREF "); strSql.Append(" ,dbo.F_YN(convert(int,Sampling_need)) Sampling_needREF "); strSql.Append(" ,case when ap.remark like '%自贸%' then ap.remark else '' end ZMQ ");//自贸区 strSql.Append(" ,M.MZBZ, (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=23 and EnumValueID=M.MZBZ) as MZBZREF "); strSql.Append(" ,dbo.trimdate(RecDate) Recdate,PortDays,M.DeliveryDate,M.DeliveryAddress,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=27 and EnumValueID=M.buztype) buztypeREF "); strSql.Append(" ,m.Inspection_Buyer,M.ACCDATE "); strSql.Append(" ,Convert(varchar(20),Convert(numeric(18,2),isnull((select sum(isnull(amount,0)) from ch_fee where bsno=m.contractno and FEESTATUS in(10,11)),0))) "); strSql.Append(" + '/' + Convert(varchar(20), Convert(numeric(18, 2), isnull((select sum(isnull(settlement, 0) * isnull(EXCHANGERATE, 1)) "); strSql.Append(" from ch_fee where bsno in (select F_NO from IMPORT_FINANCE_BODY where BSNO = M.ContractNo) and feetype = 1), 0))) isRongZi "); strSql.Append(" ,isnull(m.CHECKSAMPLE,0) CHECKSAMPLE,M.CTN,M.BILLTRANCNO,cg.SBYS "); strSql.Append(" ,(select top 1 dbo.trimdate(RECEIVE_DATE) from op_receipt where bsno=M.contractno and m.BillType=0) BILL_RECEIVE_DATE "); strSql.Append(" ,(select top 1 dbo.trimdate(SEND_DATE) from op_receipt where bsno=M.contractno and m.BillType=0) BILL_SEND_DATE "); strSql.Append(" ,LOCK_EXCHANGERATE,M.EXCHANGERATE M_EXCHANGERATE"); strSql.Append(" ,dbo.trimdate(m.Unsealdate) Unsealdate,M.ISREFORM"); strSql.Append(" ,(case M.InventoryState WHEN 0 THEN '过车' WHEN 1 THEN '直送' WHEN 2 THEN '入库' WHEN 3 THEN '部分过车' ELSE '' END) InventoryStateREF"); strSql.Append(" ,dbo.trimdate(M.HTDATE) HTDATE "); strSql.Append(" FROM [dbo].[Import_main] M "); strSql.Append(" left join code_country c on m.countryid=c.countryid "); strSql.Append(" left join import_cargo cg on cg.contractno=M.contractno "); strSql.Append(" left join import_cargoinfo ci on ci.id=cg.cargoinfo_id "); strSql.Append(" left join company comp on comp.gid=M.company "); strSql.Append(" left join import_appstate ast on ast.cargo_id=cg.id "); strSql.Append(" left join import_approval ap on ap.id=ast.app_id "); strSql.Append(" left join [code_currency] curr on curr.gid=cg.currid "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); } return SetData_Edit_ALL(strSql); } private static List SetData_Edit_ALL ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { XXH_ALLmb data = new XXH_ALLmb(); #region Set DB data to Object data.cgid = Convert.ToString(reader["cgid"]); data.name = Convert.ToString(reader["name"]); data.country = Convert.ToString(reader["country"]); data.weight = Convert.ToString(reader["weight"]); //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'CORPNAME'"; if (reader.GetSchemaTable().DefaultView.Count > 0) data.CORPNAME = Convert.ToString(reader["CORPNAME"]); //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'preArrivalDate'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { if (!string.IsNullOrEmpty(reader["preArrivalDate"].ToString())) data.preArrivalDate = Convert.ToString(reader["preArrivalDate"]); } //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'InspectionReleaseDate'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { if (!string.IsNullOrEmpty(reader["InspectionReleaseDate"].ToString())) data.InspectionReleaseDate = Convert.ToString(reader["InspectionReleaseDate"]); } //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'InventoryState'"; if (reader.GetSchemaTable().DefaultView.Count > 0) { if (!string.IsNullOrEmpty(reader["InventoryState"].ToString())) data.InventoryState = Convert.ToInt32(reader["InventoryState"]); data.InventoryStateRef = Convert.ToString(reader["InventoryStateRef"]); } data.id = Convert.ToDecimal(reader["id"]); data.ContractNo = Convert.ToString(reader["ContractNo"]); data.HTH = Convert.ToString(reader["HTH"]); data.HTDATE = Convert.ToString(reader["HTDATE"]); data.seller = Convert.ToString(reader["seller"]); data.companyname = Convert.ToString(reader["companyname"]); data.buyer = Convert.ToString(reader["buyer"]); data.STT = Convert.ToString(reader["STT"]); data.countryid = Convert.ToString(reader["countryid"]); data.creator = Convert.ToString(reader["creator"]); data.Auditor = Convert.ToString(reader["Auditor"]); data.Mainstate = Convert.ToString(reader["Mainstate"]); data.MainstateRef = Convert.ToString(reader["MainstateRef"]); data.Printed = Convert.ToString(reader["Printed"]); data.AutoAPP = Convert.ToString(reader["AutoAPP"]); data.ShipCompany_id = Convert.ToString(reader["ShipCompany_id"]); data.BillNo = Convert.ToString(reader["BillNo"]); data.BillType = Convert.ToString(reader["BillType"]); data.BillTime = Convert.ToString(reader["BillTime"]); data.Vessel = Convert.ToString(reader["Vessel"]); data.Voyage = Convert.ToString(reader["Voyage"]); data.Ex_sailingdate = Convert.ToString(reader["Ex_sailingdate"]); data.Sailingdate = Convert.ToString(reader["Sailingdate"]); data.ArrivalDate = Convert.ToString(reader["ArrivalDate"]); data.ContainerNo = Convert.ToString(reader["ContainerNo"]); data.SealNo = Convert.ToString(reader["SealNo"]); data.TransactionMethod = Convert.ToString(reader["TransactionMethod"]); data.PaymentMethods = Convert.ToString(reader["PaymentMethods"]); data.TransactionMethodRef = Convert.ToString(reader["TransactionMethodRef"]); data.PaymentMethodsRef = Convert.ToString(reader["PaymentMethodsRef"]); data.SecurityDeposit = Convert.ToString(reader["SecurityDeposit"]); data.SamplingDate_Plan = Convert.ToString(reader["SamplingDate_Plan"]); data.SamplingDate_Act = Convert.ToString(reader["SamplingDate_Act"]); data.CustomsReleaseDate = Convert.ToString(reader["CustomsReleaseDate"]); data.inspection_Signup_date = Convert.ToString(reader["inspection_Signup_date"]); data.inspection_no = Convert.ToString(reader["inspection_no"]); data.inspection_date = Convert.ToString(reader["inspection_date"]); data.TimeMark = Convert.ToDecimal(reader["TimeMark"]); data.cicode = Convert.ToString(reader["cicode"]); data.ciname = Convert.ToString(reader["ciname"]); data.company = Convert.ToString(reader["company"]); data.creattime = Convert.ToString(reader["creattime"]); data.Audittime = Convert.ToString(reader["Audittime"]); data.Freetime = Convert.ToString(reader["Freetime"]); data.CIQ_licence = Convert.ToString(reader["CIQ_licence"]); data.CIQ_canbesearch = Convert.ToString(reader["CIQ_canbesearch"]); data.CIQ_canbesearchRef = Convert.ToString(reader["CIQ_canbesearchRef"]); data.tax_date = Convert.ToString(reader["tax_date"]); data.tax_paydate = Convert.ToString(reader["tax_paydate"]); data.port = Convert.ToString(reader["port"]); data.remark = Convert.ToString(reader["remark"]); data.portRef = Convert.ToString(reader["portRef"]); data.AppNo = Convert.ToString(reader["AppNo"]); data.ValidDate = Convert.ToString(reader["ValidDate"]); data.Writeoffs = Convert.ToString(reader["Writeoffs"]); data.WriteoffsRef = Convert.ToString(reader["WriteoffsRef"]); data.AutoAPPRef = Convert.ToString(reader["AutoAPPRef"]); data.printedRef = Convert.ToString(reader["printedRef"]); data.ShipCompanyRef = Convert.ToString(reader["ShipCompanyRef"]); data.Paydate = Convert.ToString(reader["Paydate"]); data.Prepaydate = Convert.ToString(reader["Prepaydate"]); data.E_Billtime = Convert.ToString(reader["E_Billtime"]); data.HDtime = Convert.ToString(reader["HDtime"]); data.FinanceStatus = Convert.ToString(reader["FinanceStatus"]); data.FinanceStatusREF = Convert.ToString(reader["FinanceStatusREF"]); data.remark_2 = Convert.ToString(reader["remark_2"]); data.remark_3 = Convert.ToString(reader["remark_3"]); data.remark_4 = Convert.ToString(reader["remark_4"]); data.Sampling_need = Convert.ToString(reader["Sampling_need"]); data.Sampling_needREF = Convert.ToString(reader["Sampling_needREF"]); data.DeclareNumber = Convert.ToString(reader["DeclareNumber"]); data.Inspection_Storage = Convert.ToString(reader["Inspection_Storage"]); data.Inspection_StorageREF = Convert.ToString(reader["Inspection_StorageREF"]); data.DeliveryDate = Convert.ToString(reader["DeliveryDate"]); data.DeliveryAddress = Convert.ToString(reader["DeliveryAddress"]); data.Contacter = Convert.ToString(reader["Contacter"]); data.Tel = Convert.ToString(reader["Tel"]); data.Overfilled = Convert.ToString(reader["Overfilled"]); data.OwnApp = Convert.ToString(reader["OwnApp"]); data.ReceiptStatus = Convert.ToString(reader["ReceiptStatus"]); data.ReceiptStatusRef = Convert.ToString(reader["ReceiptStatusRef"]); data.Receiptremark = Convert.ToString(reader["Receiptremark"]); data.m_weight = Convert.ToString(reader["m_weight"]); data.price = Convert.ToString(reader["price"]); data.price_agio = Convert.ToString(reader["price_agio"]); data.price_limit = Convert.ToString(reader["price_limit"]); data.amount = Convert.ToString(reader["amount"]); data.tax_amount = Convert.ToString(reader["tax_amount"]); data.tax_amount_RMB = Convert.ToString(reader["tax_amount_RMB"]); data.pay_amount = Convert.ToString(reader["pay_amount"]); data.codename = Convert.ToString(reader["codename"]); data.boxcount = Convert.ToString(reader["boxcount"]); data.boxweight = Convert.ToString(reader["boxweight"]); data.exporter = Convert.ToString(reader["exporter"]); data.FactoryNo = Convert.ToString(reader["FactoryNo"]); data.productiondate = Convert.ToString(reader["productiondate"]); data.prepayments = Convert.ToString(reader["prepayments"]); data.balance = Convert.ToString(reader["balance"]); data.baolv = Convert.ToString(reader["baolv"]); data.tariff = Convert.ToString(reader["tariff"]); data.tax = Convert.ToString(reader["tax"]); data.tax_zz = Convert.ToString(reader["tax_zz"]); data.exchangerate = Convert.ToString(reader["exchangerate"]); data.exchangerate_customs = Convert.ToString(reader["exchangerate_customs"]); data.tax_1 = Convert.ToString(reader["tax_1"]); data.tax_zz_1 = Convert.ToString(reader["tax_zz_1"]); data.tax_2 = Convert.ToString(reader["tax_2"]); data.tax_zz_2 = Convert.ToString(reader["tax_zz_2"]); data.RMBAmount = Convert.ToString(reader["RMBAmount"]); data.BilltypeREF = Convert.ToString(reader["BilltypeREF"]); data.OP = Convert.ToString(reader["OP"]); data.ZMQ = Convert.ToString(reader["ZMQ"]); data.RecDate = Convert.ToString(reader["RecDate"]); data.PortDays = Convert.ToString(reader["PortDays"]); data.RCVModeREF = Convert.ToString(reader["RCVModeREF"]); data.BUZTYPEREF = Convert.ToString(reader["BUZTYPEREF"]); data.DeliveryDate = Convert.ToString(reader["DeliveryDate"]); data.DeliveryAddress = Convert.ToString(reader["DeliveryAddress"]); data.Inspection_Buyer = Convert.ToString(reader["Inspection_Buyer"]); data.TRADINGAGENCY = Convert.ToString(reader["TRADINGAGENCY"]); data.IsRongZi = Convert.ToString(reader["IsRongZi"]); data.ACCDATE = Convert.ToString(reader["ACCDATE"]); data.CHECKSAMPLE = Convert.ToString(reader["CHECKSAMPLE"]); data.CTN = Convert.ToString(reader["CTN"]); data.BILLTRANCNO = Convert.ToString(reader["BILLTRANCNO"]); data.SBYS = Convert.ToString(reader["SBYS"]); data.BILL_RECEIVE_DATE = Convert.ToString(reader["BILL_RECEIVE_DATE"]); data.BILL_SEND_DATE = Convert.ToString(reader["BILL_SEND_DATE"]); data.LOCK_EXCHANGERATE = Convert.ToString(reader["LOCK_EXCHANGERATE"]); data.EXCHANGERATE = Convert.ToString(reader["M_EXCHANGERATE"]); data.Unsealdate = Convert.ToString(reader["Unsealdate"]); data.ISREFORM = Convert.ToString(reader["ISREFORM"]); //data.REGISTRATIONNO = Convert.ToString(reader["REGISTRATIONNO"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 合同基础信息列表——包括全部商品信息,但每合同仅一行 static public List GetDataList_ALL_single(string strCondition, string userid, string username, string companyid) { var rangstr = GetRangDAStr("index", userid, username, companyid); if (!string.IsNullOrEmpty(rangstr)) { if (!string.IsNullOrEmpty(strCondition)) { strCondition = strCondition + " and " + rangstr; } else { strCondition = rangstr; } } //合同信息/商品信息 ——每合同一行 var strSql = new StringBuilder(); //strSql.Append(@"SELECT * from (SELECT row_number() over ("); strSql.Append(" SELECT dbo.trimdate([preArrivalDate]) preArrivalDate ,M.[id],M.[ContractNo],[HTH],[seller],M.[company],comp.name as companyname,[buyer],[STT],(select top 1 cc.NAME from company cc where cc.GID = M.CORPID) CORPNAME, "); strSql.Append(" M.[countryid],[creator],[Auditor],(select showname from [user] where codename=M.auditor) AuditorREF,[MainState],[printed],[AutoAPP],M.OP, "); strSql.Append(" dbo.F_YN(convert(int,AutoAPP)) AutoAPPRef, dbo.F_YN(convert(int,printed)) printedRef, "); strSql.Append(" [ShipCompany_id], [BillNo] ,[BillType],[Vessel],[Voyage], '' cicode,'' ciname,(select SUM(weight)/1000 from import_cargo where contractno=M.contractno) [weight_t], "); strSql.Append(" (select SUM(weight) from import_cargo where contractno=M.contractno) [weight], "); strSql.Append(" dbo.trimdate([BillTime]) BillTime, "); strSql.Append(" dbo.trimdate([Ex_sailingdate]) Ex_sailingdate,"); strSql.Append(" dbo.trimdate([Sailingdate]) Sailingdate , "); strSql.Append(" dbo.trimdate([ArrivalDate]) ArrivalDate , "); strSql.Append(" [ContainerNo],[SealNo],[TransactionMethod],[PaymentMethods] ,[SecurityDeposit],M.TRADINGAGENCY, "); strSql.Append(" dbo.trimdate(CustomsReleaseDate) CustomsReleaseDate, "); strSql.Append(" dbo.trimdate([SamplingDate_Plan]) SamplingDate_Plan, "); strSql.Append(" dbo.trimdate([SamplingDate_Act]) SamplingDate_Act, "); strSql.Append(" dbo.trimdate([inspection_Signup_date]) inspection_Signup_date "); strSql.Append(" ,[inspection_no], dbo.trimdate([inspection_date]) inspection_date "); strSql.Append(" ,0 cgid ,dbo.f_str(m.contractno) name,c.country, convert(bigint ,M.TimeMark) as TimeMark , "); strSql.Append(" dbo.trimdate([creattime]) creattime , "); strSql.Append(" dbo.trimdate([Audittime]) Audittime , "); strSql.Append(" Freetime,CIQ_licence,CIQ_canbesearch,dbo.F_YN(convert(int,CIQ_canbesearch)) CIQ_canbesearchRef , "); strSql.Append(" dbo.trimdate([tax_date]) tax_date , "); strSql.Append(" dbo.trimdate([tax_paydate]) tax_paydate , "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=3 and EnumValueID=M.MainState) as MainstateRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=10 and EnumValueID=M.port) as portRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=5 and EnumValueID=M.ShipCompany_id) as ShipCompanyRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=1 and EnumValueID=M.TransactionMethod) as TransactionMethodRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=4 and EnumValueID=M.PaymentMethods) as PaymentMethodsRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=6 and EnumValueID=M.Billtype) as BilltypeRef, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=16 and EnumValueID=M.Financestatus) as FinancestatusREF, "); strSql.Append(" M.port, M.remark,(select top 1 ap.AppNo from import_approval ap left join import_appstate aps on(aps.app_id = ap.id) left join import_cargo cg on(cg.id = aps.cargo_id)"); strSql.Append(" where cg.ContractNo =M.ContractNo) AppNo,'' ValidDate ,M.Writeoffs,M.ReceiptStatus,M.Receiptremark,dbo.F_YN(convert(int,ReceiptStatus)) ReceiptStatusRef, "); strSql.Append(" dbo.F_YN(convert(int,Writeoffs)) WriteoffsRef ,M.OwnApp, M.FinanceStatus,M.remark_2,M.remark_3,M.remark_4,M.Sampling_need,M.DeclareNumber,"); strSql.Append(" M.Inspection_Storage,M.DeliveryAddress,M.Contacter,M.Tel,M.Overfilled, dbo.f_yn( Inspection_Storage) Inspection_StorageREF, "); strSql.Append(" dbo.trimdate(M.Paydate) Paydate, "); strSql.Append(" dbo.trimdate(M.Prepaydate) Prepaydate, "); strSql.Append(" dbo.trimdate(M.E_Billtime) E_Billtime, "); strSql.Append(" dbo.trimdate(M.HDtime) HDtime , "); strSql.Append(" dbo.trimdate(M.DeliveryDate) DeliveryDate "); strSql.Append(" ,(select top 1 m_weight/1000 from import_cargo where contractno=m.contractno) m_weight"); strSql.Append(" ,dbo.f_price(m.contractno) price,0 price_agio,0 price_limit ,dbo.f_amount(M.contractno) amount,"); strSql.Append(" (select sum(amount*Exchangerate) from import_cargo where contractno=M.contractno) RMBAmount "); strSql.Append(" ,(select sum(tax_amount) from import_cargo where contractno=M.contractno) tax_amount,"); strSql.Append(" (select sum(Exchangerate_Customs*tax_amount) from import_cargo where contractno=M.contractno) tax_amount_RMB "); strSql.Append(" ,(select sum(pay_amount) from import_cargo where contractno=M.contractno) pay_amount,curr.codename, "); strSql.Append(" dbo.F_count(M.contractno) boxcount,(select top 1 boxweight from import_cargo where contractno=m.contractno) boxweight "); strSql.Append(" ,(select top 1 exporter from import_cargo where contractno=m.contractno) exporter,dbo.f_FactoryNo(M.contractno) FactoryNo"); strSql.Append(" ,dbo.f_productiondate(m.contractno) productiondate ,(select sum(prepayments) from import_cargo where contractno=M.contractno) prepayments"); strSql.Append(" ,(select sum(balance) from import_cargo where contractno=M.contractno) balance"); strSql.Append(" ,(select top 1 baolv from import_cargo where contractno=m.contractno) baolv "); strSql.Append(" ,(select top 1 tariff from import_cargo where contractno=m.contractno) tariff"); strSql.Append(" ,(select sum(tax) from import_cargo where contractno=M.contractno) tax"); strSql.Append(" ,(select sum(tax_zz) from import_cargo where contractno=M.contractno) tax_zz "); strSql.Append(" ,(select top 1 exchangerate from import_cargo where contractno=m.contractno) exchangerate"); strSql.Append(" ,(select top 1 exchangerate_customs from import_cargo where contractno=m.contractno) exchangerate_customs "); strSql.Append(" ,(select sum(tax_1) from import_cargo where contractno=M.contractno) tax_1,"); strSql.Append(" (select sum(tax_zz_1) from import_cargo where contractno=M.contractno) tax_zz_1, "); strSql.Append(" (select sum(tax_2) from import_cargo where contractno=M.contractno) tax_2,"); strSql.Append(" (select sum(tax_zz_2) from import_cargo where contractno=M.contractno) tax_zz_2, "); strSql.Append(" M.RCVMode,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=23 and EnumValueID=M.RCVMode) as RCVModeREF "); strSql.Append(" ,dbo.F_YN(convert(int,Sampling_need)) Sampling_needREF ,0 ZMQ ,M.MZBZ"); strSql.Append(" , (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=23 and EnumValueID=M.MZBZ) as MZBZREF "); strSql.Append(" ,dbo.trimdate(RecDate) Recdate,PortDays,M.DeliveryDate,M.DeliveryAddress,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=27 and EnumValueID=M.buztype) buztypeREF "); strSql.Append(" ,m.Inspection_Buyer ,M.ACCDATE "); strSql.Append(" ,Convert(varchar(20),Convert(numeric(18,2),isnull((select sum(isnull(amount,0)) from ch_fee where bsno=m.contractno and FEESTATUS in(10,11)),0))) "); strSql.Append(" + '/' + Convert(varchar(20), Convert(numeric(18, 2), isnull((select sum(isnull(settlement, 0) * isnull(EXCHANGERATE, 1)) "); strSql.Append(" from ch_fee where bsno in (select F_NO from IMPORT_FINANCE_BODY where BSNO = M.ContractNo) and feetype = 1), 0))) isRongZi "); strSql.Append(" ,isnull(m.CHECKSAMPLE,0) CHECKSAMPLE,M.CTN,M.BILLTRANCNO,'' SBYS "); strSql.Append(" ,(select top 1 dbo.trimdate(RECEIVE_DATE) from op_receipt where bsno=M.contractno and m.BillType=0) BILL_RECEIVE_DATE "); strSql.Append(" ,(select top 1 dbo.trimdate(SEND_DATE) from op_receipt where bsno=M.contractno and m.BillType=0) BILL_SEND_DATE "); strSql.Append(" ,LOCK_EXCHANGERATE,M.EXCHANGERATE M_EXCHANGERATE"); strSql.Append(" ,dbo.trimdate(m.Unsealdate) Unsealdate,M.ISREFORM,'' InspectionNo"); strSql.Append(" ,TRADECOUNTRY,(select country from code_country where countryid=TRADECOUNTRY) TRADECOUNTRY_REF,dbo.trimdate(CIQDATE) CIQDATE,isnull(VSIGN,'') VSIGN"); strSql.Append(" ,M.ClearanceNo,M.InventoryState,(case M.InventoryState WHEN 0 THEN '过车' WHEN 1 THEN '直送' WHEN 2 THEN '入库' WHEN 3 THEN '部分过车' ELSE '' END) InventoryStateREF"); strSql.Append(",(select CODENAME + '-' + SHOWNAME from[user] where[CODENAME] = M.Creator) RECEIVE_MAN "); strSql.Append(" ,(select sum(pay_balance) from import_cargo where contractno=M.contractno) pay_balance "); strSql.Append(" ,dbo.trimdate(M.HTDATE) HTDATE "); strSql.Append(" FROM [dbo].[Import_main] M "); strSql.Append(" left join code_country c on m.countryid=c.countryid "); strSql.Append(" left join company comp on comp.gid=M.company "); strSql.Append(" left join [code_currency] curr on curr.gid=(select top 1 currid from import_cargo where contractno=M.contractno) "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); } strSql.Append(" union all select '', '','','','','','','','','','','','','','','','','','','','','','','','','','', "); strSql.Append(" convert(varchar(30),sum(cg.[weight])/1000) [weight_t],convert(varchar(30),sum(cg.[weight])) [weight], '','','','','','','','','','','','','','','','','','','','','','','','','','','','','','' "); strSql.Append(" ,'','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','' "); strSql.Append(" ,sum(cg.m_weight/1000) ,'',0,0,sum(cg.amount) ,sum(cg.amount*cg.Exchangerate), sum(cg.tax_amount) "); strSql.Append(" ,sum(cg.tax_amount*cg.Exchangerate_Customs), sum(cg.pay_amount) , '', convert(varchar(10),sum(cg.boxcount)),0,'','' "); strSql.Append(" ,'',sum(cg.prepayments),sum(cg.balance),0, '',0,0,0,0 "); strSql.Append(" ,sum(cg.tax_1), sum(cg.tax_zz_1),sum(cg.tax_2),sum(cg.tax_zz_2),'','','','','','','','' ,'','','','','','1','0','','','','','',0,'','','','' ,'','','','','',-1,'','' ,sum(cg.pay_balance) "); strSql.Append(" ,'' "); strSql.Append(" FROM [dbo].[Import_main] M "); strSql.Append(" left join code_country c on m.countryid=c.countryid "); strSql.Append(" left join import_cargo cg on cg.contractno=M.contractno "); strSql.Append(" left join import_cargoinfo ci on ci.id=cg.cargoinfo_id "); strSql.Append(" left join company comp on comp.gid=M.company "); strSql.Append(" left join import_appstate ast on ast.cargo_id=cg.id "); strSql.Append(" left join import_approval ap on ap.id=ast.app_id "); strSql.Append(" left join [code_currency] curr on curr.gid=cg.currid "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); } return SetData_ALL(strSql); } #endregion #region 权限范围 public static string GetRangDAStr(string tb, string userid, string username, string companyid) { string str = ""; var strSql = new StringBuilder(); strSql.Append("SELECT "); strSql.Append(" VISIBLERANGE,OPERATERANGE,AUTHORITYID "); strSql.Append(" from VW_User_Authority "); strSql.Append(" where [NAME]='modImport' and USERID=(SELECT TOP 1 GID FROM [USER] WHERE CODENAME='" + userid + "') and ISDELETE=0"); string visiblerange = "4"; string operaterange = "4"; string AUTHORITYID = ""; 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"]); AUTHORITYID = Convert.ToString(reader["AUTHORITYID"]); break; } reader.Close(); } if (visiblerange == "4") { str = "1=2"; } else if (visiblerange == "3") { str = " (M.OP='" + username + "' OR M.creator='" + userid + "' OR M.Auditor='" + userid + "' )"; } else if (visiblerange == "2") { if (tb == "index") { var rangeDa = new RangeDA(); var deptid = rangeDa.GetDEPTGID(userid); str = " (M.OP in (select showname from vw_user where deptgid='" + deptid + "') OR M.creator in (select userid from vw_user where deptgid='" + deptid + "') OR M.Auditor in (select userid from vw_user where deptgid='" + deptid + "') )"; //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 = " (B.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.FRCUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "'"; // } // else // { // str = str + " or B.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.SALE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.CUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.DOC='" + Convert.ToString(reader["SHOWNAME"]) + "' OR B.FRCUSTSERVICE='" + Convert.ToString(reader["SHOWNAME"]) + "'"; // }; // } // str = str + ")"; // reader.Close(); //} } else { str = " UPPER(M.CORPID)='" + companyid + "'"; } } else if (visiblerange == "5") { if (tb == "index") { var userstr = new StringBuilder(); userstr.Append(" select COMPANYID from user_authority_range_company where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1"); Database userdb = DatabaseFactory.CreateDatabase(); using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString())) { str = ""; while (reader.Read()) { if (str == "") { str = " (M.Corpid='" + Convert.ToString(reader["COMPANYID"]) + "'"; } else { str = str + " or M.Corpid='" + Convert.ToString(reader["COMPANYID"]) + "'"; }; } str = str + ")"; reader.Close(); } } else { str = " UPPER(M.Corpid)='" + companyid + "'"; } } else if (visiblerange == "6") { if (tb == "index") { var userstr = new StringBuilder(); userstr.Append(" select OPID,(select SHOWNAME from [user] where GID=user_authority_range_op.OPID) SHOWNAME from user_authority_range_op where userid='" + userid + "' and AUTHORITYID='" + AUTHORITYID + "' and VISIBLERANGE=1"); Database userdb = DatabaseFactory.CreateDatabase(); using (IDataReader reader = userdb.ExecuteReader(CommandType.Text, userstr.ToString())) { str = ""; while (reader.Read()) { if (str == "") { str = " (M.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR M.creator='" + Convert.ToString(reader["OPID"]) + "' OR M.Auditor='" + Convert.ToString(reader["OPID"]) + "' "; } else { str = str + " or M.OP='" + Convert.ToString(reader["SHOWNAME"]) + "' OR M.creator='" + Convert.ToString(reader["OPID"]) + "' OR M.Auditor='" + Convert.ToString(reader["OPID"]) + "'"; }; } str = str + ")"; reader.Close(); } } else { str = " UPPER(M.Corpid)='" + companyid + "'"; } } else if (visiblerange == "1") { str = " UPPER(M.Corpid)='" + companyid + "'"; } return str; } #endregion #region 合同号列表 static public List GetDataList_HT ( string strCondition ) { //合同信息/商品信息 var strSql = new StringBuilder(); strSql.Append(" select count(*) [Count] from import_main "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); } return SetData_HT(strSql); } private static List SetData_HT ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { HTmb data = new HTmb(); #region Set DB data to Object //data.ContractNo = Convert.ToString(reader["ContractNo"]); //data.HTH = Convert.ToString(reader["HTH"]); data.Count = Convert.ToString(reader["Count"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 查询费用数量 static public List GetChfee ( string strCondition ) { //合同信息/商品信息 var strSql = new StringBuilder(); strSql.Append(" select count(*) [Count] from ch_fee "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" where " + strCondition); } return SetChfee(strSql); } static public List GetSales ( string strCondition ) { //合同信息/商品信息 var strSql = new StringBuilder(); strSql.Append(" select count(*) [Count] from Import_Saledetail where exists(select 1 from import_sales where salesno=Import_Saledetail.salesno and isnull(mainstate,2)=2 ) "); if (!string.IsNullOrEmpty(strCondition)) { strSql.Append(" and " + strCondition); } return SetChfee(strSql); } private static List SetChfee ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { HTmb data = new HTmb(); #region Set DB data to Object //data.ContractNo = Convert.ToString(reader["ContractNo"]); //data.HTH = Convert.ToString(reader["HTH"]); data.Count = Convert.ToString(reader["Count"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 获取最近一次库存操作时间 static public List GetLastCZ ( string strCondition, string id, string corpid, string cargo_id ) { var strSql = new StringBuilder(); strSql.Append(" select ik.czstate,ik.czdate,ik.contractno from import_kc ik "); strSql.Append(" where czstate in(1,6) and corpid=(select gid from company where codename='" + corpid + "') and ik.contractno='" + strCondition + "' "); strSql.Append(" and cargo_id=" + cargo_id + " "); if (!string.IsNullOrEmpty(strCondition)) { if (id != "") { strSql.Append(" and ik.id<" + id + " "); } else { } } strSql.Append(" order by czdate desc "); return SetLastCZ(strSql); } private static List SetLastCZ ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { CZmb data = new CZmb(); #region Set DB data to Object //data.ContractNo = Convert.ToString(reader["ContractNo"]); //data.HTH = Convert.ToString(reader["HTH"]); data.CZDate = Convert.ToString(reader["CZDate"]); data.CZstate = Convert.ToString(reader["CZstate"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 获取日期差 static public int GetDays ( string date1, string CZDATE ) { var strSql = new StringBuilder(); strSql.Append(" select datediff(day,'" + date1 + "','" + CZDATE + "') days"); return SetDays(strSql); } private static int SetDays ( StringBuilder strSql ) { //var headList = new List(); var days = 0; Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { CZmb data = new CZmb(); #region Set DB data to Object //data.ContractNo = Convert.ToString(reader["ContractNo"]); //data.HTH = Convert.ToString(reader["HTH"]); days = Convert.ToInt32(reader["days"]) + 1; //data.CZstate = Convert.ToString(reader["CZstate"]); #endregion //headList.Add(data); } reader.Close(); } return days; } #endregion #region 通过箱号获取合同序列号 static public string GetContractNo ( string ContainerNo ) { var strSql = new StringBuilder(); strSql.Append(" select contractno from import_main where ContainerNo like '%" + ContainerNo + "%'"); return SetContractNo(strSql); } private static string SetContractNo ( StringBuilder strSql ) { //var headList = new List(); var contractno = ""; Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { //CZmb data = new CZmb(); #region Set DB data to Object //data.ContractNo = Convert.ToString(reader["ContractNo"]); //data.HTH = Convert.ToString(reader["HTH"]); contractno = Convert.ToString(reader["contractno"]); //data.CZstate = Convert.ToString(reader["CZstate"]); #endregion //headList.Add(data); } reader.Close(); } return contractno; } #endregion #region 通过合同序列号获取客户名称 static public string GetCust ( string ContractNo ) { var strSql = new StringBuilder(); strSql.Append(" select Buyer from import_main where ContractNo='" + ContractNo + "'"); return SetCust(strSql); } private static string SetCust ( StringBuilder strSql ) { //var headList = new List(); var Buyer = ""; Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { //CZmb data = new CZmb(); #region Set DB data to Object //data.ContractNo = Convert.ToString(reader["ContractNo"]); //data.HTH = Convert.ToString(reader["HTH"]); Buyer = Convert.ToString(reader["Buyer"]); //data.CZstate = Convert.ToString(reader["CZstate"]); #endregion //headList.Add(data); } reader.Close(); } return Buyer; } #endregion #region 通过合同序列号获取合同号 static public string GetHTH ( string ContractNo ) { var strSql = new StringBuilder(); strSql.Append(" select HTH from import_main where ContractNo='" + ContractNo + "'"); return SetHTH(strSql); } private static string SetHTH ( StringBuilder strSql ) { //var headList = new List(); var HTH = ""; Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { //CZmb data = new CZmb(); #region Set DB data to Object //data.ContractNo = Convert.ToString(reader["ContractNo"]); //data.HTH = Convert.ToString(reader["HTH"]); HTH = Convert.ToString(reader["HTH"]); //data.CZstate = Convert.ToString(reader["CZstate"]); #endregion //headList.Add(data); } reader.Close(); } return HTH; } #endregion #region 获取毛利 static public List GetML ( string condition,string bsno ) { //获取毛利 var strSql = new StringBuilder(); strSql.Append(" select sum(RMBYS) RMBYS,sum(RMBYF) RMBYF,sum(RMBYS)-sum(RMBYF) RMBML, "); strSql.Append(" sum(isnull(USDYS,0)) USDYS,sum(isnull(USDYF,0)) USDYF,sum(isnull(USDYS,0)) -sum(isnull(USDYF,0)) USDML "); strSql.Append(" ,sum(isnull(RMBYS,0))-sum(isnull(RMBYF,0))+sum(isnull(USDRMBYS,0)) -sum(USDRMBYF) ML "); strSql.Append(" ,sum(isnull(FHPROFIT,0)) FHPROFIT,sum(isnull(LCPROFIT,0)) LCPROFIT,sum(isnull(OTPROFIT,0)) OTPROFIT "); strSql.Append(" from( "); strSql.Append(" select sum(isnull(amount,0)) RMBYS,0 RMBYF,0 USDYS,0 USDYF,0 USDRMBYS,0 USDRMBYF ,0 FHPROFIT,0 LCPROFIT,0 OTPROFIT "); strSql.Append(" from ch_fee where feetype=1 and feestatus in (0,8,9,10,11) and " + condition + " and currency='RMB' "); strSql.Append(" union all "); strSql.Append(" select 0,sum(isnull(amount,0)) ,0,0,0,0 ,0,0,0 from ch_fee where feetype=2 and feestatus in (0,8,9,10,11) and " + condition + " and currency='RMB' "); strSql.Append(" union all "); strSql.Append(" select 0,0,sum(isnull(amount,0)) ,0,0,0 ,0,0,0 from ch_fee where feetype=1 and feestatus in (0,8,9,10,11) and " + condition + " and currency='USD' "); strSql.Append(" union all "); strSql.Append(" select 0,0,0,sum(isnull(amount,0)),0,0 ,0,0,0 from ch_fee where feetype=2 and feestatus in (0,8,9,10,11) and " + condition + " and currency='USD' "); strSql.Append(" union all "); strSql.Append(" select 0,0,0,0,sum(isnull(amount,0)*EXCHANGERATE),0 ,0,0,0 from ch_fee where feetype=1 and feestatus in (0,8,9,10,11) and " + condition + " and currency='USD' "); strSql.Append(" union all "); strSql.Append(" select 0,0,0,0,0,sum(isnull(amount,0)*EXCHANGERATE) ,0,0,0 from ch_fee where feetype=2 and feestatus in (0,8,9,10,11) and " + condition + " and currency='USD' "); strSql.Append(" union all "); strSql.Append(" select 0,0,0,0,0,0,convert(numeric(18,2), FHPROFIT),convert(numeric(18,2), LCPROFIT),convert(numeric(18,2), OTPROFIT) from vxxhprofitsum where bsno='" + bsno + "' "); strSql.Append(" )t1 "); return SetML(strSql); } private static List SetML ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { MLmb data = new MLmb(); #region Set DB data to Object data.RMBYS = Convert.ToString(reader["RMBYS"]); data.RMBYF = Convert.ToString(reader["RMBYF"]); data.RMBML = Convert.ToString(reader["RMBML"]); data.USDYS = Convert.ToString(reader["USDYS"]); data.USDYF = Convert.ToString(reader["USDYF"]); data.USDML = Convert.ToString(reader["USDML"]); data.ML = Convert.ToString(reader["ML"]); data.FHPROFIT = Convert.ToString(reader["FHPROFIT"]); data.LCPROFIT = Convert.ToString(reader["LCPROFIT"]); data.OTPROFIT = Convert.ToString(reader["OTPROFIT"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 合同信息/商品信息 static public List GetAppCargo ( string app_id, string cargo_id ) { //合同信息/商品信息 var strSql = new StringBuilder(); strSql.Append(" select case when((tt.id1=tt.id3) and (tt.id2=tt.id4)) then 1 else 0 end as match from "); strSql.Append(" (select a.cargoinfo_id id1,a.cargociq_id id2 , c.cargoinfo_id id3,c.cargociq_id id4 "); strSql.Append(" from import_approval a,import_cargo c where a.id=" + app_id + " and c.id=" + cargo_id + ")tt "); //if (!string.IsNullOrEmpty(strCondition)) //{ // strSql.Append(" where " + strCondition); //} return SetAppCargo(strSql); } private static List SetAppCargo ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { AppCargomb data = new AppCargomb(); #region Set DB data to Object //data.ContractNo = Convert.ToString(reader["ContractNo"]); //data.HTH = Convert.ToString(reader["HTH"]); data.Match = Convert.ToString(reader["Match"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 合同内的许可证使用统计 static public List GetHTState ( string contractno ) { //合同信息/商品信息 var strSql = new StringBuilder(); strSql.Append(" select ap.appno,sum(st.weight) USEDWEIGHT from import_appstate st "); strSql.Append(" left join import_approval ap on ap.id=st.app_id "); strSql.Append(" where contractno='" + contractno + "' group by ap.appno "); //if (!string.IsNullOrEmpty(strCondition)) //{ // strSql.Append(" where " + strCondition); //} return SetHTState(strSql); } private static List SetHTState ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { HTStatemb data = new HTStatemb(); #region Set DB data to Object data.APPNO = Convert.ToString(reader["APPNO"]); data.USEDWEIGHT = Convert.ToString(reader["USEDWEIGHT"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 导入库存列表的excel /* 用于新协航天津分公司录入 * 规则如下 * 1:出库/入库 库存操作为 出入库费 费用名为出入库费 * 2:结转 库存操作为 结算(未出库) 费用名为冷藏费 * excel格式如下: * 序号 起日期1 止日期2 仓库3 箱号4 商品名称5 操作类型6 件数7 重量(吨)8 单价9 金额10 备注11 1 2014-12-01 2014-12-15 一洲鼎鲜 MMAU1129023 猪头 出库 1429 25.722 2 771.66 商定此处写库房名字 */ public enum RowState : uint { Insert, Update, None } public class Feemb : ModelObjectBase { private string _gid = string.Empty; private string _BSNO = string.Empty; private string _FeeName = string.Empty; private string _FeeType = string.Empty; private string _FeeStatus = string.Empty; private string _EnterOperator = string.Empty; private string _CustomerName = string.Empty; private string _UnitPrice = string.Empty; private string _Quantity = string.Empty; private string _Amount = string.Empty; private string _Currency = string.Empty; private string _ExchangeRate = string.Empty; private string _remark = string.Empty; private string _EnterDate = string.Empty; private string _WMSOUTBSNO = string.Empty; public string gid { get { return _gid; } set { _gid = value; } } public string BSNO { get { return _BSNO; } set { _BSNO = value; } } public string FeeName { get { return _FeeName; } set { _FeeName = value; } } public string FeeType { get { return _FeeType; } set { _FeeType = value; } } public string FeeStatus { get { return _FeeStatus; } set { _FeeStatus = value; } } public string EnterOperator { get { return _EnterOperator; } set { _EnterOperator = value; } } public string CustomerName { get { return _CustomerName; } set { _CustomerName = value; } } public string UnitPrice { get { return _UnitPrice; } set { _UnitPrice = value; } } public string Quantity { get { return _Quantity; } set { _Quantity = value; } } public string Amount { get { return _Amount; } set { _Amount = value; } } public string Currency { get { return _Currency; } set { _Currency = value; } } public string ExchangeRate { get { return _ExchangeRate; } set { _ExchangeRate = value; } } public string remark { get { return _remark; } set { _remark = value; } } public string EnterDate { get { return _EnterDate; } set { _EnterDate = value; } } public string WMSOUTBSNO { get { return _WMSOUTBSNO; } set { _WMSOUTBSNO = value; } } } public static bool ImportExcelData ( HttpRequestBase request, DataTable table, out string msg, out Int32 InsertCount, out Int32 UpdateCount, out string UnknownKF ) { var isSucess = false; msg = ""; //headList = new List(); var corpid = CookieConfig.GetCookie_OrgCode(request); var userid = CookieConfig.GetCookie_UserId(request); if (table == null) throw new ArgumentNullException("table"); var billNoList = new List(); Database db = DatabaseFactory.CreateDatabase(); InsertCount = 0; UpdateCount = 0; UnknownKF = ""; using (DbConnection connection = db.CreateConnection()) { connection.Open(); try { var orgCode = CookieConfig.GetCookie_OrgCode(request); var userCode = CookieConfig.GetCookie_UserCode(request); var userName = CookieConfig.GetCookie_UserName(request); var USERID = CookieConfig.GetCookie_UserId(request); var _i = 0; var CZDATE = ""; foreach (DataRow row in table.Rows) { _i++; if (_i < 1) continue; var _CZDATE = Convert.ToString(row[2]); _CZDATE = _CZDATE.Replace("/", "-"); _CZDATE = _CZDATE.Replace(".", "-"); if (_CZDATE == "") { } else { CZDATE = _CZDATE; } var date1 = Convert.ToString(row[1]); date1 = date1.Replace("/", "-"); date1 = date1.Replace(".", "-"); var Days = GetDays(date1, CZDATE); var ContainerNo = Convert.ToString(row[4]); ContainerNo = ContainerNo.Trim(); if (ContainerNo.Trim() == "") { continue; } var ContractNo = GetContractNo(ContainerNo); var KFSTATE = Convert.ToString(row[3]); KFSTATE = KFSTATE.Trim(); if (KFSTATE.Trim() == "") { continue; } var objKFNAME = db.ExecuteScalar(CommandType.Text, "select * from info_client where ISWAREHOUSE=1 and shortname='" + KFSTATE + "'"); var _KFSTATE = Convert.ToString(objKFNAME); if (string.IsNullOrEmpty(_KFSTATE)) { if (UnknownKF == "") { UnknownKF = "在如下合同中,有如下库房在系统中不存在,请添加后重新导入:" + GetHTH(ContractNo) + ":" + KFSTATE; } else UnknownKF = UnknownKF + "/" + GetHTH(ContractNo) + ":" + KFSTATE; continue; } DbTransaction idbTran = connection.BeginTransaction(); var cargo_id = Convert.ToString(row[5]); var cz = Convert.ToString(row[6]); var czstate = ""; var FeeName = ""; var InNum = "0"; var OutNum = "0"; switch (cz) { case "入库": czstate = "1"; FeeName = "出入库费"; InNum = Convert.ToString(row[7]); break; case "出库": czstate = "3"; FeeName = "出入库费"; OutNum = Convert.ToString(row[7]); break; case "结转": czstate = "6"; FeeName = "冷藏费"; break; default: FeeName = "冷藏费"; break; } //var Num = Convert.ToString(row[7]); var Quantity = Convert.ToString(row[8]); var UnitPrice = Convert.ToString(row[9]); var Amount = Convert.ToString(row[10]); var text = Convert.ToString(row[11]); var _RowState = RowState.Insert; //var ContractNo = GetContractNo(ContainerNo); string strCheckRow = "select top 1 GID from import_kc where ContractNo = '" + ContractNo + "' and czdate='" + CZDATE + "' and czstate=" + czstate + "' and corpid='" + corpid + "'"; object statusObj = SqlHelper.ExecuteScalar(db.ConnectionString, CommandType.Text, strCheckRow, null); if (statusObj == null) { _RowState = RowState.Insert; } else { _RowState = RowState.Update; } _RowState = RowState.Insert; if (_RowState == RowState.Insert) { #region 库存数据生成 //var billNo = PubSysDAL.GetBillNo("0119"); billNoList.Add(ContainerNo); //var gid = Guid.NewGuid().ToString("N").ToUpper(); const string insertSql = @"insert into Import_kc (ContractNo,CZDate,CZstate,kfstate,cargo_id,text,days,UnitPrice, Quantity,Amount,FeeName,InNum,OutNum,CORPID,ENTEROPERATOR,GID) values(@ContractNo,@CZDate,@CZstate,@kfstate,@cargo_id,@text,@days,@UnitPrice, @Quantity,@Amount,@FeeName,@InNum,@OutNum,@CORPID,@ENTEROPERATOR,@GID)"; //cargo_id,@cargo_id, DbCommand cmd = db.GetSqlStringCommand(insertSql); db.AddInParameter(cmd, "ContractNo", DbType.String, ContractNo); db.AddInParameter(cmd, "CZDate", DbType.String, CZDATE); db.AddInParameter(cmd, "CZstate", DbType.String, czstate); db.AddInParameter(cmd, "kfstate", DbType.String, KFSTATE); db.AddInParameter(cmd, "cargo_id", DbType.String, cargo_id); db.AddInParameter(cmd, "text", DbType.String, text); db.AddInParameter(cmd, "days", DbType.String, Days); db.AddInParameter(cmd, "UnitPrice", DbType.String, UnitPrice); db.AddInParameter(cmd, "Quantity", DbType.String, Quantity); db.AddInParameter(cmd, "Amount", DbType.String, Amount); db.AddInParameter(cmd, "FeeName", DbType.String, FeeName); db.AddInParameter(cmd, "InNum", DbType.String, InNum); db.AddInParameter(cmd, "OutNum", DbType.String, OutNum); db.AddInParameter(cmd, "CORPID", DbType.String, corpid); db.AddInParameter(cmd, "ENTEROPERATOR", DbType.String, userid); var GID = Guid.NewGuid().ToString("N").ToUpper(); db.AddInParameter(cmd, "GID", DbType.String, GID); db.ExecuteNonQuery(cmd, idbTran); idbTran.Commit(); InsertCount++; //插入费用 var Fee = new Feemb(); Fee.gid = Guid.NewGuid().ToString("N").ToUpper(); Fee.BSNO = ContractNo; Fee.FeeName = FeeName; Fee.FeeType = "1";//应收 Fee.FeeStatus = "1";//录入状态 Fee.EnterOperator = USERID;//录入状态 Fee.CustomerName = GetCust(ContractNo); Fee.UnitPrice = UnitPrice; Fee.Quantity = Quantity; Fee.Amount = Amount; Fee.Currency = "RMB"; Fee.ExchangeRate = "1"; Fee.remark = text; Fee.EnterDate = CZDATE; Fee.WMSOUTBSNO = GID; if (InsertFee(Fee)) { Fee.FeeType = "2"; Fee.CustomerName = KFSTATE; Fee.gid = Guid.NewGuid().ToString("N").ToUpper(); Fee.CustomerName = "上海周送"; if (InsertFee(Fee)) continue; } #endregion } else if (_RowState == RowState.Update) { #region 库存数据更新 /* billNoList.Add(ContractNo); //text=@text, const string UpdSql = @" Update Import_kc set days=@days, UnitPrice=@UnitPrice,Quantity=@Quantity,Amount=@Amount where contractno=@ContractNo and CZDATE=@CZDATE and CORPID=@CORPID"; DbCommand cmd = db.GetSqlStringCommand(UpdSql); //db.AddInParameter(cmd, "ContractNo", DbType.String, ContractNo); //db.AddInParameter(cmd, "CZDate", DbType.String, CZDATE); db.AddInParameter(cmd, "days", DbType.String, Days); db.AddInParameter(cmd, "UnitPrice", DbType.String, UnitPrice); db.AddInParameter(cmd, "Quantity", DbType.String, Quantity); db.AddInParameter(cmd, "Amount", DbType.String, Amount); //db.AddInParameter(cmd, "CORPID", DbType.String, corpid); db.ExecuteNonQuery(cmd, idbTran); idbTran.Commit(); UpdateCount++; //获取该条kc的gid var GID = Convert.ToString(statusObj); //插入费用 var Fee = new Feemb(); Fee.gid = Guid.NewGuid().ToString("N").ToUpper(); Fee.BSNO = ContractNo; switch (cz) { case "入库": Fee.FeeName = "出入库费"; break; case "出库": Fee.FeeName = "出入库费"; break; case "结转": Fee.FeeName = "冷藏费"; break; default: Fee.FeeName = "冷藏费"; break; } Fee.FeeType = "1";//应收 Fee.FeeStatus = "1";//录入状态 Fee.EnterOperator = USERID;//录入状态 Fee.CustomerName = GetCust(ContractNo); Fee.UnitPrice = UnitPrice; Fee.Quantity = Quantity; Fee.Amount = Amount; Fee.Currency = "RMB"; Fee.ExchangeRate = "1"; Fee.remark = text; Fee.EnterDate = CZDATE; Fee.WMSOUTBSNO = GID; if (InsertFee(Fee)) { Fee.FeeType = "2"; Fee.CustomerName = KFSTATE; Fee.gid = Guid.NewGuid().ToString("N").ToUpper(); Fee.CustomerName = "上海周送"; if (InsertFee(Fee)) continue; } */ #endregion } } #region 获取新生成的托单费用 foreach (var billNo in billNoList) { //var head = MsWl_HH_ZYDAL.GetData(" ContractNo='" + billNo + "'"); //headList.Add(head); } #endregion isSucess = true; } catch (Exception exception) { //idbTran.Rollback(); isSucess = false; msg = exception.Message; } } return isSucess; } public static bool InsertFee ( Feemb Fee ) { Database db = DatabaseFactory.CreateDatabase(); var isSucess = false; var msg = ""; string strCheckRow = "select * from ch_fee where WMSOUTBSNO = '" + Fee.WMSOUTBSNO + "' "; object statusObj = SqlHelper.ExecuteScalar(db.ConnectionString, CommandType.Text, strCheckRow, null); var Type = RowState.Update; if (statusObj == null) { Type = RowState.Insert; } using (DbConnection connection = db.CreateConnection()) { connection.Open(); try { if (Type == RowState.Insert) { #region 插入费用 const string insertSql = @"insert into ch_fee (gid,BSNO,FeeName,FeeType,FeeStatus,EnterOperator,CustomerName,UnitPrice,Quantity,Amount ,Currency,ExchangeRate,remark,EnterDate,WMSOUTBSNO) values(@gid,@BSNO,@FeeName,@FeeType,@FeeStatus,@EnterOperator,@CustomerName,@UnitPrice,@Quantity,@Amount ,@Currency,@ExchangeRate,@remark,@EnterDate,@WMSOUTBSNO)"; //cargo_id,@cargo_id, DbCommand cmd = db.GetSqlStringCommand(insertSql); DbTransaction idbTran = connection.BeginTransaction(); db.AddInParameter(cmd, "gid", DbType.String, Fee.gid); db.AddInParameter(cmd, "BSNO", DbType.String, Fee.BSNO); db.AddInParameter(cmd, "FeeName", DbType.String, Fee.FeeName); db.AddInParameter(cmd, "EnterDate", DbType.String, Fee.EnterDate); db.AddInParameter(cmd, "FeeType", DbType.String, Fee.FeeType); db.AddInParameter(cmd, "FeeStatus", DbType.String, Fee.FeeStatus); db.AddInParameter(cmd, "EnterOperator", DbType.String, Fee.EnterOperator); db.AddInParameter(cmd, "CustomerName", DbType.String, Fee.CustomerName); db.AddInParameter(cmd, "UnitPrice", DbType.String, Fee.UnitPrice); db.AddInParameter(cmd, "Quantity", DbType.String, Fee.Quantity); db.AddInParameter(cmd, "Amount", DbType.String, Fee.Amount); db.AddInParameter(cmd, "Currency", DbType.String, Fee.Currency); db.AddInParameter(cmd, "ExchangeRate", DbType.String, Fee.ExchangeRate); db.AddInParameter(cmd, "remark", DbType.String, Fee.remark); db.AddInParameter(cmd, "WMSOUTBSNO", DbType.String, Fee.WMSOUTBSNO); db.ExecuteNonQuery(cmd, idbTran); idbTran.Commit(); #endregion } else if (Type == RowState.Update) { #region 费用生成,更新 const string UpdSql = @" Update ch_fee set FeeType=@FeeType,FeeStatus=@FeeStatus,EnterOperator=@EnterOperator,CustomerName=@CustomerName, UnitPrice=@UnitPrice,Quantity=@Quantity,Amount=@Amount,Currency=@Currency,ExchangeRate=@ExchangeRate,remark=@remark where WMSOUTBSNO=@WMSOUTBSNO and invoice=0 and settlement=0 and orderinvoice=0 and orderamount=0"; DbCommand cmd = db.GetSqlStringCommand(UpdSql); DbTransaction idbTran = connection.BeginTransaction(); //db.AddInParameter(cmd, "BSNO", DbType.String, Fee.BSNO); //db.AddInParameter(cmd, "FeeName", DbType.String, Fee.FeeName); //db.AddInParameter(cmd, "EnterDate", DbType.String, Fee.EnterDate); //db.AddInParameter(cmd, "FeeType", DbType.String, Fee.FeeType); db.AddInParameter(cmd, "FeeStatus", DbType.String, Fee.FeeStatus); db.AddInParameter(cmd, "EnterOperator", DbType.String, Fee.EnterOperator); db.AddInParameter(cmd, "CustomerName", DbType.String, Fee.CustomerName); db.AddInParameter(cmd, "UnitPrice", DbType.String, Fee.UnitPrice); db.AddInParameter(cmd, "Quantity", DbType.String, Fee.Quantity); db.AddInParameter(cmd, "Amount", DbType.String, Fee.Amount); db.AddInParameter(cmd, "Currency", DbType.String, Fee.Currency); db.AddInParameter(cmd, "ExchangeRate", DbType.String, Fee.ExchangeRate); db.AddInParameter(cmd, "remark", DbType.String, Fee.remark); db.AddInParameter(cmd, "WMSOUTBSNO", DbType.String, Fee.WMSOUTBSNO); db.ExecuteNonQuery(cmd, idbTran); idbTran.Commit(); //idbTran.Commit(); #endregion } #region 获取新生成的托单费用 #endregion isSucess = true; } catch (Exception exception) { //idbTran.Rollback(); isSucess = false; msg = exception.Message; } } return isSucess; } #endregion #region 明细部分 #region 单据表 Receipt static public List GetReceiptList ( string Condition ) { var strSql = new StringBuilder(); strSql.Append("SELECT [id],[ContractNo],[Receiptid],t1.enumvaluename as receiptname,"); strSql.Append("[ReceiptNo],[state],t2.enumvaluename as statename, "); strSql.Append("dbo.trimdate([Send_date]) [Send_date], "); strSql.Append("dbo.trimdate([receive_date]) [receive_date], "); strSql.Append("dbo.trimdate([repeat_date]) [repeat_date], "); strSql.Append("[trancer],[trancNo],[remark] FROM Import_receipt "); strSql.Append("left join tsysenumvalue t1 on t1.enumtypeid=2 and t1.enumvalueid=Receiptid "); strSql.Append("left join tsysenumvalue t2 on t2.enumtypeid=7 and t2.enumvalueid=state "); if (!string.IsNullOrEmpty(Condition)) { strSql.Append(" where " + Condition); } return SetReceipt(strSql); } private static List SetReceipt ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { /*if (reader["LrDate"] != DBNull.Value) data.LrDate = Convert.ToDateTime(reader["LrDate"]);*/ Receiptmb data = new Receiptmb(); #region Set DB data to Object data.id = Convert.ToString(reader["id"]); data.ContractNo = Convert.ToString(reader["ContractNo"]); data.Receiptid = Convert.ToString(reader["Receiptid"]); data.ReceiptName = Convert.ToString(reader["ReceiptName"]); data.ReceiptNo = Convert.ToString(reader["ReceiptNo"]); data.state = Convert.ToString(reader["state"]); data.statename = Convert.ToString(reader["statename"]); data.Send_date = Convert.ToString(reader["Send_date"]); data.receive_date = Convert.ToString(reader["receive_date"]); data.repeat_date = Convert.ToString(reader["repeat_date"]); data.trancer = Convert.ToString(reader["trancer"]); data.trancNo = Convert.ToString(reader["trancNo"]); data.remark = Convert.ToString(reader["remark"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 货物表 cargo static public List GetCargoList ( string Condition ) { var strSql = new StringBuilder(); strSql.Append(" SELECT c.*,convert(numeric(18,2),c.tax_amount*c.Exchangerate_Customs) tax_amount_RMB, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=11 and EnumValueID=c.unit) as UnitRef, "); strSql.Append(" (select verno from tSysEnumValue where LangId=0 and EnumTypeID=11 and EnumValueID=c.unit) as UnitRate, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=12 and EnumValueID=c.paypart) as paypartRef, "); // strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=16 and EnumValueID=c.Financestatus) as FinancestatusRef, "); strSql.Append(" ci.code as cicode,ci.name as ciname,curr.codename,curr.defaultrate, "); strSql.Append(" ci.code+'_'+ci.name as cicodeandname, "); strSql.Append(" ciq.ciqcode as ciqcode,ciq.ciqname as ciqname, "); strSql.Append(" ciq.ciqcode+'_'+ciq.ciqname as ciqcodeandname,c.tariff, "); //strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=9000 and EnumValueID=cc.tariff) as tariff, "); strSql.Append(" tax,isnull(c.tax_cl,0) tax_cl, "); strSql.Append(" c.tax_zz,c.tax_1,c.tax_2,c.tax_zz_1,c.tax_zz_2 "); strSql.Append(" ,c.name+'_'+convert(varchar,c.sequence)+' 重量:'+convert(varchar(12),convert(float,c.[weight]/1000)) name_ref "); strSql.Append(" ,Ename,SBYS,BZTCHNO,CargoType,SPECIFICATIONS,c.SHIJIGUANSHUI,c.SHIJIZENGZHISHUI,C.Remark "); strSql.Append(" ,(select TAGPICURL from Import_Cargoname where hs_id =c.cargoinfo_id and ciq_id = c.cargociq_id and ENNAME = c.Ename and CNNAME = c.name "); strSql.Append(" and FactoryNoGID in (select GID from Import_Factoryno where FACTORYNO = c.FactoryNo) and isnull(TAGPICURL,'')<> '' ) TAGPICURL "); strSql.Append(" FROM [Import_cargo] c "); strSql.Append(" left join [Import_cargoinfo] ci on c.[cargoinfo_id] = ci.id "); strSql.Append(" left join [Import_cargociq] ciq on c.[cargociq_id] = ciq.id "); strSql.Append(" left join [code_currency] curr on curr.gid=c.currid "); strSql.Append(" left join [import_main] m on M.contractno=c.contractno "); strSql.Append(" left join [code_country] cc on cc.countryid=m.countryid "); if (!string.IsNullOrEmpty(Condition)) { strSql.Append(" where " + Condition); } strSql.Append(" order by c.sequence "); return SetCargo(strSql); } static public List GetCargoList_Audit ( string Condition ) { var strSql = new StringBuilder(); strSql.Append(" SELECT c.[id],c.[GID],c.[ContractNo],c.[cargoinfo_id],c.[cargociq_id],c.[name],c.[Ename],c.[UNIT],c.[U_PRICE] "); strSql.Append(" ,c.[weight],c.[weight]/1000 as [U_weight],c.[m_weight],c.[t_weight],c.[price],c.[price_agio],c.[price_limit],c.[Amount],c.[tax_Amount] "); strSql.Append(" ,c.[pay_Amount],c.[BoxCount],c.[BoxWeight],c.[Exporter],c.[FactoryNo],c.[ICP],c.[Productiondate],c.[currid] "); strSql.Append(" ,c.[prepayments],c.[balance],c.[pay_prepayments],c.[pay_balance],c.[paypart],c.[baolv],c.[tariff],c.[tax],c.[tax_zz],c.[Declarenumber] "); strSql.Append(" ,c.[Exchangerate],c.[FinanceStatus],c.[Exchangerate_Customs],convert(numeric(18,2),c.tax_amount*c.Exchangerate_Customs) tax_amount_RMB, "); strSql.Append(" c.PreProportion,c.RecProportion,c.AMOUNT_WRITEOFFS,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=11 and EnumValueID=c.unit) as UnitRef, "); strSql.Append(" 1000 as UnitRate, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=12 and EnumValueID=c.paypart) as paypartRef, "); // strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=16 and EnumValueID=c.Financestatus) as FinancestatusRef, "); strSql.Append(" ci.code as cicode,ci.name as ciname,curr.codename,curr.defaultrate, "); strSql.Append(" ci.code+'_'+ci.name as cicodeandname, "); strSql.Append(" ciq.ciqcode as ciqcode,ciq.ciqname as ciqname, "); strSql.Append(" ciq.ciqcode+'_'+ciq.ciqname as ciqcodeandname, "); //case cc.tariff when 0 then ci.tax_zhg when 1 then ci.tax_pt end tax, strSql.Append(" isnull(ci.tax_cl,0) tax_cl, "); strSql.Append(" c.tax_1,c.tax_2,c.tax_zz_1,c.tax_zz_2 "); strSql.Append(" ,c.name+'_'+convert(varchar,c.sequence)+' 重量:'+convert(varchar(12),convert(float,c.[weight]/1000)) name_ref,c.sequence "); strSql.Append(" ,SBYS,BZTCHNO,CargoType,SPECIFICATIONS,c.SHIJIGUANSHUI,c.SHIJIZENGZHISHUI,C.Remark,C.AGENCRATE "); strSql.Append(" ,(select TAGPICURL from Import_Cargoname where hs_id =c.cargoinfo_id and ciq_id = c.cargociq_id and ENNAME = c.Ename and CNNAME = c.name "); strSql.Append(" and FactoryNoGID in (select GID from Import_Factoryno where FACTORYNO = c.FactoryNo) and isnull(TAGPICURL,'')<> '' ) TAGPICURL "); strSql.Append(" FROM [Import_cargo] c "); strSql.Append(" left join [Import_cargoinfo] ci on c.[cargoinfo_id] = ci.id "); strSql.Append(" left join [Import_cargociq] ciq on c.[cargociq_id] = ciq.id "); strSql.Append(" left join [code_currency] curr on curr.gid=c.currid "); strSql.Append(" left join [import_main] m on M.contractno=c.contractno "); strSql.Append(" left join [code_country] cc on cc.countryid=m.countryid "); if (!string.IsNullOrEmpty(Condition)) { strSql.Append(" where " + Condition); } strSql.Append(" order by c.sequence "); return SetCargo(strSql); } private static List SetCargo ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { Cargomb data = new Cargomb(); #region Set DB data to Object data.id = Convert.ToString(reader["id"]); data.GID = Convert.ToString(reader["GID"]); data.ContractNo = Convert.ToString(reader["ContractNo"]); data.cargoinfo_id = Convert.ToString(reader["cargoinfo_id"]); data.cargociq_id = Convert.ToString(reader["cargociq_id"]); data.name = Convert.ToString(reader["name"]); data.Unit = Convert.ToString(reader["Unit"]); data.UnitRate = Convert.ToString(reader["UnitRate"]); data.U_PRICE = Convert.ToString(reader["U_PRICE"]); data.U_weight = Convert.ToString(reader["U_weight"]); data.weight = Convert.ToString(reader["weight"]); data.m_weight = Convert.ToString(reader["m_weight"]); data.price = Convert.ToString(reader["price"]); data.price_agio = Convert.ToString(reader["price_agio"]); data.price_limit = Convert.ToString(reader["price_limit"]); data.Amount = Convert.ToString(reader["Amount"]); data.tax_Amount = Convert.ToString(reader["tax_Amount"]); data.tax_Amount_RMB = Convert.ToString(reader["tax_Amount_RMB"]); data.pay_Amount = Convert.ToString(reader["pay_Amount"]); data.BoxCount = Convert.ToString(reader["BoxCount"]); data.BoxWeight = Convert.ToString(reader["BoxWeight"]); data.Exporter = Convert.ToString(reader["Exporter"]); data.FactoryNo = Convert.ToString(reader["FactoryNo"]); data.ICP = Convert.ToString(reader["ICP"]); data.Productiondate = Convert.ToString(reader["Productiondate"]); data.currid = Convert.ToString(reader["currid"]); // data.currRef = Convert.ToString(reader["currRef"]); //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'RecProportion'"; if (reader.GetSchemaTable().DefaultView.Count > 0) data.RecProportion = Convert.ToString(reader["RecProportion"]); reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 't_weight'"; if (reader.GetSchemaTable().DefaultView.Count > 0) data.t_weight = Convert.ToString(reader["t_weight"]); data.prepayments = Convert.ToString(reader["prepayments"]); data.balance = Convert.ToString(reader["balance"]); data.pay_prepayments = Convert.ToString(reader["pay_prepayments"]); data.pay_balance = Convert.ToString(reader["pay_balance"]); data.Paypart = Convert.ToString(reader["Paypart"]); data.cicode = Convert.ToString(reader["cicode"]); data.ciname = Convert.ToString(reader["ciname"]); data.cicodeandname = Convert.ToString(reader["cicodeandname"]); data.ciqcode = Convert.ToString(reader["ciqcode"]); data.ciqname = Convert.ToString(reader["ciqname"]); data.ciqcodeandname = Convert.ToString(reader["ciqcodeandname"]); data.UnitRef = Convert.ToString(reader["UnitRef"]); data.paypartRef = Convert.ToString(reader["paypartRef"]); data.codename = Convert.ToString(reader["codename"]); data.defaultrate = Convert.ToString(reader["defaultrate"]); data.baolv = Convert.ToString(reader["baolv"]); data.tariff = Convert.ToString(reader["tariff"]); data.tax = Convert.ToString(reader["tax"]); data.tax_zz = Convert.ToString(reader["tax_zz"]); data.tax_cl = Convert.ToString(reader["tax_cl"]); data.Declarenumber = Convert.ToString(reader["Declarenumber"]); data.Exchangerate = Convert.ToString(reader["Exchangerate"]); data.Exchangerate_Customs = Convert.ToString(reader["Exchangerate_Customs"]); data.tax_1 = Convert.ToString(reader["tax_1"]); data.tax_zz_1 = Convert.ToString(reader["tax_zz_1"]); data.tax_2 = Convert.ToString(reader["tax_2"]); data.tax_zz_2 = Convert.ToString(reader["tax_zz_2"]); data.PreProportion = Convert.ToString(reader["PreProportion"]); data.AMOUNT_WRITEOFFS = Convert.ToString(reader["AMOUNT_WRITEOFFS"]); data.NAME_REF = Convert.ToString(reader["NAME_REF"]); data.SEQUENCE = Convert.ToString(reader["SEQUENCE"]); data.Ename = Convert.ToString(reader["Ename"]); data.SBYS = Convert.ToString(reader["SBYS"]); data.BZTCHNO = Convert.ToString(reader["BZTCHNO"]); data.CargoType = Convert.ToString(reader["CargoType"]); data.SPECIFICATIONS = Convert.ToString(reader["SPECIFICATIONS"]); //字段过滤器(判断是否存在该列) reader.GetSchemaTable().DefaultView.RowFilter = "ColumnName= 'AGENCRATE'"; if (reader.GetSchemaTable().DefaultView.Count > 0) data.AGENCRATE= Convert.ToString(reader["AGENCRATE"]); //data.SHIJIGUANSHUI = Convert.ToString(reader["SHIJIGUANSHUI"]); //data.SHIJIZENGZHISHUI = Convert.ToString(reader["SHIJIZENGZHISHUI"]); //data.XIANJIAJINE = Convert.ToString(reader["XIANJIAJINE"]); //data.BAOZHENGJIN = Convert.ToString(reader["BAOZHENGJIN"]); //data.ZHIBAOJIN = Convert.ToString(reader["ZHIBAOJIN"]); //data.ZONGJINE = Convert.ToString(reader["ZONGJINE"]); data.REMARK = Convert.ToString(reader["REMARK"]); data.TAGPICURL = Convert.ToString(reader["TAGPICURL"]); data.AGENCRATE = BasicDataRefDAL.getValue(reader, "AGENCRATE","string").ToString(); #endregion headList.Add(data); } reader.Close(); } return headList; } static public List GetCargoList2 ( string Condition ) { var strSql = new StringBuilder(); strSql.Append(" SELECT c.*,convert(numeric(18,2),c.tax_amount*c.Exchangerate_Customs) tax_amount_RMB, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=11 and EnumValueID=c.unit) as UnitRef, "); strSql.Append(" (select verno from tSysEnumValue where LangId=0 and EnumTypeID=11 and EnumValueID=c.unit) as UnitRate, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=12 and EnumValueID=c.paypart) as paypartRef, "); // strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=16 and EnumValueID=c.Financestatus) as FinancestatusRef, "); strSql.Append(" ci.code as cicode,ci.name as ciname,curr.codename,curr.defaultrate, "); strSql.Append(" ci.code+'_'+ci.name as cicodeandname, "); strSql.Append(" ciq.ciqcode as ciqcode,ciq.ciqname as ciqname, "); strSql.Append(" ciq.ciqcode+'_'+ciq.ciqname as ciqcodeandname, "); strSql.Append(" (select EnumValueName from tSysEnumValue where LangId=0 "); strSql.Append(" and EnumTypeID=9000 and EnumValueID=cc.tariff) as tariff, "); strSql.Append(" case cc.tariff when 0 then ci.tax_zhg when 1 then ci.tax_pt end tax, "); strSql.Append(" ci.tax_zz,c.tax_1,c.tax_2,c.tax_zz_1,c.tax_zz_2 "); strSql.Append(" ,c.name+'_'+convert(varchar,c.sequence)+' 重量:'+convert(varchar(12),convert(float,c.[weight]/1000)) name_ref "); strSql.Append(" ,Ename,SBYS,BZTCHNO,c.GID,c.CargoType,c.KINDPKGS "); strSql.Append(" ,isnull(weight_act,0)-isnull((select sum(isnull(weight,0)) from import_saledetail where CARGO_GID=c.gid),0) WEIGHT_REMAIN "); strSql.Append(" ,isnull(boxcount_act,0)-isnull((select sum(isnull(BOXCOUNT,0)) from import_saledetail where CARGO_GID=c.gid),0) BOXCOUNT_REMAIN "); strSql.Append(" ,ISLOCKED,dbo.trimdate(c.ExpirationDate) ExpirationDate "); //strSql.Append(" ,c.AGENCRATE,c.MOREORLESS "); strSql.Append(" FROM [Import_cargo] c "); strSql.Append(" left join [Import_cargoinfo] ci on c.[cargoinfo_id] = ci.id "); strSql.Append(" left join [Import_cargociq] ciq on c.[cargociq_id] = ciq.id "); strSql.Append(" left join [code_currency] curr on curr.gid=c.currid "); strSql.Append(" left join [import_main] m on M.contractno=c.contractno "); strSql.Append(" left join [code_country] cc on cc.countryid=m.countryid "); if (!string.IsNullOrEmpty(Condition)) { strSql.Append(" where " + Condition); } strSql.Append(" order by c.sequence "); return SetCargo2(strSql); } private static List SetCargo2 ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { Cargomb2 data = new Cargomb2(); #region Set DB data to Object data.id = Convert.ToString(reader["id"]); data.ContractNo = Convert.ToString(reader["ContractNo"]); data.cargoinfo_id = Convert.ToString(reader["cargoinfo_id"]); data.cargociq_id = Convert.ToString(reader["cargociq_id"]); data.name = Convert.ToString(reader["name"]); data.Unit = Convert.ToString(reader["Unit"]); data.UnitRate = Convert.ToString(reader["UnitRate"]); data.U_PRICE = Convert.ToString(reader["U_PRICE"]); data.U_weight = Convert.ToString(reader["U_weight"]); data.weight = Convert.ToString(reader["weight"]); data.m_weight = Convert.ToString(reader["m_weight"]); data.price = Convert.ToString(reader["price"]); data.price_agio = Convert.ToString(reader["price_agio"]); data.price_limit = Convert.ToString(reader["price_limit"]); data.Amount = Convert.ToString(reader["Amount"]); data.tax_Amount = Convert.ToString(reader["tax_Amount"]); data.tax_Amount_RMB = Convert.ToString(reader["tax_Amount_RMB"]); data.pay_Amount = Convert.ToString(reader["pay_Amount"]); data.BoxCount = Convert.ToString(reader["BoxCount"]); data.BoxWeight = Convert.ToString(reader["BoxWeight"]); data.Exporter = Convert.ToString(reader["Exporter"]); data.FactoryNo = Convert.ToString(reader["FactoryNo"]); data.ICP = Convert.ToString(reader["ICP"]); data.Productiondate = Convert.ToString(reader["Productiondate"]); data.Productiondate_min = Convert.ToString(reader["Productiondate_min"]); data.Productiondate_max = Convert.ToString(reader["Productiondate_max"]); data.currid = Convert.ToString(reader["currid"]); // data.currRef = Convert.ToString(reader["currRef"]); data.prepayments = Convert.ToString(reader["prepayments"]); data.balance = Convert.ToString(reader["balance"]); data.pay_prepayments = Convert.ToString(reader["pay_prepayments"]); data.pay_balance = Convert.ToString(reader["pay_balance"]); data.Paypart = Convert.ToString(reader["Paypart"]); data.cicode = Convert.ToString(reader["cicode"]); data.ciname = Convert.ToString(reader["ciname"]); data.cicodeandname = Convert.ToString(reader["cicodeandname"]); data.ciqcode = Convert.ToString(reader["ciqcode"]); data.ciqname = Convert.ToString(reader["ciqname"]); data.ciqcodeandname = Convert.ToString(reader["ciqcodeandname"]); data.UnitRef = Convert.ToString(reader["UnitRef"]); data.paypartRef = Convert.ToString(reader["paypartRef"]); data.codename = Convert.ToString(reader["codename"]); data.defaultrate = Convert.ToString(reader["defaultrate"]); data.baolv = Convert.ToString(reader["baolv"]); data.tariff = Convert.ToString(reader["tariff"]); data.tax = Convert.ToString(reader["tax"]); data.tax_zz = Convert.ToString(reader["tax_zz"]); data.Declarenumber = Convert.ToString(reader["Declarenumber"]); data.Exchangerate = Convert.ToString(reader["Exchangerate"]); data.Exchangerate_Customs = Convert.ToString(reader["Exchangerate_Customs"]); data.tax_1 = Convert.ToString(reader["tax_1"]); data.tax_zz_1 = Convert.ToString(reader["tax_zz_1"]); data.tax_2 = Convert.ToString(reader["tax_2"]); data.tax_zz_2 = Convert.ToString(reader["tax_zz_2"]); data.PreProportion = Convert.ToString(reader["PreProportion"]); data.AMOUNT_WRITEOFFS = Convert.ToString(reader["AMOUNT_WRITEOFFS"]); data.NAME_REF = Convert.ToString(reader["NAME_REF"]); data.SEQUENCE = Convert.ToString(reader["SEQUENCE"]); data.Ename = Convert.ToString(reader["Ename"]); data.SBYS = Convert.ToString(reader["SBYS"]); data.BZTCHNO = Convert.ToString(reader["BZTCHNO"]); data.GID = Convert.ToString(reader["GID"]); data.CargoType = Convert.ToString(reader["CargoType"]); data.KINDPKGS = Convert.ToString(reader["KINDPKGS"]); data.WEIGHT_ACT = Convert.ToString(reader["WEIGHT_ACT"]); data.WEIGHT_REMAIN = Convert.ToString(reader["WEIGHT_REMAIN"]); data.BOXCOUNT_ACT = Convert.ToString(reader["BOXCOUNT_ACT"]); data.BOXCOUNT_REMAIN = Convert.ToString(reader["BOXCOUNT_REMAIN"]); data.ISLOCKED = Convert.ToString(reader["ISLOCKED"]); data.ExpirationDate = Convert.ToString(reader["ExpirationDate"]); data.AGENCRATE = Convert.ToString(reader["AGENCRATE"]); data.MOREORLESS = Convert.ToString(reader["MOREORLESS"]); data.pay_prepayments = Convert.ToString(reader["pay_prepayments"]); data.pay_balance = Convert.ToString(reader["pay_balance"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 许可证/货物关系表 static public List GetAppstate ( string Condition ) { var strSql = new StringBuilder(); strSql.Append(" select at.id,at.ContractNo,ap.appno,at.app_id,ci.name,at.cargo_id, "); strSql.Append(" ap.[weight] appweight,au.remain appremain,au.canbeused canbeused,ap.validdate, "); strSql.Append(" ct.country,at.[weight],at.[cancellation], "); strSql.Append(" (select EnumValueName from tSysEnumValue "); strSql.Append(" where LangId=0 and EnumTypeID=13 and EnumValueID=at.cancellation) as cancellationRef, "); strSql.Append(" dbo.trimdate([cancellation_date]) cancellation_date "); // strSql.Append(" ,ca.name+'_'+convert(varchar,ca.SEQUENCE)+' 重量:'+convert(varchar(12),convert(float,ca.[weight]/1000)) cargoname "); strSql.Append(" ,ca.sequence ,at.Remark"); strSql.Append(" from import_appstate at "); strSql.Append(" left join import_approval ap on ap.id=at.app_id "); strSql.Append(" left join code_country ct on ct.countryid=ap.countryid "); strSql.Append(" left join import_cargoinfo ci on ap.cargoinfo_id=ci.id "); strSql.Append(" left join vmsappused au on au.app_id=ap.id "); strSql.Append(" left join import_cargo ca on ca.id=at.cargo_id "); if (!string.IsNullOrEmpty(Condition)) { strSql.Append(" where " + Condition); } strSql.Append(" order by ca.sequence "); return SetAppstate(strSql); } private static List SetAppstate ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { Appstatemb data = new Appstatemb(); #region Set DB data to Object data.id = Convert.ToString(reader["id"]); data.ContractNo = Convert.ToString(reader["ContractNo"]); data.appno = Convert.ToString(reader["appno"]); data.app_id = Convert.ToString(reader["app_id"]); data.name = Convert.ToString(reader["name"]); data.cargo_id = Convert.ToString(reader["cargo_id"]); data.cargoname = Convert.ToString(reader["cargoname"]); data.appweight = Convert.ToString(reader["appweight"]); data.appremain = Convert.ToString(reader["appremain"]); data.canbeused = Convert.ToString(reader["canbeused"]); data.validdate = Convert.ToString(reader["validdate"]); data.country = Convert.ToString(reader["country"]); data.weight = Convert.ToString(reader["weight"]); data.cancellation = Convert.ToString(reader["cancellation"]); data.cancellationRef = Convert.ToString(reader["cancellationRef"]); data.cancellation_date = Convert.ToString(reader["cancellation_date"]); data.SEQUENCE = Convert.ToString(reader["SEQUENCE"]); data.REMARK = Convert.ToString(reader["REMARK"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 许可证表 用于向关系表提供可选的许可证 static public List GetApp ( string Condition ) { var strSql = new StringBuilder(); strSql.Append(" select ap.appno,ap.id app_id,ci.name,ap.[weight] appweight,ap.company, "); strSql.Append(" au.remain appremain,au.canbeused canbeused,ap.validdate ,ct.country,ci.name, "); strSql.Append(" ap.appno+'/'+isnull(ap.SPECIFICATIONS,'')+' '+ap.AppName+'/用证:'+c.name+'/'+(select EnumValueName from tSysEnumValue "); strSql.Append(" where LangId=0 and EnumTypeID=10 and EnumValueID=ap.sljg) "); strSql.Append(" +'/'+ct.country+'/'+ci.name+'/剩余:'+convert(varchar(12),au.canbeused)+'吨/'+ap.validdate "); strSql.Append(" +'/'+isnull(ap.remark,'') info"); strSql.Append(" from import_approval ap "); strSql.Append(" left join import_cargoinfo ci on ap.cargoinfo_id=ci.id "); strSql.Append(" left join vmsappused au on au.app_id=ap.id "); strSql.Append(" left join code_country ct on ct.countryid=ap.countryid "); strSql.Append(" left join company c on c.GID=ap.company "); /*select ap.appno,ap.id app_id,ci.name,ap.[weight] appweight,c.name companyname,ap.company, au.remain appremain,au.canbeused canbeused,ap.validdate ,ct.country,ap.remark from import_approval ap left join import_cargoinfo ci on ap.cargoinfo_id=ci.id left join vmsappused au on au.app_id=ap.id left join code_country ct on ct.countryid=ap.countryid left join company c on c.GID=ap.company*/ if (!string.IsNullOrEmpty(Condition)) { strSql.Append(" where " + Condition); } return SetApp(strSql); } private static List SetApp ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { Appstatemb data = new Appstatemb(); #region Set DB data to Object data.appno = Convert.ToString(reader["appno"]); data.app_id = Convert.ToString(reader["app_id"]); data.name = Convert.ToString(reader["name"]); data.company = Convert.ToString(reader["company"]); data.appweight = Convert.ToString(reader["appweight"]); data.appremain = Convert.ToString(reader["appremain"]); data.canbeused = Convert.ToString(reader["canbeused"]); data.validdate = Convert.ToString(reader["validdate"]); data.country = Convert.ToString(reader["country"]); data.info = Convert.ToString(reader["info"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 库存表 记录货物流转过程 static public List GetKC ( string Condition ) { var strSql = new StringBuilder(); strSql.Append(" select k.id,k.contractno,k.cargo_id "); strSql.Append(" ,c.name+'_'+convert(varchar,c.sequence)+' 重量:'+convert(varchar(12),convert(float,c.[weight]/1000)) cargoname,K.czstate, "); strSql.Append(" k.innum,k.outnum,k.kfstate,k.czdate,k.[text], "); strSql.Append(" t1.enumvaluename as czref,k.kfstate as kfref ,K.days,K.FeeName,K.UnitPrice, "); strSql.Append(" K.Quantity,K.Amount,K.Sended"); strSql.Append(" ,K.TRUCKNO,K.TRUCKTEL,K.CORPID,K.ENTEROPERATOR,K.PLEDGE"); strSql.Append(" from [Import_KC] K "); strSql.Append(" left join import_cargo c on c.id=k.cargo_id "); strSql.Append(" left join tsysenumvalue t1 on t1.enumtypeid=8 and t1.enumvalueid=K.czstate "); //strSql.Append(" left join tsysenumvalue t2 on t2.enumtypeid=9 and t2.enumvalueid=K.kfstate "); if (!string.IsNullOrEmpty(Condition)) { strSql.Append(" where " + Condition); } return SetKC(strSql); } private static List SetKC ( StringBuilder strSql ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { KCmb data = new KCmb(); #region Set DB data to Object data.id = Convert.ToString(reader["id"]); data.ContractNo = Convert.ToString(reader["ContractNo"]); data.cargo_id = Convert.ToString(reader["cargo_id"]); data.cargoname = Convert.ToString(reader["cargoname"]); data.czstate = Convert.ToString(reader["czstate"]); data.innum = Convert.ToString(reader["innum"]); data.outnum = Convert.ToString(reader["outnum"]); data.kfstate = Convert.ToString(reader["kfstate"]); data.kfref = Convert.ToString(reader["kfref"]); data.czref = Convert.ToString(reader["czref"]); data.czdate = Convert.ToString(reader["czdate"]); data.text = Convert.ToString(reader["text"]); data.days = Convert.ToString(reader["days"]); data.FeeName = Convert.ToString(reader["FeeName"]); data.UnitPrice = Convert.ToString(reader["UnitPrice"]); data.Quantity = Convert.ToString(reader["Quantity"]); data.Amount = Convert.ToString(reader["Amount"]); data.Sended = Convert.ToString(reader["Sended"]); data.TRUCKNO = Convert.ToString(reader["TRUCKNO"]); data.TRUCKTEL = Convert.ToString(reader["TRUCKTEL"]); data.CORPID = Convert.ToString(reader["CORPID"]); data.ENTEROPERATOR = Convert.ToString(reader["ENTEROPERATOR"]); data.PLEDGE = Convert.ToString(reader["PLEDGE"]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 将某合同的合同号清空 (在将合同标记为删除时调用) static public int ClearHTH ( string ContractNo ) { var strSql = new StringBuilder(); strSql.Append(" update import_main set HTH='',remark=remark+' 原合同号:'+HTH where contractno = '" + ContractNo + "'"); return setKCStart(strSql);//ExecuteNonQuery } #endregion #region 初始化库存参数 static public int KCStart ( string cargo_id, string corpcode, string userid ) { var strSql = new StringBuilder(); strSql.Append(" delete from [Import_KC] where cargo_id in( " + cargo_id + ")"); strSql.Append(" insert into [Import_KC] "); strSql.Append(" (ContractNo,cargo_id,CZState,InNum,OutNum,KFstate,CZdate,CORPID,deptgid) "); strSql.Append(" (select [ContractNo],convert(varchar(50),id) [cargo_id],1 [CZState] "); strSql.Append(" ,boxcount as [InNum],0 [OutNum],0 kfstate,(getdate()) CZdate "); strSql.Append(" ,(select gid from company where codename='" + corpcode + "'),(select deptgid from vw_user where userid='" + userid + "') "); strSql.Append(" from import_cargo where id in( " + cargo_id + ") )"); return setKCStart(strSql);//ExecuteNonQuery } private static int setKCStart ( StringBuilder strSql ) { var _count = 0; Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); return _count; } #endregion #region 获取入库时间 static public int GetKCEnterDate ( string cargo_id ) { var strSql = new StringBuilder(); strSql.Append(" delete from [Import_KC] where cargo_id in( " + cargo_id + ")"); strSql.Append(" insert into [Import_KC] "); strSql.Append(" select "); strSql.Append(" [ContractNo],id [cargo_id],0 [CZState] ,"); strSql.Append(" boxcount as [InNum],0 [OutNum],0 kcstate,(getdate()) kcdate,'' [text] "); strSql.Append(" from import_cargo where id in( " + cargo_id + ")"); return setKCEnterDate(strSql);//ExecuteNonQuery } private static int setKCEnterDate ( StringBuilder strSql ) { var _count = 0; Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); return _count; } #endregion #region 初始化财务数据 static public int CWStart ( string ContractNo ) { var strSql = new StringBuilder(); strSql.Append(" exec smsCWStart '" + ContractNo + "'"); return setCWStart(strSql);//ExecuteNonQuery } private static int setCWStart ( StringBuilder strSql ) { var _count = 0; Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); return _count; } #endregion #region 设定合同状态 static public int SetStatus ( string ContractNo, string NewMainstate ) { var strSql = new StringBuilder(); if (NewMainstate == "7") { strSql.Append(" update import_main set Mainstate= " + NewMainstate + ",accdate='" + DateTime.Now.ToString() + "' where ContractNo='" + ContractNo + "'"); } else { strSql.Append(" update import_main set Mainstate= " + NewMainstate + " where ContractNo='" + ContractNo + "'"); } strSql.Append(" select * from import_main where Mainstate= " + NewMainstate + " and ContractNo='" + ContractNo + "'"); return setKCStart(strSql);//ExecuteNonQuery } #endregion #region 获取字段值,用于过滤条件 static public List GetField ( string tablename, string fieldid, string fieldvalue ) { var strSql = new StringBuilder(); strSql.Append("select distinct " + fieldvalue + ", " + fieldid + " from " + tablename); return SetField(strSql, fieldid, fieldvalue); } private static List SetField ( StringBuilder strSql, string fieldid, string fieldvalue ) { var headList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { Fieldmb data = new Fieldmb(); #region Set DB data to Object data.FieldId = Convert.ToString(reader[fieldid]); data.FieldValue = Convert.ToString(reader[fieldvalue]); #endregion headList.Add(data); } reader.Close(); } return headList; } #endregion #region 生成结算数据ch_fee_do 已放弃 改用原有结算逻辑 /* static public int Settlement(int newStatus,string GId) { var strSql = new StringBuilder(); strSql.Append(" declare @feeid varchar(50)"); strSql.Append(" declare @newStatus int"); strSql.Append(" set @feeid ='" + GId + "'"); strSql.Append(" set @newStatus =" + newStatus); strSql.Append(" exec smsSettlement @feeid,@newStatus"); return setSettlement(strSql);//ExecuteNonQuery } private static int setSettlement(StringBuilder strSql) { var _count = 0; Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); return _count; } */ #endregion #region 删除用证信息,在将合同标记为删除时使用 static public int DELUseApp ( string ContractNo ) { var strSql = new StringBuilder(); strSql.Append(" delete from [import_appstate] where contractno =( '" + ContractNo + "')"); var _count = 0; Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); return _count; } #endregion #endregion #region 参照部分 internal static List GetCountry ( ) { var strSql = new StringBuilder(); strSql.Append("SELECT "); strSql.Append("countryid,country,countryid+' '+country"); strSql.Append(" from code_country"); var dataList = new List(); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { var data = new XXHcountryDAL(); #region Set DB data to Object data.countryid = Convert.ToString(reader["countryid"]); data.country = Convert.ToString(reader["country"]); data.country = Convert.ToString(reader["country"]); #endregion dataList.Add(data); } reader.Close(); } return dataList; } #endregion #region 上传信息至import_main_public表 static public int UploadInfo ( string idList ) { var strSql = new StringBuilder(); //////////////////上传业务信息 strSql.Append(" delete from import_main_public where id in (" + idList + ") "); strSql.Append(" insert into Import_main_public ( "); strSql.Append(" id,ContractNo,HTH,company,seller,buyer,STT,countryid,creattime,Audittime,MainState,printed,AutoAPP,ShipCompany_id,Billno,BillType,BillTime,Vessel "); strSql.Append(" ,Voyage,Ex_sailingdate,Sailingdate,ArrivalDate,ContainerNo,SealNo,Freetime,TransactionMethod,PaymentMethods,SecurityDeposit,CustomsReleaseDate,SamplingDate_Plan,SamplingDate_Act "); strSql.Append(" ,inspection_Signup_date,inspection_no,inspection_date,CIQ_licence,CIQ_canbesearch,tax_date,tax_paydate,remark,port,Writeoffs,Paydate,E_Billtime,HDtime,FinanceStatus "); strSql.Append(" ,remark_2,remark_3,remark_4,Sampling_need,DeclareNumber,Inspection_Storage,DeliveryDate,DeliveryAddress,Contacter,Tel,Overfilled,OwnApp,ReceiptStatus,Receiptremark,Prepaydate "); strSql.Append(" ,TRADINGAGENCY,ACCDATE,ContractStatus,KCClear,RCVMode,ISVOU,VOUCHERNO,OP,MZBZ,RecDate,PortDays,OPBillTime,Dock,Customs_broker,inspection_broker,CreateTime_2,ResendTime,BuzType "); strSql.Append(" ,Inspection_Buyer,Inspection_Contacter,Inspection_Tel,Inspection_DeliveryAddress,HaveContract,HaveCargoMark,CORPID,DEPTID,Supplier_Billno,Other_Billno,Agent,Buy_Type,Buy_OP "); strSql.Append(" ,Bill_ExpressNo,HAVESAMPLE,ISBONDED,CHECKSAMPLE,CTN,BILLTRANCNO,LOCK_EXCHANGERATE,EXCHANGERATE,Unsealdate,ISREFORM ) "); strSql.Append(" select id,ContractNo,HTH,company,seller,buyer,STT,countryid,creattime,Audittime,MainState,printed,AutoAPP,AutoAPPApplyId,AutoAPPNum,ApplyDate,ShipCompany_id,Billno,BillType,BillTime,Vessel "); strSql.Append(" ,Voyage,Ex_sailingdate,Sailingdate,ArrivalDate,ContainerNo,SealNo,Freetime,TransactionMethod,PaymentMethods,SecurityDeposit,CustomsReleaseDate,SamplingDate_Plan,SamplingDate_Act "); strSql.Append(" ,inspection_Signup_date,inspection_no,inspection_date,CIQ_licence,CIQ_canbesearch,tax_date,tax_paydate,remark,port,Writeoffs,Paydate,E_Billtime,HDtime,FinanceStatus "); strSql.Append(" ,remark_2,remark_3,remark_4,Sampling_need,DeclareNumber,Inspection_Storage,DeliveryDate,DeliveryAddress,Contacter,Tel,Overfilled,OwnApp,ReceiptStatus,Receiptremark,Prepaydate "); strSql.Append(" ,TRADINGAGENCY,ACCDATE,ContractStatus,KCClear,RCVMode,ISVOU,VOUCHERNO,OP,MZBZ,RecDate,PortDays,OPBillTime,Dock,Customs_broker,inspection_broker,CreateTime_2,ResendTime,BuzType "); strSql.Append(" ,Inspection_Buyer,Inspection_Contacter,Inspection_Tel,Inspection_DeliveryAddress,HaveContract,HaveCargoMark,CORPID,DEPTID,Supplier_Billno,Other_Billno,Agent,Buy_Type,Buy_OP "); strSql.Append(" ,Bill_ExpressNo,HAVESAMPLE,ISBONDED,CHECKSAMPLE,CTN,BILLTRANCNO,LOCK_EXCHANGERATE,EXCHANGERATE,Unsealdate,ISREFORM "); strSql.Append(" from Import_main m where id in (" + idList + ") "); //////////////////上传图片文档信息 //上传前删除所有该业务的图片信息 strSql.Append(" delete from Receipt_Doc_Public where BSNO in (select contractno from import_main where id in (" + idList + ") ) "); strSql.Append(" insert into Receipt_Doc_Public ( "); strSql.Append(" GID,RECEIPTTYPE,BSNO,LOCAL_BSNO,URL,Driect_URL )"); strSql.Append(" select GID,RECEIPTTYPE,BSNO,'',URL,Driect_URL "); strSql.Append(" from Receipt_Doc where BSNO in (select contractno from import_main where id in (" + idList + ") ) "); strSql.Append(" delete from Import_cargo_public where ContractNo in (select contractno from import_main where id in (" + idList + ") ) "); strSql.Append(" INSERT INTO Import_cargo_Public "); strSql.Append(" ([ContractNo],[cargoinfo_id],[cargociq_id],[name],[Ename],[UNIT],[U_PRICE],[U_weight],[weight],[m_weight] "); strSql.Append(" ,[price],[price_limit],[Amount],[tax_Amount],[BoxCount],[BoxWeight],[Exporter],[FactoryNo],[Productiondate] "); strSql.Append(" ,[currid],[prepayments],[balance],[paypart],[baolv],[tariff],[tax],[tax_zz],[Declarenumber],[Exchangerate],[FinanceStatus] "); strSql.Append(" ,[Exchangerate_Customs],[PreProportion],[Amount_Writeoffs],[sequence] "); strSql.Append(" ,[SBYS],[BZTCHNO],[GID],[CargoType],[KINDPKGS],[Weight_Act],[BoxCount_Act],[isLocked],[productiondate_max] "); strSql.Append(" ,[productiondate_min],[ExpirationDate],[AGENCRATE],[MOREORLESS],[Remark] "); strSql.Append(" ,[SPECIFICATIONS],[price_agio],[pay_amount],tax_1,tax_zz_1) "); strSql.Append(" SELECT [ContractNo],[cargoinfo_id],[cargociq_id],[name],[Ename],[UNIT],[U_PRICE],[U_weight],[weight],[m_weight] "); strSql.Append(" ,[price],[price_limit],[Amount],[tax_Amount],[BoxCount],[BoxWeight],[Exporter],[FactoryNo],[Productiondate] "); strSql.Append(" ,(select codename from code_currency cc where cc.gid=currid ) currid,[prepayments],[balance],[paypart],[baolv],[tariff],[tax],[tax_zz],[Declarenumber],[Exchangerate],[FinanceStatus] "); strSql.Append(" ,[Exchangerate_Customs],[PreProportion],[Amount_Writeoffs],[sequence] "); strSql.Append(" ,[SBYS],[BZTCHNO],[GID],[CargoType],[KINDPKGS],[Weight_Act],[BoxCount_Act],[isLocked],[productiondate_max] "); strSql.Append(" ,[productiondate_min],[ExpirationDate],[AGENCRATE],[MOREORLESS],[Remark] "); strSql.Append(" ,[SPECIFICATIONS],0,[Amount],tax_1,tax_zz_1 "); strSql.Append(" FROM [Import_cargo] where contractno in (select contractno from import_main where id in (" + idList + ") ) "); var _count = 0; Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); return _count; } static public int UploadFee ( string idList ) { var strSql = new StringBuilder(); //////////////////上传费用信息 //2015-12-16 改为上传前删除所有该业务的费用。 strSql.Append(" delete from CH_FEE_Public where bsno in "); strSql.Append(" ( select contractno from import_main m where id in(" + idList + ") ) "); strSql.Append(" insert into CH_FEE_Public "); strSql.Append(" (GID,Local_GID,BSNO,FEETYPE,Local_BSNO,CUSTOMERNAME,FEENAME,UNITPRICE "); strSql.Append(" ,QUANTITY,AMOUNT,CURRENCY,EXCHANGERATE,SETTLEMENT,settledate,REMARK )"); strSql.Append(" select GID,'',bsno,FEETYPE,'',CUSTOMERNAME,FEENAME,UNITPRICE "); strSql.Append(" ,QUANTITY,AMOUNT,CURRENCY,EXCHANGERATE,SETTLEMENT "); strSql.Append(" ,(select CREATETIME from ch_fee_do where CATEGORY in(1,2,3,8,9) and feeid =ch_fee.gid) settledate,REMARK"); strSql.Append(" from ch_fee "); strSql.Append(" where bsno in "); strSql.Append(" (select contractno from import_main m where id in(" + idList + ")) "); strSql.Append(" and customername=(select buyer from import_main where contractno=ch_fee.bsno)"); var _count = 0; Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); return _count; } #endregion #region 分别获取Doc,fee,import表数据 static public DBResult GetImport ( string ThisCompanyName, string condition ) { Hashtable ht = new Hashtable(); ht.Add("COMPANYCODE", ThisCompanyName); //ht.Add("FARCODE", "0276"); //改为取本公司的中文简称 var result = new DBResult(); result.Success = true; var bodyList = new List(); try { //XmlDocument xx = BasicDataRefDAL.WebSvcCaller.QuerySoapWebService("http://localhost:54972/webservice/DsWebService.asmx", "ReceiveImportInfo", ht); //object resultXml = xx; //string url = "http://localhost:54972/webservice/DsWebService.asmx"; string url = "http://120.27.53.37:54972/webservice/DsWebService.asmx"; string[] args = new string[2]; args[0] = ThisCompanyName; args[1] = condition; object resultXml = WebServiceHelper.InvokeWebService(url, "ReceiveImportInfo_direct", args); if (resultXml == "") { result.Success = false; result.Message = ""; } StringReader rdr = new StringReader(resultXml.ToString()); XmlSerializer serializer = new XmlSerializer(typeof(ImportInfo)); ImportInfo xmlDoc = (ImportInfo)serializer.Deserialize(rdr); //var MessageID = ""; //var rd = new object(); XmlImport[] ImportList = xmlDoc.ImportList.Import; var iList = new List(); foreach (XmlImport Import in ImportList) { var importUpload = new ImportUploadmb2(); importUpload.ContractNo = Import.ContractNo; importUpload.HTH = Import.HTH; importUpload.BillNo = Import.Billno; importUpload.ContainerNo = Import.ContainerNo; importUpload.SealNo = Import.SealNo; importUpload.ShipCompany_id = Import.ShipCompany_id; importUpload.company = Import.company; importUpload.Vessel = Import.Vessel; importUpload.Voyage = Import.Voyage; importUpload.Ex_sailingdate = Import.Ex_sailingdate; importUpload.Sailingdate = Import.Sailingdate; importUpload.ArrivalDate = Import.ArrivalDate; importUpload.RecDate = Import.RecDate; importUpload.tax_date = Import.tax_date; importUpload.tax_paydate = Import.tax_paydate; importUpload.Sampling_need = Import.Sampling_need; importUpload.SamplingDate_Act = Import.SamplingDate_Act; importUpload.CustomsReleaseDate = Import.CustomsReleaseDate; importUpload.PortDays = Import.PortDays; importUpload.inspection_date = Import.inspection_date; importUpload.received = "0"; importUpload.seller = Import.seller; importUpload.buyer = Import.buyer; importUpload.STT = Import.STT; importUpload.countryid = Import.countryid; importUpload.creattime = Import.creattime; importUpload.Audittime = Import.Audittime; importUpload.Mainstate = Import.MainState; importUpload.Printed = Import.printed; importUpload.AutoAPP = Import.AutoAPP; importUpload.BillTime = Import.BillTime; importUpload.Freetime = Import.Freetime; importUpload.TransactionMethod = Import.TransactionMethod; importUpload.PaymentMethods = Import.PaymentMethods; importUpload.SecurityDeposit = Import.SecurityDeposit; importUpload.SamplingDate_Plan = Import.SamplingDate_Plan; importUpload.inspection_Signup_date = Import.inspection_Signup_date; importUpload.inspection_no = Import.inspection_no; importUpload.CIQ_licence = Import.CIQ_licence; importUpload.CIQ_canbesearch = Import.CIQ_canbesearch; importUpload.remark = Import.remark; importUpload.port = Import.port; importUpload.Paydate = Import.Paydate; importUpload.E_Billtime = Import.E_Billtime; importUpload.HDtime = Import.HDtime; importUpload.remark_2 = Import.remark_2; importUpload.remark_3 = Import.remark_3; importUpload.remark_4 = Import.remark_4; importUpload.Sampling_need = Import.Sampling_need; importUpload.DeclareNumber = Import.DeclareNumber; importUpload.Inspection_Storage = Import.Inspection_Storage; importUpload.DeliveryDate = Import.DeliveryDate; importUpload.DeliveryAddress = Import.DeliveryAddress; importUpload.Contacter = Import.Contacter; importUpload.Tel = Import.Tel; importUpload.Overfilled = Import.Overfilled; importUpload.ReceiptStatus = Import.ReceiptStatus; importUpload.Receiptremark = Import.Receiptremark; importUpload.Prepaydate = Import.Prepaydate; importUpload.TRADINGAGENCY = Import.TRADINGAGENCY; importUpload.KCClear = Import.KCClear; importUpload.RCVMode = Import.RCVMode; importUpload.MZBZ = Import.MZBZ; importUpload.Inspection_Buyer = Import.Inspection_Buyer; importUpload.Inspection_Contacter = Import.Inspection_Contacter; importUpload.Inspection_Tel = Import.Inspection_Tel; importUpload.Inspection_DeliveryAddress = Import.Inspection_DeliveryAddress; importUpload.HaveContract = Import.HaveContract; importUpload.HaveCargoMark = Import.HaveCargoMark; importUpload.HAVESAMPLE = Import.HAVESAMPLE; importUpload.CHECKSAMPLE = Import.CHECKSAMPLE; importUpload.CTN = Import.CTN; importUpload.BILLTRANCNO = Import.BILLTRANCNO; importUpload.LOCK_EXCHANGERATE = Import.LOCK_EXCHANGERATE; importUpload.EXCHANGERATE = Import.EXCHANGERATE; importUpload.Unsealdate = Import.Unsealdate; importUpload.ISREFORM = Import.ISREFORM; importUpload.BillType = Import.BillType; importUpload.Receiptremark = Import.Receiptremark; importUpload.CreateTime_2 = Import.CreateTime_2; importUpload.ResendTime = Import.ResendTime; importUpload.Dock = Import.Dock; importUpload.Customs_broker = Import.Customs_broker; importUpload.inspection_broker = Import.inspection_broker; if (Exist(Import.ContractNo)) { importUpload.received = "1"; importUpload.DbOperationType = DbOperationType.DbotUpd; } else { importUpload.DbOperationType = DbOperationType.DbotIns; } iList.Add(importUpload); } var modb = new ModelObjectRepository(); result = modb.SaveHead( ModelObjectConvert.ToModelObjectList(iList) ); return result; } catch (Exception e) { result.Success = false; result.Message = e.Message; } return result; } static public DBResult GetFee ( string ThisCompanyName, string condition ) { Hashtable ht = new Hashtable(); ht.Add("COMPANYCODE", ThisCompanyName); var result = new DBResult(); result.Success = true; var bodyList = new List(); try { //XmlDocument xx = BasicDataRefDAL.WebSvcCaller.QuerySoapWebService("http://localhost:54972/webservice/DsWebService.asmx", "ReceiveImportInfo", ht); //object resultXml = xx; //string url = "http://localhost:54972/webservice/DsWebService.asmx"; string url = "http://120.27.53.37:54972/webservice/DsWebService.asmx"; string[] args = new string[2]; args[0] = ThisCompanyName; args[1] = condition; object resultXml = WebServiceHelper.InvokeWebService(url, "ReceiveFee_direct", args); if (resultXml == "") { result.Success = false; result.Message = ""; } StringReader rdr = new StringReader(resultXml.ToString()); XmlSerializer serializer = new XmlSerializer(typeof(SyncFee)); SyncFee xmlDoc = (SyncFee)serializer.Deserialize(rdr); //var MessageID = ""; //var rd = new object(); XmlFee[] FeeList = xmlDoc.SyncFeeList.Fee; var _iList = new List(); var iList = new List(); foreach (XmlFee Fee in FeeList) { var data = new FeeSyncmb(); data.GID = Fee.GID; data.Local_GID = Fee.Local_GID; data.BSNO = Fee.BSNO; data.FEETYPE = Fee.FEETYPE; data.Local_BSNO = Fee.Local_BSNO; data.CUSTOMERNAME = Fee.CUSTOMERNAME; data.FEENAME = Fee.FEENAME; data.UNITPRICE = Fee.UNITPRICE; data.QUANTITY = Fee.QUANTITY; data.AMOUNT = Fee.AMOUNT; data.CURRENCY = Fee.CURRENCY; data.EXCHANGERATE = Fee.EXCHANGERATE; data.SETTLEDATE = Fee.SETTLEDATE; data.SETTLEMENT = Fee.SETTLEMENT; data.REMARK = Fee.REMARK; data.DbOperationType = DbOperationType.DbotDel; //DelSyncDetail(Fee.GID, "ch_fee_Public"); iList.Add(data); } var modb = new ModelObjectRepository(); foreach (var _d in iList) { _d.DbOperationType = DbOperationType.DbotDel; } result = modb.SaveHead( ModelObjectConvert.ToModelObjectList(iList) ); foreach (var _d in iList) { _d.DbOperationType = DbOperationType.DbotIns; } result = modb.SaveHead( ModelObjectConvert.ToModelObjectList(iList) ); return result; } catch (Exception e) { result.Success = false; result.Message = e.Message; } return result; } static public DBResult GetDoc ( string ThisCompanyName ,string condition) { Hashtable ht = new Hashtable(); ht.Add("COMPANYCODE", ThisCompanyName ); var result = new DBResult(); result.Success = true; var bodyList = new List(); try { //string url = "http://localhost:54972/webservice/DsWebService.asmx"; string url = "http://120.27.53.37:54972/webservice/DsWebService.asmx"; string[] args = new string[2]; args[0] = ThisCompanyName; args[1] = condition; object resultXml = WebServiceHelper.InvokeWebService(url, "ReceiveDoc_direct", args); if (resultXml == "") { result.Success = false; result.Message = ""; } StringReader rdr = new StringReader(resultXml.ToString()); XmlSerializer serializer = new XmlSerializer(typeof(SyncReceiptDoc)); SyncReceiptDoc xmlDoc = (SyncReceiptDoc)serializer.Deserialize(rdr); //var MessageID = ""; //var rd = new object(); XmlDoc[] DocList = xmlDoc.DocList.Doc; var iList = new List(); foreach (XmlDoc Doc in DocList) { var data = new DocSyncmb(); data.GID = Doc.GID; data.RECEIPTTYPE = Doc.RECEIPTTYPE; data.BSNO = Doc.BSNO; //data.LOCAL_BSNO = Doc.LOCAL_BSNO; data.URL = Doc.URL; data.Driect_URL = Doc.Driect_URL; data.DbOperationType = DbOperationType.DbotDel; iList.Add(data); //DelSyncDetail(Doc.GID, "Receipt_Doc_Public"); } var modb = new ModelObjectRepository(); result = modb.SaveHead( ModelObjectConvert.ToModelObjectList(iList) ); foreach (var _d in iList) { _d.DbOperationType = DbOperationType.DbotIns; } result = modb.SaveHead( ModelObjectConvert.ToModelObjectList(iList) ); return result; } catch (Exception e) { result.Success = false; result.Message = e.Message; } return result; } static public DBResult GetCargo ( string ThisCompanyName, string condition ) { Hashtable ht = new Hashtable(); ht.Add("COMPANYCODE", ThisCompanyName); var result = new DBResult(); result.Success = true; var bodyList = new List(); try { //string url = "http://localhost:54972/webservice/DsWebService.asmx"; string url = "http://120.27.53.37:54972/webservice/DsWebService.asmx"; string[] args = new string[2]; args[0] = ThisCompanyName; args[1] = condition; object resultXml = WebServiceHelper.InvokeWebService(url, "ReceiveCargo_direct", args); if (resultXml == "") { result.Success = false; result.Message = ""; } StringReader rdr = new StringReader(resultXml.ToString()); XmlSerializer serializer = new XmlSerializer(typeof(SyncCargo)); SyncCargo xmlCargo = (SyncCargo)serializer.Deserialize(rdr); //var MessageID = ""; //var rd = new object(); XmlCargo[] CargoList = xmlCargo.SyncCargoList.Cargo; var iList = new List(); foreach (XmlCargo Cargo in CargoList) { var data = new CargoSyncmb(); data.GID = Cargo.GID; data.ContractNo = Cargo.ContractNo; data.cargoinfo_id = Cargo.cargoinfo_id; data.cargociq_id = Cargo.cargociq_id; data.Name = Cargo.Name; data.Ename = Cargo.Ename; data.UNIT = Cargo.UNIT; data.U_PRICE = Cargo.U_PRICE; data.U_weight = Cargo.U_weight; data.weight = Cargo.weight; data.m_weight = Cargo.m_weight; data.price = Cargo.price; data.price_limit = Cargo.price_limit; data.Amount = Cargo.Amount; data.pay_Amount = Cargo.pay_Amount; data.tax_Amount = Cargo.tax_Amount; if (Cargo.BoxCount == "") data.BoxCount = "0"; else data.BoxCount = Cargo.BoxCount; if (Cargo.BoxWeight == "") data.BoxWeight = "0"; else data.BoxWeight = Cargo.BoxWeight; data.Exporter = Cargo.Exporter; data.FactoryNo = Cargo.FactoryNo; data.Productiondate = Cargo.Productiondate; data.currid = Cargo.currid; data.prepayments = Cargo.prepayments; data.balance = Cargo.balance; data.paypart = Cargo.paypart; data.baolv = Cargo.baolv; data.tariff = Cargo.tariff; data.tax = Cargo.tax; data.tax_zz = Cargo.tax_zz; data.tax_1 = Cargo.tax_1; data.tax_zz_1 = Cargo.tax_zz_1; data.tax_2 = Cargo.tax_1; data.tax_zz_2 = Cargo.tax_zz_1; data.Declarenumber = Cargo.Declarenumber; data.Exchangerate = Cargo.Exchangerate; data.Exchangerate_Customs = Cargo.Exchangerate_Customs; data.PreProportion = Cargo.PreProportion; data.Amount_Writeoffs = Cargo.Amount_Writeoffs; data.sequence = Cargo.sequence; data.SBYS = Cargo.SBYS; data.BZTCHNO = Cargo.BZTCHNO; data.CargoType = Cargo.CargoType; data.KINDPKGS = Cargo.KINDPKGS; if (Cargo.Weight_Act == "") data.Weight_Act = "0"; else data.Weight_Act = Cargo.Weight_Act; if (Cargo.BoxCount_Act == "") data.BoxCount_Act = "0"; else data.BoxCount_Act = Cargo.BoxCount_Act; data.ExpirationDate = Cargo.ExpirationDate; if (Cargo.AGENCRATE == "") data.AGENCRATE = "0"; else data.AGENCRATE = Cargo.AGENCRATE; if (Cargo.MOREORLESS == "") data.MOREORLESS = "0"; else data.MOREORLESS = Cargo.MOREORLESS; data.Remark = Cargo.Remark; data.SPECIFICATIONS = Cargo.SPECIFICATIONS; iList = new List(); iList.Add(data); var modb = new ModelObjectRepository(); foreach (var _d in iList) { if (Exist_Cargo(_d.GID) == true) { _d.DbOperationType = DbOperationType.DbotUpd; } else { _d.DbOperationType = DbOperationType.DbotIns; } } result = modb.SaveHead( ModelObjectConvert.ToModelObjectList(iList) ); if (result.Success == true) { } else { //return result; } } /* var modb = new ModelObjectRepository(); foreach (var _d in iList) { if (Exist_Cargo(_d.GID) == true) { _d.DbOperationType = DbOperationType.DbotUpd; } else { _d.DbOperationType = DbOperationType.DbotIns; } } result = modb.SaveHead( ModelObjectConvert.ToModelObjectList(iList) ); return result; */ } catch (Exception e) { result.Success = false; result.Message = e.Message; } return result; } private static Boolean Exist ( string ContractNo ) { var strCheck = new StringBuilder(); strCheck.Append(" select ContractNo");//0未提交 strCheck.Append(" from import_main_public where ContractNo = '" + ContractNo + "'"); DataSet ds = new DataSet(); Database db_check = DatabaseFactory.CreateDatabase(); var _C = ""; using (IDataReader reader = db_check.ExecuteReader(CommandType.Text, strCheck.ToString())) { while (reader.Read()) { _C = Convert.ToString(reader["ContractNo"]); } reader.Close(); } if (_C == "") { return false; } else return true; } private static Boolean Exist_Cargo ( string GID ) { var strCheck = new StringBuilder(); strCheck.Append(" select GID");//0未提交 strCheck.Append(" from import_CARGO_public where GID = '" + GID+"' "); DataSet ds = new DataSet(); Database db_check = DatabaseFactory.CreateDatabase(); var _C = ""; using (IDataReader reader = db_check.ExecuteReader(CommandType.Text, strCheck.ToString())) { while (reader.Read()) { _C = Convert.ToString(reader["GID"]); } reader.Close(); } if (_C == "") { return false; } else return true; } /*static public int DelSyncDetail(string GID,string tablename) { var strSql = new StringBuilder(); strSql.Append(" delete from " + tablename + " where GID ='" + GID + "'");//Receipt_Doc_Public //strSql.Append(" delete from " + tablename + " where GID ='" + GID + "'");//CH_FEE_Public var _count = 0; Database db = DatabaseFactory.CreateDatabase(); _count = db.ExecuteNonQuery(CommandType.Text, strSql.ToString()); return _count; }*/ #endregion public static string ContractNo { get; set; } static public DBResult SetPrice ( string Price_1, string Price_2, string Price_3, string Pay_Amount_2, string GIdSql ) { var result = new DBResult(); using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction)) { try { var sSql = ""; if (Price_1 != "") { if (Convert.ToDouble(Price_1) >= 0) { sSql = "update tmswl_HH_ZY set Price_1=" + Price_1; sSql = sSql + ",Amount_1=(case BillingType when 0 then Tons*distance*" + Price_1 + " when 1 then distance*" + Price_1 + " end )"; } } if (Price_2 != "") { if (Convert.ToDouble(Price_2) >= 0) { if (sSql == "") { sSql = "update tmswl_HH_ZY set Price_2=" + Price_2 + ",Pay_Amount_2=(case BillingType when 0 then Tons*distance*" + Price_2 + " when 1 then distance*" + Price_2 + " end )"; } else if (Pay_Amount_2 == "") { sSql = sSql + ", Price_2=" + Price_2 + ",Pay_Amount_2=(case BillingType when 0 then Tons*distance*" + Price_2 + " when 1 then distance*" + Price_2 + " end )"; } else { sSql = sSql + ", Price_2=" + Price_2; } } } /* if (Price_3 != "") { if (Convert.ToDouble(Price_2) >= 0) { if (sSql == "") { sSql = "update tmswl_HH_ZY set Price_2=" + Price_2 + ",Pay_Amount_2=(case BillingType when 0 then Tons*distance*" + Price_2 + " when 1 then distance*" + Price_2 + " end )"; } else if (Pay_Amount_2 == "") { sSql = sSql + ", Price_2=" + Price_2 + ",Pay_Amount_2=(case BillingType when 0 then Tons*distance*" + Price_2 + " when 1 then distance*" + Price_2 + " end )"; } else { sSql = sSql + ", Price_2=" + Price_2; } } }*/ if (Pay_Amount_2 != "") { if (Convert.ToDouble(Pay_Amount_2) >= 0) { if (sSql == "") { sSql = "update tmswl_HH_ZY set Pay_Amount_2=" + Pay_Amount_2; } else { sSql = sSql + ", Pay_Amount_2=" + Pay_Amount_2; } } } sSql = sSql + " where " + GIdSql; SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, sSql, null); //事务提交 sqlTran.Commit(); result.Success = true; result.Message = "保存成功"; } catch (Exception execError) { result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员"; throw execError; } finally { SqlHelper.CloseConnection(); } } using (SqlTransaction sqlTran = SqlHelper.BeginTransaction(SqlHelper.ConnectionStringLocalTransaction)) { try { var sSql = ""; sSql = " update tmswl_HH_ZY set tax=Pay_Amount_2*0.045,Amount_2=Pay_Amount_2-Pay_Amount_2*0.045 "; sSql = sSql + " where TruckNo in(select truckno from tmswltruck where property=2) and " + GIdSql; sSql = sSql + " update tmswl_HH_ZY set tax=0,Amount_2=Pay_Amount_2 "; sSql = sSql + " where TruckNo in(select truckno from tmswltruck where property in(0,1)) and " + GIdSql; SqlHelper.ExecuteNonQuery(sqlTran, CommandType.Text, sSql, null); //事务提交 sqlTran.Commit(); result.Success = true; result.Message = "保存成功"; } catch (Exception execError) { result.Success = false; result.Message = "保存出现错误,请重试或联系系统管理员"; throw execError; } finally { SqlHelper.CloseConnection(); } } return result; } public static bool SetBatchRate(string GIDS, string Rate) { var iError = 0; string strSql = "exec Proc_XXH_BatchRate '" + GIDS + "','" + Rate + "' "; Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString())) { while (reader.Read()) { iError = Convert.ToInt16(reader["result"]); break; } reader.Close(); } if (iError == 0) { return true; } else { return false; } } } }