Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
2023-07-21 17:09:09 +08:00
4 changed files with 55 additions and 30 deletions

View File

@@ -685,7 +685,15 @@ namespace Tnb.ProductionMgr
{ {
await db.Ado.BeginTranAsync(); await db.Ado.BeginTranAsync();
row = await db.Insertable(moTask).ExecuteCommandAsync(); row = await db.Insertable(moTask).ExecuteCommandAsync();
#region
//质检
TriggerPlanEntity entity = new TriggerPlanEntity();
entity.materialid = moTask.material_id;
entity.processid = moTask.process_id;
entity.workid = moTask.workstation_id;
entity.triggerevent = EnumTriggerEvent.;
await _qcCheckPlanService.CreateTask(entity);
#endregion
//根据工单号获取当前工单包含的已排产数 //根据工单号获取当前工单包含的已排产数
var schedQty = db.Queryable<PrdMoTask>().Where(it => it.mo_id == input.mo_id)?.Sum(d => d.scheduled_qty); var schedQty = db.Queryable<PrdMoTask>().Where(it => it.mo_id == input.mo_id)?.Sum(d => d.scheduled_qty);
@@ -802,6 +810,17 @@ namespace Tnb.ProductionMgr
// } // }
// } // }
row = await _db.Insertable(moTask).ExecuteCommandAsync(); row = await _db.Insertable(moTask).ExecuteCommandAsync();
#region
//质检
TriggerPlanEntity entity = new TriggerPlanEntity();
entity.materialid = moTask.material_id;
entity.processid = moTask.process_id;
entity.workid = moTask.workstation_id;
entity.triggerevent = EnumTriggerEvent.;
await _qcCheckPlanService.CreateTask(entity);
#endregion
var material_h = await _db.Queryable<BasMaterial>().FirstAsync(it => it.id == moTask.material_id); var material_h = await _db.Queryable<BasMaterial>().FirstAsync(it => it.id == moTask.material_id);
//添加生产任务操作记录日志 //添加生产任务操作记录日志
var taskLog = new PrdTaskLog(); var taskLog = new PrdTaskLog();
@@ -1009,15 +1028,21 @@ namespace Tnb.ProductionMgr
var prdTaskList = await db.Queryable<PrdMoTask>().Where(it => input.TaskIds.Contains(it.id)).ToListAsync(); var prdTaskList = await db.Queryable<PrdMoTask>().Where(it => input.TaskIds.Contains(it.id)).ToListAsync();
if (prdTaskList?.Count > 0) if (prdTaskList?.Count > 0)
{ {
/* #region
if (prdTaskList.Where(p => p.mo_task_status == "Closed").Count() > 0 && status == "InProgress")
{
foreach (var task in prdTaskList.Where(p => p.mo_task_status == "Closed").ToList())
{
//质检 //质检
if (prdTaskList.Where(p => p.mo_task_status == "Pause").Count() > 0 && status == "InProgress")
{
foreach (var task in prdTaskList.Where(p => p.mo_task_status == "Pause").ToList())
{
TriggerPlanEntity entity = new TriggerPlanEntity();
entity.materialid = task.material_id;
entity.processid = task.process_id;
entity.workid = task.workstation_id;
entity.triggerevent = EnumTriggerEvent.;
await _qcCheckPlanService.CreateTask(entity);
} }
} }
*/ #endregion
prdTaskList.ForEach(x => x.mo_task_status = status); prdTaskList.ForEach(x => x.mo_task_status = status);
row = await db.Updateable(prdTaskList).ExecuteCommandAsync(); row = await db.Updateable(prdTaskList).ExecuteCommandAsync();
if (row > 0) if (row > 0)

View File

@@ -197,22 +197,25 @@ namespace Tnb.WarehouseMgr
{ {
x.is_chain = 0; x.is_chain = 0;
}); });
items[^items.Count].groups = $"{groupCode}-1"; items[0].groups = groupCode;
items[0].bill_code = $"{groupCode}-1";
} }
else if ((moveNum > areaPreTasks.Count && areaPreTasks.Count > 1) || moveNum < areaPreTasks.Count) else if ((moveNum > areaPreTasks.Count && areaPreTasks.Count > 1) || moveNum < areaPreTasks.Count)
{ {
items.ForEach(x => x.is_chain = 1); items.ForEach(x => x.is_chain = 1);
var mod = items.Count % moveNum > 0 ? items.Count / moveNum + 1 : items.Count / moveNum; var mod = items.Count % moveNum > 0 ? items.Count / moveNum + 1 : items.Count / moveNum;
int start = 0, end = moveNum;
var arrary = items.ToArray();
var itemsCount = items.Count; var itemsCount = items.Count;
var start = 0;
var end = Math.Min(itemsCount, moveNum);
var arrary = items.ToArray();
for (int i = 1; i <= mod; i++) for (int i = 1; i <= mod; i++)
{ {
if (start >= itemsCount) break; if (start >= itemsCount) break;
var subArray = arrary[start..end]; var subArray = arrary[start..end];
for (int j = 0, arrLen = subArray.Length; j < arrLen; j++) for (int j = 0, arrLen = subArray.Length; j < arrLen; j++)
{ {
subArray[j].groups = $"{groupCode}-{i}"; subArray[j].groups = groupCode;
subArray[j].bill_code = $"{groupCode}-{i}";
} }
start = end; start = end;
if ((end + moveNum) >= arrary.Length) if ((end + moveNum) >= arrary.Length)
@@ -255,7 +258,7 @@ namespace Tnb.WarehouseMgr
{ {
items[i].id = SnowflakeIdHelper.NextId(); items[i].id = SnowflakeIdHelper.NextId();
items[i].status = WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID; items[i].status = WmsWareHouseConst.TASK_BILL_STATUS_DZX_ID;
items[i].bill_code = await _billRullService.GetBillNumber(WmsWareHouseConst.WMS_TASK_EXECUTE_ENCODE); //items[i].groups = await _billRullService.GetBillNumber(WmsWareHouseConst.WMS_TASK_EXECUTE_ENCODE);
} }
if (moveNum == 1) if (moveNum == 1)

View File

@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Dynamic; using System.Dynamic;
using System.Linq; using System.Linq;
using System.Linq.Expressions;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Aop.Api.Domain; using Aop.Api.Domain;
@@ -11,6 +12,7 @@ using Mapster;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using SqlSugar; using SqlSugar;
using Tnb.WarehouseMgr.Entities; using Tnb.WarehouseMgr.Entities;
using Tnb.WarehouseMgr.Entities.Consts;
using Tnb.WarehouseMgr.Entities.Dto; using Tnb.WarehouseMgr.Entities.Dto;
using Tnb.WarehouseMgr.Entities.Dto.Inputs; using Tnb.WarehouseMgr.Entities.Dto.Inputs;
using Tnb.WarehouseMgr.Entities.Dto.Outputs; using Tnb.WarehouseMgr.Entities.Dto.Outputs;
@@ -67,9 +69,18 @@ namespace Tnb.WarehouseMgr
try try
{ {
var carry = await _db.Queryable<WmsCarryH>().SingleAsync(it => it.carry_code == input.carry_code); var carry = await _db.Queryable<WmsCarryH>().SingleAsync(it => it.carry_code == input.carry_code);
var carryDs = await _db.Queryable<WmsCarryD>().Where(it => it.carry_id == carry.id).ToListAsync(); List<WmsCarryCode> carryCodes = new();
var mCarryIds = carryDs.Select(x=>x.membercarry_id).ToList(); if (carry.carrystd_id == WmsWareHouseConst.CARRY_LJSTD_ID)
var carryCodes = await _db.Queryable<WmsCarryCode>().Where(it => mCarryIds.Contains(it.carry_id)).ToListAsync(); {
var carryDs = await _db.Queryable<WmsCarryD>().Where(it => it.carry_id == carry.id).ToListAsync();
var mCarryIds = carryDs.Select(x => x.membercarry_id).ToList();
carryCodes = await _db.Queryable<WmsCarryCode>().Where(it => mCarryIds.Contains(it.carry_id)).ToListAsync();
}
else
{
carryCodes = await _db.Queryable<WmsCarryCode>().Where(it => it.carry_id == carry.id).ToListAsync();
}
data = carry.Adapt<CarryQueryOutput>(); data = carry.Adapt<CarryQueryOutput>();
data.wmsCarryCodes = carryCodes.Adapt<List<CarryCodeQueryOutput>>(); data.wmsCarryCodes = carryCodes.Adapt<List<CarryCodeQueryOutput>>();

View File

@@ -341,20 +341,6 @@ namespace Tnb.WarehouseMgr
if (input.IsNull()) throw new ArgumentNullException(nameof(input)); if (input.IsNull()) throw new ArgumentNullException(nameof(input));
try try
{ {
//var kittingOut = input[^1];
//if ((!kittingOut.carry_id.IsNullOrEmpty() || !kittingOut.carry_code.IsNullOrEmpty()) && !kittingOut.location_code.IsNullOrEmpty())
//{
// WmsCarryH? curCarry = null;
// if (!kittingOut.carry_id.IsNullOrEmpty())
// curCarry = await _db.Queryable<WmsCarryH>().SingleAsync(it => it.id == kittingOut.carry_id);
// else
// curCarry = await _db.Queryable<WmsCarryH>().FirstAsync(it => it.carry_code == kittingOut.carry_code);
// var endLocation = await _db.Queryable<BasLocation>().SingleAsync(it => it.id == kittingOut.location_code);
// var isMatch = await IsCarryAndLocationMatchByCarryStd(curCarry, endLocation);
// if (!isMatch) throw new AppFriendlyException("该载具无法放置到目标库位", 500);
//}
await _db.Ado.BeginTranAsync(); await _db.Ado.BeginTranAsync();