using System.Dynamic;
|
using MES.Service.Dto.service;
|
using MES.Service.Modes;
|
using MES.Service.service.QC;
|
using MES.Service.util;
|
using Microsoft.AspNetCore.Mvc;
|
using Newtonsoft.Json.Linq;
|
|
namespace MESApplication.Controllers.QC;
|
|
/// <summary>
|
/// 超期检验控制器
|
/// </summary>
|
[Route("api/[controller]")]
|
[ApiController]
|
public class CqjController : ControllerBase
|
{
|
/// <summary>
|
/// 获取超期检验列表(分页)
|
/// </summary>
|
/// <param name="queryObj">查询参数</param>
|
/// <returns>分页数据</returns>
|
[HttpPost("getPage")]
|
public ResponseResult getPage([FromBody] XJPageResult queryObj)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var (item, totalCount) = new CqjService().GetPage(queryObj);
|
resultInfos.tbBillList = item;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos,
|
TotalCount = totalCount
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 调用存储过程,获取检验项目
|
/// </summary>
|
/// <param name="data">包含itemNo、quantity、releaseNo</param>
|
/// <returns>执行结果</returns>
|
[HttpPost("setJYItem")]
|
public ResponseResult setJYItem([FromBody] JObject data)
|
{
|
var itemNo = Convert.ToDecimal(data["itemNo"].ToString());
|
var quantity = Convert.ToDecimal(data["quantity"].ToString());
|
var releaseNo = data["releaseNo"].ToString();
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var result = new CqjService().SetItems(itemNo, quantity, releaseNo);
|
resultInfos.tbBillList = result;
|
|
// 根据存储过程返回结果判断是否成功
|
var resultCode = result[0];
|
var resultMessage = result[1];
|
|
if (resultCode == "0")
|
{
|
return new ResponseResult
|
{
|
status = 0,
|
message = resultMessage,
|
data = resultInfos
|
};
|
}
|
else
|
{
|
return new ResponseResult
|
{
|
status = 1,
|
message = resultMessage,
|
data = resultInfos
|
};
|
}
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 获取检验项目列表
|
/// </summary>
|
/// <param name="data">包含releaseNo、id</param>
|
/// <returns>检验项目列表</returns>
|
[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 = new CqjService().GetItems(releaseNo,
|
string.IsNullOrEmpty(id) ? null : Convert.ToDecimal(id));
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 删除超期检验单
|
/// </summary>
|
/// <param name="data">包含releaseNo</param>
|
/// <returns>执行结果</returns>
|
[HttpPost("removeCqj")]
|
public ResponseResult removeCqj([FromBody] JObject data)
|
{
|
var releaseNo = data["releaseNo"]?.ToString();
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList = new CqjService().RemoveCqj(releaseNo);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 保存不良描述到主表
|
/// </summary>
|
/// <param name="data">包含gid、releaseNo、fngDesc</param>
|
/// <returns>执行结果</returns>
|
[HttpPost("saveRemarksGid")]
|
public ResponseResult saveRemarksGid([FromBody] JObject data)
|
{
|
var gid = Convert.ToDecimal(data["gid"].ToString());
|
var releaseNo = data["releaseNo"]?.ToString();
|
var fngDesc = data["fngDesc"]?.ToString();
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList = new CqjService().SaveRemarksGid(gid, releaseNo, fngDesc);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 保存备注到主表
|
/// </summary>
|
/// <param name="data">包含gid、releaseNo、lotNo1</param>
|
/// <returns>执行结果</returns>
|
[HttpPost("saveLotNo1")]
|
public ResponseResult saveLotNo1([FromBody] JObject data)
|
{
|
var gid = Convert.ToDecimal(data["gid"].ToString());
|
var releaseNo = data["releaseNo"]?.ToString();
|
var lotNo1 = data["lotNo1"]?.ToString();
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList = new CqjService().SaveLotNo1(gid, releaseNo, lotNo1);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 保存不良描述到子表
|
/// </summary>
|
/// <param name="data">包含pid、funit</param>
|
/// <returns>执行结果</returns>
|
[HttpPost("saveRemarksPid")]
|
public ResponseResult saveRemarksPid([FromBody] JObject data)
|
{
|
var pid = Convert.ToDecimal(data["pid"].ToString());
|
var funit = data["funit"]?.ToString();
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList = new CqjService().SaveRemarksPid(pid, funit);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 保存备注到子表
|
/// </summary>
|
/// <param name="data">包含pid、meom</param>
|
/// <returns>执行结果</returns>
|
[HttpPost("saveMeom")]
|
public ResponseResult saveMeom([FromBody] JObject data)
|
{
|
var pid = Convert.ToDecimal(data["pid"].ToString());
|
var meom = data["meom"]?.ToString();
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList = new CqjService().SaveMeom(pid, meom);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 新增/查询检验详情记录
|
/// </summary>
|
/// <param name="data">包含mainId、releaseNo、fstand、fcheckResu、LastupdateBy、count(新增时)或id、releaseNo(查询时)</param>
|
/// <returns>执行结果</returns>
|
[HttpPost("SetQSItemDetail")]
|
public ResponseResult SetQSItemDetail([FromBody] JObject data)
|
{
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
|
// 判断是新增还是查询
|
if (data.ContainsKey("fcheckResu") && data["fcheckResu"] != null)
|
{
|
// 新增操作 - 按照LLJ模式,使用对象接收参数
|
var detail = new MesCqItemsDetectDetail12
|
{
|
MainId = Convert.ToDecimal(data["mainId"].ToString()),
|
ReleaseNo = data["releaseNo"]?.ToString(),
|
Fstand = data["fstand"]?.ToString(),
|
FcheckResu = data["fcheckResu"]?.ToString(),
|
LastupdateBy = data["LastupdateBy"]?.ToString(), // 使用LastupdateBy而不createBy
|
count = data.ContainsKey("count") && data["count"] != null
|
? Convert.ToInt32(data["count"].ToString())
|
: 1 // 默认为1
|
};
|
|
var tbBillList = new CqjService().SetQSItemDetail(detail);
|
resultInfos.tbBillList = tbBillList;
|
}
|
else
|
{
|
// 查询操作
|
var id = Convert.ToDecimal(data["id"].ToString());
|
var releaseNo = data["releaseNo"]?.ToString();
|
|
var tbBillList = new CqjService().GetQSItemDetail(id, releaseNo);
|
resultInfos.tbBillList = tbBillList;
|
}
|
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 更新检验详情记录
|
/// </summary>
|
/// <param name="data">包含id、mainId、releaseNo、fstand、fcheckResu、updateBy</param>
|
/// <returns>执行结果</returns>
|
[HttpPost("UpdateQSItemDetail")]
|
public ResponseResult UpdateQSItemDetail([FromBody] JObject data)
|
{
|
var id = Convert.ToDecimal(data["id"].ToString());
|
var mainId = Convert.ToDecimal(data["mainId"].ToString());
|
var releaseNo = data["releaseNo"]?.ToString();
|
var fstand = data["fstand"]?.ToString();
|
var fcheckResu = data["fcheckResu"]?.ToString();
|
var updateBy = data["updateBy"]?.ToString();
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var tbBillList = new CqjService().UpdateQSItemDetail(id, mainId, releaseNo, fstand, fcheckResu, updateBy);
|
resultInfos.tbBillList = tbBillList;
|
return new ResponseResult
|
{
|
status = 0,
|
message = "OK",
|
data = resultInfos
|
};
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 检验提交
|
/// </summary>
|
/// <param name="data">包含userNo、releaseNo</param>
|
/// <returns>执行结果</returns>
|
[HttpPost("submitInspection")]
|
public ResponseResult submitInspection([FromBody] JObject data)
|
{
|
var userNo = data["userNo"]?.ToString();
|
var releaseNo = data["releaseNo"]?.ToString();
|
try
|
{
|
dynamic resultInfos = new ExpandoObject();
|
var result = new CqjService().SubmitInspection(userNo, releaseNo);
|
resultInfos.tbBillList = result;
|
|
// 根据存储过程返回结果判断是否成功
|
var resultCode = result[0];
|
var resultMessage = result[1];
|
|
if (resultCode == "0")
|
{
|
return new ResponseResult
|
{
|
status = 0,
|
message = resultMessage,
|
data = resultInfos
|
};
|
}
|
else
|
{
|
return new ResponseResult
|
{
|
status = 1,
|
message = resultMessage,
|
data = resultInfos
|
};
|
}
|
}
|
catch (Exception ex)
|
{
|
return ResponseResult.ResponseError(ex);
|
}
|
}
|
|
/// <summary>
|
/// 处理OPTIONS请求(用于跨域预检)
|
/// </summary>
|
[HttpOptions("{**any}")]
|
public IActionResult HandleOptions()
|
{
|
return Ok();
|
}
|
}
|