yusijie
2025-02-20 5fccb067ad7dc2dbcdacf8db642aa471488cd8f0
WebAPI/Controllers/Æ·ÖʹÜÀí/ÖÊÁ¿±¨±í/QC_QualityReportsController.cs
@@ -690,20 +690,20 @@
        }
        #endregion
        #region è´¨é‡æ¨¡å—    è®¾å¤‡å·¥è‰ºå‚数趋势图 æ ¹æ®æµè½¬å¡èŽ·å–è®¾å¤‡+模具
        #region è´¨é‡æ¨¡å—    è®¾å¤‡å·¥è‰ºå‚数趋势图 æ ¹æ®æµè½¬å¡+工序 èŽ·å–è®¾å¤‡
        [Route("QC_CustomerAppealReport/Get_EquipList")]
        [HttpGet]
        public object Get_EquipList(string HProcExchBillNo, string user)
        public object Get_EquipList(string HProcExchBillNo,string HProcID, string user)
        {
            try
            {   
                List<object> columnNameList = new List<object>();
                    
                ds = oCN.RunProcReturn("select distinct b.HInterID HItemID,b.HEquipFileNumber HEquipFileNumber,b.HName HName,d.HMouldNo HMouldNumber,d.HName HMouldName " +
                    " from SB_EquipICMOTechParamBillMain a left join Gy_EquipFileBillMain  b on a.HEquipID=b.HInterID" +
                    " left join Sc_ICMOBillStatus_Tmp c on a.HProcExchInterID = c.HSourceInterID and a.HProcExchEntryID = c.HSourceEntryID and a.HProcID = c.HProcID" +
                    " left join Gy_MouldFileMain d on c.HMouldID = d.HInterID where HProcExchBillNo='" + HProcExchBillNo + "'", "SB_EquipICMOTechParamBillMain");
                ds = oCN.RunProcReturn("select  isnull(c.HInterID,0)设备id,isnull(c.HEquipFileNumber,'') è®¾å¤‡ä»£ç ,isnull(c.HName,'') è®¾å¤‡åç§°,b.HRelBeginDate å¼€å§‹æ—¶é—´,b.HRelEndDate ç»“束时间 from Sc_ProcessExchangeBillMain a " +
                        " inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID" +
                        " left join Gy_EquipFileBillMain c on b.HSourceID=c.HSourceID" +
                        "  where a.HBillNo='" + HProcExchBillNo + "'and b.HProcID='"+ HProcID + "'  and b.HSourceID !=0 ", "Sc_ProcessExchangeBillMain");
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
@@ -744,11 +744,13 @@
                Dictionary<object, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<object, object>>(sWhere);
                string HProcExchBillNo = dic["HProcExchBillNo"].ToString();
                string HProcName = dic["HProcName"].ToString();
                string HProcID = dic["HProcID"].ToString();
                string HTechParamName = dic["HTechParamName"].ToString();               
                string HEquipName = dic["HEquipName"].ToString();
                string HEquipID = dic["HEquipID"].ToString();
                string HBeginDate = dic["HBeginDate"].ToString();
                string HEndDate = dic["HEndDate"].ToString();
                if ((HProcExchBillNo == null || HProcExchBillNo == "")&&(HProcName == null || HProcName == "") && (HTechParamName == null || HTechParamName == "") && (HEquipName == null || HEquipName == ""))
                if ((HProcExchBillNo == null || HProcExchBillNo == "")&&(HProcID == null || HProcID == "") && (HTechParamName == null || HTechParamName == "") && (HEquipID == null || HEquipID == ""))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -757,7 +759,7 @@
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("exec h_p_SB_EquipICMOTechParamBillList '" + HProcExchBillNo + "','" + HProcName + "','" + HTechParamName + "','"+HEquipName+"','"+Type+"'", "h_p_SB_EquipICMOTechParamBillList");
                ds = oCN.RunProcReturn("exec h_p_SB_EquipICMOTechParamBillList '" + HProcExchBillNo + "','" + HProcID + "','" + HTechParamName + "','"+ HEquipID + "','" + HBeginDate + "','" + HEndDate + "','" + Type+"'", "h_p_SB_EquipICMOTechParamBillList");
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
@@ -1486,7 +1488,14 @@
                List<object> columnNameList = new List<object>();
                ds = oCN.RunProcReturn("exec h_p_QC_FiveMenOneRingList '" + SN + "'", "h_p_QC_FiveMenOneRingList");
                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "此条码查无数据!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                // éåŽ†æ‰€æœ‰è¡¨
                foreach (DataTable table in ds.Tables)
                {
@@ -1597,13 +1606,13 @@
        //点击主表格的流转卡,查询子表格数据
        [Route("QC_CustomerAppealReport/Get_QC_FiveMenOneRingList_Right")]
        [HttpGet]
        public object Get_QC_FiveMenOneRingList_Right(string linterid, string user)
        public object Get_QC_FiveMenOneRingList_Right(string linterid,string HProcID,string SNs, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                ds = oCN.RunProcReturn("exec h_p_QC_FiveMenOneRingList_Query '" + linterid + "'", "h_p_QC_FiveMenOneRingList_Query");
                ds = oCN.RunProcReturn("exec h_p_QC_FiveMenOneRingList_Query '" + linterid + "','"+ HProcID + "','" + SNs + "'", "h_p_QC_FiveMenOneRingList_Query");
                // éåŽ†æ‰€æœ‰è¡¨
                foreach (DataTable table in ds.Tables)
@@ -1746,7 +1755,7 @@
        /// PPM绩效趋势图报表
        /// </summary>
        /// <returns></returns>
        [Route("QC_QualityReportsController/GetQC_PPMReport_Json")]
        [Route("QC_CustomerAppealReport/GetQC_PPMReport_Json")]
        [HttpGet]
        public object GetQC_PPMReport_Json(string sWhere)
        {
@@ -1755,12 +1764,14 @@
                Dictionary<object, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<object, object>>(sWhere);
                string HYear = dic["HYear"].ToString();//å¹´
                string HDeptID = dic["HDeptID"].ToString();//部门
                string HMonth = dic["HMonth"].ToString();//月
                string HSupID = dic["HSupID"].ToString();//供应商
                string HDivisionName = dic["HDivisionName"].ToString();//事业部
                string HProject = dic["HProject"].ToString();//项目号
                string HBatchWork = dic["HBatchWork"].ToString();//是否量产
                string HDivisionName = dic["HDivisionName"].ToString();//事业部
                string HDeptID = dic["HDeptID"].ToString();//部门
                ds = oCN.RunProcReturn("exec h_p_QC_PPMReport '" + HYear.ToString() + "'," + HDeptID.ToString() + ",'" + HProject + "','" + HBatchWork + "','" + HDivisionName + "'", "h_p_QC_PPMReport");
                ds = oCN.RunProcReturn("exec h_p_QC_PPMReport  '" + HYear + "','" + HMonth + "','" + HDivisionName + "','" + HProject + "','" + HBatchWork + "','" + HDeptID + "','" + HSupID + "'", "h_p_QC_PPMReport");
                List<object> columnNameList = new List<object>();
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
@@ -1793,14 +1804,64 @@
        [Route("QC_CustomerAppealReport/Get_EquipICMOTechParamList")]
        [HttpGet]
        public object Get_EquipICMOTechParamList(string linterid, string user)
        public object Get_EquipICMOTechParamList(string linterid, string HProcID, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                ds = oCN.RunProcReturn(@"select a.HProcExchBillNo,g.HEquipFileNumber,g.HName è®¾å¤‡åç§°,b.HName ç‰©æ–™åç§°,h.HName å·¥åºåç§°  from SB_EquipICMOTechParamBillMain a left join Gy_Material b on a.HMaterID = b.HItemID
                left join Gy_Source e on a.HSourceID = e.HItemID left join Gy_EquipFileBillMain g on a.HEquipID = g.HInterID left join Gy_Process h on a.HProcID = h.HItemID", "SB_EquipICMOTechParamBillMain");
                ds = oCN.RunProcReturn("select a.HBillNo å·¥åºæµè½¬å¡å·,e.HInterID è®¾å¤‡id,e.HEquipFileNumber è®¾å¤‡ä»£ç ,e.HName è®¾å¤‡åç§°,d.HName ç”Ÿäº§èµ„源,a.HMaterID ç‰©æ–™id,c.HName ç‰©æ–™åç§°,b.HProcID å·¥åºid,f.HName å·¥åºåç§°,b.HRelBeginDate å¼€å§‹æ—¶é—´,b.HRelEndDate ç»“束时间 " +
                    "from Sc_ProcessExchangeBillMain a inner join Sc_ProcessExchangeBillSub b on a.HInterID=b.HInterID " +
                    "left join Gy_Material c on a.HMaterID = c.HItemID  left join Gy_Source d on b.HSourceID = d.HItemID " +
                    "left join Gy_EquipFileBillMain e on b.HSourceID = e.HSourceID and b.HSourceID<>0 left join Gy_Process f on b.HProcID = f.HItemID where a.HInterID='" + linterid+ "' and b.HProcID='"+HProcID+"'", "SB_EquipICMOTechParamBillMain");
                //添加列名
                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.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region è´¨é‡æ¨¡å—    è®¾å¤‡å·¥è‰ºå‚数趋势图 æ ¹æ®ç‰©æ–™+设备+工序  èŽ·å– äº§å“å·¥è‰ºå‚数清单 å·¥è‰ºå‚æ•°
        [Route("QC_CustomerAppealReport/Get_TechParamList")]
        [HttpGet]
        public object Get_TechParamList(string HMaterID, string HProID, string HEquId, string HTeachName, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                if (HTeachName=="")
                {
                    ds = oCN.RunProcReturn("select c.HName å·¥è‰ºå‚æ•°,b.HDataForm é‡‡é›†æ¥æº from Gy_MaterialTechParamBillMain a " +
                    "inner join Gy_MaterialTechParamBillSub b on a.HInterID = b.HInterID " +
                    "left join Gy_TechnologyParameter c on b.HTechParamID = c.HItemID where a.HMaterID='" + HMaterID + "' and a.HProcID='" + HProID + "' and a.HEquipID='" + HEquId + "'", "SB_EquipICMOTechParamBillMain");
                }
                else
                {
                    ds = oCN.RunProcReturn("select c.HName å·¥è‰ºå‚æ•°,b.HDataForm é‡‡é›†æ¥æº from Gy_MaterialTechParamBillMain a " +
                    "inner join Gy_MaterialTechParamBillSub b on a.HInterID = b.HInterID " +
                    "left join Gy_TechnologyParameter c on b.HTechParamID = c.HItemID where a.HMaterID='" + HMaterID + "' and a.HProcID='" + HProID + "' and a.HEquipID='" + HEquId + "' and c.HName ='" + HTeachName + "'", "SB_EquipICMOTechParamBillMain");
                }
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
@@ -1850,6 +1911,7 @@
                string HBeginDate = dic["HBeginDate"].ToString();
                string HEndDate = dic["HEndDate"].ToString();
                string HBatchNo = dic["HBatchNo"].ToString();//批次号
                string HBatchNo1 = dic["HBatchNo1"].ToString();//ID号
                string HProject = dic["HProject"].ToString();//项目号
                string HBatchWork = dic["HBatchWork"].ToString();//是否量产
                string HDivisionName = dic["HDivisionName"].ToString();//事业部
@@ -1857,7 +1919,7 @@
                string HReceiveMan = dic["HReceiveMan"].ToString();//操作员
                string HEquipNumber = dic["HEquipNumber"].ToString();//设备编码
                ds = oCN.RunProcReturn("exec h_p_QC_QualityDailyReprot '" + HBeginDate + "','" + HEndDate + "','" + HBatchNo + "','" + HProject + "','" + HBatchWork + "','" + HDivisionName + "','" + HProcName + "','" + HReceiveMan + "','" + HEquipNumber + "'", "h_p_QC_QualityDailyReprot");
                ds = oCN.RunProcReturn("exec h_p_QC_QualityDailyReprot '" + HBeginDate + "','" + HEndDate + "','" + HBatchNo + "','" + HBatchNo1 + "','" + HProject + "','" + HBatchWork + "','" + HDivisionName + "','" + HProcName + "','" + HReceiveMan + "','" + HEquipNumber + "'", "h_p_QC_QualityDailyReprot");
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
@@ -1939,5 +2001,102 @@
            }
        }
        #endregion
        #region è´¨é‡æ¨¡å—    æœˆåº¦æŠ¥å‘Š æŸ¥è¯¢
        [Route("QC_CustomerAppealReport/GetQC_QualityMonthReportList")]
        [HttpGet]
        public object GetQC_QualityMonthReportList(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                Dictionary<object, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<object, object>>(sWhere);
                string HYear = dic["HYear"].ToString();
                string HMonth = dic["HMonth"].ToString();
                string HDivisionName = dic["HDivisionName"].ToString();//事业部
                string HProject = dic["HProject"].ToString();//项目号
                string HBatchWork = dic["HBatchWork"].ToString();//是否量产
                ds = oCN.RunProcReturn("exec h_p_QC_QualityMonthReport '" + HYear + "','" + HMonth + "','" + HDivisionName + "','" + HProject + "','" + HBatchWork + "'", "h_p_QC_QualityMonthReport");
                //添加列名
                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.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region è´¨é‡æ¨¡å— è®¾å¤‡TOP3问题
        /// <summary>
        /// è¿”回设备TOP3问题
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("QC_CustomerAppealReport/GetQC_BadReasonTop3ReportList")]
        [HttpGet]
        public object GetQC_BadReasonTop3ReportList(string sWhere, string user)
        {
            try
            {
                Dictionary<object, object> dic = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<object, object>>(sWhere);
                string HYear = dic["HYear"].ToString();
                string HMonth = dic["HMonth"].ToString();
                string HProject = dic["HProject"].ToString();//项目号
                string HBatchWork = dic["HBatchWork"].ToString();//是否量产
                string HDivisionName = dic["HDivisionName"].ToString();//事业部
                List<object> columnNameList = new List<object>();
                ds = oCN.RunProcReturn("exec h_p_QC_BadReasonTop3Report '" + HYear + "','" + HMonth + "','" + HProject + "','" + HBatchWork + "','" + HDivisionName + "'", "h_p_QC_BadReasonTop3Report");
                //添加列名
                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.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}