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.
143 lines
5.0 KiB
C#
143 lines
5.0 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 FinishDeliveryService : BaseService<BaseEntity>, IFinishDeliveryService
|
|
{
|
|
private readonly IFinishDeliveryRepository repository;
|
|
public FinishDeliveryService(IFinishDeliveryRepository _repository) : base(_repository)
|
|
{
|
|
repository = _repository;
|
|
}
|
|
|
|
public SetObjectDetail GetCustomer(string cartonNo, string loginId)
|
|
{
|
|
SetObjectDetail det = new SetObjectDetail();
|
|
|
|
List<SysCustomer> SysCustomers = repository.GetCustomer(cartonNo);
|
|
if (SysCustomers.Count == 0)
|
|
{
|
|
det.type = "NO";
|
|
det.message = "[" + cartonNo + "]:客户编号不存在,请检查!";
|
|
return det;
|
|
}
|
|
if (SysCustomers[0].Enabled.Equals("N"))
|
|
{
|
|
det.type = "NO";
|
|
det.message = "[" + cartonNo + "]:客户编号已被冻结,请检查!";
|
|
return det;
|
|
}
|
|
det.type = "PASS";
|
|
det.wmsObjectDetail = SysCustomers.ConvertAll(s => (object)s);
|
|
return det;
|
|
}
|
|
|
|
public SetObjectDetail ProductionCode(string cartonNo, string loginId, string customer, string isComplete, string deliveryNo)
|
|
{
|
|
SetObjectDetail det = new SetObjectDetail();
|
|
|
|
List<WmsOutstock> getOutStock = repository.GetOutStock(deliveryNo);
|
|
if (getOutStock.Count > 0)
|
|
{
|
|
if (getOutStock[0].OrderStatus == 40)
|
|
{
|
|
det.type = "NO";
|
|
det.message = "[" + deliveryNo + "]:此订单已关闭!";
|
|
return det;
|
|
}
|
|
}
|
|
|
|
List<SysStock> SysCustomers = repository.ProductionCode(cartonNo, loginId, customer, isComplete);
|
|
if (SysCustomers.Count == 0)
|
|
{
|
|
det.type = "NO";
|
|
det.message = "[" + cartonNo + "]:成品条码不存在,请检查!";
|
|
return det;
|
|
}
|
|
SysCustomers = SysCustomers.Where(a => a.Enabled == "Y").ToList();
|
|
if (SysCustomers.Count == 0)
|
|
{
|
|
det.type = "NO";
|
|
det.message = "[" + cartonNo + "]:成品条码已被冻结,请检查!";
|
|
return det;
|
|
}
|
|
if (SysCustomers[0].Status != 50)
|
|
{
|
|
List<SysEnum> sysEnum = repository.GetEnums(SysCustomers[0].Status);
|
|
det.type = "NO";
|
|
det.message = "[" + cartonNo + "]:成品条码为" + sysEnum[0].EnumName + "状态,请检查!";
|
|
return det;
|
|
}
|
|
|
|
SetObjectDetail sysStocks = repository.ProductionDelivery(SysCustomers, loginId, customer, deliveryNo);
|
|
return sysStocks;
|
|
|
|
}
|
|
|
|
public SetObjectDetail GetFinishDeliveryOrderList(string orderNo)
|
|
{
|
|
SetObjectDetail rfInfo = new SetObjectDetail();
|
|
List<WmsOutstock> wmsMoves = repository.GetFinishDeliveryOrderList(orderNo);
|
|
if (wmsMoves.Count > 0)
|
|
{
|
|
rfInfo.type = "PASS";
|
|
rfInfo.message = "成功";
|
|
rfInfo.wmsObjectDetail = wmsMoves.ConvertAll(s => (object)s);
|
|
}
|
|
else
|
|
{
|
|
rfInfo.type = "FAIL";
|
|
rfInfo.message = "未查询到数据,请检查!";
|
|
}
|
|
return rfInfo;
|
|
}
|
|
public SetObjectDetail SetFinishDeliveryOrderNoSubmit(string orderNo, string loginId)
|
|
{
|
|
SetObjectDetail rfInfo = new SetObjectDetail();
|
|
bool istrue = repository.SetFinishDeliveryOrderNoSubmit(orderNo, loginId);
|
|
if (istrue)
|
|
{
|
|
rfInfo.type = "PASS";
|
|
rfInfo.message = "成功";
|
|
}
|
|
else
|
|
{
|
|
rfInfo.type = "FAIL";
|
|
rfInfo.message = "未查询到数据,请检查!";
|
|
}
|
|
return rfInfo;
|
|
}
|
|
|
|
public SetObjectDetail GetFinishDeliveryOrderListByOrderNo(string orderNo)
|
|
{
|
|
SetObjectDetail rfInfo = new SetObjectDetail();
|
|
List<WmsOutstockDetail> wmsMoves = repository.GetFinishDeliveryOrderListByOrderNo(orderNo);
|
|
if (wmsMoves.Count > 0)
|
|
{
|
|
rfInfo.type = "PASS";
|
|
rfInfo.message = "成功";
|
|
rfInfo.wmsObjectDetail = wmsMoves.ConvertAll(s => (object)s);
|
|
}
|
|
else
|
|
{
|
|
rfInfo.type = "FAIL";
|
|
rfInfo.message = "未查询到数据,请检查!";
|
|
}
|
|
return rfInfo;
|
|
}
|
|
}
|
|
}
|