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#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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