using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; 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, IDt_RepairService { public Dt_RepairService(IDt_RepairRepository BaseDal) : base(BaseDal) { } public IDt_RepairRepository Repository => BaseDal; public WebResponseContent GetBarcodeMessage(string barocde) { List dt_Repairs = BaseDal.QueryData(x => x.Current_PalletCode == barocde && (x.Current_Static == (int)StockStatusEmun.检修出库锁定 || x.Current_Static == (int)StockStatusEmun.检修中)).ToList(); return WebResponseContent.Instance.OK(data: dt_Repairs); } public WebResponseContent UpdateBarcode(string barocde) { List 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 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_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_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 Craet = BaseDal._CreateTaskRepository.QueryData(x => x.Current_PalletCode == barocde).ToList(); BaseDal._CreateTaskRepository.DeleteData(Craet); HttpHelper.Post(ToWcsWriteBrplc, Craet[0].CreateSta, "入库任务下发"); return WebResponseContent.Instance.OK(); } catch (Exception ex) { return WebResponseContent.Instance.Error(); throw; } } public WebResponseContent UpdateBarcoendwj(string barocde) { try { List 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 = "未检回库"; item.Current_alter = item.Current_count; item.Current_Static = (int)StockStatusEmun.检修完成; BaseDal.UpdateData(item); } List Craet = BaseDal._CreateTaskRepository.QueryData(x => x.Current_PalletCode == barocde).ToList(); BaseDal._CreateTaskRepository.DeleteData(Craet); HttpHelper.Post(ToWcsWriteBrplc, Craet[0].CreateSta, "入库任务下发"); return WebResponseContent.Instance.OK(); } catch (Exception ex) { return WebResponseContent.Instance.Error(); throw; } } } }