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.

127 lines
4.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Estsh.Core.Base;
using Estsh.Core.Wms.IRepositories;
using Estsh.Core.Wms.IServices;
using Estsh.Core.Model.Result;
using Estsh.Core.Services;
using Estsh.Core.Repositories;
using Estsh.Core.Models;
using Newtonsoft.Json.Linq;
using Estsh.Core.Model.EnumUtil;
namespace Estsh.Core.Wms.Services
{
public class SemiFinishInStockService : BaseService<BaseEntity>, ISemiFinishInStockService
{
private readonly ISemiFinishInStockRepository repository;
public SemiFinishInStockService(ISemiFinishInStockRepository _repository) : base(_repository)
{
repository = _repository;
}
public SetObjectDetail CheckRK(string RKNO)
{
SetObjectDetail setObject = new SetObjectDetail();
List<WmsRack> wmsRack = repository.GetRackNo(RKNO);
//判断库内有此条码记录
if (wmsRack.Count > 0)
{
if (wmsRack[0].Enabled == "N")
{
setObject.type = "FAIL";
setObject.message = "[" + RKNO + "]:料架车已冻结,请检查!";
return setObject;
}
//List<SysStock> cartonInfo = repository.CheckCartonNoStatus(RKNO);
List<SysStock> cartonInfo = repository.CheckRKNoStatus(RKNO);
if (cartonInfo.Count > 0)
{
if (cartonInfo[0].Status == 50 && cartonInfo[0].Enabled == "Y")
{
setObject.type = "PASSHINT";
setObject.message = "是否解绑料架车?";
return setObject;
}
if (cartonInfo[0].Status == 60 && cartonInfo[0].Enabled == "Y")
{
setObject.type = "PASSHINT";
setObject.message = "是否解绑料架车?";
return setObject;
}
if (cartonInfo[0].Status == 70 && cartonInfo[0].Enabled == "Y")
{
setObject.type = "PASSHINT";
setObject.message = "是否解绑料架车?";
return setObject;
}
}
//料架车可用
setObject.type = "PASS";
setObject.message = "成功!";
return setObject;
}
else
{
setObject.type = "FAIL";
setObject.message = "[" + RKNO + "]:在未找到架车号,请检查!";
return setObject;
}
}
public string UpdateRackCarBinding(string RKNO)
{
int bl = repository.UpdateRackCarBinding(RKNO);
if (bl > 0)
{
return "OK";
}
else
{
return "[" + RKNO + "]:料架车处理失败,请检查!";
}
}
public string checkProduct(string productNo)
{
List<SysStock> cartonInfo = repository.CheckCartonNoStatus(productNo);
if (cartonInfo.Count == 0)
{
return "[" + productNo + "]:产品条码不存在,请检查!";
}
//if (cartonInfo[0].Enabled == "N")
//{
// return "[" + productNo + "]:产品条码不可用,请检查!";
//}
if (cartonInfo[0].PartPackage == null || cartonInfo[0].PartPackage.ToString() == "")
{
return "[" + productNo + "]:产品条码未维护默认包装,请检查!";
}
return "OK" + cartonInfo[0].PartPackage;
}
public string UpdateStock(string locateName, string RKno, string productNo, string Num, string loginId)
{
if (string.IsNullOrEmpty(RKno))
{
return "料架为空,请重新扫描料架";
}
List<WmsRack> wmsRack = repository.GetRackNo(RKno);
if (wmsRack == null || wmsRack.Count <= 0)
{
return "[" + RKno + "]:料架不存在,请检查并重新扫描料架";
}
return repository.Insertinfo(locateName, RKno, productNo, Num, loginId);
}
}
}