CNCEC_SUBQHSE_WUHUAN/SGGL/WebAPI/Controllers/UnitController.cs

328 lines
15 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 projectIdunitType获取单位信息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
[HttpPost]
public Model.ResponeData AddUnit([FromBody] Model.UnitItem unit)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Model.Base_Unit newUnit = db.Base_Unit.FirstOrDefault(x => x.CollCropCode == unit.CollCropCode);
if (newUnit == null)
{
newUnit = new Model.Base_Unit
{
UnitId = SQLHelper.GetNewID(typeof(Model.Base_Unit))
};
db.Base_Unit.InsertOnSubmit(newUnit);
newUnit.UnitCode = unit.UnitCode;//代码
newUnit.UnitName = unit.UnitName;//名称
newUnit.Corporate = unit.Corporate;//法人代表
newUnit.Address = unit.Address;//地址
newUnit.Telephone = unit.Telephone;//电话
newUnit.ShortUnitName = unit.ShortUnitName;//单位简称
newUnit.Fax = unit.Fax;//传真
newUnit.EMail = unit.EMail;//邮箱
newUnit.IsBranch = unit.IsBranch;//是否分公司
newUnit.ProjectRange = unit.ProjectRange;//工程范围
newUnit.IsChina = unit.IsChina;//是否中国企业
newUnit.CollCropCode = unit.CollCropCode;//社会统一信用代码
newUnit.LinkName = unit.LinkName;//联系人姓名
if (!string.IsNullOrEmpty(unit.IdcardType))
{
var basicData = db.RealName_BasicData.FirstOrDefault(x => x.DictTypeCode == "ZHENGJIAN_TYPE" && x.DictName == unit.IdcardType);
if (basicData != null)
{
newUnit.IdcardType = basicData.DictCode;//联系人证件类型 (香港永久性身份证 军官证 其他 警官证 台湾居民身份证 身份证 护照)
}
}
newUnit.IdcardNumber = unit.IdcardNumber;//联系人证件号
newUnit.LinkMobile = unit.LinkMobile;//联系人电话
newUnit.CollCropStatus = unit.CollCropStatus;//是否黑名单企业
db.SubmitChanges();
}
if (!string.IsNullOrEmpty(unit.ProjectId))
{
Model.Project_ProjectUnit projectUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(x => x.UnitId == newUnit.UnitId && x.ProjectId == unit.ProjectId);
if (projectUnit == null)
{
projectUnit = new Model.Project_ProjectUnit();
projectUnit.ProjectUnitId = SQLHelper.GetNewID(typeof(Model.Base_Unit));
db.Project_ProjectUnit.InsertOnSubmit(projectUnit);
projectUnit.ProjectId = unit.ProjectId;
projectUnit.UnitId = newUnit.UnitId;
projectUnit.InTime = DateTime.Now;
if (!string.IsNullOrEmpty(unit.UnitTypeId))
{
var unitTypeList = (from x in Funs.DB.Sys_Const
where x.GroupId == ConstValue.Group_ProjectUnitType
orderby x.SortIndex
select x).ToList();
var unitType = unitTypeList.FirstOrDefault(x => x.ConstText == unit.UnitTypeId);
if (unitType != null)
{
projectUnit.UnitType = unitType.ConstValue;// 单位类型(监理 施工分包 安装 其他 业主 检测单位 其他 总包)
}
}
//projectUnit.UnitType = newUnit.UnitTypeId;
db.SubmitChanges();
}
}
responeData.data = newUnit.UnitId;
}
}
catch (Exception ex) { }
return responeData;
}
}
}