From 348f53a513a62fad4ee4870eb7d39161f424db0d Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Mon, 13 Nov 2023 11:23:23 +0800 Subject: [PATCH] =?UTF-8?q?mes=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ZR.Admin.WebApi/Extensions/InitTable.cs | 25 ++ ZR.Admin.WebApi/ZR.Admin.WebApi.csproj | 1 + ZR.Admin.WebApi/appsettings.json | 8 +- ZR.Admin.WebApi/wwwroot/data.xlsx | Bin 36802 -> 40489 bytes ZR.Model/MES/pro/ProWorkplan.cs | 146 +++++++ ZR.Model/mes/pro/ProCallmaterial.cs | 104 ----- ZR.Model/mes/pro/ProFeedback.cs | 214 ---------- ZR.Model/mes/pro/ProWorkorder.cs | 191 ++++----- ZR.Model/mes/pro/ProWorktask.cs | 179 --------- ZR.Model/mes/pro/ProductDefine.cs | 91 ----- .../OperationManagement/paintingWorkshop.vue | 10 +- ZR.Vue/src/views/index.vue | 16 +- .../views/kanbanManagement/tuzhuangcanku.vue | 70 ++-- .../kanbanManagement/tuzhuangworkshop.vue | 34 +- .../src/views/productManagement/dispatch.vue | 0 .../productionPlan/planKanban-V1.vue | 332 ---------------- .../productManagement/production_order.vue | 369 ------------------ .../productManagement/production_schedule.vue | 0 .../planManagement.vue => workorder.vue} | 2 +- .../src/views/productManagement/workplan.vue | 243 ++++++++++++ ZR.Vue/src/vxe.scss | 13 + 21 files changed, 572 insertions(+), 1476 deletions(-) create mode 100644 ZR.Model/MES/pro/ProWorkplan.cs delete mode 100644 ZR.Model/mes/pro/ProCallmaterial.cs delete mode 100644 ZR.Model/mes/pro/ProFeedback.cs delete mode 100644 ZR.Model/mes/pro/ProWorktask.cs delete mode 100644 ZR.Model/mes/pro/ProductDefine.cs delete mode 100644 ZR.Vue/src/views/productManagement/dispatch.vue delete mode 100644 ZR.Vue/src/views/productManagement/productionPlan/planKanban-V1.vue delete mode 100644 ZR.Vue/src/views/productManagement/production_order.vue delete mode 100644 ZR.Vue/src/views/productManagement/production_schedule.vue rename ZR.Vue/src/views/productManagement/{productionPlan/planManagement.vue => workorder.vue} (99%) create mode 100644 ZR.Vue/src/views/productManagement/workplan.vue diff --git a/ZR.Admin.WebApi/Extensions/InitTable.cs b/ZR.Admin.WebApi/Extensions/InitTable.cs index 2997b824..2a6ad3ce 100644 --- a/ZR.Admin.WebApi/Extensions/InitTable.cs +++ b/ZR.Admin.WebApi/Extensions/InitTable.cs @@ -1,4 +1,7 @@ using SqlSugar.IOC; +using ZR.Model.mes.md; +using ZR.Model.mes.pro; +using ZR.Model.MES.op.ZR.Model.mes.md; using ZR.Model.Models; using ZR.Model.System; using ZR.Model.System.Generate; @@ -48,6 +51,28 @@ namespace ZR.Admin.WebApi.Extensions db.CodeFirst.InitTables(typeof(SysDictData)); db.CodeFirst.InitTables(typeof(SysDictType)); db.CodeFirst.InitTables(typeof(SqlDiffLog)); + + // MES 初始化表 + db.CodeFirst.InitTables(typeof(MdBom)); + db.CodeFirst.InitTables(typeof(MdDevice)); + db.CodeFirst.InitTables(typeof(MdPallet)); + db.CodeFirst.InitTables(typeof(MdProductDefine)); + db.CodeFirst.InitTables(typeof(MdProrouteSort)); + db.CodeFirst.InitTables(typeof(MdTechnologicalProroute)); + db.CodeFirst.InitTables(typeof(MdUnit)); + db.CodeFirst.InitTables(typeof(MdWorkline)); + db.CodeFirst.InitTables(typeof(MdWorkshop)); + db.CodeFirst.InitTables(typeof(MdWorkline)); + db.CodeFirst.InitTables(typeof(MdWorksort)); + db.CodeFirst.InitTables(typeof(MdWorkstation)); + db.CodeFirst.InitTables(typeof(OpStatistics)); + db.CodeFirst.InitTables(typeof(ProWorkorder)); + db.CodeFirst.InitTables(typeof(ProWorkplan)); + + + + + } } diff --git a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj index 7b6e1fba..5caac064 100644 --- a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj +++ b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj @@ -30,6 +30,7 @@ + diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index e2388d13..112bd893 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -9,8 +9,8 @@ "urls": "http://localhost:8888", //项目启动url,如果改动端口前端对应devServer也需要进行修改 "dbConfigs": [ { - "Conn": "Data Source=127.0.0.1;User ID=sa;Password=123456;Initial Catalog=ZrAdmin;", - "DbType": 1, //数据库类型 MySql = 0, SqlServer = 1, Oracle = 3,PgSql = 4 + "Conn": "Data Source=192.168.0.36;User ID=root;Password=123456;Initial Catalog=ZrAdmin;", + "DbType": 0, //数据库类型 MySql = 0, SqlServer = 1, Oracle = 3,PgSql = 4 "ConfigId": "0", //多租户唯一标识 "IsAutoCloseConnection": true } @@ -19,8 +19,8 @@ //代码生成数据库配置 "CodeGenDbConfig": { //代码生成连接字符串,注意{dbName}为固定格式,不要填写数据库名 - "Conn": "Data Source=127.0.0.1;User ID=sa;Password=123456;Initial Catalog={dbName};", - "DbType": 1, + "Conn": "Data Source=192.168.0.36;User ID=root;Password=123456;Initial Catalog={dbName};", + "DbType": 0, "IsAutoCloseConnection": true, "DbName": "ZrAdmin" //代码生成默认连接数据库 }, diff --git a/ZR.Admin.WebApi/wwwroot/data.xlsx b/ZR.Admin.WebApi/wwwroot/data.xlsx index a35adecce86a5ef7a3240256db5e3aed156bf033..5194772c6c85055b1a2fe9523a1f0dd3040719b3 100644 GIT binary patch delta 31894 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�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 Q#Q-p5CMoP*@Sm~&1@zd5H2?qr diff --git a/ZR.Model/MES/pro/ProWorkplan.cs b/ZR.Model/MES/pro/ProWorkplan.cs new file mode 100644 index 00000000..e93147e8 --- /dev/null +++ b/ZR.Model/MES/pro/ProWorkplan.cs @@ -0,0 +1,146 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ZR.Model.mes.pro +{ + /// + /// 生产计划 + /// + [SugarTable("pro_workplan")] + public class ProWorkplan + { + /// + /// 流水号 + /// + [SugarColumn(ColumnName = "id", IsPrimaryKey = true)] + public string Id { get; set; } + /// + /// 年 + /// + [SugarColumn(ColumnName = "year")] + public int? Year { get; set; } + /// + /// 周 + /// + [SugarColumn(ColumnName = "week")] + public int? Week { get; set; } + /// + /// 来源 + /// + [SugarColumn(ColumnName = "source")] + public int? Source { get; set; } + /// + /// 零件号 + /// + [SugarColumn(ColumnName = "partnumber")] + public string Partnumber { get; set; } + /// + /// 版本 + /// + [SugarColumn(ColumnName = "version")] + public string Version { get; set; } + /// + /// 颜色 + /// + [SugarColumn(ColumnName = "color")] + public string Color { get; set; } + /// + /// 颜色代码 + /// + [SugarColumn(ColumnName = "colorcode")] + public string Colorcode { get; set; } + /// + /// 本周要货数量 + /// + [SugarColumn(ColumnName = "neednumber")] + public string Neednumber { get; set; } + /// + /// 产品合格率 + /// + [SugarColumn(ColumnName = "passpercent")] + public string Passpercent { get; set; } + /// + /// 每挂数量 + /// + [SugarColumn(ColumnName = "batchNumber")] + public int? BatchNumber { get; set; } + /// + /// 生产节拍 + /// + [SugarColumn(ColumnName = "productionRhythm")] + public decimal? ProductionRhythm { get; set; } + /// + /// 总挂具数 + /// + [SugarColumn(ColumnName = "hangerNumber")] + public int? HangerNumber { get; set; } + /// + /// 订单需生产挂具数量 + /// + [SugarColumn(ColumnName = "needhangerNumber")] + public string NeedhangerNumber { get; set; } + /// + /// 实际计划数量 + /// + [SugarColumn(ColumnName = "actualplanNumber")] + public string ActualplanNumber { get; set; } + /// + /// 车数 + /// + [SugarColumn(ColumnName = "carNumber")] + public string CarNumber { get; set; } + /// + /// 圈数 + /// + [SugarColumn(ColumnName = "circleNumber")] + public string CircleNumber { get; set; } + /// + /// 订单生产时间(分钟) + /// + [SugarColumn(ColumnName = "producttime")] + public int? Producttime { get; set; } + /// + /// 计划需求定性 + /// + [SugarColumn(ColumnName = "needcertainty")] + public string Needcertainty { get; set; } + /// + /// 备注 + /// + [SugarColumn(ColumnName = "remark")] + public string Remark { get; set; } + /// + /// 租户号 + /// + [SugarColumn(ColumnName = "TENANT_ID")] + public string TenantId { get; set; } + /// + /// 乐观锁 + /// + [SugarColumn(ColumnName = "REVISION")] + public int? Revision { get; set; } + /// + /// 创建人 + /// + [SugarColumn(ColumnName = "CREATED_BY")] + public string CreatedBy { get; set; } + /// + /// 创建时间 + /// + [SugarColumn(ColumnName = "CREATED_TIME")] + public DateTime? CreatedTime { get; set; } + /// + /// 更新人 + /// + [SugarColumn(ColumnName = "UPDATED_BY")] + public string UpdatedBy { get; set; } + /// + /// 更新时间 + /// + [SugarColumn(ColumnName = "UPDATED_TIME")] + public DateTime? UpdatedTime { get; set; } + } +} diff --git a/ZR.Model/mes/pro/ProCallmaterial.cs b/ZR.Model/mes/pro/ProCallmaterial.cs deleted file mode 100644 index 47323b66..00000000 --- a/ZR.Model/mes/pro/ProCallmaterial.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using SqlSugar; -namespace ZR.Model.mes.pro -{ - /// - /// 产线叫料 - /// - [SugarTable("pro_callmaterial")] - public class ProCallmaterial - { - /// - /// 编号 - /// - [SugarColumn(ColumnName="id" ,IsPrimaryKey = true )] - public int Id { get; set; } - /// - /// fk_生产任务id - /// - [SugarColumn(ColumnName="fk_task_id" )] - public int? FkTaskId { get; set; } - /// - /// 物料id - /// - [SugarColumn(ColumnName="material_id" )] - public string MaterialId { get; set; } - /// - /// 物料code - /// - [SugarColumn(ColumnName="material_code" )] - public string MaterialCode { get; set; } - /// - /// 物料名称 - /// - [SugarColumn(ColumnName="material_name" )] - public string MaterialName { get; set; } - /// - /// 叫料数量 - /// - [SugarColumn(ColumnName="call_num" )] - public decimal? CallNum { get; set; } - /// - /// 叫料时间 - /// - [SugarColumn(ColumnName="call_time" )] - public DateTime? CallTime { get; set; } - /// - /// 得到数量 - /// - [SugarColumn(ColumnName="arrive_num" )] - public decimal? ArriveNum { get; set; } - /// - /// 叫料是否成功(0,1) - /// - [SugarColumn(ColumnName="status" )] - public string Status { get; set; } - /// - /// 备用字段1 - /// - [SugarColumn(ColumnName="attr1" )] - public string Attr1 { get; set; } - /// - /// 备用字段2 - /// - [SugarColumn(ColumnName="attr2" )] - public string Attr2 { get; set; } - /// - /// 备用字段3 - /// - [SugarColumn(ColumnName="attr3" )] - public string Attr3 { get; set; } - /// - /// 租户号 - /// - [SugarColumn(ColumnName="TENANT_ID" )] - public string TenantId { get; set; } - /// - /// 乐观锁 - /// - [SugarColumn(ColumnName="REVISION" )] - public int? Revision { get; set; } - /// - /// 创建人 - /// - [SugarColumn(ColumnName="CREATED_BY" )] - public string CreatedBy { get; set; } - /// - /// 创建时间 - /// - [SugarColumn(ColumnName="CREATED_TIME" )] - public DateTime? CreatedTime { get; set; } - /// - /// 更新人 - /// - [SugarColumn(ColumnName="UPDATED_BY" )] - public string UpdatedBy { get; set; } - /// - /// 更新时间 - /// - [SugarColumn(ColumnName="UPDATED_TIME" )] - public DateTime? UpdatedTime { get; set; } - } -} diff --git a/ZR.Model/mes/pro/ProFeedback.cs b/ZR.Model/mes/pro/ProFeedback.cs deleted file mode 100644 index 98284ed6..00000000 --- a/ZR.Model/mes/pro/ProFeedback.cs +++ /dev/null @@ -1,214 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using SqlSugar; -namespace ZR.Model.mes.pro -{ - /// - /// 生产报工 - /// - [SugarTable("pro_feedback")] - public class ProFeedback - { - /// - /// 主键 - /// - [SugarColumn(ColumnName="record_id" ,IsPrimaryKey = true )] - public int RecordId { get; set; } - /// - /// 报工类型(统一报工,自行报工) - /// - [SugarColumn(ColumnName="feedback_type" )] - public string FeedbackType { get; set; } - /// - /// 报工单编号 - /// - [SugarColumn(ColumnName="feedback_code" )] - public string FeedbackCode { get; set; } - /// - /// 工单id - /// - [SugarColumn(ColumnName="workorder_id" )] - public int? WorkorderId { get; set; } - /// - /// 工单code - /// - [SugarColumn(ColumnName="workorder_code" )] - public string WorkorderCode { get; set; } - /// - /// 工单name - /// - [SugarColumn(ColumnName="workorder_name" )] - public string WorkorderName { get; set; } - /// - /// 工序id - /// - [SugarColumn(ColumnName="process_id" )] - public int? ProcessId { get; set; } - /// - /// 工序code - /// - [SugarColumn(ColumnName="process_code" )] - public string ProcessCode { get; set; } - /// - /// 工序name - /// - [SugarColumn(ColumnName="process_name" )] - public string ProcessName { get; set; } - /// - /// 工作站id - /// - [SugarColumn(ColumnName="workstation_id" )] - public int? WorkstationId { get; set; } - /// - /// 工作站code - /// - [SugarColumn(ColumnName="workstation_code" )] - public string WorkstationCode { get; set; } - /// - /// 工作站name - /// - [SugarColumn(ColumnName="workstation_name" )] - public string WorkstationName { get; set; } - /// - /// 生产任务ID - /// - [SugarColumn(ColumnName="task_id" )] - public string TaskId { get; set; } - /// - /// 生产任务code - /// - [SugarColumn(ColumnName="task_code" )] - public string TaskCode { get; set; } - /// - /// 产品物料ID - /// - [SugarColumn(ColumnName="item_id" )] - public string ItemId { get; set; } - /// - /// 产品物料code - /// - [SugarColumn(ColumnName="item_code" )] - public string ItemCode { get; set; } - /// - /// 产品物料name - /// - [SugarColumn(ColumnName="item_name" )] - public string ItemName { get; set; } - /// - /// 单位 - /// - [SugarColumn(ColumnName="unit" )] - public string Unit { get; set; } - /// - /// 排产数量 - /// - [SugarColumn(ColumnName="quantity" )] - public string Quantity { get; set; } - /// - /// 本次报工数量 - /// - [SugarColumn(ColumnName="quantity_feedback" )] - public string QuantityFeedback { get; set; } - /// - /// 合格数量 - /// - [SugarColumn(ColumnName="quantity_qualified" )] - public string QuantityQualified { get; set; } - /// - /// 不合格数量 - /// - [SugarColumn(ColumnName="quantity_unquanlified" )] - public string QuantityUnquanlified { get; set; } - /// - /// 报工人姓名 - /// - [SugarColumn(ColumnName="user_name" )] - public string UserName { get; set; } - /// - /// 昵称 - /// - [SugarColumn(ColumnName="nick_name" )] - public string NickName { get; set; } - /// - /// 报工途径 - /// - [SugarColumn(ColumnName="feedback_channel" )] - public string FeedbackChannel { get; set; } - /// - /// 报工时间 - /// - [SugarColumn(ColumnName="feedback_time" )] - public string FeedbackTime { get; set; } - /// - /// 记录人名称 - /// - [SugarColumn(ColumnName="record_user" )] - public string RecordUser { get; set; } - /// - /// 昵称 - /// - [SugarColumn(ColumnName="record_nick" )] - public string RecordNick { get; set; } - /// - /// 状态 - /// - [SugarColumn(ColumnName="status" )] - public string Status { get; set; } - /// - /// 备注 - /// - [SugarColumn(ColumnName="remark" )] - public string Remark { get; set; } - /// - /// 预留字段1 - /// - [SugarColumn(ColumnName="attr1" )] - public string Attr1 { get; set; } - /// - /// 预留字段2 - /// - [SugarColumn(ColumnName="attr2" )] - public string Attr2 { get; set; } - /// - /// 预留字段3 - /// - [SugarColumn(ColumnName="attr3" )] - public string Attr3 { get; set; } - /// - /// 预留字段4 - /// - [SugarColumn(ColumnName="attr4" )] - public string Attr4 { get; set; } - /// - /// 租户号 - /// - [SugarColumn(ColumnName="TENANT_ID" )] - public string TenantId { get; set; } - /// - /// 乐观锁 - /// - [SugarColumn(ColumnName="REVISION" )] - public int? Revision { get; set; } - /// - /// 创建人 - /// - [SugarColumn(ColumnName="CREATED_BY" )] - public string CreatedBy { get; set; } - /// - /// 创建时间 - /// - [SugarColumn(ColumnName="CREATED_TIME" )] - public DateTime? CreatedTime { get; set; } - /// - /// 更新人 - /// - [SugarColumn(ColumnName="UPDATED_BY" )] - public string UpdatedBy { get; set; } - /// - /// 更新时间 - /// - [SugarColumn(ColumnName="UPDATED_TIME" )] - public DateTime? UpdatedTime { get; set; } - } -} diff --git a/ZR.Model/mes/pro/ProWorkorder.cs b/ZR.Model/mes/pro/ProWorkorder.cs index 77c86bd0..03270119 100644 --- a/ZR.Model/mes/pro/ProWorkorder.cs +++ b/ZR.Model/mes/pro/ProWorkorder.cs @@ -1,184 +1,127 @@ using System; using System.Collections.Generic; using System.Linq; -using SqlSugar; +using System.Text; +using System.Threading.Tasks; + namespace ZR.Model.mes.pro { /// - /// 生产计划 + /// 生产工单 /// [SugarTable("pro_workorder")] public class ProWorkorder { /// - /// 计划年 + /// 流水号 /// - [SugarColumn(ColumnName="workorder_year" ,IsPrimaryKey = true )] - public int WorkorderYear { get; set; } + [SugarColumn(ColumnName = "id", IsPrimaryKey = true)] + public string Id { get; set; } /// - /// 计划月 + /// 生产计划id /// - [SugarColumn(ColumnName="workorder_month" ,IsPrimaryKey = true )] - public int WorkorderMonth { get; set; } + [SugarColumn(ColumnName = "fk_pro_plan_id")] + public string FkProPlanId { get; set; } /// - /// 计划周 + /// 年份 /// - [SugarColumn(ColumnName="workorder_week" ,IsPrimaryKey = true )] - public int WorkorderWeek { get; set; } + [SugarColumn(ColumnName = "year")] + public int? Year { get; set; } /// - /// 工单编码/产品编码 + /// 周 /// - [SugarColumn(ColumnName="workorder_code" ,IsPrimaryKey = true )] - public string WorkorderCode { get; set; } + [SugarColumn(ColumnName = "week")] + public int? Week { get; set; } /// - /// 工单名称/第(30)周生产计划 + /// 周几 /// - [SugarColumn(ColumnName="workorder_name" )] - public string WorkorderName { get; set; } + [SugarColumn(ColumnName = "date")] + public int? Date { get; set; } /// - /// 来源类型(1:客户订单(默认),2:生产备料) + /// 排产开始时间 /// - [SugarColumn(ColumnName="order_source" )] - public string OrderSource { get; set; } + [SugarColumn(ColumnName = "arrange_starttime")] + public DateTime? ArrangeStarttime { get; set; } /// - /// 来源单据code + /// 排产结束时间 /// - [SugarColumn(ColumnName="source_code" )] - public string SourceCode { get; set; } + [SugarColumn(ColumnName = "arrange_endtime")] + public DateTime? ArrangeEndtime { get; set; } /// - /// 班组 + /// 预计工时 /// - [SugarColumn(ColumnName="classgroup" )] - public string Classgroup { get; set; } + [SugarColumn(ColumnName = "production_time")] + public decimal? ProductionTime { get; set; } /// - /// 车型 + /// 产品名称 /// - [SugarColumn(ColumnName="vehicle" )] - public string Vehicle { get; set; } + [SugarColumn(ColumnName = "production_name")] + public string ProductionName { get; set; } /// - /// 生产产品零件号 + /// 颜色 /// - [SugarColumn(ColumnName="product_id" )] - public string ProductId { get; set; } + [SugarColumn(ColumnName = "color")] + public string Color { get; set; } /// - /// 生产产品编码 + /// 油漆缸号 /// - [SugarColumn(ColumnName="product_code" )] - public string ProductCode { get; set; } + [SugarColumn(ColumnName = "paint_cylinder_number")] + public int? PaintCylinderNumber { get; set; } /// - /// 生产产品名称 + /// 规格 /// - [SugarColumn(ColumnName="product_name" )] - public string ProductName { get; set; } + [SugarColumn(ColumnName = "specification")] + public string Specification { get; set; } /// - /// 标准班产 + /// 车数 /// - [SugarColumn(ColumnName="standard_shift_production" )] - public string StandardShiftProduction { get; set; } + [SugarColumn(ColumnName = "carnum")] + public int? Carnum { get; set; } /// - /// 生产耗时 + /// 挂具摆放 /// - [SugarColumn(ColumnName="time_consumption" )] - public string TimeConsumption { get; set; } + [SugarColumn(ColumnName = "rack")] + public int? Rack { get; set; } /// - /// 本周装配计划数量 + /// 上件数 /// - [SugarColumn(ColumnName="require_quantity" )] - public string RequireQuantity { get; set; } + [SugarColumn(ColumnName = "require_num")] + public int? RequireNum { get; set; } /// - /// 单位 + /// 毛坯零件号 /// - [SugarColumn(ColumnName="unit" )] - public string Unit { get; set; } + [SugarColumn(ColumnName = "workblankpartnumber")] + public string Workblankpartnumber { get; set; } /// - /// 本周实际生产数量 + /// 成品零件号 /// - [SugarColumn(ColumnName="quantity_produced" )] - public string QuantityProduced { get; set; } + [SugarColumn(ColumnName = "finishedpartnumber")] + public string Finishedpartnumber { get; set; } /// - /// 数量调整 + /// 实际上件数 /// - [SugarColumn(ColumnName="quantity_changed" )] - public string QuantityChanged { get; set; } - /// - /// 已排程数量 - /// - [SugarColumn(ColumnName="quantity_scheduled" )] - public string QuantityScheduled { get; set; } - /// - /// 客户id - /// - [SugarColumn(ColumnName="client_id" )] - public string ClientId { get; set; } - /// - /// 客户code - /// - [SugarColumn(ColumnName="client_code" )] - public string ClientCode { get; set; } - /// - /// 客户名称 - /// - [SugarColumn(ColumnName="client_name" )] - public string ClientName { get; set; } - /// - /// 父工单 - /// - [SugarColumn(ColumnName="parent_id" )] - public string ParentId { get; set; } - /// - /// 单据状态 - /// - [SugarColumn(ColumnName="status" )] - public string Status { get; set; } - /// - /// 备注 - /// - [SugarColumn(ColumnName="remark" )] - public string Remark { get; set; } - /// - /// 备用字段1 - /// - [SugarColumn(ColumnName="attr1" )] - public string Attr1 { get; set; } - /// - /// 备用字段2 - /// - [SugarColumn(ColumnName="attr2" )] - public string Attr2 { get; set; } - /// - /// 备用字段3 - /// - [SugarColumn(ColumnName="attr3" )] - public string Attr3 { get; set; } - /// - /// 租户号 - /// - [SugarColumn(ColumnName="TENANT_ID" )] - public string TenantId { get; set; } - /// - /// 乐观锁 - /// - [SugarColumn(ColumnName="REVISION" )] - public int? Revision { get; set; } + [SugarColumn(ColumnName = "actualnumber")] + public int? Actualnumber { get; set; } /// /// 创建人 /// - [SugarColumn(ColumnName="CREATED_BY" )] - public string CreatedBy { get; set; } + [SugarColumn(ColumnName = "CREATED_BY")] + public string CreatedBy { get; set; } /// /// 创建时间 /// - [SugarColumn(ColumnName="CREATED_TIME" )] - public DateTime? CreatedTime { get; set; } + [SugarColumn(ColumnName = "CREATED_TIME")] + public DateTime? CreatedTime { get; set; } /// /// 更新人 /// - [SugarColumn(ColumnName="UPDATED_BY" )] - public string UpdatedBy { get; set; } + [SugarColumn(ColumnName = "UPDATED_BY")] + public string UpdatedBy { get; set; } /// /// 更新时间 /// - [SugarColumn(ColumnName="UPDATED_TIME" )] - public DateTime? UpdatedTime { get; set; } + [SugarColumn(ColumnName = "UPDATED_TIME")] + public DateTime? UpdatedTime { get; set; } } + } diff --git a/ZR.Model/mes/pro/ProWorktask.cs b/ZR.Model/mes/pro/ProWorktask.cs deleted file mode 100644 index 4802a80c..00000000 --- a/ZR.Model/mes/pro/ProWorktask.cs +++ /dev/null @@ -1,179 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using SqlSugar; -namespace ZR.Model.mes.pro -{ - /// - /// 生产任务 - /// - [SugarTable("pro_worktask")] - public class ProWorktask - { - /// - /// 生产任务id - /// - [SugarColumn(ColumnName="task_id" ,IsPrimaryKey = true ,IsIdentity = true )] - public int TaskId { get; set; } - /// - /// 生产任务code - /// - [SugarColumn(ColumnName="task_code" )] - public string TaskCode { get; set; } - /// - /// 生产计划ID - /// - [SugarColumn(ColumnName="workorder_id" )] - public string WorkorderId { get; set; } - /// - /// 生产计划编号 - /// - [SugarColumn(ColumnName="workorder_code" )] - public string WorkorderCode { get; set; } - /// - /// 计划名称 - /// - [SugarColumn(ColumnName="workorder_name" )] - public string WorkorderName { get; set; } - /// - /// 工序id - /// - [SugarColumn(ColumnName="process_id" )] - public int? ProcessId { get; set; } - /// - /// 工序编码 - /// - [SugarColumn(ColumnName="process_code" )] - public string ProcessCode { get; set; } - /// - /// 工序名称 - /// - [SugarColumn(ColumnName="process_name" )] - public string ProcessName { get; set; } - /// - /// 物料id - /// - [SugarColumn(ColumnName="material_id" )] - public int? MaterialId { get; set; } - /// - /// 物料编码 - /// - [SugarColumn(ColumnName="material_code" )] - public string MaterialCode { get; set; } - /// - /// 物料名称 - /// - [SugarColumn(ColumnName="material_name" )] - public string MaterialName { get; set; } - /// - /// 单位 - /// - [SugarColumn(ColumnName="unit" )] - public string Unit { get; set; } - /// - /// 排产数量 - /// - [SugarColumn(ColumnName="quantity" )] - public decimal? Quantity { get; set; } - /// - /// 已经生产数量 - /// - [SugarColumn(ColumnName="quantity_produced" )] - public decimal? QuantityProduced { get; set; } - /// - /// 合格品数量 - /// - [SugarColumn(ColumnName="quantity_quanlify" )] - public decimal? QuantityQuanlify { get; set; } - /// - /// 不良品数量 - /// - [SugarColumn(ColumnName="quantity_unquanlify" )] - public decimal? QuantityUnquanlify { get; set; } - /// - /// 开始生产时间 - /// - [SugarColumn(ColumnName="start_time" )] - public DateTime? StartTime { get; set; } - /// - /// 生产时长 - /// - [SugarColumn(ColumnName="duration" )] - public decimal? Duration { get; set; } - /// - /// 完成生产时间 - /// - [SugarColumn(ColumnName="end_time" )] - public DateTime? EndTime { get; set; } - /// - /// 甘特图显示颜色 - /// - [SugarColumn(ColumnName="color_code" )] - public string ColorCode { get; set; } - /// - /// 需求日期 - /// - [SugarColumn(ColumnName="request_date" )] - public string RequestDate { get; set; } - /// - /// 生产状态 - /// - [SugarColumn(ColumnName="status" )] - public string Status { get; set; } - /// - /// 备注 - /// - [SugarColumn(ColumnName="remark" )] - public string Remark { get; set; } - /// - /// 预留字段1 - /// - [SugarColumn(ColumnName="attr1" )] - public string Attr1 { get; set; } - /// - /// 预留字段2 - /// - [SugarColumn(ColumnName="attr2" )] - public string Attr2 { get; set; } - /// - /// 预留字段3 - /// - [SugarColumn(ColumnName="attr3" )] - public string Attr3 { get; set; } - /// - /// 预留字段4 - /// - [SugarColumn(ColumnName="attr4" )] - public string Attr4 { get; set; } - /// - /// 租户号 - /// - [SugarColumn(ColumnName="TENANT_ID" )] - public string TenantId { get; set; } - /// - /// 乐观锁 - /// - [SugarColumn(ColumnName="REVISION" )] - public int? Revision { get; set; } - /// - /// 创建人 - /// - [SugarColumn(ColumnName="CREATED_BY" )] - public string CreatedBy { get; set; } - /// - /// 创建时间 - /// - [SugarColumn(ColumnName="CREATED_TIME" )] - public DateTime? CreatedTime { get; set; } - /// - /// 更新人 - /// - [SugarColumn(ColumnName="UPDATED_BY" )] - public string UpdatedBy { get; set; } - /// - /// 更新时间 - /// - [SugarColumn(ColumnName="UPDATED_TIME" )] - public DateTime? UpdatedTime { get; set; } - } -} diff --git a/ZR.Model/mes/pro/ProductDefine.cs b/ZR.Model/mes/pro/ProductDefine.cs deleted file mode 100644 index 16ec5030..00000000 --- a/ZR.Model/mes/pro/ProductDefine.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ZR.Model.mes.pro -{ - /// - /// 产品定义 - /// - [SugarTable("md_product_define")] - public class MdProductDefine - { - /// - /// 流水号 - /// - [SugarColumn(ColumnName = "id", IsPrimaryKey = true, IsIdentity = true)] - public int Id { get; set; } - /// - /// 产品编号 - /// - [SugarColumn(ColumnName = "product_code")] - public string ProductCode { get; set; } - /// - /// 产品名称 - /// - [SugarColumn(ColumnName = "product_name")] - public string ProductName { get; set; } - /// - /// 单位id - /// - [SugarColumn(ColumnName = "product_unit")] - public int? ProductUnit { get; set; } - /// - /// 工艺路线code - /// - [SugarColumn(ColumnName = "processRoute_code")] - public string ProcessrouteCode { get; set; } - /// - /// 工艺路线 - /// - [SugarColumn(ColumnName = "processRoute_name")] - public string ProcessrouteName { get; set; } - /// - /// 预留字段1 - /// - [SugarColumn(ColumnName = "attre1")] - public string Attre1 { get; set; } - /// - /// 预留字段2 - /// - [SugarColumn(ColumnName = "attre2")] - public string Attre2 { get; set; } - /// - /// 预留字段3 - /// - [SugarColumn(ColumnName = "attre3")] - public string Attre3 { get; set; } - /// - /// 租户号 - /// - [SugarColumn(ColumnName = "TENANT_ID")] - public string TenantId { get; set; } - /// - /// 乐观锁 - /// - [SugarColumn(ColumnName = "REVISION")] - public int? Revision { get; set; } - /// - /// 创建人 - /// - [SugarColumn(ColumnName = "CREATED_BY")] - public string CreatedBy { get; set; } - /// - /// 创建时间 - /// - [SugarColumn(ColumnName = "CREATED_TIME")] - public DateTime? CreatedTime { get; set; } - /// - /// 更新人 - /// - [SugarColumn(ColumnName = "UPDATED_BY")] - public string UpdatedBy { get; set; } - /// - /// 更新时间 - /// - [SugarColumn(ColumnName = "UPDATED_TIME")] - public DateTime? UpdatedTime { get; set; } - } -} diff --git a/ZR.Vue/src/views/OperationManagement/paintingWorkshop.vue b/ZR.Vue/src/views/OperationManagement/paintingWorkshop.vue index cebb6c55..11dd4791 100644 --- a/ZR.Vue/src/views/OperationManagement/paintingWorkshop.vue +++ b/ZR.Vue/src/views/OperationManagement/paintingWorkshop.vue @@ -1,5 +1,5 @@