You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

195 lines
6.2 KiB
C#

2 years ago
using System.Data;
using Estsh.Core.Models;
using Estsh.Core.Repository.IRepositories;
using Estsh.Core.Services.IServices;
using Estsh.Core.Model.Result;
using Estsh.Core.Util;
using Estsh.Core.Model.Models;
using Estsh.Core.Dapper;
/***************************************************************************************************
*
* sitong.dong
*
* 2022.06.22
*
*
**************************************************************************************************/
namespace Estsh.Core.Services
{
public class PurchaseSubtractiveService : BaseService<SysStock>, IPurchaseSubtractiveService
{
private readonly IPurchaseSubtractiveRepository repository;
public PurchaseSubtractiveService(IPurchaseSubtractiveRepository _repository) : base(_repository)
{
repository = _repository;
}
/// <summary>
/// 获取服务器日期、时间
/// </summary>
/// <param name="flag">格式标志</param>
/// <returns></returns>
public string GetServerDateTime(string flag)
{
return repository.GetServerDateTime(flag);
}
public List<GPoCancelMaster> getQueryByPage(int PageSize, int PageIndex, string strWhere,string direction,string sort)
{
String orderBy = "";
if (sort != null && !"".Equals(sort.Trim()))
{
orderBy += typeof(GPoCancelMaster).GetEntityColumnName(sort.Trim()) + " " + direction;
}
else
{
orderBy += " OrderNo " + direction;
}
List<GPoCancelMaster> result = repository.getQueryByPage(PageSize, PageIndex, strWhere, orderBy);
return result;
}
/// <summary>
/// 获取日程单号
/// </summary>
/// <param name="item">字段名称</param>
/// <param name="prefix">前缀</param>
/// <returns></returns>
public string GetOrderNo(string item, string prefix)
{
return repository.GetOrderNo(item, prefix);
}
/// <summary>
/// 获取厂区内容
/// </summary>
/// <returns></returns>
public List<KeyValueResult> GetFactoryInfo()
{
return repository.GetFactoryInfo();
}
/// <summary>
/// 获取厂区代码
/// </summary>
/// <returns></returns>
public string GetFactoryId(int userID)
{
return repository.GetFactoryId(userID);
}
/// <summary>
/// 获取项目、车型内容
/// </summary>
/// <returns></returns>
public List<KeyValueResult> GetModelType()
{
return repository.GetModelType();
}
/// <summary>
/// 获取供应商信息
/// </summary>
/// <returns></returns>
public List<KeyValueResult> GetVendorInfo()
{
return repository.GetVendorInfo();
}
/// <summary>
/// 获取采购单编号
/// </summary>
/// <returns></returns>
public List<KeyValueResult> GetBuyNoInfo()
{
return repository.GetBuyNoInfo();
}
/// <summary>
/// 获取零件信息
/// </summary>
/// <param name="type">零件类型</param>
/// <returns></returns>
public List<SysPart> GetPartInfo(int type)
{
return repository.GetPartInfo(type);
}
public List<KeyValueResult> GetPart()
{
return repository.GetPart(0);
}
/// <summary>
/// 是否为采购单内零件
/// </summary>
/// <param name="buyNo">采购单</param>
/// <param name="partNo">零件号</param>
/// <returns></returns>
public bool IsPoPartNo(string buyNo, string partNo)
{
return repository.IsPoPartNo(buyNo, partNo);
}
public string DataSaveTransact(DataTable dtData, int userID)
{
return repository.DataSaveTransact(dtData, userID);
}
/// <summary>
/// 箱条码生成(零件号(18)+批号(6)+流水号(3))
/// </summary>
/// <param name="partNo">零件号</param>
/// <param name="lotNo">批号</param>
/// <param name="seq">流水号</param>
/// <returns></returns>
public string GetCartonNo(string partNo, string lotNo, int seq)
{
return repository.GetCartonNo(partNo, lotNo, seq);
}
/// <summary>
/// 验证零件是否存在线边库位
/// </summary>
/// <param name="partNo">零件号所在行ID</param>
/// <returns></returns>
public bool IsExistLineLocate(string partId)
{
return repository.IsExistLineLocate(partId);
}
/// <summary>
/// 验证线边库位是否存在相应零件库存
/// </summary>
/// <param name="partId">零件号所在行ID</param>
/// <param name="lotNo">批号</param>
/// <returns></returns>
public bool IsExistPartLotNo(string partId, string lotNo)
{
return repository.IsExistPartLotNo(partId, lotNo);
}
/// <summary>
/// 验证送货单号与采购单号是否匹配
/// </summary>
/// <param name="shipNo">送货单号</param>
/// <param name="buyNo">采购单号</param>
/// <returns></returns>
public bool IsExistShipAndBuyNo(string shipNo, string buyNo)
{
return repository.IsExistShipAndBuyNo(shipNo, buyNo);
}
/// <summary>
/// 验证送货单零件是否一致
/// </summary>
/// <param name="shipNo">送货单号</param>
/// <param name="buyNo">采购单号</param>
/// <param name="partNo">零件号</param>
/// <param name="qty">数量</param>
/// <returns></returns>
public List<dynamic> ValidateShipAndPart(string shipNo, string buyNo, string partNo, int qty, int userId)
{
return repository.ValidateShipAndPart(shipNo, buyNo, partNo, qty, userId);
}
}
}