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, ISemiFinishInStockService { private readonly ISemiFinishInStockRepository repository; public SemiFinishInStockService(ISemiFinishInStockRepository _repository) : base(_repository) { repository = _repository; } public SetObjectDetail CheckRK(string RKNO) { SetObjectDetail setObject = new SetObjectDetail(); List wmsRack = repository.GetRackNo(RKNO); //判断库内有此条码记录 if (wmsRack.Count > 0) { if (wmsRack[0].Enabled == "N") { setObject.type = "FAIL"; setObject.message = "[" + RKNO + "]:料架车已冻结,请检查!"; return setObject; } //List cartonInfo = repository.CheckCartonNoStatus(RKNO); List 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 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 = repository.GetRackNo(RKno); if (wmsRack == null || wmsRack.Count <= 0) { return "[" + RKno + "]:料架不存在,请检查并重新扫描料架"; } return repository.Insertinfo(locateName, RKno, productNo, Num, loginId); } } }