using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime;
|
using SqlSugar;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_Core;
|
using WIDESEA_Core.BaseServices;
|
using WIDESEA_Core.Enums;
|
using WIDESEA_Core.Helper;
|
using WIDESEA_ISystemRepository;
|
using WIDESEA_ISystemService;
|
using WIDESEA_Model.Models;
|
using WIDESEA_Model.Models.System;
|
|
namespace WIDESEA_SystemService
|
{
|
public class Dt_RepairService : ServiceBase<Dt_Repair, IDt_RepairRepository>, IDt_RepairService
|
{
|
public readonly ISys_UserRepository _UserRepository;
|
public Dt_RepairService(IDt_RepairRepository BaseDal, ISys_UserRepository userRepository) : base(BaseDal)
|
{
|
_UserRepository = userRepository;
|
}
|
|
public IDt_RepairRepository Repository => BaseDal;
|
|
|
public WebResponseContent GetBarcodeMessage(string barocde)
|
{
|
List<Dt_Repair> dt_Repairs = BaseDal.QueryData(x => x.Current_PalletCode == barocde && (x.Current_Static == (int)StockStatusEmun.检修出库锁定 || x.Current_Static == (int)StockStatusEmun.检修中)).ToList();
|
foreach (var item in dt_Repairs)
|
{
|
switch (item.CreateSta)
|
{
|
case "1010":
|
item.CreateSta = "1号站台";
|
break;
|
case "1014":
|
item.CreateSta = "2号站台";
|
break;
|
case "1020":
|
item.CreateSta = "3号站台";
|
break;
|
case "1024":
|
item.CreateSta = "4号站台";
|
break;
|
case "1030":
|
item.CreateSta = "5号站台";
|
break;
|
case "1034":
|
item.CreateSta = "6号站台";
|
break;
|
case "1040":
|
item.CreateSta = "7号站台";
|
break;
|
case "1044":
|
item.CreateSta = "8号站台";
|
break;
|
default:
|
break;
|
}
|
}
|
|
int useriddep = _UserRepository.GetDeptId(App.User.UserName);
|
if (useriddep == 0)
|
{
|
dt_Repairs = dt_Repairs.Where(x => x.Creater == App.User.UserName).ToList();
|
}
|
|
return WebResponseContent.Instance.OK(data: dt_Repairs);
|
}
|
|
public WebResponseContent UpdateBarcode(string barocde)
|
{
|
List<Dt_Repair> dt_Repairs = BaseDal.QueryData(x => x.Current_PalletCode == barocde && x.Current_Static == (int)StockStatusEmun.检修出库锁定).ToList();
|
foreach (var item in dt_Repairs)
|
{
|
item.ModifyDate = DateTime.Now;
|
item.Current_Static = (int)StockStatusEmun.检修中;
|
BaseDal.UpdateData(item);
|
}
|
|
List<Sys_CreateTask> Craet = BaseDal._CreateTaskRepository.QueryData(x => x.Current_PalletCode == barocde && x.Current_Static == (int)StockStatusEmun.检修出库锁定).ToList();
|
foreach (var item in Craet)
|
{
|
item.Current_Static = (int)StockStatusEmun.检修中;
|
BaseDal._CreateTaskRepository.UpdateData(item);
|
}
|
return WebResponseContent.Instance.OK();
|
}
|
|
public string ToWcsWriteBrplc = WIDESEA_Core.Helper.AppSettings.Configuration["ToWcsWriteBrplc"];
|
|
public WebResponseContent UpdateBarcoend(string barocde,int wcount,int selectvalue)
|
{
|
try
|
{
|
List<Dt_Repair> dt_Repairs = BaseDal.QueryData(x => x.Current_PalletCode == barocde && x.Current_Static == (int)StockStatusEmun.检修中).ToList();
|
|
foreach (var item in dt_Repairs)
|
{
|
item.Current_begin = DateTime.Now;
|
item.Current_Outcome = selectvalue == 1 ? "合格" : "半检修";
|
item.Current_alter = wcount;
|
item.Current_Static = (int)StockStatusEmun.检修完成;
|
BaseDal.UpdateData(item);
|
}
|
if (wcount > 0)
|
{
|
List<Dt_StockInfo> dt_StockInfos = BaseDal._stockInfoRepository.QueryData(x => x.PalletCode == barocde).ToList();
|
foreach (var item in dt_StockInfos)
|
{
|
item.Wlstatus = selectvalue == 1 ? (int)InventoryMaterialStatus.合格 : (int)InventoryMaterialStatus.半检修;
|
item.Materialweight = item.Materialweight - wcount;
|
BaseDal._stockInfoRepository.UpdateData(item);
|
}
|
}
|
|
List<Sys_CreateTask> Craet = BaseDal._CreateTaskRepository.QueryData(x => x.Current_PalletCode == barocde).ToList();
|
BaseDal._CreateTaskRepository.DeleteData(Craet);
|
|
HttpHelper.Post<WebResponseContent>(ToWcsWriteBrplc, Craet[0].CreateSta, "入库任务下发");
|
|
|
return WebResponseContent.Instance.OK();
|
}
|
catch (Exception ex)
|
{
|
return WebResponseContent.Instance.Error();
|
throw;
|
}
|
}
|
|
public WebResponseContent UpdateBarcoendwj(string barocde)
|
{
|
try
|
{
|
List<Dt_Repair> dt_Repairs = BaseDal.QueryData(x => x.Current_PalletCode == barocde && x.Current_Static == (int)StockStatusEmun.检修出库锁定).ToList();
|
|
if (dt_Repairs.Count < 0)
|
{
|
return WebResponseContent.Instance.Error("未检回库失败!");
|
}
|
|
foreach (var item in dt_Repairs)
|
{
|
item.Current_begin = DateTime.Now;
|
item.Current_Outcome = "未检回库";
|
item.Current_alter = item.Current_count;
|
item.Current_Static = (int)StockStatusEmun.检修完成;
|
BaseDal.UpdateData(item);
|
}
|
|
|
List<Sys_CreateTask> Craet = BaseDal._CreateTaskRepository.QueryData(x => x.Current_PalletCode == barocde).ToList();
|
BaseDal._CreateTaskRepository.DeleteData(Craet);
|
|
HttpHelper.Post<WebResponseContent>(ToWcsWriteBrplc, Craet[0].CreateSta, "入库任务下发");
|
return WebResponseContent.Instance.OK();
|
}
|
catch (Exception ex)
|
{
|
return WebResponseContent.Instance.Error(ex.Message);
|
throw;
|
}
|
}
|
|
|
public virtual PageGridData<Dt_Repair> GetPageData(PageDataOptions options)
|
{
|
string wheres = options.ValidatePageOptions(TProperties);
|
int useriddep = _UserRepository.GetDeptId(App.User.UserName);
|
if (useriddep == 0)
|
{
|
if (wheres != "")
|
{
|
wheres += $" and Creater={App.User.UserName}";
|
}
|
else
|
{
|
wheres += $"(Creater={App.User.UserName})";
|
}
|
}
|
//获取排序字段
|
Dictionary<string, OrderByType> orderbyDic = options.GetPageDataSort(TProperties);
|
|
PageGridData<Dt_Repair> pageGridData = new PageGridData<Dt_Repair>();
|
pageGridData = BaseDal.QueryPage(wheres, options.Page, options.Rows, orderbyDic);
|
return pageGridData;
|
}
|
}
|
}
|