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(LLJDto 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); } } }