455 lines
16 KiB
C#
455 lines
16 KiB
C#
using BLL;
|
|
using Model;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web.Http;
|
|
|
|
namespace WebAPI.Controllers
|
|
{
|
|
/// <summary>
|
|
/// 焊接日报
|
|
/// </summary>
|
|
public class PreWeldingDailyController : ApiController
|
|
{
|
|
#region 根据主键获取详细
|
|
/// <summary>
|
|
/// 根据主键获取详细
|
|
/// </summary>
|
|
/// <param name="preWeldingDailyId"></param>
|
|
/// <returns></returns>
|
|
public Model.ResponeData getWeldingDailyInfo(string weldingDailyId, string unitWorkId)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
responeData.data = APIPreWeldingDailyService.getWeldingDailyInfo(weldingDailyId, unitWorkId);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
|
|
return responeData;
|
|
}
|
|
#endregion
|
|
|
|
#region 列表-查询
|
|
/// <summary>
|
|
/// 列表-查询
|
|
/// </summary>
|
|
/// <param name="projectId"></param>
|
|
/// <param name="pageIndex"></param>
|
|
/// <returns></returns>
|
|
public Model.ResponeData getPreWeldingDailyList(string projectId, int pageIndex)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
var getDataList = APIPreWeldingDailyService.getPreWeldingDailyList(projectId);
|
|
int pageCount = getDataList.Count();
|
|
if (pageCount > 0 && pageIndex > 0)
|
|
{
|
|
getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
|
|
}
|
|
responeData.data = new { pageCount, getDataList };
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
return responeData;
|
|
}
|
|
#endregion
|
|
|
|
#region 根据日期、单位工程Id获取日报记录
|
|
/// <summary>
|
|
/// 根据日期、单位工程Id获取日报记录
|
|
/// </summary>
|
|
/// <param name="date">日期</param>
|
|
/// <param name="unitWorkId">单位工程Id</param>
|
|
/// <returns></returns>
|
|
public Model.ResponeData GetWeldingDailyList(string date, string unitWorkId)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
responeData.data = APIPreWeldingDailyService.GetWeldingDailyList(date, unitWorkId);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
|
|
return responeData;
|
|
}
|
|
#endregion
|
|
|
|
#region 获取焊接任务单记录
|
|
/// <summary>
|
|
/// 获取日报明细记录
|
|
/// </summary>
|
|
/// <param name="weldingDailyId">日报id</param>
|
|
/// <param name="unitWorkId">单位工程id</param>
|
|
/// <param name="date">焊接日期</param>
|
|
/// <param name="projectId">项目id</param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public ResponseData<List<View_HJGL_WeldingTask>> GetWeldingTasks(string weldingDailyId, string unitWorkId, string date, string projectId)
|
|
{
|
|
ResponseData<List<View_HJGL_WeldingTask>> res = new ResponseData<List<View_HJGL_WeldingTask>>();
|
|
res.successful = true;
|
|
res.resultValue = BLL.APIPreWeldingDailyService.GetWeldingTasks(weldingDailyId, unitWorkId, date, projectId);
|
|
return res;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 保存焊接日报
|
|
/// <summary>
|
|
/// 保存WeldingDaily
|
|
/// </summary>
|
|
/// <param name="newItem">施工方案</param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public Model.ResponseData<string> SaveWeldingDaily([FromBody] Model.HJGL_WeldingDaily newItem)
|
|
{
|
|
ResponseData<string> res = new ResponseData<string>();
|
|
try
|
|
{
|
|
if (string.IsNullOrEmpty(newItem.WeldingDailyId))
|
|
{
|
|
newItem.WeldingDailyId = Guid.NewGuid().ToString();
|
|
APIPreWeldingDailyService.SaveWeldingDaily(newItem);
|
|
res.resultValue = newItem.WeldingDailyId;
|
|
}
|
|
else
|
|
{
|
|
APIPreWeldingDailyService.SaveWeldingDaily(newItem);
|
|
res.resultValue = newItem.WeldingDailyId;
|
|
}
|
|
APIPreWeldingDailyService.SaveWeldingDaily(newItem);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
res.successful = false;
|
|
}
|
|
res.successful = true;
|
|
return res;
|
|
}
|
|
/// <summary>
|
|
/// 根据焊口id保存到日报
|
|
/// </summary>
|
|
/// <param name="WeldJointId"></param>
|
|
/// <param name="Personid"></param>
|
|
/// <param name="time"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public Model.ResponeData SaveWeldingDailyByWeldJointId(string WeldJointId,string Personid,string time)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
string res= APIPreWeldingDailyService.SaveWeldingDailyByWeldJointId(WeldJointId, Personid,time );
|
|
|
|
if (!string.IsNullOrEmpty(res))
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = res;
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
return responeData;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据焊口id保存到日报(增加焊接位置参数)
|
|
/// </summary>
|
|
/// <param name="WeldJointId"></param>
|
|
/// <param name="Personid"></param>
|
|
/// <param name="time"></param>
|
|
/// <param name="weldingLocation"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public Model.ResponeData SaveWeldingDailyByWeldJointId(string WeldJointId, string Personid, string time,string weldingLocation)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
string res = APIPreWeldingDailyService.SaveWeldingDailyByWeldJointId(WeldJointId, Personid, time, weldingLocation);
|
|
|
|
if (!string.IsNullOrEmpty(res))
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = res;
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
return responeData;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据焊口id保存到日报
|
|
/// </summary>
|
|
/// <param name="WeldJointId">焊口号</param>
|
|
/// <param name="Personid">人员ID</param>
|
|
/// <param name="time">时间</param>
|
|
/// <param name="weldingLocation">焊接位置</param>
|
|
/// <param name="welderType">焊工类型</param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public Model.ResponeData SaveWeldingDailyByWeldJointId(string WeldJointId, string Personid, string time,string weldingLocation,int welderType)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
string res = APIPreWeldingDailyService.SaveWeldingDailyByWeldJointId(WeldJointId, Personid, time, weldingLocation, welderType);
|
|
|
|
if (!string.IsNullOrEmpty(res))
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = res;
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
return responeData;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据焊口id保存到日报,并保存焊前、焊后附件
|
|
/// </summary>
|
|
/// <param name="newItem">焊口日报和附件参数</param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public Model.ResponeData SaveWeldingDailyByWeldJointId([FromBody] Model.WeldingDailyByWeldJointAttachItem newItem)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
string res = APIPreWeldingDailyService.SaveWeldingDailyByWeldJointIdWithAttach(newItem);
|
|
|
|
if (!string.IsNullOrEmpty(res))
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = res;
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
return responeData;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 更新焊接日报焊口信息
|
|
/// <summary>
|
|
/// 更新焊接日报焊口信息
|
|
/// </summary>
|
|
/// <param name="newItem">日报明细项</param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public Model.ResponeData SaveWeldingDailyDetail([FromBody] Model.WeldingDailyItem newItem)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
APIPreWeldingDailyService.SaveWeldingDailyDetail(newItem.WeldingDailyId, newItem.SelectIds, newItem.NotSelectIds, newItem.ProjectId);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
|
|
return responeData;
|
|
}
|
|
#endregion
|
|
|
|
#region 保存焊接日报
|
|
/// <summary>
|
|
/// 保存PreWeldingDaily
|
|
/// </summary>
|
|
/// <param name="newItem">施工方案</param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
public Model.ResponeData SavePreWeldingDaily([FromBody] Model.HJGL_PreWeldingDailyItem newItem)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
APIPreWeldingDailyService.SavePreWeldingDaily(newItem);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
|
|
return responeData;
|
|
}
|
|
#endregion
|
|
|
|
#region 焊接日报待审核
|
|
/// <summary>
|
|
/// 获取焊接日报待审核列表。
|
|
/// </summary>
|
|
/// <param name="projectId">项目ID</param>
|
|
/// <param name="unitWorkId">单位工程ID,可为空</param>
|
|
/// <param name="weldingDate">焊接日期,可为空,格式如 yyyy-MM-dd</param>
|
|
/// <param name="pipelineCode">管线编号关键字,可为空</param>
|
|
/// <param name="welderCode">焊工编号关键字,可为空</param>
|
|
/// <param name="pageIndex">页码,从1开始;小于等于0时返回全部记录</param>
|
|
/// <returns>待审核明细列表及总记录数</returns>
|
|
[HttpGet]
|
|
public Model.ResponeData GetPendingWeldingDailyTempDetailList(string projectId,
|
|
string unitWorkId = null, string weldingDate = null, string pipelineCode = null,
|
|
string welderCode = null, int pageIndex = 0)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
if (string.IsNullOrWhiteSpace(projectId))
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = "项目ID不能为空";
|
|
return responeData;
|
|
}
|
|
|
|
var getDataList = APIWeldReportService.GetPendingWeldingDailyTempDetailList(
|
|
projectId, unitWorkId, weldingDate, pipelineCode, welderCode);
|
|
int pageCount = getDataList.Count;
|
|
if (pageCount > 0 && pageIndex > 0)
|
|
{
|
|
getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1))
|
|
.Take(Funs.PageSize).ToList();
|
|
}
|
|
|
|
responeData.data = new { pageCount, getDataList };
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
|
|
return responeData;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查看单条焊接日报待审核明细。
|
|
/// </summary>
|
|
/// <param name="tempDetailId">待审核明细ID</param>
|
|
/// <returns>待审核明细</returns>
|
|
[HttpGet]
|
|
public Model.ResponeData GetPendingWeldingDailyTempDetail(string tempDetailId)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
responeData.data = APIWeldReportService.GetPendingWeldingDailyTempDetail(tempDetailId);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
|
|
return responeData;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 批量审核通过焊接日报待审核明细。
|
|
/// </summary>
|
|
/// <param name="request">批量审核参数</param>
|
|
/// <returns>批量处理结果</returns>
|
|
[HttpPost]
|
|
public Model.ResponeData AuditPendingWeldingDailyTempDetails(
|
|
[FromBody] Model.WeldingDailyTempDetailBatchRequest request)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
if (request == null)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = "参数不能为空";
|
|
return responeData;
|
|
}
|
|
|
|
string errlog = APIWeldReportService.AuditPendingWeldingDailyTempDetails(
|
|
request.TempDetailIds, request.AuditMan);
|
|
if (!string.IsNullOrEmpty(errlog))
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = errlog;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
|
|
return responeData;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 批量删除焊接日报待审核明细。
|
|
/// </summary>
|
|
/// <param name="request">批量删除参数</param>
|
|
/// <returns>批量处理结果</returns>
|
|
[HttpPost]
|
|
public Model.ResponeData DeletePendingWeldingDailyTempDetails(
|
|
[FromBody] Model.WeldingDailyTempDetailBatchRequest request)
|
|
{
|
|
var responeData = new Model.ResponeData();
|
|
try
|
|
{
|
|
if (request == null)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = "参数不能为空";
|
|
return responeData;
|
|
}
|
|
|
|
string errlog = APIWeldReportService.DeletePendingWeldingDailyTempDetails(request.TempDetailIds);
|
|
if (!string.IsNullOrEmpty(errlog))
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = errlog;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
responeData.code = 0;
|
|
responeData.message = ex.Message;
|
|
}
|
|
|
|
return responeData;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|