kyy
2025-11-28 47f38ba0d8dad9d01e39f9ecb1c05ea64974790b
1、新增采购退货单删除接口 2、新增接口json只传主表类型
已修改3个文件
124 ■■■■■ 文件已修改
WebApi/Gs.QiTaCk/MesCgthSqDjManager.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/Gs.Sys/Services/FmController.cs 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/Gs.Warehouse/Services/MesInvItemInsManager.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/Gs.QiTaCk/MesCgthSqDjManager.cs
@@ -197,6 +197,65 @@
                "操作成功!");
        }
        /// <summary>
        ///     删除主表或明细
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        [RequestMethod(RequestMethods.POST)]
        public ReturnDto<int?> DeleteCgThSqDj([FromBody] dynamic model)
        {
            int? rtnInt = (int)ReturnCode.Default;
            Guid? guid = model.guid; //退货单主键
            string mxGuid = model.mxGuid;
            var _outMsg = "";
            var _outSum = -1;
            using (var conn = new SqlConnection(DbHelperSQL.strConn))
            {
                using (var cmd = new SqlCommand("[prc_cgtlsq_dj_del]", conn))
                {
                    try
                    {
                        conn.Open();
                        cmd.CommandType = CommandType.StoredProcedure;
                        SqlParameter[] parameters =
                        {
                        new("@outMsg", SqlDbType.NVarChar, 300),
                        new("@outSum", SqlDbType.Int),
                        new("@inOrderGuid",
                            UtilityHelper.CheckGuid(guid)
                                ? guid
                                : DBNull.Value),
                        new("@inEdtUserGuid", _userGuid),
                        new("@inMxGuid", mxGuid)
                    };
                        parameters[0].Direction = ParameterDirection.Output;
                        parameters[1].Direction = ParameterDirection.Output;
                        foreach (var parameter in parameters)
                            cmd.Parameters.Add(parameter);
                        cmd.ExecuteNonQuery();
                        _outMsg = parameters[0].Value.ToString();
                        _outSum = int.Parse(parameters[1].Value.ToString());
                    }
                    catch (Exception ex)
                    {
                        LogHelper.Debug(ToString(),
                            "prc_cgtlsq_dj_del error:" + ex.Message);
                        _outMsg = ex.Message;
                        _outSum = -1;
                    }
                    finally
                    {
                        conn.Close();
                    }
                }
            }
            if (_outSum <= 0)
                return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception,
                    _outMsg);
            return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, _outMsg);
        }
    }
}
WebApi/Gs.Sys/Services/FmController.cs
@@ -253,6 +253,10 @@
            string keyMeth = model.keyMeth;
            string keyNo = model.keyNo;
            string idtype = model.idtype;//这个仅仅是更新工单状态的时候有
            string? keyList = model.keyList;//从存储过程来 zb/只取主表数据 mx1/取明细1的数据
            if (string.IsNullOrEmpty(keyList))
                keyList = "";
            try
            {
@@ -271,48 +275,33 @@
                if (dset.Tables[0].Rows.Count <= 0)
                    return "";
                // 2025-11-05处理 keyProduce 为 prc_cgthsq_sm_Erp 采购退货的特殊情况
                if (keyProduce == "prc_cgthsq_sm_Erp")
                {
                    // 从数据集提取 erpid 和 F_WPVT_INTEGER_L6W 的值(字段名根据实际情况调整)
                    string erpid = dset.Tables[0].Rows[0]["erpid"].ToString();
                    string fWpvtIntegerL6w = dset.Tables[0].Rows[0]["F_WPVT_INTEGER_L6W"].ToString();
                    // 构建 datajson 内容(仅包含两个字段)
                    var dataJsonContent = new
                    {
                        erpid = erpid,
                        F_WPVT_INTEGER_L6W = fWpvtIntegerL6w
                    };
                    // 保持和原有格式一致的外层结构
                    var specialObj = new
                    {
                        mesid = dset.Tables[0].Rows[0][0].ToString(), // 沿用原有 mesid 的取值逻辑(第一列)
                        taskname = keyTaskName,
                        optype = keyMeth,
                        datajson = JsonConvert.SerializeObject(dataJsonContent) // 将两个字段序列化为 datajson
                    };
                    return JsonConvert.SerializeObject(specialObj);
                }
                // 原有逻辑(非特殊情况)
              // 原有逻辑(非特殊情况)
                if (string.IsNullOrEmpty(idtype))
                {
                    string _mesGuid = dset.Tables[0].Rows[0][0].ToString();
                    dynamic _datajson = new ExpandoObject();
                    if (dset.Tables.Count > 1)
                    {
                        if (keyMeth.ToLower() == "toclose".ToLower() || keyMeth.ToLower() == "closure".ToLower() || keyMeth.ToLower() == "unfinish")
                        {
                            _datajson = dset.Tables[1].Rows[0].RowToDynamic();
                        }
                        else
                        {
                            _datajson = dset.Tables[0].Rows[0].RowToDynamic();
                            List<dynamic> _lst = dset.Tables[1].TableToDynamicList();
                            ((IDictionary<string, object>)_datajson)[keyChild] = _lst;
                        }
                            // 1.仅取主表数据,不处理子表
                            if ( keyList.ToLower() == "zb".ToLower() )
                            {
                                _datajson = dset.Tables[0].Rows[0].RowToDynamic();
                            }
                            // 2.取子表第一行数据
                            else if (keyMeth.ToLower() == "toclose"
                                     || keyMeth.ToLower() == "closure"
                                     || keyMeth.ToLower() == "unfinish")
                            {
                                _datajson = dset.Tables[1].Rows[0].RowToDynamic();
                            }
                            // 3.其他操作:主表+子表挂载到keyChild
                            else
                            {
                                _datajson = dset.Tables[0].Rows[0].RowToDynamic();
                                List<dynamic> _lst = dset.Tables[1].TableToDynamicList();
                                ((IDictionary<string, object>)_datajson)[keyChild] = _lst;
                            }
                    }
                    var _obj = new
                    {
WebApi/Gs.Warehouse/Services/MesInvItemInsManager.cs
@@ -176,7 +176,7 @@
                catch (Exception ex)
                {
                    LogHelper.Debug(ToString(),
                        "prc_cgdhd_Edt error:" + ex.Message);
                        "prc_cgrk_del error:" + ex.Message);
                    _outMsg = ex.Message;
                    _outSum = -1;
                }