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