| | |
| | | [Description("çæ¿ç®¡ç")] |
| | | çæ¿ç®¡ç=16, |
| | | [Description("App个人ä¸å¿")] |
| | | App个人ä¸å¿ = 20 |
| | | App个人ä¸å¿ = 20, |
| | | [Description("Appæºè½åæ")] |
| | | Appæºè½åæ = 21 |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Threading.Tasks; |
| | | using VueWebCoreApi.DLL.BLL; |
| | | using VueWebCoreApi.Models; |
| | | using VueWebCoreApi.Tools; |
| | | |
| | | namespace VueWebCoreApi.Controllers |
| | | { |
| | | [ApiExplorerSettings(GroupName = "Appæºè½åæ")] |
| | | [ApiController] |
| | | [Route("api/[controller]")] |
| | | public class AppAnalyticsController : Controller |
| | | { |
| | | //å®ä¹å
¨å±ä¿¡æ¯è¿ååé |
| | | ToMessage mes = new ToMessage(); |
| | | RedisHelper redis = new RedisHelper(); |
| | | |
| | | #region[Appçäº§çæ¿] |
| | | /// <summary> |
| | | /// Appçäº§çæ¿ |
| | | /// </summary> |
| | | /// <param name="Ratetime">æ¶é´</param> |
| | | /// <param name="defecttype">缺é·ç»è®¡ç±»å</param> |
| | | /// <returns></returns> |
| | | [Route(template: "ProductionKanban")] |
| | | [HttpGet] |
| | | public JsonResult ProductionKanban(string Ratetime, string defecttype) |
| | | { |
| | | var token = HttpContext.Request.Headers["Token"].ToString(); |
| | | User us = JwtTools.Denocode(token.ToString()); |
| | | string startopendate = ""; //å¼å§æ¶é´ |
| | | string endclosedate = ""; //ç»ææ¶é´ |
| | | if (Ratetime != "" && Ratetime != null) |
| | | { |
| | | startopendate = Ratetime.Split('~')[0].ToString(); |
| | | endclosedate = Ratetime.Split('~')[1].ToString(); |
| | | } |
| | | mes = AppAnalyticsBLL.ProductionKanban(us, startopendate, endclosedate, defecttype); |
| | | return Json(mes); |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Threading.Tasks; |
| | | using VueWebCoreApi.DLL.DAL; |
| | | using VueWebCoreApi.Models; |
| | | using VueWebCoreApi.Tools; |
| | | |
| | | namespace VueWebCoreApi.DLL.BLL |
| | | { |
| | | public class AppAnalyticsBLL |
| | | { |
| | | #region[Appçäº§çæ¿] |
| | | public static ToMessage ProductionKanban(User us, string startopendate, string endclosedate, string defecttype) |
| | | { |
| | | return AppAnalyticsDAL.ProductionKanban(us, startopendate, endclosedate,defecttype); |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using Dapper; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Linq; |
| | | using System.Threading.Tasks; |
| | | using VueWebCoreApi.Models; |
| | | using VueWebCoreApi.Tools; |
| | | |
| | | namespace VueWebCoreApi.DLL.DAL |
| | | { |
| | | public class AppAnalyticsDAL |
| | | { |
| | | public static DataTable dt; //å®ä¹å
¨å±åédt |
| | | public static bool res; //å®ä¹å
¨å±åédt |
| | | |
| | | public static ToMessage mes = new ToMessage(); //å®ä¹å
¨å±è¿åä¿¡æ¯å¯¹è±¡ |
| | | public static string strProcName = ""; //å®ä¹å
¨å±sqlåé |
| | | public static List<SqlParameter> listStr = new List<SqlParameter>(); //å®ä¹å
¨å±åæ°éå |
| | | public static SqlParameter[] parameters; //å®ä¹å
¨å±SqlParameteråæ°æ°ç» |
| | | |
| | | |
| | | #region[Appçäº§çæ¿] |
| | | public static ToMessage ProductionKanban(User us, string startopendate, string endclosedate, string defecttype) |
| | | { |
| | | Dictionary<object, object> dList = new Dictionary<object, object>(); |
| | | var dynamicParams = new DynamicParameters(); |
| | | string search = "", torg_codelist = "", sql = ""; |
| | | try |
| | | { |
| | | //è·åå½åç¨æ·æå±ç»ç»åææåèç¹ç»ç» |
| | | mes = TOrganizationRecursion.TOrgCodeSeach("SCB"); |
| | | if (mes.code == "300") |
| | | { |
| | | return mes; |
| | | } |
| | | else |
| | | { |
| | | torg_codelist = mes.data.ToString(); //è·åç»ç»éå |
| | | } |
| | | // --------------ç产æ»è§-------------- |
| | | string[] torglist = Array.ConvertAll<string, string>(torg_codelist.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //stringåå²è½¬string[] |
| | | //åå¨è¿ç¨å |
| | | // --------------æ¥è¯¢å·¥å任塿°ãæ¥å·¥æ°ã计ç®å·¥èµæ¶å
¥-------------- |
| | | sql = @"h_p_JLApp_ProductAnalysisTop"; |
| | | dynamicParams.Add("@torglist", mes.data.ToString()); |
| | | dynamicParams.Add("@startopendate", startopendate + " 00:00:00"); |
| | | dynamicParams.Add("@endclosedate", endclosedate + " 23:59:59"); |
| | | var data0 = DapperHelper.selectProcedure(sql, dynamicParams); |
| | | dList.Add("dt0", data0); |
| | | // --------------ç产工å-------------- |
| | | sql = @"h_p_JLApp_ProductAnalysisCenter"; |
| | | dynamicParams.Add("@torglist", mes.data.ToString()); |
| | | dynamicParams.Add("@startopendate", startopendate + " 00:00:00"); |
| | | dynamicParams.Add("@endclosedate", endclosedate + " 23:59:59"); |
| | | var data1 = DapperHelper.selectProcedure(sql, dynamicParams); |
| | | dList.Add("dt1", data1); |
| | | // --------------缺é·ç»è®¡-------------- |
| | | sql = @"h_p_JLApp_ProductAnalysisBottom"; |
| | | dynamicParams.Add("@compute", defecttype); |
| | | dynamicParams.Add("@torglist", mes.data.ToString()); |
| | | dynamicParams.Add("@startopendate", startopendate + " 00:00:00"); |
| | | dynamicParams.Add("@endclosedate", endclosedate + " 23:59:59"); |
| | | var data2 = DapperHelper.selectProcedure(sql, dynamicParams); |
| | | dList.Add("dt2", data2); |
| | | mes.code = "200"; |
| | | mes.message = "æ¥è¯¢æå!"; |
| | | mes.data = dList; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | mes.code = "300"; |
| | | mes.count = 0; |
| | | mes.message = e.Message; |
| | | mes.data = null; |
| | | } |
| | | return mes; |
| | | } |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | // --------------æ¥è¯¢æ¥å·¥æ°ãè¯åæ£é¤ã计ç®å·¥èµæ¶å
¥-------------- |
| | | sql = @"h_p_JLApp_PieceRateWageSummary"; |
| | | dynamicParams.Add("@compute", compute); |
| | | dynamicParams.Add("@usercode", "998"); |
| | | dynamicParams.Add("@usercode", us.usercode); |
| | | dynamicParams.Add("@startopendate", startopendate + " 00:00:00"); |
| | | dynamicParams.Add("@endclosedate", endclosedate + " 23:59:59"); |
| | | var data0 = DapperHelper.selectProcedure(sql, dynamicParams); |
| | |
| | | // --------------æ¥è¯¢æ¥å·¥æç»(æç
§å·¥åã产åãå·¥åºåç»)-------------- |
| | | sql = @"h_p_JLApp_PieceRateWageDetailed"; |
| | | dynamicParams.Add("@compute", compute); |
| | | dynamicParams.Add("@usercode", "998"); |
| | | dynamicParams.Add("@usercode", us.usercode); |
| | | dynamicParams.Add("@startopendate", startopendate + " 00:00:00"); |
| | | dynamicParams.Add("@endclosedate", endclosedate + " 23:59:59"); |
| | | var data1 = DapperHelper.selectProcedure(sql, dynamicParams); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | using Dapper; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace VueWebCoreApi.Tools |
| | | { |
| | | public class TOrganizationRecursion |
| | | { |
| | | public static ToMessage mes = new ToMessage(); //å®ä¹å
¨å±è¿åä¿¡æ¯å¯¹è±¡ |
| | | |
| | | #region [æ ¹æ®å½åç»ç»ç¼ç è·åææåèç¹ç»ç»(å
å«èªèº«)] |
| | | /// <summary> |
| | | /// æ ¹æ®å½åç»ç»ç¼ç è·åææåèç¹ç»ç»(å
å«èªèº«) |
| | | /// </summary> |
| | | /// <param name="torg_code">ç»ç»ç¼ç </param> |
| | | /// <returns></returns> |
| | | public static ToMessage TOrgCodeSeach(string torg_code) |
| | | { |
| | | string sql; |
| | | var dynamicParams = new DynamicParameters(); |
| | | try |
| | | { |
| | | sql = @" WITH RecursiveCTE AS ( |
| | | SELECT id, parent_id, torg_code, torg_name, status, leve, torg_seq |
| | | FROM TOrganization |
| | | WHERE torg_code = @torg_code |
| | | UNION ALL |
| | | SELECT o.id, o.parent_id, o.torg_code, o.torg_name, o.status, o.leve, o.torg_seq |
| | | FROM TOrganization o |
| | | INNER JOIN RecursiveCTE r ON r.torg_code = o.parent_id |
| | | ) |
| | | SELECT STUFF((SELECT ',' + QUOTENAME(torg_code, '''') FROM RecursiveCTE |
| | | FOR XML PATH('')), 1, 1, '') AS torg_codelist"; |
| | | dynamicParams.Add("@torg_code", torg_code); |
| | | var data = DapperHelper.selectdata(sql, dynamicParams); |
| | | if (data.Rows.Count > 0&&data.Rows[0]["torg_codelist"].ToString()!=null) |
| | | { |
| | | mes.code = "200"; |
| | | mes.count = 0; |
| | | mes.message = "æ¥è¯¢æå!"; |
| | | mes.data = data.Rows[0]["torg_codelist"].ToString(); |
| | | } |
| | | else |
| | | { |
| | | mes.code = "300"; |
| | | mes.count = 0; |
| | | mes.message = "å½åç¨æ·æå±ç»ç»ç¼ç ã" + torg_code + "ãä¸åå¨!"; |
| | | mes.data = null; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | mes.code = "300"; |
| | | mes.count = 0; |
| | | mes.message = e.Message; |
| | | mes.data = null; |
| | | } |
| | | return mes; |
| | | } |
| | | #endregion |
| | | } |
| | | } |