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 = null;
|
if (model.ItemType == MaterielTypeEnum.RawMateriel.ObjToInt())
|
{
|
warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == model.WaId);
|
if (warehouse == null)
|
{
|
return WebResponseContent.Instance.Error("未找到仓库信息");
|
}
|
}
|
if (model.OperateType == 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,
|
MaterielSpec = warehouse == null ? "空" : model.StandType,
|
MaterielState = (EnableEnum)model.State,
|
MaterielThickness = model.Thickness,
|
MaterielType = (MaterielTypeEnum)model.ItemType,
|
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 == 1)
|
{
|
Dt_MaterielInfo materielInfo = BaseDal.QueryFirst(x => x.MaterielCode == model.Code);
|
if (materielInfo == null)
|
{
|
return WebResponseContent.Instance.Error($"未找到物料信息");
|
}
|
|
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;
|
materielInfo.MaterielSpec = warehouse == null ? "" : model.StandType;
|
materielInfo.MaterielState = (EnableEnum)model.State;
|
materielInfo.MaterielThickness = model.Thickness;
|
materielInfo.MaterielType = (MaterielTypeEnum)model.ItemType;
|
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 == 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.Error(ex.Message);
|
}
|
}
|
}
|
}
|