cnf
2025-11-06 0dd60562defce9f8494121f4f5969ae07f4c0963
WebApi/Gs.Sys/Services/FmController.cs
@@ -253,8 +253,7 @@
            string keyMeth = model.keyMeth;
            string keyNo = model.keyNo;
            string idtype = model.idtype;//这个仅仅是更新工单状态的时候有
            //if (keyMeth.ToUpper() == "delete".ToUpper())
            //    return "";
            try
            {
                System.Data.DataSet dset = new System.Data.DataSet();
@@ -271,14 +270,39 @@
                    return "";
                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();
@@ -296,11 +320,10 @@
                        taskname = keyTaskName,
                        optype = keyMeth,
                        datajson = JsonConvert.SerializeObject(_datajson),
                       // datajson = (_datajson),
                    };
                    return JsonConvert.SerializeObject(_obj);
                }
                //这是订单回传标识
                List<dynamic> _datajson22 = new List<dynamic>();
                dynamic _ob= new ExpandoObject();
                _ob.ENTRY = dset.Tables[0].TableToDynamicList();
@@ -320,6 +343,7 @@
                throw ex;
            }
        }
        #endregion