1
yusijie
2023-05-25 c14d65aa45f6fe0eedd558bc0de345a0ccd6e22a
WebAPI/Controllers/MateOutController.cs
@@ -1317,6 +1317,303 @@
                return objJsonResult;
            }
        }
        #region 白坯发布汇总报表
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        //private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        //DataSet ds;
        public class MaterOutSumReport
        {
            public DateTime HBeginDate;
            public DateTime HEndDate;
            public string HMaterNumber;
            public string HBillNo;
            public string HProductName;
            public string HProductModel;
            public string RandomSearch;
        }
        #region 白坯发布汇总报表
        [Route("MaterOutSumReport/MaterOutSumReport_Cloth")]
        [HttpGet]
        public object MaterOutSumReport_Cloth(string sWhere)
        {
            try
            {
                //反序列化传递的值
                MaterOutSumReport com = JsonConvert.DeserializeObject<MaterOutSumReport>(sWhere.ToString());
                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.HProductName + "''='''') " +
                    "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  + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region  白坯发布明细报表
        [Route("MaterOutEntryReport/MaterOutEntryReport_Cloth")]
        [HttpGet]
        public object MaterOutEntryReport_Cloth(string sWhere)
        {
            try
            {
                //反序列化传递的值
                MaterOutSumReport com = JsonConvert.DeserializeObject<MaterOutSumReport>(sWhere.ToString());
                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.HProductName + "''='''') " +
                    "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  + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = dt;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 染厂汇总报表
        #region 染厂汇总报表
        [Route("ProdProcessSumReport/ProdProcessSumReport_DyeColor")]
        [HttpGet]
        public object ProdProcessSumReport_DyeColor(string sWhere)
        {
            try
            {
                //反序列化传递的值
                MaterOutSumReport com = JsonConvert.DeserializeObject<MaterOutSumReport>(sWhere.ToString());
                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.HProductName + "''='''') " +
                    "and (规格型号=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " + com.RandomSearch;
                ds = oCN.RunProcReturn($"exec h_p_Kf_ProdProcessSumReport_DyeColor '{sql}'", "h_p_Kf_ProdProcessSumReport_DyeColor");
                //获取列名
                List<object> columnNameList = new List<object>();
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name +  "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 染厂明细报表
        [Route("ProdProcessEntryReport/ProdProcessEntryReport_DyeColor")]
        [HttpGet]
        public object ProdProcessEntryReport_DyeColor(string sWhere,string sProcessNo)
        {
            try
            {
                //反序列化传递的值
                MaterOutSumReport com = JsonConvert.DeserializeObject<MaterOutSumReport>(sWhere.ToString());
                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.HProductName + "''='''') " +
                    "and (产品规格=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " +
                    "and (流转卡号=''" + sProcessNo + "'' or ''"+ sProcessNo + "''= '''')" + com.RandomSearch;
                ds = oCN.RunProcReturn($"exec h_p_Kf_ProdProcessEntryReport_DyeColor '{sql}'", "h_p_Kf_ProdProcessEntryReport_DyeColor");
                //获取列名
                List<object> columnNameList = new List<object>();
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 染厂产量报表
        [Route("ProdProcessSumReport/ProdProcessSumReport_DyeColor_third")]
        [HttpGet]
        public object ProdProcessSumReport_DyeColor_third(string sWhere)
        {
            try
            {
                //反序列化传递的值
                MaterOutSumReport com = JsonConvert.DeserializeObject<MaterOutSumReport>(sWhere.ToString());
                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.HProductName + "''='''') " +
                    "and (产品规格=''" + com.HProductModel + "'' or ''" + com.HProductModel + "''='''') " + com.RandomSearch;
                ds = oCN.RunProcReturn($"exec h_p_Kf_ProdProcessSumReport_DyeColor_third '{sql}'", "h_p_Kf_ProdProcessSumReport_DyeColor_third");
                //获取列名
                List<object> columnNameList = new List<object>();
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
        #endregion
    }
}