|
|
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);
|
|
|
}
|
|
|
}
|
|
|
} |