protected void Page_Load(object sender, EventArgs e)
        {
            ShouKuan ent = null;

            switch (RequestActionString)
            {
            case "delete":
                string   idall   = RequestData.Get <string>("data1");
                string[] idArray = idall.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                for (int i = 0; i < idArray.Length; i++)
                {
                    ShouKuan.DeleteAll("Id='" + idArray[i] + "'");
                }
                break;

            default:
                DoSelect();
                break;
            }
        }
Exemple #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Aim.Portal.Web.WebPortalService.CheckLogon();
            }
            catch
            {
                Response.Write("<script> window.parent.location.href = '/Login.aspx';</script>");
                Response.End();
            }
            string action = Request["action"];

            switch (action)
            {
            case "DoSelect":
                if (!string.IsNullOrEmpty(Request["ProjectName"]))
                {
                    where += " and (b.ProjectName like '%" + Request["ProjectName"].Trim() + "%' or b.ZiXunCode like '%" + Request["ProjectName"].Trim() + "%')";
                }
                if (!string.IsNullOrEmpty(Request["InvoiceNo"]))
                {
                    where += " and InvoiceNo like '%" + Request["InvoiceNo"].Trim() + "%' ";
                }
                if (!string.IsNullOrEmpty(Request["StartDate"]))
                {
                    where += "and KaiPiaoDate >='" + Request["StartDate"] + "'";
                }
                if (!string.IsNullOrEmpty(Request["EndDate"]))
                {
                    where += "and KaiPiaoDate <='" + Request["StartDate"] + "'";
                }
                sql = @"select a.*,b.ProjectName,b.ZiXunCode,b.JianSheUnit,(select sum(ShouKuanAmount) from NCRL_SP..ShouKuan  where InvoiceId=a.Id group by  InvoiceId) ShouKuanAmount
                    from NCRL_SP..Invoice a left join NCRL_SP..Project b on  a. ProjectId=b.Id  where   1=1" + where;
                dt  = DataHelper.QueryDataTable(GetPageSql(sql));
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + ",total:" + totalProperty + "}");
                Response.End();
                break;

            case "zf":
                string Jarray = Request["Jarray"];
                if (!string.IsNullOrEmpty(Jarray))
                {
                    string[] idArray = Jarray.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                    for (int i = 0; i < idArray.Length; i++)
                    {
                        ent        = Invoice.Find(idArray[i]);
                        ent.Status = "已作废";
                        ent.DoUpdate();
                        IList <ShouKuan> skEnts = ShouKuan.FindAllByProperty(ShouKuan.Prop_InvoiceId, ent.Id);
                        foreach (ShouKuan skEnt in skEnts)
                        {
                            skEnt.Status = "已作废";
                            skEnt.DoUpdate();
                        }
                        break;
                    }
                }
                break;

            case "loadshoukun":
                if (!string.IsNullOrEmpty(Request["ProjectName"]))
                {
                    where += " and (b.ZiXunCode like '%" + Request["ProjectName"].Trim() + "%' or b.ProjectName like '%" + Request["ProjectName"].Trim() + "%')";
                }
                if (!string.IsNullOrEmpty(Request["InvoiceNo"]))
                {
                    where += " and InvoiceNo like '%" + Request["InvoiceNo"].Trim() + "%'";
                }
                if (!string.IsNullOrEmpty(Request["StartDate"]))
                {
                    where += " and ShouKuanDate >=   '" + Request["StartDate"] + "'";
                }
                if (!string.IsNullOrEmpty(Request["EndDate"]))
                {
                    where += " and ShouKuanDate <=   '" + Request["EndDate"] + "'";
                }
                sql = @"select a.Id,a.ShouKuanDate,a.ShouKuanAmount,a.CreateName,a.CreateTime,a.Remark,a.YiFenPercent,
                          a.ChouJinAmount,b.ZiXunCode,b.ProjectName,c.InvoiceNo from NCRL_SP..ShouKuan a 
                          left join NCRL_SP..Invoice c on a.InvoiceId=c.Id
                          left join NCRL_SP..Project b on a.ProjectId=b.Id where 1=1 " + where;
                dt  = DataHelper.QueryDataTable(GetPageSql(sql));
                Response.Write("{total:" + totalProperty + ",rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            string                action  = Request["action"];
            string                sql     = "";
            DataTable             dt      = null;
            ChouJin               cjEnt   = null;
            ShouKuan              skEnt   = null;
            ChouJinDetail         cjdEnt  = null;
            ChouJinResult         cjrEnt  = null;
            string                id      = Request["id"];
            IList <ShouKuan>      skEnts  = null;
            IList <ChouJinDetail> cjdEnts = null;
            IList <ChouJinResult> cjrEnts = null;

            switch (action)
            {
            case "loadyear":
                sql = "select value as year from NCRL_Portal..SysEnumeration where ParentId='058fbee9-0a9a-4b25-b343-ea8c05396632' order by SortIndex asc";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "loadmonth":
                sql = "select value as month from NCRL_Portal..SysEnumeration where ParentId='b25e537b-34e3-4437-87af-692e00facd73' order by SortIndex asc";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "create":
                cjEnt = JsonHelper.GetObject <ChouJin>(Request["formdata"]);
                cjEnt.DoCreate();
                Response.Write("{success:true,id:'" + cjEnt.Id + "'}");
                Response.End();
                break;

            case "update":
                cjEnt = JsonHelper.GetObject <ChouJin>(Request["formdata"]);
                ChouJin        originalEnt = ChouJin.Find(cjEnt.Id);
                EasyDictionary dic         = JsonHelper.GetObject <EasyDictionary>(Request["formdata"]);
                originalEnt = DataHelper.MergeData <ChouJin>(originalEnt, cjEnt, dic.Keys);
                originalEnt.DoUpdate();
                Response.Write("{success:true,id:'" + cjEnt.Id + "'}");
                Response.End();
                break;

            case "loadform":
                cjEnt = ChouJin.Find(id);
                Response.Write("{success:true,data:" + JsonHelper.GetJsonString(cjEnt) + "}");
                Response.End();
                break;

            case "loadshoukuan":
                skEnts = ShouKuan.FindAllByProperty(ShouKuan.Prop_ShouKuanDate, ShouKuan.Prop_ChouJinId, id);
                if (skEnts.Count == 0)
                {
                    cjEnt = ChouJin.Find(id);
                    sql   = @"select a.Id,a.ProjectId,a.InvoiceId,a.ShouKuanAmount,a.ShouKuanDate,a.ShiJiShouFei,
                        a.YiFenPercent,a.ChouJinAmount,b.ProjectName,c.InvoiceNo
                        from NCRL_SP..ShouKuan a left join NCRL_SP..Project b on a.ProjectId=b.Id
                        left join NCRL_SP..Invoice c on a.InvoiceId=c.Id
                        where YiFenPercent is null and  year(ShouKuanDate)='" + cjEnt.BelongYear + "' and month(ShouKuanDate)='" + (Convert.ToInt32(cjEnt.BelongMonth) - 1) + "' and isnull(a.Status,'')<>'已作废' order by ShouKuanDate asc";
                }
                else
                {
                    sql = @"select a.Id,a.ProjectId,a.InvoiceId,a.ShouKuanAmount,a.ShouKuanDate,a.ShiJiShouFei,
                        a.YiFenPercent,a.ChouJinAmount,b.ProjectName,c.InvoiceNo
                        from NCRL_SP..ShouKuan a left join NCRL_SP..Project b on a.ProjectId=b.Id
                        left join NCRL_SP..Invoice c on a.InvoiceId=c.Id
                        where ChouJinId='" + id + "'  order by a.ShouKuanDate asc";
                }
                dt = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "updateshoukuan":
                string   shoukuanids = Request["shoukuanids"];
                string[] idarray     = shoukuanids.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                foreach (string str in idarray)
                {
                    skEnt           = ShouKuan.Find(str);
                    skEnt.ChouJinId = id;
                    skEnt.DoUpdate();
                }
                //顺便把酬金分配明细的store构建后送到前端  为动态页面的生成提供数据基础
                skEnts = ShouKuan.FindAllByProperty(ShouKuan.Prop_ShouKuanDate, ShouKuan.Prop_ChouJinId, id);
                DataTable dt2 = new DataTable();
                //构建表格列
                // dc = new DataColumn("MajorName");
                //dt2.Columns.Add(dc);
                DataColumn dc = new DataColumn("UserId");
                dt2.Columns.Add(dc);
                dc = new DataColumn("UserName");
                dt2.Columns.Add(dc);
                dc = new DataColumn("StageAmount");
                dt2.Columns.Add(dc);
                foreach (ShouKuan tempEnt in skEnts)
                {
                    dc = new DataColumn(tempEnt.Id + "@A");
                    dt2.Columns.Add(dc);
                    dc = new DataColumn(tempEnt.Id + "@B");
                    dt2.Columns.Add(dc);
                    dc = new DataColumn(tempEnt.Id + "@C");
                    dt2.Columns.Add(dc);
                }       //构建表格行  先构建前面的特殊5行
                DataRow dr1  = dt2.NewRow();
                DataRow dr2  = dt2.NewRow();
                DataRow dr3  = dt2.NewRow();
                DataRow dr4  = dt2.NewRow();
                DataRow dr5  = dt2.NewRow();
                Project pEnt = null;
                dr1["UserName"] = "******"; dr2["UserName"] = "******"; dr3["UserName"] = "******"; dr4["UserName"] = "******"; dr5["UserName"] = "******";
                foreach (ShouKuan tempEnt in skEnts)
                {
                    pEnt = Project.Find(tempEnt.ProjectId);
                    dr1[tempEnt.Id + "@A"] = pEnt.ProjectName;
                    dr1[tempEnt.Id + "@C"] = tempEnt.ShouKuanAmount;    //获取收款金额
                    if (!string.IsNullOrEmpty(pEnt.DelegateInfoId))
                    {
                        dr2[tempEnt.Id + "@A"] = DelegateInfo.Find(pEnt.DelegateInfoId).DelegateName;    //第二行收款记录第一列显示窗口名称 第三列显示窗口比例
                    }
                    dr2[tempEnt.Id + "@B"] = tempEnt.Id;
                    dr2[tempEnt.Id + "@C"] = pEnt.ChuangKouBiLi;    //将收款记录的ID存到第二行的第三列上。便于前台获取
                    dr3[tempEnt.Id + "@C"] = tempEnt.ShiJiShouFei;  //第三行收款记录第三列存显示实际收费 即收款金额-收款金额*窗口比例
                    dr4[tempEnt.Id + "@C"] = tempEnt.ChouJinAmount;
                    dr5[tempEnt.Id + "@A"] = tempEnt.YiFenPercent;
                    dr5[tempEnt.Id + "@B"] = 100;
                }
                dt2.Rows.Add(dr1); dt2.Rows.Add(dr2); dt2.Rows.Add(dr3); dt2.Rows.Add(dr4); dt2.Rows.Add(dr5);
                //所有的专家
                IList <Expert> expEnts = Expert.FindAllByProperty(Expert.Prop_SortIndex, Expert.Prop_Status, "T");
                foreach (Expert tEnt in expEnts)
                {
                    DataRow dr = dt2.NewRow();
                    dr["UserId"]      = tEnt.Id;
                    dr["UserName"]    = tEnt.UserName;
                    cjrEnts           = ChouJinResult.FindAllByProperties(ChouJinResult.Prop_ChouJinId, id, ChouJinResult.Prop_ExpertId, tEnt.Id);
                    dr["StageAmount"] = cjrEnts.Count == 0 ? "" : cjrEnts[0].StageAmount + "";
                    foreach (ShouKuan shoukuanEnt in skEnts)
                    {
                        cjdEnts = ChouJinDetail.FindAllByProperties(ChouJinDetail.Prop_ChouJinId, id, ChouJinDetail.Prop_ExpertId, tEnt.Id, ChouJinDetail.Prop_ShouKuanId, shoukuanEnt.Id);
                        IList <ProjectUser> puEnts = ProjectUser.FindAllByProperties(ProjectUser.Prop_ProjectId, shoukuanEnt.ProjectId, ProjectUser.Prop_UserId, tEnt.Id);
                        dr[shoukuanEnt.Id + "@A"] = puEnts.Count > 0 ? "√" : "";
                        dr[shoukuanEnt.Id + "@B"] = cjdEnts.Count > 0 ? cjdEnts[0].ChouJinPercent : null;
                        dr[shoukuanEnt.Id + "@C"] = cjdEnts.Count > 0 ? cjdEnts[0].ChouJinAmount : null;
                    }
                    dt2.Rows.Add(dr);
                }
                Response.Write("{success:true,rows:" + JsonHelper.GetJsonStringFromDataTable(dt2) + "}");
                Response.End();
                break;

            case "savechoujindetail":
                cjdEnts = ChouJinDetail.FindAllByProperties(ChouJinDetail.Prop_ChouJinId, id, ChouJinDetail.Prop_ExpertId, Request["expertid"], ChouJinDetail.Prop_ShouKuanId, Request["shoukuanid"]);
                if (cjdEnts.Count == 0)
                {
                    if (Convert.ToDecimal(Request["choujinpercent"]) > 0)
                    {
                        cjdEnt                = new ChouJinDetail();
                        cjdEnt.ChouJinId      = id;
                        cjdEnt.ExpertId       = Request["expertid"];
                        cjdEnt.UserName       = Request["username"];
                        cjdEnt.ShouKuanId     = Request["shoukuanid"];
                        cjdEnt.ChouJinPercent = Convert.ToDecimal(Request["choujinpercent"]);
                        cjdEnt.ChouJinAmount  = Convert.ToDecimal(Request["choujinamount"]);
                        cjdEnt.IfCanYu        = Request["ifcanyu"];
                        cjdEnt.DoCreate();    //酬金明细保存后,同时更新酬金结果 、收款记录的已分百分比
                        skEnt = ShouKuan.Find(Request["shoukuanid"]);
                        skEnt.YiFenPercent = Convert.ToDecimal(Request["yifenpercent"]);
                        skEnt.DoUpdate();
                    }
                }
                else
                {
                    if (Convert.ToDecimal(Request["choujinpercent"]) > 0)
                    {
                        cjdEnt = cjdEnts[0];
                        cjdEnt.ChouJinPercent = Convert.ToDecimal(Request["choujinpercent"]);
                        cjdEnt.ChouJinAmount  = Convert.ToDecimal(Request["choujinamount"]);
                        cjdEnt.IfCanYu        = Request["ifcanyu"];
                        cjdEnt.DoUpdate();
                        skEnt = ShouKuan.Find(Request["shoukuanid"]);
                        skEnt.YiFenPercent = Convert.ToDecimal(Request["yifenpercent"]);
                        skEnt.DoUpdate();
                    }
                    else
                    {
                        cjdEnts[0].DoDelete();
                    }
                }
                cjrEnts = ChouJinResult.FindAllByProperties(ChouJinResult.Prop_ExpertId, Request["expertid"], ChouJinResult.Prop_ChouJinId, id);
                if (cjrEnts.Count == 0)
                {
                    cjrEnt             = new ChouJinResult();
                    cjrEnt.ExpertId    = Request["expertid"];
                    cjrEnt.UserName    = Request["username"];
                    cjrEnt.ChouJinId   = id;
                    cjrEnt.StageAmount = Convert.ToDecimal(Request["stageamount"]);
                    cjrEnt.DoCreate();
                }
                else
                {
                    if (Convert.ToDecimal(Request["stageamount"]) > 0)
                    {
                        cjrEnt             = cjrEnts[0];
                        cjrEnt.StageAmount = Convert.ToDecimal(Request["stageamount"]);
                        cjrEnt.DoUpdate();
                    }
                    else
                    {
                        cjrEnts[0].DoDelete();
                    }
                }
                break;

            case "loadchoujinresult":    //默认调整金额==分配金额
                sql   = @"select a.Id as ExpertId,a.UserName,b.Remark,b.StageAmount,isnull(AdjustAmount,StageAmount) AdjustAmount from NCRL_SP..Expert a
                          left join (select * from  NCRL_SP..ChouJinResult where ChouJinId='{0}') b on a.Id=b.ExpertId";
                sql   = string.Format(sql, id);
                dt    = DataHelper.QueryDataTable(sql);
                cjEnt = ChouJin.Find(id);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + ",title:'" + cjEnt.BelongYear + "年" + cjEnt.BelongMonth + "月专家酬金'}");
                Response.End();
                break;

            case "adjustresult":
                cjrEnts = ChouJinResult.FindAllByProperties(ChouJinResult.Prop_ChouJinId, id, ChouJinResult.Prop_ExpertId, Request["expertid"]);
                if (cjrEnts.Count == 0)
                {
                    cjrEnt              = new ChouJinResult();
                    cjrEnt.ExpertId     = Request["expertid"];
                    cjrEnt.UserName     = Request["username"];
                    cjrEnt.ChouJinId    = id;
                    cjrEnt.AdjustAmount = Convert.ToDecimal(Request["adjustamount"]);
                    cjrEnt.Remark       = Request["remark"];
                    cjrEnt.DoCreate();
                }
                else
                {
                    cjrEnt = cjrEnts[0];
                    cjrEnt.AdjustAmount = Convert.ToDecimal(Request["adjustamount"]);
                    cjrEnt.Remark       = Request["remark"];
                    cjrEnt.DoUpdate();
                }
                break;

            case "loadshoukuan_unfenpei":
                sql = @"select a.Id,a.ProjectId,a.InvoiceId,a.ShouKuanAmount,a.ShouKuanDate,a.ShiJiShouFei,
                        a.YiFenPercent,a.ChouJinAmount,b.ProjectName,c.InvoiceNo from NCRL_SP..ShouKuan a                        
                        left join NCRL_SP..Project b on a.ProjectId=b.Id
                        left join NCRL_SP..Invoice c on a.InvoiceId=c.Id
                        where isnull(ChouJinId,'')='' order by a.ShouKuanDate asc";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;
            }
        }
Exemple #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Aim.Portal.Web.WebPortalService.CheckLogon();
            }
            catch
            {
                Response.Write("<script> window.opener.location.href = '/Login.aspx';window.close();</script>");
                Response.End();
            }
            projectid = Request["projectid"];
            Id        = Request["Id"];
            string obj    = "";
            string action = Request["action"];

            switch (action)
            {
            case "Create":
                obj  = Request["data"];
                iEnt = JsonHelper.GetObject <Invoice>(obj);
                iEnt.DoCreate();
                string           json = Request["json"];
                IList <ShouKuan> sk   = JsonHelper.GetObject <IList <ShouKuan> >(json);
                pj = Project.Find(iEnt.ProjectId);
                foreach (ShouKuan skEnt in sk)
                {
                    skEnt.InvoiceId = iEnt.Id;
                    skEnt.ProjectId = iEnt.ProjectId;        //根据项目的窗口信息和窗口比例 初始化收款记录的其他信息
                    if (!string.IsNullOrEmpty(pj.DelegateInfoId))
                    {
                        skEnt.ShiJiShouFei  = skEnt.ShouKuanAmount - (skEnt.ShouKuanAmount * pj.ChuangKouBiLi) / 100;
                        skEnt.ChouJinAmount = skEnt.ShiJiShouFei * (decimal)0.3;
                    }
                    skEnt.DoCreate();
                }
                break;

            case "Update":
                iEnt = JsonHelper.GetObject <Invoice>(Request["data"]);
                Invoice        original_Ent = Invoice.Find(iEnt.Id);
                EasyDictionary dic          = JsonHelper.GetObject <EasyDictionary>(Request["data"]);
                original_Ent = DataHelper.MergeData <Invoice>(original_Ent, iEnt, dic.Keys);
                original_Ent.DoUpdate();
                pj = Project.Find(iEnt.ProjectId);
                IList <ShouKuan> details = ShouKuan.FindAllByProperty(ShouKuan.Prop_InvoiceId, original_Ent.Id);
                foreach (ShouKuan skEnt in details)
                {
                    if (!skEnt.YiFenPercent.HasValue)    //项目收款没有参与分配才可执行删除操作
                    {
                        skEnt.DoDelete();
                    }
                }
                details = JsonHelper.GetObject <IList <ShouKuan> >(Request["json"]);
                foreach (ShouKuan skEnt in details)
                {
                    if (!skEnt.YiFenPercent.HasValue)    //重新对未分配的收款进行创建操作
                    {
                        skEnt.InvoiceId = Id;
                        skEnt.ProjectId = original_Ent.ProjectId;
                        if (!string.IsNullOrEmpty(pj.DelegateInfoId))
                        {
                            skEnt.ShiJiShouFei  = skEnt.ShouKuanAmount - (skEnt.ShouKuanAmount * pj.ChuangKouBiLi / 100);
                            skEnt.ChouJinAmount = skEnt.ShiJiShouFei * (decimal)0.3;
                        }
                        skEnt.DoCreate();
                    }
                }
                break;

            case "skdetail":
                sql = "select * from NCRL_SP..ShouKuan where InvoiceId='" + Id + "'  order by ShouKuanDate asc";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "loadinvoice":
                IList <EasyDictionary> dics = null;
                if (!string.IsNullOrEmpty(Id))
                {
                    sql  = @"select a.*,b.ProjectName from NCRL_SP..Invoice a left join NCRL_SP..Project b on a.ProjectId=b.Id where a.Id='" + Id + "'";
                    dics = DataHelper.QueryDictList(sql);
                }
                else
                {
                    sql  = @"select Id as ProjectId, ProjectName from NCRL_SP..Project where BelongCmp='ZX' and Id='" + projectid + "'";
                    dics = DataHelper.QueryDictList(sql);
                }
                Response.Write("{success:true,data:" + JsonHelper.GetJsonString(dics[0]) + "}");
                Response.End();
                break;
            }
        }