using System.Dynamic;
using Masuit.Tools.Models;
using MES.Service.DB;
using MES.Service.Dto.service;
using MES.Service.Modes;
using MES.Service.Modes.DingAPI;
using MES.Service.service.ProductionOrder;
using MES.Service.service.QC;
using MES.Service.util;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using SharpCompress.Common;
using SqlSugar.Extensions;
namespace MESApplication.Controllers.QC;
[Route("api/[controller]")]
[ApiController]
public class SJController : ControllerBase
{
[HttpPost("GetMaxBillNo")]
public ResponseResult GetMaxBillNo()
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList =
new SJService().getMaxBillNo();
resultInfos.tbBillList = tbBillList;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("GetPage")]
public ResponseResult GetPage([FromBody] SJPageResult queryObj)
{
try
{
dynamic resultInfos = new ExpandoObject();
var (items, totalCount) = new SJService().getPage(queryObj);
resultInfos.tbBillList = items;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos,
TotalCount = totalCount
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
//SetQSItems
[HttpPost("SetQSItems")]
public ResponseResult SetQSItems([FromBody] JObject data)
{
var itemNo = data["itemNo"].ToString();
var planName = data["planName"].ToString();
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var detail021 = tbBillList.SetQSItems(itemNo, planName);
resultInfos.tbBillList = detail021;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("SavePlan")]
public ResponseResult SavePlan([FromBody] JObject data)
{
if (string.IsNullOrEmpty(data["pid"]?.ToString()))
{
return new ResponseResult
{
status = 0,
message = "OK",
data = "生成单据前不保存质检方案"
};
}
decimal pid = Convert.ToDecimal(data["pid"]);
string planName = data["planName"].ToString();
try
{
dynamic resultInfos = new ExpandoObject();
var SJ = new SJService();
decimal res = SJ.SavePlan(pid, planName);
resultInfos.res = res;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("GetItemProj")]
public ResponseResult GetItemProj([FromBody] JObject data)
{
var itemNo = data["itemNo"]?.ToString();
try
{
var service = new SJService();
var qaPlans = service.GetItemProj(itemNo);
dynamic resultInfos = new ExpandoObject();
resultInfos.qaPlans = qaPlans; // 返回到前端
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("CreateNew")]
public ResponseResult CreateNew([FromBody] JObject data)
{
var daaNo = data["daaNo"]?.ToString();
var userNo = data["statusUser"]?.ToString();
var planName = data["planName"]?.ToString();
try
{
var service = new SJService();
var (res, msg, billNo) = service.CreateNew(daaNo, userNo,planName);
dynamic resultInfos = new ExpandoObject();
resultInfos.res = res;
resultInfos.msg = msg;
resultInfos.billNo = billNo;// 返回到前端
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("Save")]
public ResponseResult Save([FromBody] QsItem item)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var detail021 = tbBillList.Save(item);
resultInfos.tbBillList = detail021;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
//SaveItem
[HttpPost("SaveItem")]
public ResponseResult SaveItem([FromBody] QsItem item)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var detail021 = tbBillList.SaveItem(item);
resultInfos.tbBillList = detail021;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
//getQSItems
[HttpPost("getQSItems")]
public ResponseResult getQSItems([FromBody] JObject data)
{
var pid = data["pid"]?.ToString();
var id = data["id"]?.ToString();
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var detail021 = tbBillList.getQSItems(Convert.ToDecimal(pid),
Convert.ToDecimal(id));
resultInfos.tbBillList = detail021;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
///
/// 获取行不良原因
///
///
///
[HttpPost("GetReason")]
public ResponseResult GetReason([FromBody] JObject data)
{
string billNo = data["billNo"].ToString();
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var reasons = tbBillList.GetReason(billNo);
resultInfos.tbBillList = reasons;
return new ResponseResult
{
status = 0,
message = "OK",
data = reasons
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("GetDingDept")]
public ResponseResult GetDingDept()
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var depts = tbBillList.getDingDept();
resultInfos.tbBillList = depts;
return new ResponseResult
{
status = 0,
message = "OK",
data = depts
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("GetDeptTree")]
public ResponseResult GetDeptTree()
{
try
{
var db = SqlSugarHelper.GetInstance();
var flatList = db.Queryable().ToList();
var tbBillList = new SJService();
// 转换为树
var tree = tbBillList.BuildDeptTree();
return new ResponseResult
{
status = 0,
message = "OK",
data = tree
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("GetDingUser")]
public ResponseResult GetDingUser()
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var users = tbBillList.getDingUser();
resultInfos.tbBillList = users;
return new ResponseResult
{
status = 0,
message = "OK",
data = users
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("DingJZCSD")]
public ResponseResult DingJZCSD(JzcsdData Indata)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var depts = tbBillList.DingJZCSD(Indata);
resultInfos.tbBillList = depts;
return new ResponseResult
{
status = 0,
message = "OK",
data = depts
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("SetQSItemDetail")]
public ResponseResult SetQSItemDetail([FromBody] QsItemIpiItemDetail detail)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var detail021 = tbBillList.SetQSItemDetail(detail);
resultInfos.tbBillList = detail021;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("getQSItemDetail")]
public ResponseResult getQSItemDetail([FromBody] JObject data)
{
var pid = data["pid"]?.ToString();
var gid = data["gid"]?.ToString();
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var detail021 = tbBillList.getQSItemDetail(Convert.ToDecimal(pid),
Convert.ToDecimal(gid));
resultInfos.tbBillList = detail021;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("UpdateQSItemDetail")]
public ResponseResult UpdateQSItemDetail(
[FromBody] QsItemIpiItemDetail detail)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var detail021 = tbBillList.UpdateQSItemDetail(detail);
resultInfos.tbBillList = detail021;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
//saveRemarksGid
[HttpPost("saveRemarksGid")]
public ResponseResult saveRemarksGid([FromBody] QsItem rkjDto)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList =
new SJService().saveRemarksGid(rkjDto);
resultInfos.tbBillList = tbBillList;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
//saveCommentGid
[HttpPost("saveCommentGid")]
public ResponseResult saveCommentGid([FromBody] QsItem rkjDto)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList =
new SJService().saveCommentGid(rkjDto);
resultInfos.tbBillList = tbBillList;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
//saveRemarksPid
[HttpPost("saveRemarksPid")]
public ResponseResult saveRemarksPid([FromBody] QsItem rkjDto)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList =
new SJService().saveRemarksPid(rkjDto);
resultInfos.tbBillList = tbBillList;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
//saveNotesPid
[HttpPost("saveNotesPid")]
public ResponseResult saveNotesPid([FromBody] QsItem rkjDto)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList =
new SJService().saveNotesPid(rkjDto);
resultInfos.tbBillList = tbBillList;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
//saveRemarksById
[HttpPost("saveRemarksById")]
public ResponseResult saveRemarksById([FromBody] QsItem rkjDto)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList =
new SJService().saveRemarksById(rkjDto);
resultInfos.tbBillList = tbBillList;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
//removeSJ
[HttpPost("removeSJ")]
public ResponseResult removeSJ([FromBody] JObject data)
{
var id = data["id"]?.ToString();
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList =
new SJService().removeXJ(Convert.ToDecimal(id));
resultInfos.tbBillList = tbBillList;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
[HttpPost("SJQaSubmit")]
public ResponseResult SJQaSubmit([FromBody] QsItem item)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var detail021 = tbBillList.SJQaSubmit(item);
resultInfos.tbBillList = detail021;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
///
/// 撤回首检
///
[HttpPost("SJQaReSubmit")]
public ResponseResult SJQaReSubmit([FromBody] QsItem item)
{
try
{
dynamic resultInfos = new ExpandoObject();
var tbBillList = new SJService();
var detail021 = tbBillList.SJQaReSubmit(item);
resultInfos.tbBillList = detail021;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
///
/// 更新QsItemIpiItem的IsPass值
///
/// 包含id和isPass的JSON对象
/// 更新结果
[HttpPost("UpdateQsItemIpiItemIsPass")]
public ResponseResult UpdateQsItemIpiItemIsPass([FromBody] JObject data)
{
try
{
var id = data["id"]?.ToString();
var isPass = data["isPass"]?.ToString();
if (string.IsNullOrEmpty(id) || string.IsNullOrEmpty(isPass))
{
return new ResponseResult
{
status = 1,
message = "参数不能为空",
data = null
};
}
dynamic resultInfos = new ExpandoObject();
var sjService = new SJService();
var result = sjService.UpdateQsItemIpiItemIsPass(Convert.ToDecimal(id), Convert.ToDecimal(isPass));
resultInfos.tbBillList = result;
return new ResponseResult
{
status = 0,
message = "OK",
data = resultInfos
};
}
catch (Exception ex)
{
return ResponseResult.ResponseError(ex);
}
}
}