using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_BasicRepository;
|
using WIDESEA_Common.CommonEnum;
|
using WIDESEA_Common.MaterielEnum;
|
using WIDESEA_Core;
|
using WIDESEA_Core.BaseServices;
|
using WIDESEA_Core.Helper;
|
using WIDESEA_DTO.Basic;
|
using WIDESEA_DTO.ERP;
|
using WIDESEA_IBasicRepository;
|
using WIDESEA_IBasicService;
|
using WIDESEA_Model.Models;
|
|
namespace WIDESEA_BasicService
|
{
|
public partial class MaterielInfoService : ServiceBase<Dt_MaterielInfo, IMaterielInfoRepository>, IMaterielInfoService
|
{
|
/// <summary>
|
/// 判断物料是否存在
|
/// </summary>
|
/// <param name="materielCode">物料编号</param>
|
/// <returns></returns>
|
public bool ExsitMateriel(string materielCode)
|
{
|
return BaseDal.QueryFirst(x => x.MaterielCode == materielCode) != null;
|
}
|
|
/// <summary>
|
/// 判断物料是否存在
|
/// </summary>
|
/// <param name="materielCodes">物料编号集合</param>
|
/// <returns></returns>
|
public bool ExsitMateriels(List<string> materielCodes)
|
{
|
return BaseDal.QueryData(x => materielCodes.Contains(x.MaterielCode)).Count == materielCodes.Count;
|
}
|
|
/// <summary>
|
/// 获取物料信息
|
/// </summary>
|
/// <param name="materielCode">物料编号</param>
|
/// <returns></returns>
|
public Dt_MaterielInfo GetMaterielInfo(string materielCode)
|
{
|
return BaseDal.QueryFirst(x => x.MaterielCode == materielCode);
|
}
|
|
/// <summary>
|
/// 查询物料信息
|
/// </summary>
|
/// <param name="materielCodes">物料编号</param>
|
/// <returns></returns>
|
public List<Dt_MaterielInfo> GetMaterielInfos(List<string> materielCodes)
|
{
|
return BaseDal.QueryData(x => materielCodes.Contains(x.MaterielCode));
|
}
|
|
public WebResponseContent GetWarehouseMaterielInfos(int warehouseId)
|
{
|
try
|
{
|
List<Dt_MaterielInfo> materielInfos = BaseDal.QueryData(x => x.WarehouseId == warehouseId);
|
return WebResponseContent.Instance.OK(data: materielInfos);
|
}
|
catch (Exception ex)
|
{
|
return WebResponseContent.Instance.Error(ex.Message);
|
}
|
}
|
/// <summary>
|
/// 接收ERP物料信息
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public WebResponseContent ReceiveMaterial(MaterielInfoDTO model)
|
{
|
try
|
{
|
Dt_Warehouse? warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == model.WaId);
|
if (model.OperateType.ObjToInt() == 0)
|
{
|
Dt_MaterielInfo materielInfo = new Dt_MaterielInfo()
|
{
|
IsCheck = warehouse == null ? 0 : (WhetherEnum)model.IsCheck,
|
MaterielCode = model.Code,
|
MaterielInvOrgId = model.InvOrgId,
|
MaterielLength = model.Length,
|
MaterielModel = model.Model,
|
MaterielName = model.Name,
|
MaterielSize = model.Size,
|
MaterielSourceType = (MaterielSourceTypeEnum)(model.ItemSourceType.ObjToInt()),
|
MaterielSpec = warehouse == null ? "空" : model.StandType,
|
MaterielState = (EnableEnum)(model.State.ObjToInt()),
|
MaterielThickness = model.Thickness,
|
MaterielType = (MaterielTypeEnum)(model.ItemType.ObjToInt()),
|
MaterielUnit = model.Unit == null ? "" : model.Unit,
|
MaterielVersion = model.MaterialVersion,
|
MaterielWide = model.Wide,
|
WarehouseId = warehouse == null ? 0 : warehouse.WarehouseId,
|
};
|
BaseDal.AddData(materielInfo);
|
}
|
else if (model.OperateType.ObjToInt() == 1)
|
{
|
Dt_MaterielInfo materielInfo = BaseDal.QueryFirst(x => x.MaterielCode == model.Code);
|
if (materielInfo == null)
|
{
|
Dt_MaterielInfo materielInfoAddNew = new Dt_MaterielInfo()
|
{
|
IsCheck = warehouse == null ? 0 : (WhetherEnum)model.IsCheck,
|
MaterielCode = model.Code,
|
MaterielInvOrgId = model.InvOrgId,
|
MaterielLength = model.Length,
|
MaterielModel = model.Model,
|
MaterielName = model.Name,
|
MaterielSize = model.Size,
|
MaterielSourceType = (MaterielSourceTypeEnum)(model.ItemSourceType.ObjToInt()),
|
MaterielSpec = warehouse == null ? "空" : model.StandType,
|
MaterielState = (EnableEnum)(model.State.ObjToInt()),
|
MaterielThickness = model.Thickness,
|
MaterielType = (MaterielTypeEnum)(model.ItemType.ObjToInt()),
|
MaterielUnit = model.Unit == null ? "" : model.Unit,
|
MaterielVersion = model.MaterialVersion,
|
MaterielWide = model.Wide,
|
WarehouseId = warehouse == null ? 0 : warehouse.WarehouseId,
|
};
|
BaseDal.AddData(materielInfoAddNew);
|
}
|
else
|
{
|
materielInfo.IsCheck = warehouse == null ? 0 : (WhetherEnum)model.IsCheck;
|
materielInfo.MaterielCode = model.Code;
|
materielInfo.MaterielInvOrgId = model.InvOrgId;
|
materielInfo.MaterielLength = model.Length;
|
materielInfo.MaterielModel = model.Model;
|
materielInfo.MaterielName = model.Name;
|
materielInfo.MaterielSize = model.Size;
|
materielInfo.MaterielSourceType = (MaterielSourceTypeEnum)model.ItemSourceType.ObjToInt();
|
materielInfo.MaterielSpec = warehouse == null ? "" : model.StandType;
|
materielInfo.MaterielState = (EnableEnum)model.State.ObjToInt();
|
materielInfo.MaterielThickness = model.Thickness;
|
materielInfo.MaterielType = (MaterielTypeEnum)model.ItemType.ObjToInt();
|
materielInfo.MaterielUnit = model.Unit == null ? "" : model.Unit;
|
materielInfo.MaterielVersion = model.MaterialVersion;
|
materielInfo.MaterielWide = model.Wide;
|
materielInfo.WarehouseId = warehouse == null ? 0 : warehouse.WarehouseId;
|
BaseDal.UpdateData(materielInfo);
|
}
|
|
}
|
else if (model.OperateType.ObjToInt() == 2)
|
{
|
Dt_MaterielInfo materielInfo = BaseDal.QueryFirst(x => x.MaterielCode == model.Code);
|
if (materielInfo == null)
|
{
|
return WebResponseContent.Instance.Error($"未找到物料信息");
|
}
|
|
BaseDal.DeleteData(materielInfo);
|
}
|
return WebResponseContent.Instance.OK();
|
}
|
catch (Exception ex)
|
{
|
return WebResponseContent.Instance.OK(ex.Message);
|
}
|
}
|
}
|
}
|