This commit is contained in:
alex
2023-07-17 17:06:45 +08:00
5 changed files with 43 additions and 49 deletions

View File

@@ -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
{

View File

@@ -68,7 +68,7 @@ namespace Tnb.BasicData
if (CalendarInput.calendartype == (int)EnumCalendarType.)
{
var db = _repository.AsSugarClient();
var lists = await db.Queryable<BasCalendar>().Where(p => p.worktype == CalendarInput.worktype).ToListAsync();
var lists = await db.Queryable<BasCalendar>().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<BasShiftWorkgroup>().Where(p => p.workgroup_id == CalendarInput.workgroupid).Select(p=>p.shift_id).ToListAsync();
var Shifts = await db.Queryable<BasShiftWorkgroup>().Where(p => p.workgroup_id == CalendarInput.content).Select(p=>p.shift_id).ToListAsync();
if (Shifts != null && Shifts.Count > 0)
{
var BasTimePeriods = await db.Queryable<BasTimePeriod, BasShift>((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<WorkHour> { BasTimePeriod.workhour };
CalendarOut.workhour = new List<WorkHour> { 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<BasWorkgroupEmployee>().Where(p => p.employee_id == CalendarInput.userid).Select(p => p.group_id).ToListAsync();
var groups = await db.Queryable<BasWorkgroupEmployee>().Where(p => p.employee_id == CalendarInput.content).Select(p => p.group_id).ToListAsync();
var Shifts = await db.Queryable<BasShiftWorkgroup>().Where(p => groups.Contains(p.workgroup_id)).Select(p => p.shift_id).ToListAsync();
if (Shifts != null && Shifts.Count > 0)
{

View File

@@ -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
/// </summary>
[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<QcCheckPlanH> _repository;
private readonly IUserManager _userManager;
private readonly TimeTaskService _timeTaskService;
public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc();
public QcCheckPlanService(ISqlSugarRepository<QcCheckPlanH> 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<QcCheckPlanH>().Where(p => p.id == id).FirstAsync();
var QcCheckPlanDs = await db.Queryable<QcCheckPlanD>().Where(p => p.mainid == id).ToListAsync();
var QcCheckPlanAdds = await db.Queryable<QcCheckPlanAdd>().Where(p => p.mainid == id).ToListAsync();
var QcCheckPlanMaterials = await db.Queryable<QcCheckPlanMaterial>().Where(p => p.planid == id).ToListAsync();
var QcCheckPlanProcesss = await db.Queryable<QcCheckPlanProcess>().Where(p => p.planid == id).ToListAsync();
var QcCheckPlanWorks = await db.Queryable<QcCheckPlanWork>().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();
}
/// <summary>
/// 获取方案质检项附加信息
/// </summary>
@@ -59,7 +82,7 @@ namespace Tnb.QcMgr
var QcCheckPlanAdd = await db.Queryable<QcCheckPlanAdd>().Where(p => p.mainid == id).FirstAsync();
var QcCheckPlanDs = await db.Queryable<QcCheckPlanD>().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<CheckPlanTypeOut>();
@@ -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<Excontent>(QcCheckPlanD.excontent!);
Item.setData.excontent = JSON.Deserialize<Excontent>(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<InterfaceParameter>();
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();

View File

@@ -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;

View File

@@ -27,25 +27,28 @@ namespace Tnb.WarehouseMgr
/// PDA投料记录
/// </summary>
[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<WmsCarryH> 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<int> 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<WmsCarryD>().Where(it => it.carry_id == carryObj.id).ExecuteCommandHasChangeAsync();
//删除载具分拣物料明细
await _db.Deleteable<WmsCarryMat>().Where(it => it.carry_id == carryObj.id).ExecuteCommandHasChangeAsync();
//删除载具条码
await _db.Deleteable<WmsCarryCode>().Where(it => it.carry_id == carryObj.id).ExecuteCommandHasChangeAsync();
}
catch (Exception)
{
}
return row;
}
}
}