| | |
| | | using MES.Service.Dto.@base; |
| | | using MES.Service.Dto.@base; |
| | | using SqlSugar; |
| | | |
| | | namespace MES.Service.Dto.service; |
| | |
| | | [SugarColumn(ColumnName = "DAA001")] //ç¨äºSqlSugar |
| | | public string? daa001 { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "CAT_QTY")] //ç¨äºSqlSugar |
| | | public decimal? catQty { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "DETAIL_MEM")] //ç¨äºSqlSugar |
| | | public string? detailMem { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "TASK_NO")] //ç¨äºSqlSugar |
| | | public string? taskNo { get; set; } |
| | | |
| | | //LINE |
| | | [SugarColumn(ColumnName = "LINE")] //ç¨äºSqlSugar |
| | | public string? line { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 模å
·å· |
| | | /// </summary> |
| | | |
| | | [SugarColumn(ColumnName = "MOID_NUM")] //ç¨äºSqlSugar |
| | | public string? MoidNum { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "Remarks")] //ç¨äºSqlSugar |
| | | public string? Remarks { get; set; } |
| | | |
| | | //BOARD_MODEL |
| | | [SugarColumn(ColumnName = "BOARD_MODEL")] |
| | | public string? BoardModel { get; set; } |
| | | /// <summary> |
| | | /// 产ååç§° |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DAA003")] |
| | | public string? Daa003 { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "PLAN_QTY")] public decimal? PlanQty { get; set; } |
| | | /// <summary> |
| | | /// 产åè§æ ¼ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DAA004")] |
| | | public string? Daa004 { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "MOCODE")] public string? Mocode { get; set; } |
| | | |
| | | [SugarColumn(ColumnName = "BOARD_STYLE")] |
| | | public string? BoardStyle { get; set; } |
| | | /// <summary> |
| | | /// 工忰é |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DAA008")] |
| | | public decimal? Daa008 { get; set; } |
| | | } |
| | |
| | | using System.ComponentModel.DataAnnotations; |
| | | using System.ComponentModel.DataAnnotations.Schema; |
| | | using SqlSugar; |
| | | using SqlSugar; |
| | | |
| | | namespace MES.Service.Modes; |
| | | |
| | | /// <summary> |
| | | /// çº¿ä½ |
| | | /// </summary> |
| | | [Table("MES_LINE")] |
| | | [SugarTable("MES_LINE")] //ç¨äºSqlSugar |
| | | [SugarTable("MES_LINE")] |
| | | public class MesLine |
| | | { |
| | | /// <summary> |
| | | /// ä¸»é® |
| | | /// </summary> |
| | | [Key] |
| | | [Column("ID")] |
| | | [SugarColumn(ColumnName = "ID")] //ç¨äºSqlSugar |
| | | [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)] |
| | | public decimal Id { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¡ç ç±»å |
| | | /// 线ä½ç¼å· |
| | | /// </summary> |
| | | [Column("BARTYPE")] |
| | | [SugarColumn(ColumnName = "BARTYPE")] //ç¨äºSqlSugar |
| | | [StringLength(20, ErrorMessage = "æ¡ç ç±»åé¿åº¦ä¸è½è¶
åº20")] |
| | | public string Bartype { get; set; } |
| | | [SugarColumn(ColumnName = "LINE_NO")] |
| | | public string LineNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 塿¿åç±» |
| | | /// 线ä½åç§° |
| | | /// </summary> |
| | | [Column("BK01")] |
| | | [SugarColumn(ColumnName = "BK01")] //ç¨äºSqlSugar |
| | | [StringLength(50, ErrorMessage = "塿¿åç±»é¿åº¦ä¸è½è¶
åº50")] |
| | | public string Bk01 { get; set; } |
| | | [SugarColumn(ColumnName = "LINE_NAME")] |
| | | public string LineName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å®¡æ ¸äºº |
| | | /// å·¥ä½ä¸å¿ç¼å· |
| | | /// </summary> |
| | | [Column("CHECK_BY")] |
| | | [SugarColumn(ColumnName = "CHECK_BY")] //ç¨äºSqlSugar |
| | | [StringLength(30, ErrorMessage = "å®¡æ ¸äººé¿åº¦ä¸è½è¶
åº30")] |
| | | public string CheckBy { get; set; } |
| | | [SugarColumn(ColumnName = "WORKSHOP_CENTER_CODE")] |
| | | public string WorkshopCenterCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å®¡æ ¸æ¥æ |
| | | /// 夿³¨ |
| | | /// </summary> |
| | | [Column("CHECK_DATE")] |
| | | [SugarColumn(ColumnName = "CHECK_DATE")] //ç¨äºSqlSugar |
| | | public DateTime? CheckDate { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å®¡æ ¸ç¶æ |
| | | /// </summary> |
| | | [Column("CHECK_STATUS")] |
| | | [SugarColumn(ColumnName = "CHECK_STATUS")] //ç¨äºSqlSugar |
| | | public decimal? CheckStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// </summary> |
| | | [Column("COMPANY")] |
| | | [SugarColumn(ColumnName = "COMPANY")] //ç¨äºSqlSugar |
| | | [StringLength(20, ErrorMessage = "Companyé¿åº¦ä¸è½è¶
åº20")] |
| | | public string Company { get; set; } |
| | | [SugarColumn(ColumnName = "MEMO")] |
| | | public string Memo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å建人 |
| | | /// </summary> |
| | | [Column("CREATE_BY")] |
| | | [SugarColumn(ColumnName = "CREATE_BY")] //ç¨äºSqlSugar |
| | | [StringLength(30, ErrorMessage = "å建人é¿åº¦ä¸è½è¶
åº30")] |
| | | [SugarColumn(ColumnName = "CREATE_BY")] |
| | | public string CreateBy { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åå»ºæ¥æ |
| | | /// </summary> |
| | | [Column("CREATE_DATE")] |
| | | [SugarColumn(ColumnName = "CREATE_DATE")] //ç¨äºSqlSugar |
| | | [SugarColumn(ColumnName = "CREATE_DATE")] |
| | | public DateTime? CreateDate { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨é¨ç¼å· |
| | | /// </summary> |
| | | [Column("DEPARTMENTCODE")] |
| | | [SugarColumn(ColumnName = "DEPARTMENTCODE")] //ç¨äºSqlSugar |
| | | [StringLength(32, ErrorMessage = "é¨é¨ç¼å·é¿åº¦ä¸è½è¶
åº32")] |
| | | public string Departmentcode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 线边ä»åº |
| | | /// </summary> |
| | | [Column("DEPOT_CODE")] |
| | | [SugarColumn(ColumnName = "DEPOT_CODE")] //ç¨äºSqlSugar |
| | | [StringLength(50, ErrorMessage = "线边ä»åºé¿åº¦ä¸è½è¶
åº50")] |
| | | public string DepotCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é»è®¤åºä½ |
| | | /// </summary> |
| | | [Column("DEPOT_SECTION_CODE")] |
| | | [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")] //ç¨äºSqlSugar |
| | | [StringLength(50, ErrorMessage = "é»è®¤åºä½é¿åº¦ä¸è½è¶
åº50")] |
| | | public string DepotSectionCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// </summary> |
| | | [Column("FACTORY")] |
| | | [SugarColumn(ColumnName = "FACTORY")] //ç¨äºSqlSugar |
| | | [StringLength(20, ErrorMessage = "Factoryé¿åº¦ä¸è½è¶
åº20")] |
| | | public string Factory { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ ç¾æ¾ç¤ºå¼ |
| | | /// </summary> |
| | | [Column("LABEL")] |
| | | [SugarColumn(ColumnName = "LABEL")] //ç¨äºSqlSugar |
| | | [StringLength(100, ErrorMessage = "æ ç¾æ¾ç¤ºå¼é¿åº¦ä¸è½è¶
åº100")] |
| | | public string Label { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æåä¿®æ¹äºº |
| | | /// </summary> |
| | | [Column("LASTUPDATE_BY")] |
| | | [SugarColumn(ColumnName = "LASTUPDATE_BY")] //ç¨äºSqlSugar |
| | | [StringLength(30, ErrorMessage = "æåä¿®æ¹äººé¿åº¦ä¸è½è¶
åº30")] |
| | | [SugarColumn(ColumnName = "LASTUPDATE_BY")] |
| | | public string LastupdateBy { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æåä¿®æ¹æ¥æ |
| | | /// </summary> |
| | | [Column("LASTUPDATE_DATE")] |
| | | [SugarColumn(ColumnName = "LASTUPDATE_DATE")] //ç¨äºSqlSugar |
| | | [SugarColumn(ColumnName = "LASTUPDATE_DATE")] |
| | | public DateTime? LastupdateDate { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç»é¿ç¼å· |
| | | /// 塿¿åç±» |
| | | /// </summary> |
| | | [Column("L_CODE")] |
| | | [SugarColumn(ColumnName = "L_CODE")] //ç¨äºSqlSugar |
| | | [StringLength(32, ErrorMessage = "ç»é¿ç¼å·é¿åº¦ä¸è½è¶
åº32")] |
| | | public string LCode { get; set; } |
| | | [SugarColumn(ColumnName = "BK01")] |
| | | public string Bk01 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 线ç®ç |
| | | /// æ ç¾æ¾ç¤ºå¼ |
| | | /// </summary> |
| | | [Column("LINEJM")] |
| | | [SugarColumn(ColumnName = "LINEJM")] //ç¨äºSqlSugar |
| | | [StringLength(20, ErrorMessage = "线ç®ç é¿åº¦ä¸è½è¶
åº20")] |
| | | public string Linejm { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 线ä½åç§° |
| | | /// </summary> |
| | | [Column("LINE_NAME")] |
| | | [SugarColumn(ColumnName = "LINE_NAME")] //ç¨äºSqlSugar |
| | | [StringLength(64, ErrorMessage = "线ä½åç§°é¿åº¦ä¸è½è¶
åº64")] |
| | | public string LineName { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 线ä½ç¼å· |
| | | /// </summary> |
| | | [Column("LINE_NO")] |
| | | [SugarColumn(ColumnName = "LINE_NO")] //ç¨äºSqlSugar |
| | | [StringLength(32, ErrorMessage = "线ä½ç¼å·é¿åº¦ä¸è½è¶
åº32")] |
| | | public string LineNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// äº§çº¿ç±»å« |
| | | /// </summary> |
| | | [Column("LINE_STYLE")] |
| | | [SugarColumn(ColumnName = "LINE_STYLE")] //ç¨äºSqlSugar |
| | | [StringLength(32, ErrorMessage = "产线类å«é¿åº¦ä¸è½è¶
åº32")] |
| | | public string LineStyle { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 夿³¨ |
| | | /// </summary> |
| | | [Column("MEMO")] |
| | | [SugarColumn(ColumnName = "MEMO")] //ç¨äºSqlSugar |
| | | [StringLength(1000, ErrorMessage = "夿³¨é¿åº¦ä¸è½è¶
åº1000")] |
| | | public string Memo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æå±å·¥åº |
| | | /// </summary> |
| | | [Column("PROC_NO")] |
| | | [SugarColumn(ColumnName = "PROC_NO")] //ç¨äºSqlSugar |
| | | [StringLength(32, ErrorMessage = "æå±å·¥åºé¿åº¦ä¸è½è¶
åº32")] |
| | | public string ProcNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// </summary> |
| | | [Column("SHOW_INDEX")] |
| | | [SugarColumn(ColumnName = "SHOW_INDEX")] //ç¨äºSqlSugar |
| | | public decimal? ShowIndex { get; set; } |
| | | |
| | | /// <summary> |
| | | /// </summary> |
| | | [Column("SIMPLENAME")] |
| | | [SugarColumn(ColumnName = "SIMPLENAME")] //ç¨äºSqlSugar |
| | | [StringLength(20, ErrorMessage = "Simplenameé¿åº¦ä¸è½è¶
åº20")] |
| | | public string Simplename { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ åå·¥æ¶ |
| | | /// </summary> |
| | | [Column("STAND_TIME")] |
| | | [SugarColumn(ColumnName = "STAND_TIME")] //ç¨äºSqlSugar |
| | | public decimal? StandTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç»é¿ |
| | | /// </summary> |
| | | [Column("USERCODE")] |
| | | [SugarColumn(ColumnName = "USERCODE")] //ç¨äºSqlSugar |
| | | [StringLength(50, ErrorMessage = "ç»é¿é¿åº¦ä¸è½è¶
åº50")] |
| | | public string Usercode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåéé°éäº |
| | | /// </summary> |
| | | [Column("WORKCENTERTYPE")] |
| | | [SugarColumn(ColumnName = "WORKCENTERTYPE")] //ç¨äºSqlSugar |
| | | [StringLength(50, ErrorMessage = "åºåéé°éäºé¿åº¦ä¸è½è¶
åº50")] |
| | | public string Workcentertype { get; set; } |
| | | [SugarColumn(ColumnName = "LABEL")] |
| | | public string Label { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 车é´ç®ç |
| | | /// </summary> |
| | | [Column("WORKHOMEJM")] |
| | | [SugarColumn(ColumnName = "WORKHOMEJM")] //ç¨äºSqlSugar |
| | | [StringLength(20, ErrorMessage = "车é´ç®ç é¿åº¦ä¸è½è¶
åº20")] |
| | | [SugarColumn(ColumnName = "WORKHOMEJM")] |
| | | public string Workhomejm { get; set; } |
| | | |
| | | /// <summary> |
| | | /// å·¥ä½ä¸å¿ç¼å· |
| | | /// 线ç®ç |
| | | /// </summary> |
| | | [Column("WORKSHOP_CENTER_CODE")] |
| | | [SugarColumn(ColumnName = "WORKSHOP_CENTER_CODE")] //ç¨äºSqlSugar |
| | | [StringLength(20, ErrorMessage = "å·¥ä½ä¸å¿ç¼å·é¿åº¦ä¸è½è¶
åº20")] |
| | | public string WorkshopCenterCode { get; set; } |
| | | [SugarColumn(ColumnName = "LINEJM")] |
| | | public string Linejm { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¥å·¥æ¹å¼ï¼0ãç¦»æ£æ¥å·¥ï¼1ãæ´çº¿æ¥å·¥ï¼ |
| | | /// æ¡ç ç±»å |
| | | /// </summary> |
| | | [Column("WORK_TYPE")] |
| | | [SugarColumn(ColumnName = "WORK_TYPE")] //ç¨äºSqlSugar |
| | | public decimal? WorkType { get; set; } |
| | | [SugarColumn(ColumnName = "BARTYPE")] |
| | | public string Bartype { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 微信æ¾ç¤ºå¼ |
| | | /// </summary> |
| | | [Column("WX_LABLE")] |
| | | [SugarColumn(ColumnName = "WX_LABLE")] //ç¨äºSqlSugar |
| | | [StringLength(50, ErrorMessage = "微信æ¾ç¤ºå¼é¿åº¦ä¸è½è¶
åº50")] |
| | | [SugarColumn(ColumnName = "WX_LABLE")] |
| | | public string WxLable { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åºåéé°éäº |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "WORKCENTERTYPE")] |
| | | public string Workcentertype { get; set; } |
| | | |
| | | /// <summary> |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "SIMPLENAME")] |
| | | public string Simplename { get; set; } |
| | | |
| | | /// <summary> |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "SHOW_INDEX")] |
| | | public decimal? ShowIndex { get; set; } |
| | | |
| | | /// <summary> |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "COMPANY")] |
| | | public string Company { get; set; } |
| | | |
| | | /// <summary> |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "FACTORY")] |
| | | public string Factory { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 线边ä»åº |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DEPOT_CODE")] |
| | | public string DepotCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é»è®¤åºä½ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")] |
| | | public string DepotSectionCode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¥å·¥æ¹å¼ï¼0ãç¦»æ£æ¥å·¥ï¼1ãæ´çº¿æ¥å·¥ï¼ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "WORK_TYPE")] |
| | | public decimal? WorkType { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¨é¨ç¼å· |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DEPARTMENTCODE")] |
| | | public string Departmentcode { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æå±å·¥åº |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "PROC_NO")] |
| | | public string ProcNo { get; set; } |
| | | |
| | | /// <summary> |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "LINE_STYLE")] |
| | | public string LineStyle { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç»é¿ç¼å· |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "L_CODE")] |
| | | public string LCode { get; set; } |
| | | } |
| | |
| | | /// <summary> |
| | | /// èªå¢å |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "ID", IsPrimaryKey = true, IsIdentity = true)] |
| | | public decimal Id { get; set; } |
| | | [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)] |
| | | public decimal? Id { get; set; } |
| | | |
| | | /// <summary> |
| | | /// PID |
| | | /// æäº§ID |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "PID")] |
| | | public decimal? Pid { get; set; } |
| | |
| | | public string? Daa001 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 产åç¼ç |
| | | /// 产åID |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DAA002")] |
| | | public string? Daa002 { get; set; } |
| | |
| | | public string? Daa005 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¢è®¡å¼å·¥æ¶é´ |
| | | /// ERPé¢è®¡å¼å·¥æ¶é´ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DAA006")] |
| | | public DateTime? Daa006 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// é¢è®¡å®å·¥æ¶é´ |
| | | /// ERPé¢è®¡å®å·¥æ¶é´ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DAA007")] |
| | | public DateTime? Daa007 { get; set; } |
| | |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "DAA028")] |
| | | public string? Daa028 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ åå·¥æ¶ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "PROD_HOUR")] |
| | | public decimal? ProdHour { get; set; } |
| | | |
| | | /// <summary> |
| | | /// åäººå°æ¶äº§è½ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "PERSON_HOUR_CAPACITY")] |
| | | public decimal? PersonHourCapacity { get; set; } |
| | | |
| | | /// <summary> |
| | | /// ç论æ 产 |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "THE_CAPACITY")] |
| | | public decimal? TheCapacity { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 计åç¨äººæ° |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "PLAN_PERSONNEL")] |
| | | public decimal? PlanPersonnel { get; set; } |
| | | |
| | | /// <summary> |
| | | /// è®¡åæ åäº§è½ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "PLAN_CAPACITY")] |
| | | public decimal? PlanCapacity { get; set; } |
| | | |
| | | /// <summary> |
| | | /// çè®ºç¨æ¶/M |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "THE_MIN")] |
| | | public decimal? TheMin { get; set; } |
| | | |
| | | /// <summary> |
| | | /// çè®ºç¨æ¶/H |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "THE_HOUR")] |
| | | public decimal? TheHour { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 线ä½ç±»å« |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "LINE_TYPE")] |
| | | public string? LineType { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ åäººæ° |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "PERSONNEL")] |
| | | public decimal? Personnel { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æ¢çº¿æ¶é´ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "CHANGE_LINE_TIME")] |
| | | public decimal? ChangeLineTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 伿¯æ¶é´ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "REST_TIME")] |
| | | public decimal? RestTime { get; set; } |
| | | |
| | | /// <summary> |
| | | /// æäº§åºå· |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "SCHEDULE_ORDER")] |
| | | public decimal? ScheduleOrder { get; set; } |
| | | |
| | | /// <summary> |
| | | /// MESé¢è®¡å¼å·¥æ¶é´ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "MES_START_PROD")] |
| | | public DateTime? MesStartProd { get; set; } |
| | | |
| | | /// <summary> |
| | | /// MESé¢è®¡å®å·¥æ¶é´ |
| | | /// </summary> |
| | | [SugarColumn(ColumnName = "MES_END_PROD")] |
| | | public DateTime? MesEndProd { get; set; } |
| | | } |
| | |
| | | var mesInvItemIns = db.Queryable<MesInvItemIns>() |
| | | .Single(s => s.BillNo == qsItemOqcReq.BillNo); |
| | | |
| | | var mesSchemeResult = db.Queryable<MesSchemeResult>() |
| | | .Single(s => s.BillNo == mesInvItemIns.CbillNo); |
| | | var mesSchemeResult = db.Queryable<Womdaa>() |
| | | .Single(s => s.Daa001 == mesInvItemIns.CbillNo); |
| | | |
| | | var entity = new MesQaItemsDetect02(); |
| | | entity.ItemNo = mesSchemeResult.BoardItem; |
| | | entity.BoardItem = mesSchemeResult.BoardItem; |
| | | entity.LineNo = mesSchemeResult.LineNo; |
| | | entity.Aufnr = mesSchemeResult.TaskNo; |
| | | // entity.ItemNo = mesSchemeResult.BoardItem; |
| | | // entity.BoardItem = mesSchemeResult.BoardItem; |
| | | entity.LineNo = mesSchemeResult.Daa015; |
| | | // entity.Aufnr = mesSchemeResult.TaskNo; |
| | | entity.ReleaseNo = qsItemOqcReq.ReleaseNo; |
| | | entity.LotNo = qsItemOqcReq.BillNo; |
| | | entity.FcheckDate = qsItemOqcReq.FcheckDate; |
| | |
| | | var count = db.Queryable<MesQa>().Where(s => s.QsType == "1" |
| | | && s.ItemNo == itemNo && s.Fsubmit == 1).Count(); |
| | | |
| | | if (count <= 0) return new List<QsItemIpiItem>(); |
| | | if (count <= 0) return []; |
| | | |
| | | return db |
| | | .Queryable<MesQualityStandard>() |
| | |
| | | |
| | | public class SuspendService |
| | | { |
| | | private readonly string[] statusArray = ["ç产", "å¾
产", "æå"]; |
| | | private readonly string[] statusArray = ["å¼å·¥", "å¾
å¼å·¥"]; |
| | | |
| | | public List<SysDepartment> getDept() |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | //return db.Queryable<SysDepartment>().ToList(); |
| | | return db |
| | | .Queryable<MesSchemeResult, MesLine, QsQaItemXj, SysDepartment>( |
| | | .Queryable<Womdaa, MesLine, QsQaItemXj, SysDepartment>( |
| | | (a, b, c, d) => |
| | | new JoinQueryInfos(JoinType.Left, a.LineNo == b.LineNo, |
| | | JoinType.Inner, a.BillNo == c.BillNo, |
| | | new JoinQueryInfos(JoinType.Left, |
| | | a.Daa002 == b.Id.ToString(), |
| | | JoinType.Inner, a.Daa001 == c.BillNo, |
| | | JoinType.Left, b.Departmentcode == d.Departmentcode)) |
| | | .Where((a, b, c, d) => a.PmoveMk == 0 && b.LineName != null && |
| | | statusArray.Contains(a.ProcStatus)) |
| | | .Where((a, b, c, d) => b.LineName != null && |
| | | statusArray.Contains(a.Daa018)) |
| | | .GroupBy((a, b, c, d) => new |
| | | { |
| | | b.Departmentcode, d.Departmentname |
| | |
| | | public List<MesLine> GetLines(string deptCode) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | var mesLines = db.Queryable<MesSchemeResult, MesLine, QsQaItemXj>( |
| | | var mesLines = db.Queryable<Womdaa, MesLine, QsQaItemXj>( |
| | | (a, b, c) => |
| | | new JoinQueryInfos(JoinType.Left, a.LineNo == b.LineNo, |
| | | JoinType.Inner, a.BillNo == c.BillNo)) |
| | | new JoinQueryInfos(JoinType.Left, |
| | | a.Daa002 == b.Id.ToString(), |
| | | JoinType.Inner, a.Daa001 == c.BillNo)) |
| | | .Where((a, b, c) => b.LineName != null && |
| | | statusArray.Contains(a.ProcStatus) |
| | | statusArray.Contains(a.Daa018) |
| | | && b.Departmentcode == deptCode) |
| | | .GroupBy((a, b, c) => new |
| | | { |
| | | a.LineNo, b.LineName |
| | | b.LineNo, b.LineName |
| | | }) |
| | | .Select((a, b, c) => new MesLine |
| | | { |
| | | LineNo = a.LineNo, |
| | | LineNo = b.LineNo, |
| | | LineName = b.LineName |
| | | }).ToList(); |
| | | |
| | |
| | | private readonly BaseService _baseService = new(); |
| | | |
| | | |
| | | private readonly string[] statusArray = ["ç产", "å¾
产"]; |
| | | private readonly string[] statusArray = ["å¼å·¥", "å¾
å¼å·¥"]; |
| | | |
| | | //çæææ°çæ£éªåå· |
| | | public string getMaxReleaseNo() |
| | |
| | | return "XJN" + date + number; |
| | | } |
| | | |
| | | public List<MesSchemeResult> getItem(string daa001) |
| | | public List<Womdaa> getItem(string daa001) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | //inçåæ³ https://www.donet5.com/Home/Doc?typeId=1187 |
| | | |
| | | return db.Queryable<MesSchemeResult, MesDepTask, MesBoardBaseInfo>( |
| | | (a, c, b) => |
| | | new JoinQueryInfos( |
| | | JoinType.Left, a.TaskNo == c.TaskNo, |
| | | JoinType.Left, c.BoardItem == b.BoardItem |
| | | ) |
| | | ) |
| | | .Where(a => a.PmoveMk == 0 && |
| | | a.BillNo == daa001 && |
| | | statusArray.Contains(a.ProcStatus)) |
| | | .Select((a, c, b) => new MesSchemeResult |
| | | { |
| | | BillNo = a.BillNo, |
| | | CatQty = a.CatQty, |
| | | DetailMem = a.DetailMem, |
| | | TaskNo = a.TaskNo, |
| | | BoardItem = a.BoardItem, |
| | | BoardModel = b.BoardModel, |
| | | PlanQty = c.PlanQty, |
| | | Mocode = a.Mocode, |
| | | // BoardStyle = c.BoardStyle, |
| | | Id = a.Id |
| | | }) |
| | | return db.Queryable<Womdaa>() |
| | | .Where(a => |
| | | a.Daa001 == daa001 && |
| | | statusArray.Contains(a.Daa018)) |
| | | .ToList(); |
| | | } |
| | | |
| | |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | return db.Queryable<MesSchemeResult, MesLine>((a, b) => |
| | | new JoinQueryInfos(JoinType.Left, a.LineNo == b.LineNo)) |
| | | .Where((a, b) => a.PmoveMk == 0 && b.LineName != null && |
| | | statusArray.Contains(a.ProcStatus)) |
| | | .Where("BOARD_ITEM like @BoardItem", new { BoardItem = "20%" }) |
| | | return db.Queryable<Womdaa, MesLine>((a, b) => |
| | | new JoinQueryInfos(JoinType.Left, a.Daa015 == b.LineNo)) |
| | | .Where((a, b) => b.LineName != null && |
| | | statusArray.Contains(a.Daa018)) |
| | | .GroupBy((a, b) => new |
| | | { |
| | | a.LineNo, b.LineName |
| | | b.LineNo, b.LineName |
| | | }) |
| | | .Select((a, b) => new MesLine |
| | | { |
| | | LineNo = a.LineNo, |
| | | LineNo = b.LineNo, |
| | | LineName = b.LineName |
| | | }).OrderBy("a.LINE_NO").ToList(); |
| | | }).OrderBy("b.LINE_NO").ToList(); |
| | | } |
| | | |
| | | public List<MesSchemeResult> getDaa001(string daa020, string item) |
| | | public List<Womdaa> getDaa001(string daa020, string item) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | return db.Queryable<MesSchemeResult>().Where(a => |
| | | a.PmoveMk == 0 && a.LineNo == daa020 && a.BillNo != null && |
| | | a.BoardItem == item && |
| | | statusArray.Contains(a.ProcStatus)) |
| | | .Select<MesSchemeResult>(a => new MesSchemeResult |
| | | return db.Queryable<Womdaa, MesItems>((a, b) => |
| | | new JoinQueryInfos(JoinType.Inner, a.Daa002 == b.Id.ToString())) |
| | | .Where((a, b) => |
| | | a.Daa015 == daa020 && |
| | | b.ItemNo == item && |
| | | statusArray.Contains(a.Daa018)) |
| | | .Select<Womdaa>(a => new Womdaa |
| | | { |
| | | BillNo = a.BillNo, |
| | | DetailMem = a.DetailMem |
| | | Id = a.Id, |
| | | Daa001 = a.Daa001, |
| | | Daa003 = a.Daa003 |
| | | }).ToList(); |
| | | } |
| | | |
| | | public List<MesSchemeResult> getBoardItem(string lineNo) |
| | | public List<MesItems> getBoardItem(string lineNo) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | return db.Queryable<MesSchemeResult>() |
| | | .Where(a => |
| | | a.PmoveMk == 0 && statusArray.Contains(a.ProcStatus) && |
| | | a.LineNo == lineNo) |
| | | .Where("BOARD_ITEM like @BoardItem", new { BoardItem = "20%" }) |
| | | .Select<MesSchemeResult>(a => |
| | | new MesSchemeResult |
| | | return db.Queryable<Womdaa, MesItems>((a, b) => |
| | | new JoinQueryInfos(JoinType.Inner, a.Daa002 == b.Id.ToString())) |
| | | .Where((a, b) => statusArray.Contains(a.Daa018) && |
| | | a.Daa015 == lineNo) |
| | | .OrderBy((a, b) => b.ItemName) |
| | | .Select<MesItems>((a, b) => |
| | | new MesItems |
| | | { |
| | | BoardItem = a.BoardItem, |
| | | DetailMem = a.DetailMem |
| | | }).OrderBy(a => a.BoardItem).ToList(); |
| | | ItemNo = b.ItemNo, |
| | | ItemName = b.ItemName |
| | | }).ToList(); |
| | | } |
| | | |
| | | public List<QsQaItemXj> getPage(XJPageResult queryObj) |
| | |
| | | lineNo = _baseService.getUserLineNo(queryObj.createUser); |
| | | |
| | | return db |
| | | .Queryable<QsQaItemXj, MesSchemeResult, MesDepTask, |
| | | MesBoardBaseInfo>((s, a, c, b) => |
| | | .Queryable<QsQaItemXj, Womdaa, MesLine, |
| | | MesItems>((s, a, c, b) => |
| | | new JoinQueryInfos( |
| | | JoinType.Inner, s.BillNo == a.BillNo, |
| | | JoinType.Left, a.TaskNo == c.TaskNo, |
| | | JoinType.Left, c.BoardItem == b.BoardItem |
| | | JoinType.Inner, s.BillNo == a.Daa001, |
| | | JoinType.Left, a.Daa015 == c.LineNo, |
| | | JoinType.Left, s.ItemNo == b.ItemNo |
| | | ) |
| | | ) |
| | | .WhereIF(lineNo != null && lineNo.Length > 0, |
| | | (s, a, c, b) => lineNo.Contains(a.LineNo)) |
| | | (s, a, c, b) => lineNo.Contains(c.LineNo)) |
| | | .WhereIF( |
| | | StringUtil.IsNotNullOrEmpty(queryObj.result) && |
| | | "æªå®æ".Equals(queryObj.result), |
| | |
| | | .WhereIF(id > 0, (s, a, c, b) => s.Id == id) |
| | | .Select((s, a, c, b) => new QsQaItemXj |
| | | { |
| | | CatQty = a.CatQty, |
| | | MoidNum = s.MoidNum, |
| | | Daa020 = a.LineNo, |
| | | // DetailMem = a.DetailMem, |
| | | TaskNo = a.TaskNo, |
| | | Daa020 = c.LineNo, |
| | | Id = s.Id, |
| | | CreateBy = s.CreateBy, |
| | | CreateDate = s.CreateDate, |
| | |
| | | BillNo = s.BillNo, |
| | | FcheckBy = s.FcheckBy, |
| | | FcheckResu = s.FcheckResu, |
| | | Remarks = s.Remarks, |
| | | BoardModel = b.BoardModel, |
| | | PlanQty = c.PlanQty |
| | | // Mocode = a.Mocode, |
| | | // BoardStyle = c.BoardStyle |
| | | Remarks = s.Remarks |
| | | }).OrderBy(s => s.CreateDate, OrderByType.Desc) |
| | | .ToPageList(queryObj.PageIndex, queryObj.Limit); |
| | | } |
| | |
| | | public MovesDto ScanInBarcode(WarehouseQuery query) |
| | | { |
| | | if (string.IsNullOrEmpty(query.sectionCode)) |
| | | { |
| | | throw new Exception("请æ«åºä½æ¡ç ï¼"); |
| | | } |
| | | |
| | | int pBillTypeId = 300; |
| | | int pTransctionNo = 301; |
| | | var pBillTypeId = 300; |
| | | var pTransctionNo = 301; |
| | | |
| | | var depotQuery = Db.Queryable<MesDepotSections, MesDepots>((a, b) => |
| | | new JoinQueryInfos( |
| | |
| | | .First(); |
| | | |
| | | if (depotQuery == null) |
| | | { |
| | | throw new Exception($"002[åºä½ç¼ç {query.sectionCode} ä¸åå¨ï¼è¯·ç¡®è®¤ï¼"); |
| | | } |
| | | |
| | | var cDepotCode = depotQuery.DepotCode; |
| | | |
| | |
| | | .Select((a, b) => new { a.Id, a.BillNo, a.InvDepotsCode }) |
| | | .First(); |
| | | |
| | | if (itemMoveQuery == null) |
| | | { |
| | | throw new Exception("æ¡ç æªåè°æåºåºæ«ç ï¼è¯·æ ¸å¯¹ï¼"); |
| | | } |
| | | if (itemMoveQuery == null) throw new Exception("æ¡ç æªåè°æåºåºæ«ç ï¼è¯·æ ¸å¯¹ï¼"); |
| | | |
| | | var cBillNo = itemMoveQuery.BillNo; |
| | | var iDepotCode = itemMoveQuery.InvDepotsCode; |
| | |
| | | .First(); |
| | | |
| | | if (depotValidationQuery == null) |
| | | { |
| | | throw new Exception($"002[åºä½ç¼ç {query.sectionCode} ä¸åå¨ï¼è¯·ç¡®è®¤ï¼"); |
| | | } |
| | | |
| | | if (iDepotCode != depotValidationQuery.DepotCode) |
| | | { |
| | | throw new Exception("å®é
ä»åºä¸ç³è¯·è°å
¥ä»åºä¸ç¬¦ï¼è¯·æ ¸å¯¹ï¼"); |
| | | } |
| | | |
| | | var barcodeCount = Db.Queryable<MesInvItemMovesCDetails>() |
| | | .Where(b => |
| | |
| | | b.ItemMoveId == itemMoveQuery.Id && b.MoveOk == 1) |
| | | .Count(); |
| | | |
| | | if (barcodeCount > 0) |
| | | { |
| | | throw new Exception("æ¡ç è°æå·²å®æï¼è¯·æ ¸å¯¹ï¼"); |
| | | } |
| | | if (barcodeCount > 0) throw new Exception("æ¡ç è°æå·²å®æï¼è¯·æ ¸å¯¹ï¼"); |
| | | |
| | | var barcodeInfo = Db.Queryable<MesInvItemBarcodes>() |
| | | .Where(t => t.ItemBarcode == query.barcode) |
| | | .First(); |
| | | |
| | | if (barcodeInfo == null) |
| | | { |
| | | throw new Exception("æ¡ç ä¸åå¨ï¼è¯·æ ¸å¯¹ï¼"); |
| | | } |
| | | if (barcodeInfo == null) throw new Exception("æ¡ç ä¸åå¨ï¼è¯·æ ¸å¯¹ï¼"); |
| | | |
| | | var isAudit = UseTransaction(db => |
| | | { |
| | |
| | | .Where(a => a.ItemMoveId == itemMoveQuery.Id && a.MoveOk == 1) |
| | | .Sum(a => SqlFunc.IsNull(a.Quantity, 0)); |
| | | |
| | | if (totalQuantity == scannedQuantity) |
| | | { |
| | | return 1; |
| | | } |
| | | if (totalQuantity == scannedQuantity) return 1; |
| | | |
| | | return 0; |
| | | }); |
| | | |
| | | MovesDto dto = new MovesDto(); |
| | | var dto = new MovesDto(); |
| | | dto.InAudit = isAudit == 1; |
| | | dto.BarcodesInfo = barcodeInfo; |
| | | return dto; |
| | |
| | | |
| | | public MovesDto GetItems(WarehouseQuery query) |
| | | { |
| | | MovesDto dto = new MovesDto(); |
| | | var dto = new MovesDto(); |
| | | |
| | | dto.BarcodeList = GetItemMovesCDetails(query); |
| | | dto.OutItems = GetItemOutItems(query); |
| | |
| | | using MES.Service.util; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using Newtonsoft.Json.Linq; |
| | | |
| | | namespace MESApplication.Controllers.Base; |
| | | |
| | | [Route("api/[controller]")] |
| | |
| | | } |
| | | |
| | | |
| | | //getDaa001 |
| | | /// <summary> |
| | | /// è·åå·¥å |
| | | /// </summary> |
| | | [HttpPost("getDaa001")] |
| | | public ResponseResult getDaa001([FromBody] JObject data) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | //getBoardItem |
| | | /// <summary> |
| | | /// æ ¹æ®äº§çº¿è·åç©æç¼ç lineNo |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | [HttpPost("getBoardItem")] |
| | | public ResponseResult getBoardItem([FromBody] JObject data) |
| | | { |
| | |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using System.Diagnostics; |
| | | using System.Text; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using Microsoft.AspNetCore.Mvc.Controllers; |
| | | using Microsoft.AspNetCore.Mvc.Filters; |
| | | using Newtonsoft.Json; |
| | | using System.Diagnostics; |
| | | using System.Text; |
| | | |
| | | namespace MESApplication |
| | | { |
| | | namespace MESApplication; |
| | | |
| | | /// <summary> |
| | | /// æ¹æ³è¿æ»¤å¨ |
| | | /// </summary> |
| | | public class ActionFilter : IActionFilter |
| | | { |
| | | private Stopwatch _stopwatch; |
| | | |
| | | /// <summary> |
| | | /// çæ§æ¥å¿ |
| | | /// </summary> |
| | |
| | | /// é误æ¥å¿ |
| | | /// </summary> |
| | | public static ILogger LoggerError { get; set; } |
| | | |
| | | private Stopwatch _stopwatch; |
| | | |
| | | /// <summary> |
| | | /// åå»ºè¯·æ±æ¥å¿ææ¬ |
| | | /// </summary> |
| | | /// <param name="method"></param> |
| | | /// <param name="controllerName"></param> |
| | | /// <param name="actionName"></param> |
| | | /// <param name="actionArgs"></param> |
| | | /// <returns></returns> |
| | | private static string CreateRequestLogText(string method, string controllerName, string actionName, string requestHead, string requestBody) |
| | | { |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.Append($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 请æ±{method}/{controllerName}/{actionName}æ¥å£ï¼è¯·æ±Headï¼{requestHead}\n"); |
| | | sb.Append($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 请æ±{method}/{controllerName}/{actionName}æ¥å£ï¼è¯·æ±Bodyï¼{requestBody}\n"); |
| | | return sb.ToString(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å建ååºæ¥å¿ææ¬ |
| | | /// </summary> |
| | | /// <param name="method"></param> |
| | | /// <param name="controllerName"></param> |
| | | /// <param name="actionName"></param> |
| | | /// <param name="result"></param> |
| | | /// <returns></returns> |
| | | private static string CreateResponseLogText(string method, string controllerName, string actionName, object result) |
| | | { |
| | | StringBuilder sb = new StringBuilder(); |
| | | sb.Append($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} å®æè¯·æ±{method}/{controllerName}/{actionName}æ¥å£ï¼è¿åç»æï¼"); |
| | | if (result != null) |
| | | { |
| | | sb.Append($"{JsonConvert.SerializeObject(result)}"); |
| | | } |
| | | else |
| | | { |
| | | sb.Append($"æ "); |
| | | } |
| | | return sb.ToString(); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | |
| | | if (LoggerMonitor != null) |
| | | { |
| | | //è®°å½è¯·æ±åæ°æ¥å¿ |
| | | ControllerActionDescriptor desc = context.ActionDescriptor as ControllerActionDescriptor; |
| | | var desc = context.ActionDescriptor as ControllerActionDescriptor; |
| | | if (desc != null) |
| | | { |
| | | Dictionary<string, object> headers = new Dictionary<string, object>(); |
| | | var headers = new Dictionary<string, object>(); |
| | | var requestHeaders = context.HttpContext.Request.Headers; |
| | | |
| | | // 访é®è¯·æ±ä¸ç header ä¿¡æ¯ |
| | | foreach (var header in requestHeaders) |
| | | { |
| | | headers.Add(header.Key, header.Value); |
| | | } |
| | | var requestHead = JsonConvert.SerializeObject(headers); |
| | | |
| | | Dictionary<string, object> bodys = new Dictionary<string, object>(); |
| | | var bodys = new Dictionary<string, object>(); |
| | | var actionArguments = context.ActionArguments; |
| | | // 访é®è¯·æ±ä¸çåæ° |
| | | foreach (var argument in actionArguments) |
| | | { |
| | | //dic.Add(argument.Key, argument.Value); |
| | | var parameter = JsonConvert.DeserializeObject<Dictionary<string, object>>(argument.Value.ToString()); |
| | | var parameter = |
| | | JsonConvert |
| | | .DeserializeObject<Dictionary<string, object>>( |
| | | argument.Value.ToString()); |
| | | foreach (var item in parameter) |
| | | { |
| | | bodys.Add(item.Key, item.Value); |
| | | } |
| | | } |
| | | |
| | | var requestBody = JsonConvert.SerializeObject(bodys); |
| | | |
| | | var logText = CreateRequestLogText(context.HttpContext.Request.Method, desc.ControllerName, desc.ActionName, requestHead, requestBody); |
| | | var logText = CreateRequestLogText( |
| | | context.HttpContext.Request.Method, desc.ControllerName, |
| | | desc.ActionName, requestHead, requestBody); |
| | | //LoggerMonitor.LogDebug(logText); |
| | | //ErrorLog.Write(logText); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | public void OnActionExecuted(ActionExecutedContext context) |
| | | { |
| | | //throw new NotImplementedException(); |
| | | _stopwatch.Stop(); |
| | | long elaspsedMillisedconds = _stopwatch.ElapsedMilliseconds; |
| | | string msg = ""; |
| | | var elaspsedMillisedconds = _stopwatch.ElapsedMilliseconds; |
| | | var msg = ""; |
| | | //string msg = $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} æ¥å£æ§è¡æ¶é´ï¼{elaspsedMillisedconds}毫ç§"; |
| | | //ErrorLog.Write(msg); |
| | | |
| | | if (context.Exception != null) |
| | | { |
| | | // è®°å½å¼å¸¸æ¥å¿ |
| | | if (LoggerError != null) |
| | | { |
| | | LoggerError.LogError(context.Exception, context.Exception.Message); |
| | | LoggerError.LogError(context.Exception, |
| | | context.Exception.Message); |
| | | |
| | | ErrorLog.Write($@"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} æ¥å£å¼å¸¸ï¼{JsonConvert.SerializeObject(context.Exception)}"); |
| | | ErrorLog.Write($@"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} å¼å¸¸æç¤ºä¿¡æ¯ï¼{JsonConvert.SerializeObject(context.Exception.Message)}"); |
| | | ErrorLog.Write("=================================================================================================================================="); |
| | | } |
| | | ErrorLog.Write( |
| | | $@"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} æ¥å£å¼å¸¸ï¼{JsonConvert.SerializeObject(context.Exception)}"); |
| | | ErrorLog.Write( |
| | | $@"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} å¼å¸¸æç¤ºä¿¡æ¯ï¼{JsonConvert.SerializeObject(context.Exception.Message)}"); |
| | | ErrorLog.Write( |
| | | "=================================================================================================================================="); |
| | | } |
| | | |
| | | if (LoggerMonitor != null) |
| | | { |
| | | // è®°å½è¯·æ±ç»ææ¥å¿ |
| | | ControllerActionDescriptor desc = context.ActionDescriptor as ControllerActionDescriptor; |
| | | var desc = context.ActionDescriptor as ControllerActionDescriptor; |
| | | if (desc != null) |
| | | { |
| | | ObjectResult rst = context.Result as ObjectResult; |
| | | object rstValue = rst != null ? rst.Value : null; |
| | | var rst = context.Result as ObjectResult; |
| | | var rstValue = rst != null ? rst.Value : null; |
| | | var logText = CreateResponseLogText( |
| | | context.HttpContext.Request.Method, |
| | | desc.ControllerName, |
| | |
| | | // ErrorLog.Write(msg); |
| | | // ErrorLog.Write("=================================================================================================================================="); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åå»ºè¯·æ±æ¥å¿ææ¬ |
| | | /// </summary> |
| | | /// <param name="method"></param> |
| | | /// <param name="controllerName"></param> |
| | | /// <param name="actionName"></param> |
| | | /// <param name="actionArgs"></param> |
| | | /// <returns></returns> |
| | | private static string CreateRequestLogText(string method, |
| | | string controllerName, string actionName, string requestHead, |
| | | string requestBody) |
| | | { |
| | | var sb = new StringBuilder(); |
| | | sb.Append( |
| | | $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 请æ±{method}/{controllerName}/{actionName}æ¥å£ï¼è¯·æ±Headï¼{requestHead}\n"); |
| | | sb.Append( |
| | | $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} 请æ±{method}/{controllerName}/{actionName}æ¥å£ï¼è¯·æ±Bodyï¼{requestBody}\n"); |
| | | return sb.ToString(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å建ååºæ¥å¿ææ¬ |
| | | /// </summary> |
| | | /// <param name="method"></param> |
| | | /// <param name="controllerName"></param> |
| | | /// <param name="actionName"></param> |
| | | /// <param name="result"></param> |
| | | /// <returns></returns> |
| | | private static string CreateResponseLogText(string method, |
| | | string controllerName, string actionName, object result) |
| | | { |
| | | var sb = new StringBuilder(); |
| | | sb.Append( |
| | | $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff")} å®æè¯·æ±{method}/{controllerName}/{actionName}æ¥å£ï¼è¿åç»æï¼"); |
| | | if (result != null) |
| | | sb.Append($"{JsonConvert.SerializeObject(result)}"); |
| | | else |
| | | sb.Append("æ "); |
| | | return sb.ToString(); |
| | | } |
| | | } |
| | |
| | | namespace MESApplication |
| | | { |
| | | namespace MESApplication; |
| | | |
| | | public class ErrorLog |
| | | { |
| | | |
| | | private static string DirectoryPath = AppDomain.CurrentDomain.BaseDirectory; |
| | | private static readonly string DirectoryPath = |
| | | AppDomain.CurrentDomain.BaseDirectory; |
| | | |
| | | /// <summary> |
| | | /// åå
¥æä½æ¥å¿å°æä»¶ä¸ |
| | |
| | | public static void Write(string moduleName, string message, Exception ex) |
| | | { |
| | | //string directoryPath = $@"C:\è³ç®ç§æ\MyDemoData\.NetCoreæ¥å£è¿æ»¤å¨é¡¹ç®\FilterText\FilterText\Logger\{DateTime.Now.ToString("yyyyMMdd")}"; // ç®æ ç®å½è·¯å¾ |
| | | string directoryPath = $@"{DirectoryPath}{"log"}"; // ç®æ ç®å½è·¯å¾ |
| | | var directoryPath = $@"{DirectoryPath}{"log"}"; // ç®æ ç®å½è·¯å¾ |
| | | |
| | | if (!Directory.Exists(directoryPath)) |
| | | { |
| | | // 妿ç®å½ä¸åå¨ï¼åæ°å»ºæä»¶å¤¹ |
| | | Directory.CreateDirectory(directoryPath); |
| | | } |
| | | |
| | | string filePath = directoryPath + $@"\{DateTime.Now.ToString("yyyyMMddHH")}.log"; // ç®æ æä»¶è·¯å¾ |
| | | var filePath = directoryPath + |
| | | $@"\{DateTime.Now.ToString("yyyyMMddHH")}.log"; // ç®æ æä»¶è·¯å¾ |
| | | |
| | | if (!File.Exists(filePath)) |
| | | { |
| | | // 妿æä»¶ä¸åå¨ï¼åå建æä»¶ |
| | | using (File.Create(filePath)) |
| | | { |
| | | //Console.WriteLine("æä»¶å·²å建"); |
| | | } |
| | | } |
| | | |
| | | LogToFile(filePath, message); |
| | | } |
| | | |
| | |
| | | /// <param name="ex">å¼å¸¸</param> |
| | | public static void Write(string message) |
| | | { |
| | | Write(String.Empty, message, null); |
| | | Write(string.Empty, message, null); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <param name="logMessage"></param> |
| | | private static void LogToFile(string logFilePath, string logMessage) |
| | | { |
| | | using (StreamWriter sw = File.AppendText(logFilePath)) |
| | | using (var sw = File.AppendText(logFilePath)) |
| | | { |
| | | sw.WriteLine($"{logMessage}"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | using MES.Service.Dto.@base; |
| | | using System.Reflection; |
| | | using MES.Service.Dto.@base; |
| | | using MES.Service.util; |
| | | using Microsoft.OpenApi.Models; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json.Serialization; |
| | | using Swashbuckle.AspNetCore.SwaggerUI; |
| | | using System.Reflection; |
| | | |
| | | namespace MESApplication; |
| | | |
| | |
| | | c.SwaggerDoc("v1", |
| | | new OpenApiInfo |
| | | { Title = "MESApplication.Api", Version = "v1" }); |
| | | var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; |
| | | var xmlFile = |
| | | $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; |
| | | var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); |
| | | c.IncludeXmlComments(xmlPath, true); |
| | | }); |
| | |
| | | }); |
| | | |
| | | #region æ¥å£è¡å¨è¿æ»¤å¨ |
| | | services.AddControllers(options => { |
| | | |
| | | services.AddControllers(options => |
| | | { |
| | | options.Filters.Add(new ActionFilter()); |
| | | }); |
| | | var serviceProvider = services.BuildServiceProvider(); |
| | | ActionFilter.LoggerError = serviceProvider.GetRequiredService<ILogger<ActionFilter>>(); |
| | | ActionFilter.LoggerError = |
| | | serviceProvider.GetRequiredService<ILogger<ActionFilter>>(); |
| | | |
| | | #endregion |
| | | } |
| | | |
| | |
| | | ////////////////////////// |
| | | |
| | | /////////////////////////// |
| | | |
| | | } |
| | | } |