zyf
2025-11-27 d7f491034ae9694741178f17f809143f48470520
MESApplication/Controllers/QC/SJController.cs
@@ -1,10 +1,16 @@
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;
@@ -58,17 +64,108 @@
    }
    //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);
            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,
@@ -153,6 +250,127 @@
            return ResponseResult.ResponseError(ex);
        }
    }
    /// <summary>
    /// 获取行不良原因
    /// </summary>
    /// <param name="data"></param>
    /// <returns></returns>
    [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<DingDept>().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)
@@ -250,6 +468,29 @@
        }
    }
    //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)
@@ -259,6 +500,29 @@
            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
            {
@@ -343,6 +607,31 @@
    }
    /// <summary>
    /// 撤回首检
    /// </summary>
    [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);
        }
    }
    /// <summary>
    /// 更新QsItemIpiItem的IsPass值
    /// </summary>
    /// <param name="data">包含id和isPass的JSON对象</param>