コード例 #1
0
        public IActionResult Query([FromBody] PlanManageDto parm)
        {
            //开始拼装查询条件
            var predicate = Expressionable.Create <view_ItemPlanVM>();

            //switch(parm.status)
            //{
            //    case 0:
            //        predicate = predicate.And(m => m.status == 30000);
            //        break;
            //    case 1:
            //        predicate = predicate.And(m => m.status == 30010);
            //        break;
            //    case 3:
            //        predicate = predicate.And(m => m.status == 30020);
            //        break;
            //    case 4:
            //        predicate = predicate.And(m => m.status == 39999);
            //        break;
            //    default:
            //        return toResponse(StatusCodeType.Error, "状态匹配失败,请核对!");
            //        //break;
            //}

            //项目编号
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.ContractItemNo), m => m.ContractItemNo.Contains(parm.ContractItemNo));
            //客户名称
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.khmc), m => m.zzmc.Contains(parm.khmc));
            //合作伙伴
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.hzhb), m => m.mc.Contains(parm.hzhb));
            //审核开始起
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AcceptStartDateStart), m => m.PlanStartDate >= DateTime.Parse(parm.AcceptStartDateStart));
            //审核开始止
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AcceptStartDateEnd), m => m.PlanStartDate <= DateTime.Parse(parm.AcceptStartDateEnd));

            //审核结束起
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AcceptEndDateStart), m => m.PlanEndDate >= DateTime.Parse(parm.AcceptEndDateStart));
            //审核结束止
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AcceptEndDateEnd), m => m.PlanEndDate <= DateTime.Parse(parm.AcceptEndDateEnd));

            //var response = _contractitemsubService.GetPages(predicate.ToExpression(), parm);

            var response = Core.DbContext.CurrentDB.SqlQueryable <view_ItemPlanVM>(@"
SELECT  m.ID, m.ContractNo, m.CustomerID, m.CreateTime, k.zzmc, k.xzqhmc, h.mc, s.ID AS ContractItemSubID, s.MainContractID, 
                   s.ContractItemID, s.ContractItemSubType, s.ContractItemSubTypeCode, c.ItemName, c.ContractItemNo,p.ContractPlanNo,
				   p.PlanStartDate,p.PlanEndDate,p.ApproveTime,
				   dbo.GetNodeName(p.status) as StatusName
FROM      dbo.Biz_ContractItem_Sub AS s 
inner join Biz_Contract_Plan p on s.ContractPlanID = p.ID
INNER JOIN
                   dbo.Biz_MainContract AS m ON m.ID = s.MainContractID INNER JOIN
                   dbo.Biz_ContractItem AS c ON c.ID = s.ContractItemID LEFT OUTER JOIN
                   dbo.uf_khxx AS k ON k.ID = m.CustomerID LEFT OUTER JOIN
                   dbo.uf_hzhb AS h ON k.hzdwID = h.ID
WHERE   (m.deleted = 0)
").ToPage <view_ItemPlanVM>(predicate.ToExpression(), parm);

            return(toResponse(response));
        }
コード例 #2
0
        public IActionResult Query([FromBody] PlanManageDto parm)
        {
            //开始拼装查询条件
            var predicate = Expressionable.Create <view_PlanVM>();

            //switch(parm.status)
            //{
            //    case 0:
            //        predicate = predicate.And(m => m.status == 30000);
            //        break;
            //    case 1:
            //        predicate = predicate.And(m => m.status == 30010);
            //        break;
            //    case 3:
            //        predicate = predicate.And(m => m.status == 30020);
            //        break;
            //    case 4:
            //        predicate = predicate.And(m => m.status == 39999);
            //        break;
            //    default:
            //        return toResponse(StatusCodeType.Error, "状态匹配失败,请核对!");
            //        //break;
            //}

            predicate = predicate.And(m => m.status == 30000); //待派人状态

            //项目编号
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.ContractItemNo), m => m.ContractItemNos.Contains(parm.ContractItemNo));
            //客户名称
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.khmc), m => m.zzmc.Contains(parm.khmc));
            //合作伙伴
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.hzhb), m => m.mc.Contains(parm.hzhb));
            //审核开始起
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AcceptStartDateStart), m => m.PlanStartDate >= DateTime.Parse(parm.AcceptStartDateStart));
            //审核开始止
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AcceptStartDateEnd), m => m.PlanStartDate <= DateTime.Parse(parm.AcceptStartDateEnd));

            //审核结束起
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AcceptEndDateStart), m => m.PlanEndDate >= DateTime.Parse(parm.AcceptEndDateStart));
            //审核结束止
            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.AcceptEndDateEnd), m => m.PlanEndDate <= DateTime.Parse(parm.AcceptEndDateEnd));

            //var response = _contractitemsubService.GetPages(predicate.ToExpression(), parm);

            var response = Core.DbContext.CurrentDB.SqlQueryable <view_PlanVM>(@"
SELECT  p.*, k.zzmc, h.mc,  
                   [dbo].[GetNodeName](p.status) AS StatusName, stuff
                       ((SELECT  '  ' + ItemName + ':'
                         FROM       Biz_ContractItem AS t
						 inner join Biz_ContractItem_Sub s on s.ContractItemID = t.ID
                         WHERE    s .ContractPlanID = p.ID AND t .deleted = 0 FOR xml path('')), 1, 2, '') AS StandardNos, stuff
                       ((SELECT  '  ' + ContractItemNo
                         FROM       Biz_ContractItem AS t
                         inner join Biz_ContractItem_Sub s on s.ContractItemID = t.ID
                         WHERE    s .ContractPlanID = p.ID AND t .deleted = 0 FOR xml path('')), 1, 2, '') AS ContractNos, stuff
                       ((SELECT  '  ' + AuditTypeName
                         FROM       Biz_ContractItem AS t
                         inner join Biz_ContractItem_Sub s on s.ContractItemID = t.ID
                         WHERE    s .ContractPlanID = p.ID AND t .deleted = 0 FOR xml path('')), 1, 2, '') AS AuditTypeNames
FROM      Biz_Contract_Plan p LEFT JOIN
uf_khxx k ON k.ID = p.CustomerID LEFT JOIN
uf_hzhb h ON k.hzdwID = h.ID
").ToPage <view_PlanVM>(predicate.ToExpression(), parm);

            return(toResponse(response));
        }