1
yangle
2023-05-22 680b605296b299a426438579b8a271882521dc8a
WebAPI/Controllers/MateOutController.cs
@@ -1320,7 +1320,7 @@
        //#region 白坯发布汇总报表
        #region 白坯发布汇总报表
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        //private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
@@ -1334,29 +1334,47 @@
            public string HBillNo;
            public string HProductName;
            public string HProductModel;
            public string RandomSearch;
        }
        //白坯发布汇总报表
        #region 白坯发布汇总报表
        [Route("MaterOutSumReport/MaterOutSumReport_Cloth")]
        [HttpGet]
        public object MaterOutSumReport_Cloth(string sWhere)
        {
            int i = 0;
            try
            {
                //反序列化传递的值
                MaterOutSumReport com = JsonConvert.DeserializeObject<MaterOutSumReport>(sWhere.ToString());
                ds = oCN.RunProcReturn($"exec h_p_Kf_MaterOutSumReport_Cloth '{com.HBeginDate}','{com.HEndDate}'" +
                    $",'{com.HMaterNumber}','{com.HBillNo}','{com.HProductName}','{com.HProductModel}'", "h_p_Kf_MaterOutSumReport_Cloth");
                string sql = "" +
                    "( (日期 between ''" + com.HBeginDate + "'' and ''" + com.HEndDate + "'') or (''" + com.HBeginDate + "'' = '''' and ''" + com.HEndDate + "''='''') ) " +
                    "and (产品代码=''" + com.HMaterNumber + "'' or ''" + com.HMaterNumber + "''='''') " +
                    "and (单据号=''" + com.HBillNo + "'' or ''"+ com.HBillNo + "''='''') " +
                    "and (产品名称=''" + com.HProductName + "'' or ''" + com.HBillNo + "''='''') " +
                    "and (规格型号=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " + com.RandomSearch;
                ds = oCN.RunProcReturn($"exec h_p_Kf_MaterOutSumReport_Cloth_New '{sql}'" , "h_p_Kf_MaterOutSumReport_Cloth_New");
                //获取列名
                List<object> columnNameList = new List<object>();
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    int headLen = col.ColumnName.ToString().Length;        //列名的长度
                    int colLen = 0;
                    if (ds.Tables[1].Rows[0][col.ColumnName] != null)
                    {
                        string colLenStr=ds.Tables[1].Rows[0][col.ColumnName].ToString();
                        if(colLenStr != "")
                        {
                            colLen = int.Parse(colLenStr);   //列中最长数据的长度
                        }
                    }
                    colLen = (headLen >= colLen) ? headLen : colLen;
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\",\"width\":\"" + colLen + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
@@ -1376,29 +1394,48 @@
                return objJsonResult;
            }
        }
        #endregion
        //白坯发布明细报表
        #region  白坯发布明细报表
        [Route("MaterOutEntryReport/MaterOutEntryReport_Cloth")]
        [HttpGet]
        public object MaterOutEntryReport_Cloth(string sWhere)
        {
            int i = 0;
            try
            {
                //反序列化传递的值
                MaterOutSumReport com = JsonConvert.DeserializeObject<MaterOutSumReport>(sWhere.ToString());
                ds = oCN.RunProcReturn($"exec h_p_Kf_MaterOutEntryReport_Cloth '{com.HBeginDate}','{com.HEndDate}'" +
                    $",'{com.HMaterNumber}','{com.HBillNo}','{com.HProductName}','{com.HProductModel}'", "h_p_Kf_MaterOutEntryReport_Cloth");
                string sql = "" +
                    "( (日期 between ''" + com.HBeginDate + "'' and ''" + com.HEndDate + "'') or (''" + com.HBeginDate + "'' = '''' and ''" + com.HEndDate + "''='''') ) " +
                    "and (产品代码=''" + com.HMaterNumber + "'' or ''" + com.HMaterNumber + "''='''') " +
                    "and (任务单=''" + com.HBillNo + "'' or ''" + com.HBillNo + "''='''') " +
                    "and (产品名称=''" + com.HProductName + "'' or ''" + com.HBillNo + "''='''') " +
                    "and (规格型号=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " + com.RandomSearch;
                ds = oCN.RunProcReturn($"exec h_p_Kf_MaterOutEntryReport_Cloth_New '{sql}'", "h_p_Kf_MaterOutEntryReport_Cloth_New");
                DataTable dt = ds.Tables[0];
                //获取列名
                List<object> columnNameList = new List<object>();
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    int headLen = col.ColumnName.ToString().Length;        //列名的长度
                    int colLen = 0;
                    if (ds.Tables[1].Rows[0][col.ColumnName] != null)
                    {
                        string colLenStr = ds.Tables[1].Rows[0][col.ColumnName].ToString();
                        if (colLenStr != "")
                        {
                            colLen = int.Parse(colLenStr);   //列中最长数据的长度
                        }
                    }
                    colLen = (headLen >= colLen) ? headLen : colLen;
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name +"\",\"width\":\"" + colLen + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
@@ -1406,7 +1443,7 @@
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                objJsonResult.data = dt;
                return objJsonResult;
            }
            catch (Exception e)
@@ -1418,9 +1455,10 @@
                return objJsonResult;
            }
        }
        #endregion
        //#endregion
        #endregion
    }
}