using System.Dynamic;
using Microsoft.AspNetCore.Mvc;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.service.QC;
using NewPdaSqlServer.util;
using Newtonsoft.Json.Linq;
namespace NewPdaSqlServer.Controllers.QC;
[Route("api/[controller]")]
[ApiController]
public class IpqcController : ControllerBase
{
IpqcService m = new IpqcService();
///
/// 首检单据查询
///
///
///
[HttpPost("getPageSj")]
public ResponseResult getPageSj([FromBody] XJPageResult queryObj)
{
try
{
dynamic resultInfos = new ExpandoObject();
var (item, totalCount) = m.getPageSj(queryObj);
var tbBillList =
resultInfos.tbBillList = item;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos,
TotalCount = totalCount
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
//getItems
[HttpPost("getJYItem")]
public ResponseResult getJYItem([FromBody] JObject data)
{
var id = data["id"]?.ToString();
var releaseNo = data["releaseNo"]?.ToString();
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList =
m.GetItems(releaseNo,
id);
resultInfos.tbBillList = tbBillList;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
///
/// 首检单据查询
///
///
///
[HttpPost("getPageXj")]
public ResponseResult getPageXj([FromBody] XJPageResult queryObj)
{
try
{
dynamic resultInfos = new ExpandoObject();
var (item, totalCount) = m.getPageXj(queryObj);
var tbBillList =
resultInfos.tbBillList = item;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos,
TotalCount = totalCount
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
//更新检验项目认证信息
[HttpPost("updateIpqcRzxx")]
public ResponseResult updateIpqcRzxx(dynamic ipqcDto)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = m.updateIpqcRzxx(ipqcDto);
resultInfos.tbBillList = tbBillList;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
///
/// 首检单据查询
///
[HttpPost("createByWomdaa")]
public ResponseResult CreateByWomdaa(dynamic query)
{
try
{
dynamic resultInfos = new ExpandoObject();
resultInfos.tbBillList = m.CreateByWomdaa(query);
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
///
/// 获取表格配置
///
[HttpPost("GetTableConfig")]
public ResponseResult GetTableConfig([FromBody] dynamic query)
{
try
{
if (query.mxguid == null)
throw new ArgumentException("明细记录GUID不能为空");
var configData = m.GetTableConfig(query.mxguid?.ToString());
if (configData == null)
throw new Exception("未找到相关配置信息");
dynamic resultInfos = new ExpandoObject();
resultInfos.selectedWater = configData.ipqc_zrxn_sel1;
resultInfos.selectedFlow = configData.ipqc_zrxn_sel2;
resultInfos.tableData = configData.ipqc_zrxn_table;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
///
/// 保存表格配置
///
[HttpPost("SaveTableConfig")]
public ResponseResult SaveTableConfig([FromBody] dynamic query)
{
try
{
// 参数校验
if (query.mxguid == null)
throw new ArgumentException("明细记录GUID不能为空");
if (query.selectedWater == null || query.selectedFlow == null)
throw new ArgumentException("检测项目配置不能为空");
// 执行SQL更新
var affectedRows = m.UpdateTableConfig(
query.selectedWater?.ToString(),
query.selectedFlow?.ToString(),
Newtonsoft.Json.JsonConvert.SerializeObject(query.tableData),
query.mxguid?.ToString()
);
return new ResponseResult
{
status = affectedRows > 0 ? 0 : 1,
message = affectedRows > 0 ? "配置保存成功" : "无数据更新",
data = new { updated = affectedRows }
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
///
/// 获取认证信息列表
///
[HttpPost("GetRzxxList")]
public ResponseResult GetRzxxList([FromBody] dynamic query)
{
try
{
if (query.mxguid == null)
throw new ArgumentException("检验项目GUID不能为空");
var rzxxList = m.GetRzxxList(query.mxguid?.ToString());
dynamic resultInfos = new ExpandoObject();
resultInfos.tbBillList = rzxxList;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
///
/// 更新认证信息_生产日期
///
[HttpPost("updateScDate")]
public ResponseResult UpdateScDate([FromBody] dynamic query)
{
try
{
if (query.mxguid == null)
throw new ArgumentException("检验项目GUID不能为空");
if (query.scDateValue == null)
throw new ArgumentException("日期参数不能为空");
var affectedRows = m.UpdateScDate(
query.scDateValue?.ToString(),
query.mxguid?.ToString()
);
return new ResponseResult
{
status = affectedRows > 0 ? 0 : 1,
message = affectedRows > 0 ? "日期更新成功" : "无数据更新",
data = new { updated = affectedRows }
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
///
/// 保存认证信息相关使用数量
///
[HttpPost("saveIpqcrzxxNum")]
public ResponseResult SaveIpqcrzxxNum([FromBody] dynamic query)
{
try
{
if (query.guid == null || query.ipqcrzxxNum == null)
throw new ArgumentException("参数不能为空");
var affectedRows = m.UpdateRzxxNum(
query.ipqcrzxxNum?.ToString(),
query.guid?.ToString()
);
return new ResponseResult
{
status = affectedRows > 0 ? 0 : 1,
message = affectedRows > 0 ? "数量更新成功" : "无数据更新",
data = new { updated = affectedRows }
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
///
/// 保存品水测试是否有异味
///
[HttpPost("saveIpqCpscs")]
public ResponseResult SaveIpqCpscs([FromBody] dynamic query)
{
try
{
if (query.guid == null || query.ipqCpscs == null)
throw new ArgumentException("参数不能为空");
var affectedRows = m.UpdateCpscs(
query.ipqCpscs?.ToString(),
query.guid?.ToString()
);
return new ResponseResult
{
status = affectedRows > 0 ? 0 : 1,
message = affectedRows > 0 ? "是否有无异味更新成功" : "无数据更新",
data = new { updated = affectedRows }
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
///
/// 现场收料获取可选工单信息
///
///
///
[HttpPost("GetIpqcXjDaa")]
public ResponseResult GetIpqcXjDaa([FromBody] dynamic query)
{
try
{
dynamic resultInfos = new ExpandoObject();
resultInfos.tbBillList = m.GetIpqcXjDaa(query);
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
}