using Magicodes.ExporterAndImporter.Excel.Utility; using Microsoft.AspNetCore.Http; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core.BaseRepository; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_IPackInfoRepository; using WIDESEAWCS_Common.Utilities; using WIDESEAWCS_Model.Models; using WIDESEAWCS_Core.Helper; using WIDESEAWCS_IPackInfoService; using WIDESEAWCS_Common.Utilities; using WIDESEAWCS_Core; using WIDESEAWCS_Core.BaseRepository; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_Core.Helper; using WIDESEAWCS_IPackInfoRepository; using WIDESEAWCS_IPackInfoService; using WIDESEAWCS_ITaskInfoRepository; using WIDESEAWCS_Model.Models; using WIDESEAWCS_PackInfoRepository; namespace WIDESEAWCS_PackInfoService { public class StationPackInfoService : ServiceBase, IStationPackInfoService { public StationPackInfoService(IStationPackInfoRepository BaseDal) : base(BaseDal) { } private readonly IStationPackDetailRepository _stationPackDetailRepository; private readonly IPackinfoRepository _packInfoRepository; private readonly IPackaxisTaskRepository _packaxisTaskRepository; public StationPackInfoService(IStationPackInfoRepository BaseDal, IStationPackDetailRepository stationPackDetailRepository, IPackinfoRepository packInfoRepository, IPackaxisTaskRepository packaxisTaskRepository) : base(BaseDal) { _stationPackDetailRepository = stationPackDetailRepository; _packInfoRepository = packInfoRepository; _packaxisTaskRepository = packaxisTaskRepository; } /// /// 手动清空码垛执行工位数据 /// /// /// public WebResponseContent ManualClearPalletStationData(string StationCode) { WebResponseContent content = new WebResponseContent(); try { Dt_StationPackInfo packInfo = BaseDal.QueryFirst(x => x.StationCode == StationCode); if (packInfo.PackType != 0 ) { packInfo.PackType = 0; packInfo.OrderNo = ""; packInfo.MakeCode = ""; packInfo.MaterielCode = ""; packInfo.PackNum = 0; packInfo.AssignNum = 0; packInfo.ExecutingNum = 0; packInfo.OverNum = 0; content.Status = BaseDal.UpdateData(packInfo); //同时删除码垛待执行明细表 //删除码垛工位执行明细,修改待码垛信息箱码状态为0 List stationPackDetails = _stationPackDetailRepository.QueryData(x => x.StationPackId == packInfo.id); List barCodes = stationPackDetails.Select(x => x.BoxCode).ToList(); List packinfos = _packInfoRepository.QueryData(x => barCodes.Contains(x.BarCode)).ToList(); packinfos.ForEach(x => x.PackStatus = 0);//改变状态 _packInfoRepository.UpdateData(packinfos); _stationPackDetailRepository.DeleteData(stationPackDetails); } else { return WebResponseContent.Instance.Error("清除失败,该工位没有码垛数据!"); } } catch(Exception e) { WebResponseContent.Instance.Error(e.Message); } return content; } } }