diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarInput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarInput.cs index 61edcf32..c2faa9be 100644 --- a/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarInput.cs +++ b/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarInput.cs @@ -13,8 +13,8 @@ namespace Tnb.BasicData.Entities.Dto public string? workhour { get; set; } public string? worktype { get; set; } public int? calendartype { get; set;} - public string? workgroupid { get; set;} - public string? userid { get; set; } + + public string? content { get; set;} } public class CalendarBatchInput { diff --git a/BasicData/Tnb.BasicData/BasCalendarService.cs b/BasicData/Tnb.BasicData/BasCalendarService.cs index 414a940a..61d2e75c 100644 --- a/BasicData/Tnb.BasicData/BasCalendarService.cs +++ b/BasicData/Tnb.BasicData/BasCalendarService.cs @@ -68,7 +68,7 @@ namespace Tnb.BasicData if (CalendarInput.calendartype == (int)EnumCalendarType.分类) { var db = _repository.AsSugarClient(); - var lists = await db.Queryable().Where(p => p.worktype == CalendarInput.worktype).ToListAsync(); + var lists = await db.Queryable().Where(p => p.worktype == CalendarInput.content).ToListAsync(); foreach (var list in lists) { @@ -83,7 +83,7 @@ namespace Tnb.BasicData else if (CalendarInput.calendartype == (int)EnumCalendarType.班组) { var db = _repository.AsSugarClient(); - var Shifts = await db.Queryable().Where(p => p.workgroup_id == CalendarInput.workgroupid).Select(p=>p.shift_id).ToListAsync(); + var Shifts = await db.Queryable().Where(p => p.workgroup_id == CalendarInput.content).Select(p=>p.shift_id).ToListAsync(); if (Shifts != null && Shifts.Count > 0) { var BasTimePeriods = await db.Queryable((a, b) => new object[] { JoinType.Inner, a.shifttype_id == b.id }) @@ -120,7 +120,7 @@ namespace Tnb.BasicData CalendarOut CalendarOut = new CalendarOut(); CalendarOut.datetext = date.ToString("yyyy-MM-dd"); CalendarOut.datetype = "workDay"; - CalendarOut.workhour = new List { BasTimePeriod.workhour }; + CalendarOut.workhour = new List { BasTimePeriod.workhour! }; CalendarOuts.Add(CalendarOut); } } @@ -148,7 +148,7 @@ namespace Tnb.BasicData else if (CalendarInput.calendartype == (int)EnumCalendarType.个人) { var db = _repository.AsSugarClient(); - var groups = await db.Queryable().Where(p => p.employee_id == CalendarInput.userid).Select(p => p.group_id).ToListAsync(); + var groups = await db.Queryable().Where(p => p.employee_id == CalendarInput.content).Select(p => p.group_id).ToListAsync(); var Shifts = await db.Queryable().Where(p => groups.Contains(p.workgroup_id)).Select(p => p.shift_id).ToListAsync(); if (Shifts != null && Shifts.Count > 0) { diff --git a/QcMgr/Tnb.QcMgr/QcCheckPlanService.cs b/QcMgr/Tnb.QcMgr/QcCheckPlanService.cs index 03bdcbaa..98eb180c 100644 --- a/QcMgr/Tnb.QcMgr/QcCheckPlanService.cs +++ b/QcMgr/Tnb.QcMgr/QcCheckPlanService.cs @@ -6,6 +6,7 @@ using System.Reflection; using System.Text; using System.Threading.Tasks; using Aspose.Cells.Drawing; +using COSXML.Model.Tag; using JNPF.Common.Core.Manager; using JNPF.Common.Enums; using JNPF.Common.Security; @@ -33,18 +34,40 @@ namespace Tnb.QcMgr /// [ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 800)] [Route("api/[area]/[controller]/[action]")] - public class QcCheckPlanService : IQcCheckPlanService, IDynamicApiController, ITransient + [OverideVisualDev(ModuleId)] + public class QcCheckPlanService : IOverideVisualDevService, IQcCheckPlanService, IDynamicApiController, ITransient { + private const string ModuleId = "26589675013909"; private readonly ISqlSugarRepository _repository; private readonly IUserManager _userManager; private readonly TimeTaskService _timeTaskService; + public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); public QcCheckPlanService(ISqlSugarRepository repository, IUserManager userManager, TimeTaskService timeTaskService) { _repository = repository; _userManager = userManager; _timeTaskService = timeTaskService; + OverideFuncs.DeleteAsync = Delete; + } + private async Task Delete(string id) + { + var db = _repository.AsSugarClient(); + var QcCheckPlanH = await db.Queryable().Where(p => p.id == id).FirstAsync(); + var QcCheckPlanDs = await db.Queryable().Where(p => p.mainid == id).ToListAsync(); + var QcCheckPlanAdds = await db.Queryable().Where(p => p.mainid == id).ToListAsync(); + var QcCheckPlanMaterials = await db.Queryable().Where(p => p.planid == id).ToListAsync(); + var QcCheckPlanProcesss = await db.Queryable().Where(p => p.planid == id).ToListAsync(); + var QcCheckPlanWorks = await db.Queryable().Where(p => p.planid == id).ToListAsync(); + await _timeTaskService.DeleteByName("生成质检任务" + QcCheckPlanH.id); + await db.Ado.BeginTranAsync(); + await db.Deleteable(QcCheckPlanH).ExecuteCommandAsync(); + await db.Deleteable(QcCheckPlanDs).ExecuteCommandAsync(); + await db.Deleteable(QcCheckPlanAdds).ExecuteCommandAsync(); + await db.Deleteable(QcCheckPlanMaterials).ExecuteCommandAsync(); + await db.Deleteable(QcCheckPlanProcesss).ExecuteCommandAsync(); + await db.Deleteable(QcCheckPlanWorks).ExecuteCommandAsync(); + await db.Ado.CommitTranAsync(); } - /// /// 获取方案质检项附加信息 /// @@ -59,7 +82,7 @@ namespace Tnb.QcMgr var QcCheckPlanAdd = await db.Queryable().Where(p => p.mainid == id).FirstAsync(); var QcCheckPlanDs = await db.Queryable().Where(p => p.mainid == id).ToListAsync(); var CheckPlansOut = new CheckPlansOut(); - CheckPlansOut.id= id; + CheckPlansOut.id = id; CheckPlansOut.hasadd = false; CheckPlansOut.hasitem = false; if (QcCheckPlanAdd != null) @@ -69,7 +92,7 @@ namespace Tnb.QcMgr CheckPlansOut.triggertype = QcCheckPlanAdd.triggertype!; CheckPlansOut.content = QcCheckPlanAdd.content!; } - if (QcCheckPlanDs != null&& QcCheckPlanDs.Count>0) + if (QcCheckPlanDs != null && QcCheckPlanDs.Count > 0) { CheckPlansOut.hasitem = true; CheckPlansOut.checktypes = new List(); @@ -90,7 +113,7 @@ namespace Tnb.QcMgr Item.name = QcCheckItems.Where(p => p.id == QcCheckPlanD.itemid).First().name!; Item.setData = new PlanItemData(); Item.setData.extype = QcCheckPlanD.extype!; - Item.setData.excontent = JSON.Deserialize(QcCheckPlanD.excontent!); + Item.setData.excontent = JSON.Deserialize(QcCheckPlanD.excontent!); Item.setData.check = QcCheckPlanD.check!; if (!string.IsNullOrEmpty(QcCheckPlanD.errorcause)) Item.setData.errorcause = QcCheckPlanD.errorcause!.Replace("[", "").Replace("]", "").Split(',', StringSplitOptions.RemoveEmptyEntries); @@ -197,7 +220,7 @@ namespace Tnb.QcMgr await db.Insertable(QcCheckPlanDs).ExecuteCommandAsync(); await db.Insertable(QcCheckPlanAdd).ExecuteCommandAsync(); await db.Ado.CommitTranAsync(); - if (QcCheckPlanAdd.triggertype == ((int)EnumTriggerType.周期触发).ToString()|| QcCheckPlanAdd.triggertype == ((int)EnumTriggerType.一次性).ToString()) + if (QcCheckPlanAdd.triggertype == ((int)EnumTriggerType.周期触发).ToString() || QcCheckPlanAdd.triggertype == ((int)EnumTriggerType.一次性).ToString()) { var comtentModel = new ContentModel(); comtentModel.cron = QcCheckPlanAdd.content!.Replace("\"", ""); @@ -205,7 +228,7 @@ namespace Tnb.QcMgr comtentModel.interfaceName = ""; comtentModel.parameter = new List(); comtentModel.parameter!.Add(new InterfaceParameter() { field = "id", value = QcCheckPlanAdd.mainid, defaultValue = "" }); - if(QcCheckPlanAdd.triggertype == ((int)EnumTriggerType.一次性).ToString()) + if (QcCheckPlanAdd.triggertype == ((int)EnumTriggerType.一次性).ToString()) comtentModel.parameter!.Add(new InterfaceParameter() { field = "doonce", value = true.ToString(), defaultValue = "" }); comtentModel.localHostTaskId = "QcTaskTimeWorker/CreateTask"; comtentModel.startTime = DateTimeOffset.Now.ToUnixTimeMilliseconds(); diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs index 3cb9e96c..fb5460ab 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryBindService.cs @@ -94,7 +94,7 @@ namespace Tnb.WarehouseMgr { WmsCarrybindCode wmsCarrybindCode = new(); wmsCarrybindCode.id = SnowflakeIdHelper.NextId(); - wmsCarrybindCode.org_id = subCarry?.org_id!; + wmsCarrybindCode.org_id = (subCarry != null && subCarry.org_id != null) ? subCarry.org_id : _userManager.User.OrganizeId; wmsCarrybindCode.carrybind_id = input.data["ReturnIdentity"]?.ToString()!; wmsCarrybindCode.material_id = items[i].material_id; wmsCarrybindCode.material_code = items[i].material_code; diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs index ff96cddc..23b83bb3 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDAFeedingService.cs @@ -27,25 +27,28 @@ namespace Tnb.WarehouseMgr /// PDA投料记录 /// [OverideVisualDev(ModuleConsts.MODULE_WMSFEEDINGRECORDPDA_ID)] - public class WmsPDAFeedingService : BaseWareHouseService, IWmsCarryService, IPdaStroage + public class WmsPDAFeedingService : BaseWareHouseService, IPdaStroage { private readonly ISqlSugarClient _db; private readonly IUserManager _userManager; private readonly IBillRullService _billRullService; private readonly IRunService _runService; private readonly IVisualDevService _visualDevService; + private readonly IWmsCarryService _carryService; public WmsPDAFeedingService( ISqlSugarRepository repository, IUserManager userManager, IBillRullService billRullService, IRunService runService, - IVisualDevService visualDevService) + IVisualDevService visualDevService, + IWmsCarryService carryService) { _db = repository.AsSugarClient(); _userManager = userManager; _billRullService = billRullService; _runService = runService; _visualDevService = visualDevService; + _carryService = carryService; OverideFuncs.CreateAsync = WmsPDAFeedingRecord; } @@ -97,7 +100,7 @@ namespace Tnb.WarehouseMgr it.modify_time }).ExecuteCommandAsync(); //更新载具 - row = await UpdateNullCarry(carry); + row = await _carryService.UpdateNullCarry(carry); isOk = (row > 0); if (!isOk) throw Oops.Oh(ErrorCode.COM1001); } @@ -124,37 +127,5 @@ namespace Tnb.WarehouseMgr return isOk; } - public async Task UpdateNullCarry(WmsCarryH carryObj) - { - var row = -1; - try - { - carryObj.status = 0; - carryObj.carry_status = ((int)EnumCarryStatus.空闲).ToString(); - carryObj.location_id = null; - carryObj.location_code = null; - carryObj.out_status = "0"; - carryObj.is_check = 0; - carryObj.status = 1; - carryObj.bale_num = null; - carryObj.collocation_scheme_id = null; - carryObj.collocation_scheme_code = null; - carryObj.source_id = null; - carryObj.source_code = null; - row = await _db.Updateable(carryObj).ExecuteCommandAsync(); - //删除对应明细表 - //删除载具明细 - await _db.Deleteable().Where(it => it.carry_id == carryObj.id).ExecuteCommandHasChangeAsync(); - //删除载具分拣物料明细 - await _db.Deleteable().Where(it => it.carry_id == carryObj.id).ExecuteCommandHasChangeAsync(); - //删除载具条码 - await _db.Deleteable().Where(it => it.carry_id == carryObj.id).ExecuteCommandHasChangeAsync(); - } - catch (Exception) - { - - } - return row; - } } } \ No newline at end of file