177 lines
6.3 KiB
C#
177 lines
6.3 KiB
C#
using Infrastructure.Attribute;
|
|
using Infrastructure.Extensions;
|
|
using Infrastructure.Model;
|
|
using RIZO.Model.Mes.Dto.ProductionPreparation;
|
|
using RIZO.Model.Mes.Dto.WorkOrderInfo;
|
|
using RIZO.Model.Mes.ProductionPreparation;
|
|
using RIZO.Model.Mes.WorkOrderInfo;
|
|
using RIZO.Repository;
|
|
using RIZO.Service.Mes.IMesService.ProductionPreparation;
|
|
using RIZO.Service.Mes.ProductionPreparation;
|
|
|
|
namespace RIZO.Service.Mes
|
|
{
|
|
/// <summary>
|
|
/// 质量控制主表Service业务层处理
|
|
/// </summary>
|
|
[AppService(ServiceType = typeof(IQualityControlService), ServiceLifetime = LifeTime.Transient)]
|
|
public class QualityControlService : BaseService<QualityControl>, IQualityControlService
|
|
{
|
|
private QualityControlDetailService qualityControlDetailService = new QualityControlDetailService();
|
|
/// <summary>
|
|
/// 查询质量控制主表列表
|
|
/// </summary>
|
|
/// <param name="parm"></param>
|
|
/// <returns></returns>
|
|
public PagedInfo<QualityControlDto> GetList(QualityControlQueryDto parm)
|
|
{
|
|
var predicate = QueryExp(parm);
|
|
|
|
var response = Queryable()
|
|
.Where(predicate.ToExpression())
|
|
.ToPage<QualityControl, QualityControlDto>(parm);
|
|
|
|
return response;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 获取详情
|
|
/// </summary>
|
|
/// <param name="Id"></param>
|
|
/// <returns></returns>
|
|
public QualityControl GetInfo(long Id)
|
|
{
|
|
var response = Queryable()
|
|
.Where(x => x.Id == Id)
|
|
.First();
|
|
|
|
return response;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 添加质量控制主表
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public QualityControl AddQualityControl(QualityControl model)
|
|
{
|
|
return Insertable(model).ExecuteReturnEntity();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改质量控制主表
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public int UpdateQualityControl(QualityControl model)
|
|
{
|
|
return Update(model, true);
|
|
}
|
|
|
|
public ApiResult ChangeQCStatus(QualityControlDto parm)
|
|
{
|
|
try
|
|
{
|
|
var qc = Queryable().Where(it => it.Id == parm.Id).First();
|
|
if (qc == null)
|
|
{
|
|
return new ApiResult(400, "质控数据不存在!");
|
|
}
|
|
qc.CheckResult = parm.CheckResult;
|
|
qc.UpdatedBy = parm.UpdatedBy;
|
|
qc.UpdatedName = parm.UpdatedName;
|
|
qc.UpdatedTime = parm.UpdatedTime;
|
|
qc.Remark = parm.Remark;
|
|
int iResult = Update(qc);
|
|
if (iResult > 0)
|
|
{
|
|
return ApiResult.Success(qc);
|
|
}
|
|
else
|
|
{
|
|
return ApiResult.Error("变更状态失败!");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return ApiResult.Error("出现错误!");
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 查询导出表达式
|
|
/// </summary>
|
|
/// <param name="parm"></param>
|
|
/// <returns></returns>
|
|
private static Expressionable<QualityControl> QueryExp(QualityControlQueryDto parm)
|
|
{
|
|
var predicate = Expressionable.Create<QualityControl>();
|
|
|
|
return predicate;
|
|
}
|
|
|
|
public ApiResult AddQC(QualityControlDto parm)
|
|
{
|
|
if (parm == null)
|
|
{
|
|
return ApiResult.Error(400, "数据为空,请重新新增");
|
|
}
|
|
List<QualityControlDetailDto> parmDetails = parm.parmDetails;
|
|
List<QualityControlDetail> qcDetaiList = new List<QualityControlDetail>();
|
|
string strDay = DateTime.Now.ToString("yyyyMMdd");
|
|
int Sequcence = 1;
|
|
QualityControl qualityControl = Queryable()
|
|
.Where(it => it.QcCode.Contains(strDay)).OrderByDescending(it => it.Sequcence).First();
|
|
if (qualityControl != null)
|
|
{
|
|
Sequcence = qualityControl.Sequcence;
|
|
Sequcence += 1;
|
|
}
|
|
string formattedSequence = Sequcence.ToString("D3");
|
|
string QcCode = "QC" + strDay + formattedSequence;
|
|
QualityControl qcNew = new QualityControl();
|
|
qcNew.QcCode = QcCode;
|
|
qcNew.CheckType = parm.CheckType;
|
|
qcNew.CheckDate = parm.CheckDate;
|
|
qcNew.LineCode = parm.LineCode;
|
|
qcNew.LineName = parm.LineName;
|
|
qcNew.CheckResult = parm.CheckResult;
|
|
qcNew.CheckTime = parm.CheckTime;
|
|
qcNew.Remark = parm.Remark;
|
|
qcNew.Sequcence = Sequcence;
|
|
qcNew.CreatedBy = parm.CreatedBy;
|
|
qcNew.CreatedName = parm.CreatedName;
|
|
qcNew.UpdatedBy = parm.UpdatedBy;
|
|
qcNew.UpdatedName = parm.UpdatedName;
|
|
int iResult = Insert(qcNew);
|
|
if (iResult > 0)
|
|
{
|
|
if (parmDetails != null && parmDetails.Count > 0)
|
|
{
|
|
foreach (QualityControlDetailDto qcDDto in parmDetails)
|
|
{
|
|
QualityControlDetail qcDNew = new QualityControlDetail();
|
|
qcDNew.QcCode = QcCode;
|
|
qcDNew.ParamName = qcDDto.ParamName;
|
|
qcDNew.ParamValue = qcDDto.ParamValue;
|
|
qcDNew.ParamUnit = qcDDto.ParamUnit;
|
|
qcDNew.IsPass = qcDDto.IsPass;
|
|
qcDNew.CreatedBy = qcDDto.CreatedBy;
|
|
qcDNew.CreatedName = qcDDto.CreatedName;
|
|
qcDNew.CreatedTime = qcDDto.CreatedTime;
|
|
qcDetaiList.Add(qcDNew);
|
|
}
|
|
if (qcDetaiList.Count > 0)
|
|
{
|
|
int Flag = qualityControlDetailService.Insert(qcDetaiList);
|
|
}
|
|
}
|
|
return ApiResult.Success(qcNew);
|
|
}
|
|
else
|
|
{
|
|
return ApiResult.Error("质控数据创建失败");
|
|
}
|
|
}
|
|
}
|
|
} |