243 lines
10 KiB
C#
243 lines
10 KiB
C#
using BLL;
|
||
using System;
|
||
using System.Linq;
|
||
using System.Web.Http;
|
||
|
||
namespace WebAPI.Controllers
|
||
{
|
||
/// <summary>
|
||
///
|
||
/// </summary>
|
||
public class UnitController : ApiController
|
||
{
|
||
#region 根据UnitId获取单位信息
|
||
/// <summary>
|
||
/// 根据UnitId获取单位信息
|
||
/// </summary>
|
||
/// <param name="unitId"></param>
|
||
/// <returns></returns>
|
||
public Model.ResponeData getUnitByUnitId(string unitId)
|
||
{
|
||
var responeData = new Model.ResponeData();
|
||
try
|
||
{
|
||
responeData.data = APIUnitService.getUnitByUnitId(unitId);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
responeData.code = 0;
|
||
responeData.message = ex.Message;
|
||
ErrLogInfo.WriteLog("WX接口-获取单位信息", ex);
|
||
}
|
||
|
||
return responeData;
|
||
}
|
||
#endregion
|
||
|
||
#region 获取所有单位
|
||
/// <summary>
|
||
/// 获取所有单位
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public Model.ResponeData getUnitLists()
|
||
{
|
||
var responeData = new Model.ResponeData();
|
||
try
|
||
{
|
||
responeData.data = APIUnitService.getUnitLists();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
responeData.code = 0;
|
||
responeData.message = ex.Message;
|
||
ErrLogInfo.WriteLog("WX接口-获取所有单位", ex);
|
||
}
|
||
|
||
return responeData;
|
||
}
|
||
#endregion
|
||
|
||
#region 根据projectId、unitType获取单位信息(总包1;施工分包2;监理3;业主4;其他5)
|
||
/// <summary>
|
||
/// 根据projectId、unitType获取单位信息(总包1;施工分包2;监理3;业主4;其他5)
|
||
/// </summary>
|
||
/// <param name="projectId">项目ID</param>
|
||
/// <param name="unitType">类型(null 所有单位)</param>
|
||
/// <returns></returns>
|
||
public Model.ResponeData getUnitByProjectIdUnitType(string projectId, string unitType)
|
||
{
|
||
var responeData = new Model.ResponeData();
|
||
try
|
||
{
|
||
responeData.data = APIUnitService.getUnitByProjectIdUnitType(projectId, unitType);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
responeData.code = 0;
|
||
responeData.message = ex.Message;
|
||
ErrLogInfo.WriteLog("WX接口-获取单位信息", ex);
|
||
}
|
||
|
||
return responeData;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据projectId、unitType获取单位信息(总包1;施工分包2;监理3;业主4;其他5)
|
||
/// </summary>
|
||
/// <param name="projectId">项目ID</param>
|
||
/// <param name="strParam">查询条件</param>
|
||
/// <param name="unitType">类型(null 所有单位)</param>
|
||
/// <returns></returns>
|
||
public Model.ResponeData getUnitByProjectIdUnitTypeQuery(string projectId, string strParam, string unitType)
|
||
{
|
||
var responeData = new Model.ResponeData();
|
||
try
|
||
{
|
||
responeData.data = APIUnitService.getUnitByProjectIdUnitTypeQuery(projectId, strParam,unitType);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
responeData.code = 0;
|
||
responeData.message = ex.Message;
|
||
ErrLogInfo.WriteLog("WX接口-获取单位信息", ex);
|
||
}
|
||
|
||
return responeData;
|
||
}
|
||
#endregion
|
||
|
||
#region 根据subUnitQualityId获取分包商资质信息
|
||
/// <summary>
|
||
/// 根据subUnitQualityId获取分包商资质信息
|
||
/// </summary>
|
||
/// <param name="subUnitQualityId"></param>
|
||
/// <returns></returns>
|
||
public Model.ResponeData getSubUnitQualityBySubUnitQualityId(string subUnitQualityId)
|
||
{
|
||
var responeData = new Model.ResponeData();
|
||
try
|
||
{
|
||
responeData.data = APIUnitService.getSubUnitQualityBySubUnitQualityId(subUnitQualityId);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
responeData.code = 0;
|
||
responeData.message = ex.Message;
|
||
}
|
||
|
||
return responeData;
|
||
}
|
||
#endregion
|
||
|
||
#region 根据projectId获取施工分包商资质各状态数
|
||
/// <summary>
|
||
/// 根据projectId获取施工分包商资质各状态数
|
||
/// </summary>
|
||
/// <param name="projectId"></param>
|
||
/// <returns></returns>
|
||
public Model.ResponeData getSubUnitQualityCount(string projectId)
|
||
{
|
||
var responeData = new Model.ResponeData();
|
||
try
|
||
{
|
||
var getDataList = new Model.SGGLDB(Funs.ConnString).View_QualityAudit_SubUnitQuality.Where(x => x.ProjectId == projectId);
|
||
//// 总数
|
||
int tatalCount = getDataList.Count();
|
||
//// 过期
|
||
int count1 = getDataList.Where(x => x.BL_EnableDate < DateTime.Now || x.C_EnableDate < DateTime.Now || x.QL_EnableDate < DateTime.Now
|
||
|| x.H_EnableDate < DateTime.Now || x.SL_EnableDate < DateTime.Now).Count();
|
||
////即将过期
|
||
int count2 = getDataList.Where(x => (x.BL_EnableDate >= DateTime.Now && x.BL_EnableDate < DateTime.Now.AddMonths(1))
|
||
|| (x.C_EnableDate >= DateTime.Now && x.C_EnableDate < DateTime.Now.AddMonths(1))
|
||
|| (x.QL_EnableDate >= DateTime.Now && x.QL_EnableDate < DateTime.Now.AddMonths(1))
|
||
|| (x.H_EnableDate >= DateTime.Now && x.H_EnableDate < DateTime.Now.AddMonths(1))
|
||
|| (x.SL_EnableDate >= DateTime.Now && x.SL_EnableDate < DateTime.Now.AddMonths(1))).Count();
|
||
|
||
responeData.data = new { tatalCount, count1, count2 };
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
responeData.code = 0;
|
||
responeData.message = ex.Message;
|
||
}
|
||
|
||
return responeData;
|
||
}
|
||
#endregion
|
||
|
||
#region 根据projectId获取施工分包商资质信息
|
||
/// <summary>
|
||
/// 根据projectId获取施工分包商资质信息
|
||
/// </summary>
|
||
/// <param name="projectId">项目ID</param>
|
||
/// <param name="type">数据类型0-已过期;1-即将过期</param>
|
||
/// <param name="pageIndex">页码</param>
|
||
/// <returns></returns>
|
||
public Model.ResponeData getSubUnitQualityByProjectId(string projectId, string type, int pageIndex)
|
||
{
|
||
var responeData = new Model.ResponeData();
|
||
try
|
||
{
|
||
IQueryable<Model.View_QualityAudit_SubUnitQuality> q = from x in new Model.SGGLDB(Funs.ConnString).View_QualityAudit_SubUnitQuality
|
||
where x.ProjectId == projectId
|
||
select x;
|
||
if (type == "0")
|
||
{
|
||
q = q.Where(x => x.BL_EnableDate < DateTime.Now || x.C_EnableDate < DateTime.Now || x.QL_EnableDate < DateTime.Now
|
||
|| x.H_EnableDate < DateTime.Now || x.SL_EnableDate < DateTime.Now);
|
||
}
|
||
else if (type == "1")
|
||
{
|
||
q = q.Where(x => (x.BL_EnableDate >= DateTime.Now && x.BL_EnableDate < DateTime.Now.AddMonths(1))
|
||
|| (x.C_EnableDate >= DateTime.Now && x.C_EnableDate < DateTime.Now.AddMonths(1))
|
||
|| (x.QL_EnableDate >= DateTime.Now && x.QL_EnableDate < DateTime.Now.AddMonths(1))
|
||
|| (x.H_EnableDate >= DateTime.Now && x.H_EnableDate < DateTime.Now.AddMonths(1))
|
||
|| (x.SL_EnableDate >= DateTime.Now && x.SL_EnableDate < DateTime.Now.AddMonths(1)));
|
||
}
|
||
|
||
int pageCount = q.Count();
|
||
if (pageCount == 0)
|
||
{
|
||
responeData.data = new { pageCount, q };
|
||
}
|
||
else
|
||
{
|
||
var getDataList = from x in q.OrderBy(u => u.UnitCode).Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize)
|
||
select new
|
||
{
|
||
x.UnitId,
|
||
x.UnitName,
|
||
x.ProjectId,
|
||
x.SubUnitQualityId,
|
||
x.SubUnitQualityName,
|
||
x.BusinessLicense,
|
||
BL_EnableDate = string.Format("{0:yyyy-MM-dd}", x.BL_EnableDate),
|
||
BL_ScanUrl = x.BL_ScanUrl.Replace("\\", "/"),
|
||
x.Certificate,
|
||
C_EnableDate = string.Format("{0:yyyy-MM-dd}", x.C_EnableDate),
|
||
C_ScanUrl = x.C_ScanUrl.Replace("\\", "/"),
|
||
x.QualityLicense,
|
||
QL_EnableDate = string.Format("{0:yyyy-MM-dd}", x.QL_EnableDate),
|
||
QL_ScanUrl = x.QL_ScanUrl.Replace("\\", "/"),
|
||
x.HSELicense,
|
||
H_EnableDate = string.Format("{0:yyyy-MM-dd}", x.H_EnableDate),
|
||
H_ScanUrl = x.H_ScanUrl.Replace("\\", "/"),
|
||
x.SecurityLicense,
|
||
SL_EnableDate = string.Format("{0:yyyy-MM-dd}", x.SL_EnableDate),
|
||
SL_ScanUrl = x.SL_ScanUrl.Replace("\\", "/")
|
||
};
|
||
responeData.data = new { pageCount, getDataList };
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
responeData.code = 0;
|
||
responeData.message = ex.Message;
|
||
ErrLogInfo.WriteLog("WX接口-获取施工分包商资质信息", ex);
|
||
}
|
||
return responeData;
|
||
}
|
||
#endregion
|
||
}
|
||
}
|