using System; using System.Data; using System.Data.Common; using System.Collections; using System.Collections.Generic; using System.Text; using DSWeb.MvcShipping.Models.MsMessTip; using DSWeb.MvcShipping.Models.MsTemplet; using Microsoft.Practices.EnterpriseLibrary.Data; using DSWeb.EntityDA; using DSWeb.Areas.CommMng.Models; using HcUtility.Comm; using System.Data.SqlClient; using System.IO; using HcUtility.Core; using DSWeb.Areas.CommMng.DAL; namespace DSWeb.MvcShipping.DAL.MsMessTip { public class MsMessTipDAL { static public List GetMessTip(string userid) { var strSql = new StringBuilder(); strSql.AppendLine("SELECT "); strSql.AppendLine("(select count(*) from v_op_bill where EXISTS (select 1 from ch_fee left join workflow_using wu on wu.bsno=ch_fee.GID where v_op_bill.BSNO=ch_fee.BSNO and ch_fee.FEESTATUS in (2,3,4) and dbo.[GetUsingStep](wu.WORKFLOWID,wu.currentid,'" + userid + "',wu.stepno)>0)) as RECEXPENSE,"); strSql.AppendLine("(select count(*) FROM ch_fee_payapplication i left join workflow_using wu on wu.bsno=i.billno where i.BILLSTATUS in (2,3) and dbo.[GetUsingStep](wu.WORKFLOWID,wu.currentid,'" + userid + "',wu.stepno)>0) as RECPAYMENT,"); strSql.AppendLine("(select count(*) FROM ch_fee_invoiceapplication i left join workflow_using wu on wu.bsno=i.billno where i.BILLSTATUS=2 and dbo.[GetUsingStep](wu.WORKFLOWID,wu.currentid,'" + userid + "',wu.stepno)>0) as RECINVOICE,"); strSql.AppendLine("(select count(*) from op_ctnbscard where EXISTS (select 1 from ch_fee left join workflow_using wu on wu.bsno=ch_fee.GID where op_ctnbscard.GID=ch_fee.BSNO and ch_fee.FEESTATUS in (2,3,4) and dbo.[GetUsingStep](wu.WORKFLOWID,wu.currentid,'" + userid + "',wu.stepno)>0)) as CHFEEAUDIT,"); strSql.AppendLine("(select count(*) from op_blissuelist ob left join workflow_using wu on wu.bsno=ob.BSNO where dbo.[GetUsingStep](wu.WORKFLOWID,wu.currentid,'" + userid + "',wu.stepno)>0) as INDEXSP,"); strSql.AppendLine("(case when (select COUNT(*) from user_action WHERE ACTIONID in (select GID from action where [NAME]='modCtnApplyGoodsAudit') and USERID='" + userid + "')=0 then (select COUNT(*) from user_action WHERE ACTIONID in (select GID from action where [NAME]='modCtnApplyGoodsAudit') and USERID='" + userid + "') else (select COUNT(*) from op_ctnapply where AUDITSTATUS='提交审核') end) as GOODSAUDIT, "); strSql.AppendLine("(case when (select count(*) FROM user_action WHERE ACTIONID in (select GID from action where [NAME]='modCtnApplyCostIndex') and USERID='"+userid+"')=0 then (select count(*) FROM user_action WHERE ACTIONID in (select GID from action where [NAME]='modCtnApplyCostIndex') and USERID='"+userid+"') else (select count(*) from op_ctnapply where COSTAUDITSTATUS='提交审核') end) as COSTAUDIT, "); strSql.AppendLine("(select count(*) from v_op_bill where EXISTS (select 1 from ch_fee left join workflow_using wu on wu.bsno=ch_fee.GID where v_op_bill.BSNO=ch_fee.BSNO and ch_fee.FEESTATUS in (2,3,4) and (wu.FINISHED=0 or wu.FINISHED is null) and op='"+userid+"')) as SENEXPENSE,"); strSql.AppendLine("(select count(*) FROM ch_fee_payapplication i left join workflow_using wu on wu.bsno=i.billno where i.BILLSTATUS in (2,3) and (wu.FINISHED=0 or wu.FINISHED is null) and op='"+userid+"') as SENPAYMENT,"); strSql.AppendLine("(select count(*) FROM ch_fee_invoiceapplication i left join workflow_using wu on wu.bsno=i.billno where i.BILLSTATUS=2 and i.BILLSTATUS=2 and (wu.FINISHED=0 or wu.FINISHED is null) and op='"+userid+"') as SENINVOICE"); return SetData(strSql); } 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()) { MsMessTipModel data = new MsMessTipModel(); #region Set DB data to Object data.RECEXPENSE = Convert.ToString(reader["RECEXPENSE"]);//待审核 费用审核 data.RECPAYMENT = Convert.ToString(reader["RECPAYMENT"]);//待审核 付费申请 data.RECINVOICE = Convert.ToString(reader["RECINVOICE"]);//待审核 发票申请 data.SENEXPENSE = Convert.ToString(reader["SENEXPENSE"]);//已提交未审核 费用审核 data.SENPAYMENT = Convert.ToString(reader["SENPAYMENT"]);//已提交未审核 付费申请 data.SENINVOICE = Convert.ToString(reader["SENINVOICE"]);//已提交未审核 发票申请 #endregion headList.Add(data); } reader.Close(); } return headList; } #region 查询模板地址 public static List GetTempletURL(string gid, string companyid) { List list = new List(); StringBuilder sql = new StringBuilder(); //sql.AppendLine("select top 1 TEMPLETURL from templet where TEMPLETID='" + gid + "'"); sql.AppendLine("select distinct B.GID,A.TEMPLETURL "); sql.AppendLine("from templet as A "); sql.AppendLine("left join user_templet as B on A.TEMPLETID=B.TEMPLETID "); sql.AppendLine("where A.TEMPLETID='" + gid + "' and B.LINKURL='.' and B.COMPANYID='" + companyid + "' "); Database db = DatabaseFactory.CreateDatabase(); using (IDataReader reader = db.ExecuteReader(CommandType.Text, sql.ToString())) { while (reader.Read()) { MsTempletStructure data = new MsTempletStructure(); data.GID = Convert.ToString(reader["GID"]); data.LINKURL = Convert.ToString(reader["TEMPLETURL"]); list.Add(data); } reader.Close(); } return list; } #endregion } }