cnf
2025-11-06 0dd60562defce9f8494121f4f5969ae07f4c0963
Merge branch 'master' of http://git.gs-mes.com:8080/r/~kyy/LW_MesService
已修改2个文件
66 ■■■■■ 文件已修改
WebApi/Gs.Sys/Services/FmController.cs 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/Gs.Toolbox/ExcelHelper.cs 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebApi/Gs.Sys/Services/FmController.cs
@@ -253,17 +253,16 @@
            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();
                SqlParameter[] parameters =
                      {
                       new("@inOrderGuid", keyGuid),
                       new("@inEdtUserGuid", keyUserGuid),
                       new("@keyMeth", keyMeth.ToLower()),
                   };
                new("@inOrderGuid", keyGuid),
                new("@inEdtUserGuid", keyUserGuid),
                new("@keyMeth", keyMeth.ToLower()),
            };
                dset = DbHelperSQL.RunProcedure(keyProduce, parameters, "0");
                if (dset == null)
                    return "";
@@ -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,13 +320,12 @@
                        taskname = keyTaskName,
                        optype = keyMeth,
                        datajson = JsonConvert.SerializeObject(_datajson),
                       // datajson = (_datajson),
                    };
                    return JsonConvert.SerializeObject(_obj);
                }
                //这是订单回传标识
                List<dynamic> _datajson22 = new List<dynamic>();
                dynamic _ob= new ExpandoObject();
                dynamic _ob = new ExpandoObject();
                _ob.ENTRY = dset.Tables[0].TableToDynamicList();
                _datajson22.Add(_ob);
@@ -320,6 +343,7 @@
                throw ex;
            }
        }
        #endregion
WebApi/Gs.Toolbox/ExcelHelper.cs
@@ -226,8 +226,8 @@
        //sheet.SetAutoFilter(new CellRangeAddress(0, 0, 0, dtSource.Columns.Count - 1)); //首行筛选
        // if (fixW <= 0)
        sheet.CreateFreezePane(dtSource.Columns.Count,
            1 + aryHeader.Count); //首行冻结
        //sheet.CreateFreezePane(dtSource.Columns.Count,
        //    1 + aryHeader.Count); //首行冻结
        //填充内容
        var dataRow = sheet.CreateRow(roct + 1);
        for (var i = 0; i < dtSource.Rows.Count; i++)
@@ -279,23 +279,9 @@
                _ftidx++;
            }
        }
        //保存
        using (var ms = new MemoryStream())
        {
            using (var fs = new FileStream(strFileName, FileMode.Create,
                       FileAccess.Write))
            {
                workbook.Write(ms);
                ms.Flush();
                ms.Position = 0;
                var data = ms.ToArray();
                fs.Write(data, 0, data.Length);
                fs.Flush();
            }
        }
    }
    /// <summary>
    /// 
    /// </summary>