大屏调整,一次合格计算调整

This commit is contained in:
2025-10-28 18:13:04 +08:00
parent 8737002eef
commit 3c7b2c3ec7
11 changed files with 1730 additions and 5 deletions

View File

@@ -0,0 +1,193 @@
using System;
using SqlSugar;
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using ZR.Model;
using ZR.Model.Dto;
using ZR.Model.Business;
using ZR.Repository;
using ZR.Service.Business.IBusinessService;
using System.Linq;
namespace ZR.Service.Business
{
/// <summary>
/// bi大屏-清洗后数据-质量报表Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IBiDwdProductionQualityReportService), ServiceLifetime = LifeTime.Transient)]
public class BiDwdProductionQualityReportService : BaseService<BiDwdProductionQualityReport>, IBiDwdProductionQualityReportService
{
/// <summary>
/// 查询bi大屏-清洗后数据-质量报表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<BiDwdProductionQualityReportDto> GetList(BiDwdProductionQualityReportQueryDto parm)
{
var predicate = Expressionable.Create<BiDwdProductionQualityReport>();
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<BiDwdProductionQualityReport, BiDwdProductionQualityReportDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public BiDwdProductionQualityReport GetInfo(int Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加bi大屏-清洗后数据-质量报表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public BiDwdProductionQualityReport AddBiDwdProductionQualityReport(BiDwdProductionQualityReport model)
{
return Context.Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改bi大屏-清洗后数据-质量报表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateBiDwdProductionQualityReport(BiDwdProductionQualityReport model)
{
//var response = Update(w => w.Id == model.Id, it => new BiDwdProductionQualityReport()
//{
// GenerationTime = model.GenerationTime,
// WorkOrder = model.WorkOrder,
// PartNumber = model.PartNumber,
// BlankNumber = model.BlankNumber,
// Colour = model.Colour,
// Specification = model.Specification,
// Description = model.Description,
// Sort = model.Sort,
// PaintSuokong1 = model.PaintSuokong1,
// PaintZhengkong1 = model.PaintZhengkong1,
// PaintShiguang1 = model.PaintShiguang1,
// PaintSecha1 = model.PaintSecha1,
// PaintDianzi1 = model.PaintDianzi1,
// PaintOther1 = model.PaintOther1,
// DeviceShuiban1 = model.DeviceShuiban1,
// DeviceZandian1 = model.DeviceZandian1,
// DeviceBianxing1 = model.DeviceBianxing1,
// DeviceYouzhu1 = model.DeviceYouzhu1,
// DeviceTuoluo1 = model.DeviceTuoluo1,
// DeviceZhuangshang1 = model.DeviceZhuangshang1,
// DeviceOther1 = model.DeviceOther1,
// BlankMaoci1 = model.BlankMaoci1,
// BlankSuoyin1 = model.BlankSuoyin1,
// BlankCanshuang1 = model.BlankCanshuang1,
// BlankShaying1 = model.BlankShaying1,
// BlankZangdian1 = model.BlankZangdian1,
// BlankDamo1 = model.BlankDamo1,
// ProgramLiuguang1 = model.ProgramLiuguang1,
// ProgramSeqiqueqi1 = model.ProgramSeqiqueqi1,
// ProgramQingqiqueqi1 = model.ProgramQingqiqueqi1,
// ProgramJupi1 = model.ProgramJupi1,
// ProgramOther1 = model.ProgramOther1,
// TeamTuoluocanshuang1 = model.TeamTuoluocanshuang1,
// TeamQingqiqikuai1 = model.TeamQingqiqikuai1,
// TeamSeqiqikuai1 = model.TeamSeqiqikuai1,
// TeamFahua1 = model.TeamFahua1,
// TeamLiangbang1 = model.TeamLiangbang1,
// TeamPenglou1 = model.TeamPenglou1,
// PaintSuokong2 = model.PaintSuokong2,
// PaintZhengkong2 = model.PaintZhengkong2,
// PaintShiguang2 = model.PaintShiguang2,
// PaintSecha2 = model.PaintSecha2,
// PaintDianzi2 = model.PaintDianzi2,
// PaintOther2 = model.PaintOther2,
// DeviceShuiban2 = model.DeviceShuiban2,
// DeviceZandian2 = model.DeviceZandian2,
// DeviceBianxing2 = model.DeviceBianxing2,
// DeviceYouzhu2 = model.DeviceYouzhu2,
// DeviceTuoluo2 = model.DeviceTuoluo2,
// DeviceZhuangshang2 = model.DeviceZhuangshang2,
// DeviceOther2 = model.DeviceOther2,
// BlankMaoci2 = model.BlankMaoci2,
// BlankSuoyin2 = model.BlankSuoyin2,
// BlankCanshuang2 = model.BlankCanshuang2,
// BlankShaying2 = model.BlankShaying2,
// BlankZangdian2 = model.BlankZangdian2,
// BlankDamo2 = model.BlankDamo2,
// ProgramLiuguang2 = model.ProgramLiuguang2,
// ProgramSeqiqueqi2 = model.ProgramSeqiqueqi2,
// ProgramQingqiqueqi2 = model.ProgramQingqiqueqi2,
// ProgramJupi2 = model.ProgramJupi2,
// ProgramOther2 = model.ProgramOther2,
// TeamTuoluocanshuang2 = model.TeamTuoluocanshuang2,
// TeamQingqiqikuai2 = model.TeamQingqiqikuai2,
// TeamSeqiqikuai2 = model.TeamSeqiqikuai2,
// TeamFahua2 = model.TeamFahua2,
// TeamLiangbang2 = model.TeamLiangbang2,
// TeamPenglou2 = model.TeamPenglou2,
// PaintSuokong3 = model.PaintSuokong3,
// PaintZhengkong3 = model.PaintZhengkong3,
// PaintShiguang3 = model.PaintShiguang3,
// PaintSecha3 = model.PaintSecha3,
// PaintDianzi3 = model.PaintDianzi3,
// PaintOther3 = model.PaintOther3,
// DeviceShuiban3 = model.DeviceShuiban3,
// DeviceZandian3 = model.DeviceZandian3,
// DeviceBianxing3 = model.DeviceBianxing3,
// DeviceYouzhu3 = model.DeviceYouzhu3,
// DeviceTuoluo3 = model.DeviceTuoluo3,
// DeviceZhuangshang3 = model.DeviceZhuangshang3,
// DeviceOther3 = model.DeviceOther3,
// BlankMaoci3 = model.BlankMaoci3,
// BlankSuoyin3 = model.BlankSuoyin3,
// BlankCanshuang3 = model.BlankCanshuang3,
// BlankShaying3 = model.BlankShaying3,
// BlankZangdian3 = model.BlankZangdian3,
// BlankDamo3 = model.BlankDamo3,
// ProgramLiuguang3 = model.ProgramLiuguang3,
// ProgramSeqiqueqi3 = model.ProgramSeqiqueqi3,
// ProgramQingqiqueqi3 = model.ProgramQingqiqueqi3,
// ProgramJupi3 = model.ProgramJupi3,
// ProgramOther3 = model.ProgramOther3,
// TeamTuoluocanshuang3 = model.TeamTuoluocanshuang3,
// TeamQingqiqikuai3 = model.TeamQingqiqikuai3,
// TeamSeqiqikuai3 = model.TeamSeqiqikuai3,
// TeamFahua3 = model.TeamFahua3,
// TeamLiangbang3 = model.TeamLiangbang3,
// TeamPenglou3 = model.TeamPenglou3,
//});
//return response;
return Update(model, true);
}
public int GenerateDataByDateTime(BiDwdProductionQualityReportQueryDto parm)
{
throw new NotImplementedException();
}
public int DeleteDataByDateTime(BiDwdProductionQualityReportQueryDto parm)
{
throw new NotImplementedException();
}
public (string, object, object) Import(List<BiDwdWorkorder> list)
{
throw new NotImplementedException();
}
public List<BiDwdWorkorderDto> GetListByDate(BiDwdWorkorderQueryDto parm)
{
throw new NotImplementedException();
}
}
}

View File

@@ -0,0 +1,168 @@
using System;
using SqlSugar;
using Infrastructure.Attribute;
using Infrastructure.Extensions;
using ZR.Model;
using ZR.Model.Dto;
using ZR.Model.Business;
using ZR.Repository;
using ZR.Service.Business.IBusinessService;
using System.Linq;
using System.Globalization;
using ZR.Model.mes.carouselBoard;
using ZR.Model.MES.pro;
namespace ZR.Service.Business
{
/// <summary>
/// bi大屏-清洗后数据-工单表Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IBiDwdWorkorderService), ServiceLifetime = LifeTime.Transient)]
public class BiDwdWorkorderService : BaseService<BiDwdWorkorder>, IBiDwdWorkorderService
{
/// <summary>
/// 查询bi大屏-清洗后数据-工单表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<BiDwdWorkorderDto> GetList(BiDwdWorkorderQueryDto parm)
{
var predicate = Expressionable.Create<BiDwdWorkorder>();
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<BiDwdWorkorder, BiDwdWorkorderDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public BiDwdWorkorder GetInfo(int Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加bi大屏-清洗后数据-工单表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public BiDwdWorkorder AddBiDwdWorkorder(BiDwdWorkorder model)
{
return Context.Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改bi大屏-清洗后数据-工单表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateBiDwdWorkorder(BiDwdWorkorder model)
{
//var response = Update(w => w.Id == model.Id, it => new BiDwdWorkorder()
//{
// GenerationTime = model.GenerationTime,
// WorkOrder = model.WorkOrder,
// PartNumber = model.PartNumber,
// BlankNumber = model.BlankNumber,
// Colour = model.Colour,
// Specification = model.Specification,
// Description = model.Description,
// VehicleNumber = model.VehicleNumber,
// HangNumber = model.HangNumber,
// PreviousNumber = model.PreviousNumber,
// CylinderNumber = model.CylinderNumber,
// Sort = model.Sort,
// Remark1 = model.Remark1,
// Remark2 = model.Remark2,
//});
//return response;
return Update(model, true);
}
public int GenerateDataByDateTime(BiDwdWorkorderQueryDto parm)
{
try
{
Context.Ado.BeginTran();
DateTime dateTime = parm.GenerationTime;
// 清空旧记录
DeleteDataByDateTime(parm);
// 生成新纪录
int currentYear = dateTime.Year;
// 计算当前是本年的第几周(周一为一周的开始)
int currentWeek = CultureInfo.InvariantCulture.Calendar.GetWeekOfYear(
dateTime,
CalendarWeekRule.FirstFourDayWeek,
DayOfWeek.Monday
);
// 计算当前是星期几1-7周一=1周日=7
int currentDay = (int)dateTime.DayOfWeek;
if (currentDay == 0) // 如果是周日
{
currentDay = 7;
}
List<BiDwdWorkorder> GenerationData = Context
.Queryable<ProWorkorder_v2>()
.Where(it => it.Remark3 == "是") // 只获取有效的工单
.Where(it => it.Year == currentYear) // 筛选当前年份
.Where(it => it.Week == currentWeek) // 筛选当前周
.Where(it => it.Date == currentDay) // 筛选当前日
.OrderBy(it => it.Sort) // 按序号排序
.Select(it => new BiDwdWorkorder
{
GenerationTime = dateTime,
BlankNumber = it.BlankNumber, // 毛坯号
PartNumber = it.FinishedPartNumber, // 成品零件号
Description = it.ProductDescription, // 产品描述
Colour = it.Colour, // 颜色
Specification = it.Specifications, // 规格
VehicleNumber = it.VehicleNumber, // 车数
PreviousNumber = it.PreviousNumber, // 上件数
CylinderNumber = it.CylinderNumber, // 双组号缸号
Remark1 = it.Remark1, // 备注1
Remark2 = it.Remark2, // 备注2
Sort = it.Sort, // 序号
WorkOrder = it.ClientWorkorder, // 客户工单号
})
.ToList();
int result = Context.Insertable(GenerationData).ExecuteCommand();
Context.Ado.CommitTran();
return result;
}
catch (Exception)
{
Context.Ado.RollbackTran();
throw;
}
}
public int DeleteDataByDateTime(BiDwdWorkorderQueryDto parm)
{
return Context.Deleteable<BiDwdWorkorder>().Where(it=>it.GenerationTime == parm.GenerationTime).ExecuteCommand();
}
public (string, object, object) Import(List<BiDwdWorkorder> list)
{
throw new NotImplementedException();
}
public List<BiDwdWorkorderDto> GetListByDate(BiDwdWorkorderQueryDto parm)
{
throw new NotImplementedException();
}
}
}

View File

@@ -0,0 +1,39 @@
using System;
using ZR.Model;
using ZR.Model.Dto;
using ZR.Model.Business;
using System.Collections.Generic;
namespace ZR.Service.Business.IBusinessService
{
/// <summary>
/// bi大屏-清洗后数据-质量报表service接口
/// </summary>
public interface IBiDwdProductionQualityReportService : IBaseService<BiDwdProductionQualityReport>
{
PagedInfo<BiDwdProductionQualityReportDto> GetList(BiDwdProductionQualityReportQueryDto parm);
BiDwdProductionQualityReport GetInfo(int Id);
BiDwdProductionQualityReport AddBiDwdProductionQualityReport(BiDwdProductionQualityReport parm);
int UpdateBiDwdProductionQualityReport(BiDwdProductionQualityReport parm);
// 按日期生成数据
int GenerateDataByDateTime(BiDwdProductionQualityReportQueryDto parm);
// 按日期删除数据
int DeleteDataByDateTime(BiDwdProductionQualityReportQueryDto parm);
// 按日期导出数据
// 按日期导入数据
/// <summary>
/// 导入
/// </summary>
/// <param name="list">导入的数据</param>
/// <returns></returns>
(string, object, object) Import(List<BiDwdWorkorder> list);
// 按日期获取数据
List<BiDwdWorkorderDto> GetListByDate(BiDwdWorkorderQueryDto parm);
}
}

View File

@@ -0,0 +1,39 @@
using System;
using ZR.Model;
using ZR.Model.Dto;
using ZR.Model.Business;
using System.Collections.Generic;
using ZR.Model.System;
namespace ZR.Service.Business.IBusinessService
{
/// <summary>
/// bi大屏-清洗后数据-工单表service接口
/// </summary>
public interface IBiDwdWorkorderService : IBaseService<BiDwdWorkorder>
{
PagedInfo<BiDwdWorkorderDto> GetList(BiDwdWorkorderQueryDto parm);
BiDwdWorkorder GetInfo(int Id);
BiDwdWorkorder AddBiDwdWorkorder(BiDwdWorkorder parm);
int UpdateBiDwdWorkorder(BiDwdWorkorder parm);
// 按日期生成数据
int GenerateDataByDateTime(BiDwdWorkorderQueryDto parm);
// 按日期删除数据
int DeleteDataByDateTime(BiDwdWorkorderQueryDto parm);
// 按日期导出数据
// 按日期导入数据
/// <summary>
/// 导入
/// </summary>
/// <param name="list">导入的数据</param>
/// <returns></returns>
(string, object, object) Import(List<BiDwdWorkorder> list);
// 按日期获取数据
List<BiDwdWorkorderDto> GetListByDate(BiDwdWorkorderQueryDto parm);
}
}