You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
509 lines
38 KiB
C#
509 lines
38 KiB
C#
using System;
|
|
using System.Data;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using DSWeb.MvcShipping.Models.MsCwGenlegAccitems;
|
|
using DSWeb.MvcShipping.Models.MsCwAccitemsGl;
|
|
using Microsoft.Practices.EnterpriseLibrary.Data;
|
|
using DSWeb.EntityDA;
|
|
using DSWeb.Areas.CommMng.Models;
|
|
using HcUtility.Comm;
|
|
using System.Data.SqlClient;
|
|
using DSWeb.DataAccess;
|
|
using HcUtility.Core;
|
|
using DSWeb.Areas.CommMng.DAL;
|
|
|
|
namespace DSWeb.MvcShipping.DAL.RptCwGLDAL
|
|
{
|
|
public class RptCwGLDAL
|
|
{
|
|
#region 查询
|
|
static public List<MsCwGenlegAccitems> GetDataList(string strCondition, string ACCDATEbgn, string ACCDATEend, string strCbHSKM, string strCURRENCY, string userid, string usercode, string companyid, string sort = null)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
string sSql = GetDataListSQL(strCondition, ACCDATEbgn, ACCDATEend, strCbHSKM, strCURRENCY, userid, usercode, companyid);
|
|
strSql.Append(sSql);
|
|
//
|
|
var sortstring = DatasetSort.Getsortstring(sort);
|
|
if (!string.IsNullOrEmpty(sortstring))
|
|
{
|
|
strSql.Append(" order by " + sortstring);
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" order by LINKCODE,LINKNAME,ACCDATE,EXPLAN2");
|
|
}
|
|
return SetData(strSql);
|
|
}
|
|
|
|
static public string GetDataListStr(string strCondition, string ACCDATEbgn, string ACCDATEend, string strCbHSKM, string strCURRENCY, string userid, string usercode, string companyid)
|
|
{
|
|
var strSql = new StringBuilder();
|
|
string sSql = GetDataListSQL(strCondition, ACCDATEbgn, ACCDATEend, strCbHSKM, strCURRENCY, userid, usercode, companyid);
|
|
strSql.Append(sSql);
|
|
strSql.Append(" order by LINKCODE,LINKNAME,ACCDATE,EXPLAN2");
|
|
return strSql.ToString();
|
|
}
|
|
|
|
static public string GetDataListSQL(string strCondition, string ACCDATEbgn, string ACCDATEend, string strCbHSKM, string strCURRENCY, string userid, string usercode, string companyid)
|
|
{
|
|
string strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(userid);
|
|
var strSql = new StringBuilder();
|
|
if (strCURRENCY.Trim() == "综合本位币")
|
|
{
|
|
#region 综合本位币
|
|
strSql.Append("(SELECT newid() as GID,LINKCODE,ACCDATE,'年初余额' as EXPLAN,1 as EXPLAN2,DC");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(",(LINKNAME+(case when (CORPACC='' or CORPACC is null) then '' else ('▁'+CORPACC) end)+(case when (DEPTACC='' or DEPTACC is null) then '' else ('▁'+DEPTACC) end)+(case when (EMPLACC='' or EMPLACC is null) then '' else ('▁'+EMPLACC) end)+(case when (ITEMACC='' or ITEMACC is null) then '' else ('▁'+ITEMACC) end)) as LINKNAME,DEPTACC,EMPLACC,CORPACC,ITEMACC");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(",LINKNAME,'' as DEPTACC,'' as EMPLACC,'' as CORPACC,'' as ITEMACC");
|
|
}
|
|
strSql.Append(",isnull(sum(QTYYEARDR),0) as DR,isnull(sum(QTYYEARCR),0) as CR,isnull(sum(QTYYEARBLC),0) as BLC");
|
|
strSql.Append(" from (");
|
|
strSql.Append("select *,LINKCODE=(select top 1 ACCID from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),LINKNAME=(select top 1 ACCNAME from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),DC=(select top 1 DC from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID) from cw_genleg_accitems where [STARTGID]='" + strCwSTARTGID + "' and ISDELETE=0 and ISENABLE=1 " + strCbHSKM + ACCDATEbgn);
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" and " + strCondition);
|
|
}
|
|
//strSql.Append(" and CORPID='" + companyid + "'");
|
|
strSql.Append(") as a");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC,DEPTACC,EMPLACC,CORPACC,ITEMACC)");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC)");
|
|
}
|
|
strSql.Append(" union ");
|
|
strSql.Append("(SELECT newid() as GID,LINKCODE,ACCDATE,'本期合计' as EXPLAN,2 as EXPLAN2,DC");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(",(LINKNAME+(case when (CORPACC='' or CORPACC is null) then '' else ('▁'+CORPACC) end)+(case when (DEPTACC='' or DEPTACC is null) then '' else ('▁'+DEPTACC) end)+(case when (EMPLACC='' or EMPLACC is null) then '' else ('▁'+EMPLACC) end)+(case when (ITEMACC='' or ITEMACC is null) then '' else ('▁'+ITEMACC) end)) as LINKNAME,DEPTACC,EMPLACC,CORPACC,ITEMACC");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(",LINKNAME,'' as DEPTACC,'' as EMPLACC,'' as CORPACC,'' as ITEMACC");
|
|
}
|
|
strSql.Append(",isnull(sum(QTYDR),0) as DR,isnull(sum(QTYCR),0) as CR,isnull(sum(QTYBLC),0) as BLC");
|
|
strSql.Append(" from (");
|
|
strSql.Append("select *,LINKCODE=(select top 1 ACCID from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),LINKNAME=(select top 1 ACCNAME from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),DC=(select top 1 DC from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID) from cw_genleg_accitems where [STARTGID]='" + strCwSTARTGID + "' and ISDELETE=0 and ISENABLE=1 " + strCbHSKM);
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" and " + strCondition);
|
|
}
|
|
//strSql.Append(" and CORPID='" + companyid + "'");
|
|
strSql.Append(") as a");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC,DEPTACC,EMPLACC,CORPACC,ITEMACC)");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC)");
|
|
}
|
|
strSql.Append(" union ");
|
|
strSql.Append("(SELECT newid() as GID,LINKCODE,ACCDATE,'本年累计' as EXPLAN,3 as EXPLAN2,DC");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(",(LINKNAME+(case when (CORPACC='' or CORPACC is null) then '' else ('▁'+CORPACC) end)+(case when (DEPTACC='' or DEPTACC is null) then '' else ('▁'+DEPTACC) end)+(case when (EMPLACC='' or EMPLACC is null) then '' else ('▁'+EMPLACC) end)+(case when (ITEMACC='' or ITEMACC is null) then '' else ('▁'+ITEMACC) end)) as LINKNAME,DEPTACC,EMPLACC,CORPACC,ITEMACC");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(",LINKNAME,'' as DEPTACC,'' as EMPLACC,'' as CORPACC,'' as ITEMACC");
|
|
}
|
|
strSql.Append(",isnull(sum(QTYLASTDR),0) as DR,isnull(sum(QTYLASTCR),0) as CR,isnull(sum(QTYLASTBLC),0) as BLC");
|
|
strSql.Append(" from (");
|
|
strSql.Append("select *,LINKCODE=(select top 1 ACCID from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),LINKNAME=(select top 1 ACCNAME from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),DC=(select top 1 DC from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID) from cw_genleg_accitems where [STARTGID]='" + strCwSTARTGID + "' and ISDELETE=0 and ISENABLE=1 " + strCbHSKM);
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" and " + strCondition);
|
|
}
|
|
//strSql.Append(" and CORPID='" + companyid + "'");
|
|
strSql.Append(") as a");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC,DEPTACC,EMPLACC,CORPACC,ITEMACC)");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC)");
|
|
}
|
|
#endregion
|
|
}
|
|
else if (strCURRENCY.Trim() == "RMB")
|
|
{
|
|
#region RMB
|
|
strSql.Append("(SELECT newid() as GID,LINKCODE,ACCDATE,'年初余额' as EXPLAN,1 as EXPLAN2,DC");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(",(LINKNAME+(case when (CORPACC='' or CORPACC is null) then '' else ('▁'+CORPACC) end)+(case when (DEPTACC='' or DEPTACC is null) then '' else ('▁'+DEPTACC) end)+(case when (EMPLACC='' or EMPLACC is null) then '' else ('▁'+EMPLACC) end)+(case when (ITEMACC='' or ITEMACC is null) then '' else ('▁'+ITEMACC) end)) as LINKNAME,DEPTACC,EMPLACC,CORPACC,ITEMACC");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(",LINKNAME,'' as DEPTACC,'' as EMPLACC,'' as CORPACC,'' as ITEMACC");
|
|
}
|
|
strSql.Append(",isnull(sum(AMTYEARDR),0) as DR,isnull(sum(AMTYEARCR),0) as CR,isnull(sum(AMTYEARBLC),0) as BLC");
|
|
strSql.Append(" from (");
|
|
strSql.Append("select *,LINKCODE=(select top 1 ACCID from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),LINKNAME=(select top 1 ACCNAME from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),DC=(select top 1 DC from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID) from cw_genleg_accitems where [STARTGID]='" + strCwSTARTGID + "' and ISDELETE=0 and ISENABLE=1 and CURRENCY='" + strCURRENCY + "' " + strCbHSKM + ACCDATEbgn);
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" and " + strCondition);
|
|
}
|
|
//strSql.Append(" and CORPID='" + companyid + "'");
|
|
strSql.Append(") as a");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC,DEPTACC,EMPLACC,CORPACC,ITEMACC)");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC)");
|
|
}
|
|
strSql.Append(" union ");
|
|
strSql.Append("(SELECT newid() as GID,LINKCODE,ACCDATE,'本期合计' as EXPLAN,2 as EXPLAN2,DC");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(",(LINKNAME+(case when (CORPACC='' or CORPACC is null) then '' else ('▁'+CORPACC) end)+(case when (DEPTACC='' or DEPTACC is null) then '' else ('▁'+DEPTACC) end)+(case when (EMPLACC='' or EMPLACC is null) then '' else ('▁'+EMPLACC) end)+(case when (ITEMACC='' or ITEMACC is null) then '' else ('▁'+ITEMACC) end)) as LINKNAME,DEPTACC,EMPLACC,CORPACC,ITEMACC");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(",LINKNAME,'' as DEPTACC,'' as EMPLACC,'' as CORPACC,'' as ITEMACC");
|
|
}
|
|
strSql.Append(",isnull(sum(AMTDR),0) as DR,isnull(sum(AMTCR),0) as CR,isnull(sum(AMTBLC),0) as BLC");
|
|
strSql.Append(" from (");
|
|
strSql.Append("select *,LINKCODE=(select top 1 ACCID from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),LINKNAME=(select top 1 ACCNAME from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),DC=(select top 1 DC from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID) from cw_genleg_accitems where [STARTGID]='" + strCwSTARTGID + "' and ISDELETE=0 and ISENABLE=1 and CURRENCY='" + strCURRENCY + "' " + strCbHSKM);
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" and " + strCondition);
|
|
}
|
|
//strSql.Append(" and CORPID='" + companyid + "'");
|
|
strSql.Append(") as a");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC,DEPTACC,EMPLACC,CORPACC,ITEMACC)");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC)");
|
|
}
|
|
strSql.Append(" union ");
|
|
strSql.Append("(SELECT newid() as GID,LINKCODE,ACCDATE,'本年累计' as EXPLAN,3 as EXPLAN2,DC");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(",(LINKNAME+(case when (CORPACC='' or CORPACC is null) then '' else ('▁'+CORPACC) end)+(case when (DEPTACC='' or DEPTACC is null) then '' else ('▁'+DEPTACC) end)+(case when (EMPLACC='' or EMPLACC is null) then '' else ('▁'+EMPLACC) end)+(case when (ITEMACC='' or ITEMACC is null) then '' else ('▁'+ITEMACC) end)) as LINKNAME,DEPTACC,EMPLACC,CORPACC,ITEMACC");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(",LINKNAME,'' as DEPTACC,'' as EMPLACC,'' as CORPACC,'' as ITEMACC");
|
|
}
|
|
strSql.Append(",isnull(sum(AMTLASTDR),0) as DR,isnull(sum(AMTLASTCR),0) as CR,isnull(sum(AMTLASTBLC),0) as BLC");
|
|
strSql.Append(" from (");
|
|
strSql.Append("select *,LINKCODE=(select top 1 ACCID from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),LINKNAME=(select top 1 ACCNAME from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),DC=(select top 1 DC from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID) from cw_genleg_accitems where [STARTGID]='" + strCwSTARTGID + "' and ISDELETE=0 and ISENABLE=1 and CURRENCY='" + strCURRENCY + "' " + strCbHSKM);
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" and " + strCondition);
|
|
}
|
|
//strSql.Append(" and CORPID='" + companyid + "'");
|
|
strSql.Append(") as a");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC,DEPTACC,EMPLACC,CORPACC,ITEMACC)");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC)");
|
|
}
|
|
#endregion
|
|
}
|
|
else//外币
|
|
{
|
|
#region 外币
|
|
strSql.Append("(SELECT newid() as GID,LINKCODE,ACCDATE,'年初余额' as EXPLAN,1 as EXPLAN2,DC");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(",(LINKNAME+(case when (CORPACC='' or CORPACC is null) then '' else ('▁'+CORPACC) end)+(case when (DEPTACC='' or DEPTACC is null) then '' else ('▁'+DEPTACC) end)+(case when (EMPLACC='' or EMPLACC is null) then '' else ('▁'+EMPLACC) end)+(case when (ITEMACC='' or ITEMACC is null) then '' else ('▁'+ITEMACC) end)) as LINKNAME,DEPTACC,EMPLACC,CORPACC,ITEMACC");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(",LINKNAME,'' as DEPTACC,'' as EMPLACC,'' as CORPACC,'' as ITEMACC");
|
|
}
|
|
strSql.Append(",isnull(sum(FCYYEARDR),0) as DR,isnull(sum(FCYYEARCR),0) as CR,isnull(sum(FCYYEARBLC),0) as BLC");
|
|
strSql.Append(" from (");
|
|
strSql.Append("select *,LINKCODE=(select top 1 ACCID from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),LINKNAME=(select top 1 ACCNAME from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),DC=(select top 1 DC from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID) from cw_genleg_accitems where [STARTGID]='" + strCwSTARTGID + "' and ISDELETE=0 and ISENABLE=1 and CURRENCY='" + strCURRENCY + "'" + strCbHSKM + ACCDATEbgn);
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" and " + strCondition);
|
|
}
|
|
//strSql.Append(" and CORPID='" + companyid + "'");
|
|
strSql.Append(") as a");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC,DEPTACC,EMPLACC,CORPACC,ITEMACC)");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC)");
|
|
}
|
|
strSql.Append(" union ");
|
|
strSql.Append("(SELECT newid() as GID,LINKCODE,ACCDATE,'本期合计' as EXPLAN,2 as EXPLAN2,DC");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(",(LINKNAME+(case when (CORPACC='' or CORPACC is null) then '' else ('▁'+CORPACC) end)+(case when (DEPTACC='' or DEPTACC is null) then '' else ('▁'+DEPTACC) end)+(case when (EMPLACC='' or EMPLACC is null) then '' else ('▁'+EMPLACC) end)+(case when (ITEMACC='' or ITEMACC is null) then '' else ('▁'+ITEMACC) end)) as LINKNAME,DEPTACC,EMPLACC,CORPACC,ITEMACC");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(",LINKNAME,'' as DEPTACC,'' as EMPLACC,'' as CORPACC,'' as ITEMACC");
|
|
}
|
|
strSql.Append(",isnull(sum(FCYDR),0) as DR,isnull(sum(FCYCR),0) as CR,isnull(sum(FCYBLC),0) as BLC");
|
|
strSql.Append(" from (");
|
|
strSql.Append("select *,LINKCODE=(select top 1 ACCID from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),LINKNAME=(select top 1 ACCNAME from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),DC=(select top 1 DC from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID) from cw_genleg_accitems where [STARTGID]='" + strCwSTARTGID + "' and ISDELETE=0 and ISENABLE=1 and CURRENCY='" + strCURRENCY + "' " + strCbHSKM);
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" and " + strCondition);
|
|
}
|
|
//strSql.Append(" and CORPID='" + companyid + "'");
|
|
strSql.Append(") as a");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC,DEPTACC,EMPLACC,CORPACC,ITEMACC)");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC)");
|
|
}
|
|
strSql.Append(" union ");
|
|
strSql.Append("(SELECT newid() as GID,LINKCODE,ACCDATE,'本年累计' as EXPLAN,3 as EXPLAN2,DC");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(",(LINKNAME+(case when (CORPACC='' or CORPACC is null) then '' else ('▁'+CORPACC) end)+(case when (DEPTACC='' or DEPTACC is null) then '' else ('▁'+DEPTACC) end)+(case when (EMPLACC='' or EMPLACC is null) then '' else ('▁'+EMPLACC) end)+(case when (ITEMACC='' or ITEMACC is null) then '' else ('▁'+ITEMACC) end)) as LINKNAME,DEPTACC,EMPLACC,CORPACC,ITEMACC");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(",LINKNAME,'' as DEPTACC,'' as EMPLACC,'' as CORPACC,'' as ITEMACC");
|
|
}
|
|
strSql.Append(",isnull(sum(FCYLASTDR),0) as DR,isnull(sum(FCYLASTCR),0) as CR,isnull(sum(FCYLASTBLC),0) as BLC");
|
|
strSql.Append(" from (");
|
|
strSql.Append("select *,LINKCODE=(select top 1 ACCID from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),LINKNAME=(select top 1 ACCNAME from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID),DC=(select top 1 DC from [cw_accitems_gl] where gid=cw_genleg_accitems.LINKGID) from cw_genleg_accitems where [STARTGID]='" + strCwSTARTGID + "' and ISDELETE=0 and ISENABLE=1 and CURRENCY='" + strCURRENCY + "' " + strCbHSKM);
|
|
if (!string.IsNullOrEmpty(strCondition))
|
|
{
|
|
strSql.Append(" and " + strCondition);
|
|
}
|
|
//strSql.Append(" and CORPID='" + companyid + "'");
|
|
strSql.Append(") as a");
|
|
if (strCbHSKM.IndexOf("CORPACC") > -1)
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC,DEPTACC,EMPLACC,CORPACC,ITEMACC)");
|
|
}
|
|
else
|
|
{
|
|
strSql.Append(" group by LINKGID,LINKCODE,LINKNAME,ACCDATE,DC)");
|
|
}
|
|
#endregion
|
|
}
|
|
return strSql.ToString();
|
|
}
|
|
|
|
private static List<MsCwGenlegAccitems> SetData(StringBuilder strSql)
|
|
{
|
|
var headList = new List<MsCwGenlegAccitems>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql.ToString()))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
MsCwGenlegAccitems data = new MsCwGenlegAccitems();
|
|
#region Set DB data to Object
|
|
data.GID = (reader["GID"] == null ? "" : Convert.ToString(reader["GID"]));//唯一编码
|
|
//data.YEAR = (reader["YEAR"] == null ? "" : Convert.ToString(reader["YEAR"]));//年
|
|
//data.MONTH = (reader["MONTH"] == null ? "" : Convert.ToString(reader["MONTH"]));//月
|
|
//data.LINKGID = (reader["LINKGID"] == null ? "" : Convert.ToString(reader["LINKGID"]));//科目GID
|
|
//data.CURRENCY = (reader["CURRENCY"] == null ? "RMB" : Convert.ToString(reader["CURRENCY"]));//是否核算外币
|
|
data.DEPTACC = (reader["DEPTACC"] == null ? "" : Convert.ToString(reader["DEPTACC"]));//是否核算部门
|
|
data.EMPLACC = (reader["EMPLACC"] == null ? "" : Convert.ToString(reader["EMPLACC"]));//是否核算人员
|
|
data.CORPACC = (reader["CORPACC"] == null ? "" : Convert.ToString(reader["CORPACC"]));//是否算客户门
|
|
data.ITEMACC = (reader["ITEMACC"] == null ? "" : Convert.ToString(reader["ITEMACC"]));//是否核算项目
|
|
data.DR = (reader["DR"] == null ? 0 : Convert.ToDecimal(reader["DR"]));//借方
|
|
data.CR = (reader["CR"] == null ? 0 : Convert.ToDecimal(reader["CR"]));//贷方
|
|
data.BLC = (reader["BLC"] == null ? 0 : Convert.ToDecimal(reader["BLC"]));//余额
|
|
//data.CORPID = (reader["CORPID"] == null ? "" : Convert.ToString(reader["CORPID"]));//分公司代码
|
|
data.LINKNAME = (reader["LINKNAME"] == null ? "" : Convert.ToString(reader["LINKNAME"]));//科目名称
|
|
data.LINKCODE = (reader["LINKCODE"] == null ? "" : Convert.ToString(reader["LINKCODE"]));
|
|
data.ACCDATE = (reader["ACCDATE"] == null ? "" : Convert.ToString(reader["ACCDATE"]));//会计期间
|
|
data.DC = (reader["DC"] == null ? "" : Convert.ToString(reader["DC"]));
|
|
data.EXPLAN = (reader["EXPLAN"] == null ? "" : Convert.ToString(reader["EXPLAN"]));
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
return headList;
|
|
}
|
|
|
|
/*
|
|
public static void SaveRow(DataRow myRow, string strUSERID, string strCOMPANYID)
|
|
{
|
|
var isPost = true;
|
|
string strACCDATE = myRow["ACCDATE"].ToString().Trim();
|
|
string strCwSTARTGID = BasicDataRefDAL.GetCwSTARTGID(strUSERID);
|
|
string PACCGID = myRow["PACCGID"].ToString().Trim();
|
|
T_ALL_DA T_ALL_DA = new EntityDA.T_ALL_DA();
|
|
DateTime rq = DateTime.Parse(strACCDATE+"-01");
|
|
DateTime rq2 = DateTime.Parse(T_ALL_DA.GetStrSQL("rq", "select getdate() as rq"));
|
|
//
|
|
if (myRow["PACCGID"].ToString().Trim() != "0" && myRow["PACCGID"].ToString().Trim() != "ZC" && myRow["PACCGID"].ToString().Trim() != "FZ" && myRow["PACCGID"].ToString().Trim() != "GT" && myRow["PACCGID"].ToString().Trim() != "QY" && myRow["PACCGID"].ToString().Trim() != "CB" && myRow["PACCGID"].ToString().Trim() != "SY")
|
|
{
|
|
string sSQL = "SELECT GID,ACCID,ACCNAME,DETAILED,DC,ISFCY,ISDEPTACC,ISEMPLACC,ISCORPACC,ISITEMACC,REMARKS,[YEAR],[MONTH],PACCGID=(case when (PACCGID='ZC' or PACCGID='FZ' or PACCGID='GT' or PACCGID='QY' or PACCGID='CB' or PACCGID='SY') then '0' else PACCGID end),ACCATTRIBUTE,ISENABLE,ACCTYPE,PACCID=(select top 1 ACCID from [cw_accitems_gl] as a where [STARTGID]='" + strCwSTARTGID + "' and a.gid=cw_accitems_gl.PACCGID),PACCNAME=(select top 1 ACCNAME from [cw_accitems_gl] as b where [STARTGID]='" + strCwSTARTGID + "' and b.gid=cw_accitems_gl.PACCGID),gid as [id],ACCID+' '+ACCNAME as [NAME],0 as DR,0 as CR from [cw_accitems_gl] WITH(NOLOCK) where [YEAR]=SUBSTRING('" + strACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "' order by [YEAR],ACCID";
|
|
DataSet ds = T_ALL_DA.GetAllSQL(sSQL);
|
|
if (ds != null)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
while (PACCGID.Trim() != "")
|
|
{
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
if (ds.Tables[0].Rows[i]["GID"].ToString().Trim() == PACCGID)
|
|
{
|
|
string pDC = ds.Tables[0].Rows[i]["DC"].ToString().Trim();
|
|
MsCwGenlegAccitems headRow = new MsCwGenlegAccitems();
|
|
string PACCGID_gid = T_ALL_DA.GetStrSQL("gid", "select top 1 isnull(gid,'') as gid from cw_genleg_accitems WITH(NOLOCK) where [STARTGID]='" + strCwSTARTGID + "' and ACCDATE=SUBSTRING(convert(varchar,'" + strACCDATE + "',23),1,7) and [YEAR]=SUBSTRING('" + strACCDATE + "',1,4) and LINKGID='" + PACCGID.Trim() + "' and DEPTACC='' and EMPLACC='' and CORPACC='' and ITEMACC=''");
|
|
if (PACCGID_gid.Trim() != "")//"edit"
|
|
{
|
|
sSQL = "SELECT sum(AMTYEARDR) as AMTYEARDR,sum(AMTYEARCR) as AMTYEARCR,sum(case when '" + pDC + "'=DC then AMTYEARBLC else (-AMTYEARBLC) end) as AMTYEARBLC,sum(AMTDR) as AMTDR,sum(AMTCR) as AMTCR,sum(case when '" + pDC + "'=DC then AMTBLC else (-AMTBLC) end) as AMTBLC,sum(AMTLASTDR) as AMTLASTDR,sum(AMTLASTCR) as AMTLASTCR,sum(case when '" + pDC + "'=DC then AMTLASTBLC else (-AMTLASTBLC) end) as AMTLASTBLC,sum(FCYYEARDR) as FCYYEARDR,sum(FCYYEARCR) as FCYYEARCR,sum(case when '" + pDC + "'=DC then FCYYEARBLC else (-FCYYEARBLC) end) as FCYYEARBLC,sum(FCYDR) as FCYDR,sum(FCYCR) as FCYCR,sum(case when '" + pDC + "'=DC then FCYBLC else (-FCYBLC) end) as FCYBLC,sum(FCYLASTDR) as FCYLASTDR,sum(FCYLASTCR) as FCYLASTCR,sum(case when '" + pDC + "'=DC then FCYLASTBLC else (-FCYLASTBLC) end) as FCYLASTBLC,sum(QTYYEARDR) as QTYYEARDR,sum(QTYYEARCR) as QTYYEARCR,sum(case when '" + pDC + "'=DC then QTYYEARBLC else (-QTYYEARBLC) end) as QTYYEARBLC,sum(QTYDR) as QTYDR,sum(QTYCR) as QTYCR,sum(case when '" + pDC + "'=DC then QTYBLC else (-QTYBLC) end) as QTYBLC,sum(QTYLASTDR) as QTYLASTDR,sum(QTYLASTCR) as QTYLASTCR,sum(case when '" + pDC + "'=DC then QTYLASTBLC else (-QTYLASTBLC) end) as QTYLASTBLC,sum(PFADR) as PFADR,sum(PFACR) as PFACR from [vw_cw_genleg_accitems_gl] WITH(NOLOCK) where [STARTGID]='" + strCwSTARTGID + "' and ACCDATE=SUBSTRING(convert(varchar,'" + strACCDATE + "',23),1,7) and LINKGID in(select gid from cw_accitems_gl where PACCGID='" + PACCGID.Trim() + "' and [YEAR]=SUBSTRING('" + strACCDATE + "',1,4) and [STARTGID]='" + strCwSTARTGID + "')";
|
|
DataSet dsLS = T_ALL_DA.GetAllSQL(sSQL);
|
|
if (dsLS != null)
|
|
{
|
|
if (dsLS.Tables[0].Rows.Count > 0)
|
|
{
|
|
#region 默认值
|
|
headRow.YEAR = rq.Year.ToString();//年
|
|
headRow.MONTH = rq.Month.ToString();//月
|
|
if (rq.Month.ToString().Length == 1)
|
|
{
|
|
headRow.MONTH = "0" + rq.Month.ToString();//月
|
|
}
|
|
headRow.ACCDATE = headRow.YEAR.ToString() + "-" + headRow.MONTH.ToString();//月
|
|
headRow.LINKGID = PACCGID.Trim();//科目GID
|
|
headRow.DEPTACC = "";//核算部门
|
|
headRow.EMPLACC = "";//核算人员
|
|
headRow.CORPACC = "";//核算客户
|
|
headRow.ITEMACC = "";//核算项目
|
|
if (headRow.FCYDR.ToString().Trim() != "0" || headRow.FCYCR.ToString().Trim() != "0")
|
|
{
|
|
headRow.CURRENCY = "USD";//币别
|
|
}
|
|
else
|
|
{
|
|
headRow.CURRENCY = "RMB";//币别
|
|
}
|
|
headRow.AMTYEARDR = Decimal.Parse(dsLS.Tables[0].Rows[0]["AMTYEARDR"].ToString().Trim());//RMB期初借方
|
|
headRow.AMTYEARCR = Decimal.Parse(dsLS.Tables[0].Rows[0]["AMTYEARCR"].ToString().Trim());//RMB期初贷方
|
|
headRow.AMTYEARBLC = Decimal.Parse(dsLS.Tables[0].Rows[0]["AMTYEARBLC"].ToString().Trim());//RMB期初余额
|
|
headRow.AMTDR = Decimal.Parse(dsLS.Tables[0].Rows[0]["AMTDR"].ToString().Trim());//RMB本月借方
|
|
headRow.AMTCR = Decimal.Parse(dsLS.Tables[0].Rows[0]["AMTCR"].ToString().Trim());//RMB本月贷方
|
|
headRow.AMTBLC = Decimal.Parse(dsLS.Tables[0].Rows[0]["AMTBLC"].ToString().Trim());//RMB本月余额
|
|
headRow.AMTLASTDR = Decimal.Parse(dsLS.Tables[0].Rows[0]["AMTLASTDR"].ToString().Trim());//RMB累计借方
|
|
headRow.AMTLASTCR = Decimal.Parse(dsLS.Tables[0].Rows[0]["AMTLASTCR"].ToString().Trim());//RMB累计贷方
|
|
headRow.AMTLASTBLC = Decimal.Parse(dsLS.Tables[0].Rows[0]["AMTLASTBLC"].ToString().Trim());//RMB累计余额
|
|
headRow.FCYYEARDR = Decimal.Parse(dsLS.Tables[0].Rows[0]["FCYYEARDR"].ToString().Trim());//外币期初借方
|
|
headRow.FCYYEARCR = Decimal.Parse(dsLS.Tables[0].Rows[0]["FCYYEARCR"].ToString().Trim());//外币期初贷方
|
|
headRow.FCYYEARBLC = Decimal.Parse(dsLS.Tables[0].Rows[0]["FCYYEARBLC"].ToString().Trim());//外币期初余额
|
|
headRow.FCYDR = Decimal.Parse(dsLS.Tables[0].Rows[0]["FCYDR"].ToString().Trim());//外币本月借方
|
|
headRow.FCYCR = Decimal.Parse(dsLS.Tables[0].Rows[0]["FCYCR"].ToString().Trim());//外币本月贷方
|
|
headRow.FCYBLC = Decimal.Parse(dsLS.Tables[0].Rows[0]["FCYBLC"].ToString().Trim());//外币本月余额
|
|
headRow.FCYLASTDR = Decimal.Parse(dsLS.Tables[0].Rows[0]["FCYLASTDR"].ToString().Trim());//外币累计借方
|
|
headRow.FCYLASTCR = Decimal.Parse(dsLS.Tables[0].Rows[0]["FCYLASTCR"].ToString().Trim());//外币累计贷方
|
|
headRow.FCYLASTBLC = Decimal.Parse(dsLS.Tables[0].Rows[0]["FCYLASTBLC"].ToString().Trim());//外币累计余额
|
|
headRow.QTYYEARDR = Decimal.Parse(dsLS.Tables[0].Rows[0]["QTYYEARDR"].ToString().Trim());//期初借方
|
|
headRow.QTYYEARCR = Decimal.Parse(dsLS.Tables[0].Rows[0]["QTYYEARCR"].ToString().Trim());//期初贷方
|
|
headRow.QTYYEARBLC = Decimal.Parse(dsLS.Tables[0].Rows[0]["QTYYEARBLC"].ToString().Trim());//期初余额
|
|
headRow.QTYDR = Decimal.Parse(dsLS.Tables[0].Rows[0]["QTYDR"].ToString().Trim());//本月借方
|
|
headRow.QTYCR = Decimal.Parse(dsLS.Tables[0].Rows[0]["QTYCR"].ToString().Trim());//本月贷方
|
|
headRow.QTYBLC = Decimal.Parse(dsLS.Tables[0].Rows[0]["QTYBLC"].ToString().Trim());//本月余额
|
|
headRow.QTYLASTDR = Decimal.Parse(dsLS.Tables[0].Rows[0]["QTYLASTDR"].ToString().Trim());//累计借方
|
|
headRow.QTYLASTCR = Decimal.Parse(dsLS.Tables[0].Rows[0]["QTYLASTCR"].ToString().Trim());//累计贷方
|
|
headRow.QTYLASTBLC = Decimal.Parse(dsLS.Tables[0].Rows[0]["QTYLASTBLC"].ToString().Trim());//累计余额
|
|
headRow.PFADR = Decimal.Parse(dsLS.Tables[0].Rows[0]["PFADR"].ToString().Trim());//损益类科目本年累计数借方
|
|
headRow.PFACR = Decimal.Parse(dsLS.Tables[0].Rows[0]["PFACR"].ToString().Trim());//损益类科目本年累计数贷方
|
|
headRow.CORPID = strCOMPANYID;//分公司代码
|
|
headRow.ISDELETE = false;//是否删除
|
|
headRow.DELETEUSER = "";//删除人
|
|
headRow.DELETETIME = rq2;//删除时间
|
|
headRow.CREATEUSER = strUSERID;//创建人gid
|
|
headRow.CREATETIME = rq2;//创建时间
|
|
headRow.MODIFIEDUSER = strUSERID;//更改操作人gid
|
|
headRow.MODIFIEDTIME = rq2;//更改操作时间
|
|
#endregion
|
|
//headRow.CREATEUSER2 = strUSERID;
|
|
//headRow.CORPID2 = strCOMPANYID;
|
|
headRow.GID = PACCGID_gid.Trim();//唯一编码
|
|
headRow.DbOperationType = DbOperationType.DbotUpd;
|
|
headRow.ModelUIStatus = "E";
|
|
}
|
|
}
|
|
}
|
|
//
|
|
if (isPost)
|
|
{
|
|
if (headRow != null)
|
|
{
|
|
var modb = new ModelObjectDB();
|
|
DBResult result = modb.Save(headRow);
|
|
}
|
|
}
|
|
//
|
|
if (ds.Tables[0].Rows[i]["PACCGID"].ToString().Trim() == "0" || ds.Tables[0].Rows[i]["PACCGID"].ToString().Trim() == "ZC" || ds.Tables[0].Rows[i]["PACCGID"].ToString().Trim() == "FZ" || ds.Tables[0].Rows[i]["PACCGID"].ToString().Trim() == "GT" || ds.Tables[0].Rows[i]["PACCGID"].ToString().Trim() == "QY" || ds.Tables[0].Rows[i]["PACCGID"].ToString().Trim() == "CB" || ds.Tables[0].Rows[i]["PACCGID"].ToString().Trim() == "SY")
|
|
{
|
|
PACCGID = "";
|
|
}
|
|
else
|
|
{
|
|
PACCGID = ds.Tables[0].Rows[i]["PACCGID"].ToString().Trim();
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
*/
|
|
#endregion
|
|
|
|
#region 币别_下拉框
|
|
static public List<CodeCurrencyModel> GetCodeCurrencyList()
|
|
{
|
|
String strSql = "select * from [code_currency]";
|
|
return SetCodeCurrencyData(strSql);
|
|
}
|
|
private static List<CodeCurrencyModel> SetCodeCurrencyData(String strSql)
|
|
{
|
|
var headList = new List<CodeCurrencyModel>();
|
|
Database db = DatabaseFactory.CreateDatabase();
|
|
using (IDataReader reader = db.ExecuteReader(CommandType.Text, strSql))
|
|
{
|
|
while (reader.Read())
|
|
{
|
|
CodeCurrencyModel data = new CodeCurrencyModel();
|
|
#region Set DB data to Object
|
|
data.CODENAME = Convert.ToString(reader["CODENAME"]);
|
|
#endregion
|
|
headList.Add(data);
|
|
}
|
|
reader.Close();
|
|
}
|
|
//
|
|
CodeCurrencyModel data2 = new CodeCurrencyModel();
|
|
data2.CODENAME = "综合本位币";
|
|
headList.Add(data2);
|
|
return headList;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|