任务单排班 质量bug

This commit is contained in:
2024-08-23 13:40:20 +08:00
parent a9a64ca88e
commit fea4b31b09
8 changed files with 135 additions and 58 deletions

View File

@@ -29,5 +29,10 @@ namespace Tnb.BasicData
/// BIP地址 /// BIP地址
/// </summary> /// </summary>
public const string BIPURL = "bipUrl"; public const string BIPURL = "bipUrl";
/// <summary>
/// 白班夜班时间
/// </summary>
public const string DAYNIGHTWORKTIME = "dayNightWorkTime";
} }
} }

View File

@@ -26,6 +26,7 @@ namespace Tnb.ProductionMgr.Entities.Dto.PrdManage
public string material_code { get; set; } public string material_code { get; set; }
public string material_name { get; set; } public string material_name { get; set; }
public string material_specification { get; set; }
/// <summary> /// <summary>
/// 产线id /// 产线id

View File

@@ -217,7 +217,7 @@ public partial class PrdMoTask : BaseEntity<string>
public int has_last_check { get; set; } public int has_last_check { get; set; }
/// <summary> /// <summary>
/// 排班类型 /// 排班类型 1 两班倒 2 四班倒
/// </summary> /// </summary>
public string scheduling_class_type { get; set; } public string scheduling_class_type { get; set; }

View File

@@ -1,4 +1,5 @@
using Tnb.ProductionMgr.Entities; using SqlSugar;
using Tnb.ProductionMgr.Entities;
using Tnb.ProductionMgr.Entities.Dto; using Tnb.ProductionMgr.Entities.Dto;
using Tnb.ProductionMgr.Entities.Dto.PrdManage; using Tnb.ProductionMgr.Entities.Dto.PrdManage;
@@ -58,6 +59,6 @@ namespace Tnb.ProductionMgr.Interfaces
/// </summary> /// </summary>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
Task<string> ReportInstock(CheckCompleteInput input); Task<string> ReportInstock(CheckCompleteInput input,ISqlSugarClient db = null);
} }
} }

View File

@@ -424,10 +424,27 @@ namespace Tnb.ProductionMgr
estimated_end_date = a.estimated_end_date == null ? null : a.estimated_end_date.Value.ToString(DbTimeFormat.SS), estimated_end_date = a.estimated_end_date == null ? null : a.estimated_end_date.Value.ToString(DbTimeFormat.SS),
bom_id = d.id, bom_id = d.id,
bom_version = d.version, bom_version = d.version,
create_time = a.create_time==null ? "" : a.create_time.Value.ToString(DbTimeFormat.SS) create_time = a.create_time==null ? "" : a.create_time.Value.ToString(DbTimeFormat.SS),
dayshift_worker_id = a.dayshift_worker_id,
dayshiftafter_worker_id = a.dayshiftafter_worker_id,
nightshift_worker_id = a.nightshift_worker_id,
nightshiftafter_worker_id = a.nightshiftafter_worker_id,
}) })
.Mapper(it => it.mo_task_status = dic.ContainsKey(it.mo_task_status) ? dic[it.mo_task_status].ToString()! : "") .Mapper(it => it.mo_task_status = dic.ContainsKey(it.mo_task_status) ? dic[it.mo_task_status].ToString()! : "")
.ToListAsync(); .ToListAsync();
List<string> userIdList = result.Select(x => x.dayshift_worker_id).Distinct().ToList();
userIdList.AddRange(result.Select(x => x.dayshiftafter_worker_id).Distinct().ToList());
userIdList.AddRange(result.Select(x => x.nightshift_worker_id).Distinct().ToList());
userIdList.AddRange(result.Select(x => x.nightshiftafter_worker_id).Distinct().ToList());
List<UserEntity> userEntities = await _db.Queryable<UserEntity>().Where(x=>userIdList.Contains(x.Id)).ToListAsync();
foreach (var item in result)
{
item.dayshift_worker_id = userEntities.Find(x=>x.Id==item.dayshift_worker_id)?.RealName ?? item.dayshift_worker_id;
item.dayshiftafter_worker_id = userEntities.Find(x=>x.Id==item.dayshiftafter_worker_id)?.RealName ?? item.dayshiftafter_worker_id;
item.nightshift_worker_id = userEntities.Find(x=>x.Id==item.nightshift_worker_id)?.RealName ?? item.nightshift_worker_id;
item.nightshiftafter_worker_id = userEntities.Find(x=>x.Id==item.nightshiftafter_worker_id)?.RealName ?? item.nightshiftafter_worker_id;
}
return result; return result;
} }
/// <summary> /// <summary>
@@ -2129,13 +2146,13 @@ namespace Tnb.ProductionMgr
return "提报成功"; return "提报成功";
} }
public async Task<string> ReportInstock(CheckCompleteInput input) public async Task<string> ReportInstock(CheckCompleteInput input,ISqlSugarClient db = null)
{ {
try try
{ {
var db = _repository.AsSugarClient(); if(db==null) db = _repository.AsSugarClient();
PrdReport report = await db.Queryable<PrdReport>().FirstAsync(it => it.id==input.report_id); PrdReport report = await db.Queryable<PrdReport>().FirstAsync(it => it.id==input.report_id && !SqlFunc.IsNullOrEmpty(it.id));
PrdMoTask? prdMoTask = await db.Queryable<PrdMoTask>().SingleAsync(x => x.id == report.mo_task_id); PrdMoTask? prdMoTask = await db.Queryable<PrdMoTask>().FirstAsync(x => x.id == report.mo_task_id && !SqlFunc.IsNullOrEmpty(x.id));
EqpEquipment equip = await db.Queryable<EqpEquipment>().SingleAsync(x => x.id == prdMoTask.eqp_id); EqpEquipment equip = await db.Queryable<EqpEquipment>().SingleAsync(x => x.id == prdMoTask.eqp_id);
BasMaterial basMaterial = await db.Queryable<BasMaterial>().SingleAsync(x => x.id == prdMoTask.material_id); BasMaterial basMaterial = await db.Queryable<BasMaterial>().SingleAsync(x => x.id == prdMoTask.material_id);
WmsCarryH wmsCarryH = await db.Queryable<WmsCarryH>().FirstAsync(x=>x.carry_code==report.material_box_code); WmsCarryH wmsCarryH = await db.Queryable<WmsCarryH>().FirstAsync(x=>x.carry_code==report.material_box_code);
@@ -2219,7 +2236,7 @@ namespace Tnb.ProductionMgr
Log.Information($"生产入库参数:${JsonConvert.SerializeObject(wmsPrdInstockInput)}"); Log.Information($"生产入库参数:${JsonConvert.SerializeObject(wmsPrdInstockInput)}");
Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result2 = await _wmsPrdInstockHService.PrdInstock(wmsPrdInstockInput, _db); Tnb.WarehouseMgr.Entities.Dto.Outputs.Result result2 = await _wmsPrdInstockHService.PrdInstock(wmsPrdInstockInput, db);
if (result2 != null) if (result2 != null)
{ {
Log.Information($"生产入库接口返回参数:${JsonConvert.SerializeObject(result2)}"); Log.Information($"生产入库接口返回参数:${JsonConvert.SerializeObject(result2)}");
@@ -3033,13 +3050,17 @@ namespace Tnb.ProductionMgr
DbResult<bool> result = await db.Ado.UseTranAsync(async () => DbResult<bool> result = await db.Ado.UseTranAsync(async () =>
{ {
PrdMoTask moTask = await db.Queryable<PrdMoTask>().SingleAsync(x => x.id == input.mo_task_id); PrdMoTask moTask = await db.Queryable<PrdMoTask>().SingleAsync(x => x.id == input.mo_task_id);
if (moTask.worker_id == input.worker_id) // if (moTask.worker_id == input.worker_id)
{ // {
throw new Exception("与原员工相同"); // throw new Exception("与原员工相同");
} // }
_ = await db.Updateable<PrdMoTask>().SetColumns(x => x.worker_id == input.worker_id) _ = await db.Updateable<PrdMoTask>()
.SetColumns(x => x.dayshift_worker_id == input.dayshift_worker_id)
.SetColumns(x => x.nightshift_worker_id == input.nightshift_worker_id)
.SetColumns(x => x.dayshiftafter_worker_id == input.dayshiftafter_worker_id)
.SetColumns(x => x.nightshiftafter_worker_id == input.nightshiftafter_worker_id)
.Where(x => x.id == input.mo_task_id).ExecuteCommandAsync(); .Where(x => x.id == input.mo_task_id).ExecuteCommandAsync();
PrdMo mo = await db.Queryable<PrdMo>().SingleAsync(x => x.id == moTask.mo_id); PrdMo mo = await db.Queryable<PrdMo>().SingleAsync(x => x.id == moTask.mo_id);
@@ -3746,11 +3767,13 @@ namespace Tnb.ProductionMgr
string ids = input.GetOrDefault("ids"); string ids = input.GetOrDefault("ids");
string[] idList = ids.Split(","); string[] idList = ids.Split(",");
// string workerId = input.GetOrDefault("worker_id"); // string workerId = input.GetOrDefault("worker_id");
string schedulingClassType = input.GetOrDefault("scheduling_class_type");
string dayshiftWorkerId = input.GetOrDefault("dayshift_worker_id"); string dayshiftWorkerId = input.GetOrDefault("dayshift_worker_id");
string nightshiftWorkerId = input.GetOrDefault("nightshift_worker_id"); string nightshiftWorkerId = input.GetOrDefault("nightshift_worker_id");
string dayshiftafterWorkerId = input.GetOrDefault("dayshiftafter_worker_id"); string dayshiftafterWorkerId = input.GetOrDefault("dayshiftafter_worker_id");
string nightshiftafterWorkerId = input.GetOrDefault("nightshiftafter_worker_id"); string nightshiftafterWorkerId = input.GetOrDefault("nightshiftafter_worker_id");
int row = await _db.Updateable<PrdMoTask>() int row = await _db.Updateable<PrdMoTask>()
.SetColumns(x => x.scheduling_class_type == schedulingClassType)
.SetColumns(x => x.dayshift_worker_id == dayshiftWorkerId) .SetColumns(x => x.dayshift_worker_id == dayshiftWorkerId)
.SetColumns(x => x.nightshift_worker_id == nightshiftWorkerId) .SetColumns(x => x.nightshift_worker_id == nightshiftWorkerId)
.SetColumns(x => x.dayshiftafter_worker_id == dayshiftafterWorkerId) .SetColumns(x => x.dayshiftafter_worker_id == dayshiftafterWorkerId)

View File

@@ -11,6 +11,7 @@ using JNPF.Systems.Entitys.System;
using JNPF.Systems.Interfaces.System; using JNPF.Systems.Interfaces.System;
using Mapster; using Mapster;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using SqlSugar; using SqlSugar;
using Tnb.BasicData; using Tnb.BasicData;
using Tnb.BasicData.Entities; using Tnb.BasicData.Entities;
@@ -21,6 +22,7 @@ using Tnb.ProductionMgr.Entities.Dto.PrdManage;
using Tnb.ProductionMgr.Entities.Entity; using Tnb.ProductionMgr.Entities.Entity;
using Tnb.ProductionMgr.Interfaces; using Tnb.ProductionMgr.Interfaces;
using Tnb.ProductionMgr.Entities.Dto; using Tnb.ProductionMgr.Entities.Dto;
using Tnb.WarehouseMgr.Entities.Consts;
namespace Tnb.ProductionMgr namespace Tnb.ProductionMgr
@@ -413,7 +415,33 @@ namespace Tnb.ProductionMgr
input.sidx = "create_time"; input.sidx = "create_time";
input.sort = "desc"; input.sort = "desc";
} }
string userId = _userManager.UserId;
string nowTime = DateTime.Now.ToString("HH:mm");
BasFactoryConfig config = await _db.Queryable<BasFactoryConfig>().FirstAsync(x => x.enabled == 1 && x.key == FactoryConfigConst.DAYNIGHTWORKTIME);
Dictionary<string,string> dayNightWorkTime = JsonConvert.DeserializeObject<Dictionary<string, string>>(config.value);
string dayStime = dayNightWorkTime["白班"].Split("-")[0];
string dayEtime = dayNightWorkTime["白班"].Split("-")[1];
string nightStime = dayNightWorkTime["夜班"].Split("-")[0];
string nightEtime = dayNightWorkTime["夜班"].Split("-")[1];
string dayBeforeStime = dayNightWorkTime["白班前"].Split("-")[0];
string dayBeforeEtime = dayNightWorkTime["白班前"].Split("-")[1];
string dayAfterStime = dayNightWorkTime["白班后"].Split("-")[0];
string dayAfterEtime = dayNightWorkTime["白班后"].Split("-")[1];
string nightBeforeStime = dayNightWorkTime["夜班前"].Split("-")[0];
string nightBeforeEtime = dayNightWorkTime["夜班前"].Split("-")[1];
string nightAfterStime = dayNightWorkTime["夜班后"].Split("-")[0];
string nightAfterEtime = dayNightWorkTime["夜班后"].Split("-")[1];
bool twoDayFlag = string.Compare(nowTime, dayStime) >= 0 && string.Compare(nowTime, dayEtime) <= 0;
bool twoNightFlag = string.Compare(nowTime,nightStime)>=0 && string.Compare(nowTime,nightEtime)<=0;
bool fourDayBeforeFlag = (string.Compare(nowTime,dayBeforeStime)>=0 && string.Compare(nowTime,dayBeforeEtime)<=0) ;
bool fourDayAfterFlag = (string.Compare(nowTime,dayAfterStime)>=0 && string.Compare(nowTime,dayAfterEtime)<=0) ;
bool fourNightBeforeFlag = (string.Compare(nowTime,nightBeforeStime)>=0 && string.Compare(nowTime,nightBeforeEtime)<=0) ;
bool fourNightAfterFlag = (string.Compare(nowTime,nightAfterStime)>=0 && string.Compare(nowTime,nightAfterEtime)<=0) ;
//模具部门的人
List<string> moldUserIds = await _db.Queryable<UserRelationEntity>().Where(x=>x.ObjectId=="35792898276629").Select(x=>x.UserId).ToListAsync();
SqlSugarPagedList<PADPackageTaskPageOutput> result = await _db.Queryable<PrdMoTask>() SqlSugarPagedList<PADPackageTaskPageOutput> result = await _db.Queryable<PrdMoTask>()
.LeftJoin<BasMaterial>((a, b) => a.material_id == b.id) .LeftJoin<BasMaterial>((a, b) => a.material_id == b.id)
.LeftJoin<BasProcess>((a, b, c) => a.process_id == c.id) .LeftJoin<BasProcess>((a, b, c) => a.process_id == c.id)
@@ -422,18 +450,30 @@ namespace Tnb.ProductionMgr
.LeftJoin<EqpEquipment>((a, b, c, d, e, f) => a.eqp_id == f.id) .LeftJoin<EqpEquipment>((a, b, c, d, e, f) => a.eqp_id == f.id)
.LeftJoin<ToolMolds>((a, b, c, d, e, f, g) => a.mold_id == g.id) .LeftJoin<ToolMolds>((a, b, c, d, e, f, g) => a.mold_id == g.id)
.LeftJoin<PerProcessStandardsH>((a, b, c, d, e, f, g, h) => a.material_id == h.output_material_id && a.eqp_id == h.equip_id && a.mold_id == h.molds_id && h.enabled == 1) .LeftJoin<PerProcessStandardsH>((a, b, c, d, e, f, g, h) => a.material_id == h.output_material_id && a.eqp_id == h.equip_id && a.mold_id == h.molds_id && h.enabled == 1)
.LeftJoin<BasStandardTime>((a, b, c, d, e, f, g, h, i) => a.process_id == i.process_id && i.enabled == 1 && a.schedule_type==1) //.LeftJoin<BasStandardTime>((a, b, c, d, e, f, g, h, i) => a.process_id == i.process_id && i.enabled == 1 && a.schedule_type==1)
.LeftJoin<PrdMo>((a, b, c, d, e, f, g, h, i, j) => a.mo_id == j.id) .LeftJoin<PrdMo>((a, b, c, d, e, f, g, h, j) => a.mo_id == j.id)
.LeftJoin<BasMaterialUnit>((a, b, c, d, e, f, g, h, i, j, k) => a.material_id == k.material_id && k.auxiliary_unit_id == "KGM") .LeftJoin<BasMaterialUnit>((a, b, c, d, e, f, g, h, j, k) => a.material_id == k.material_id && k.auxiliary_unit_id == "KGM")
.LeftJoin<EqpDaq>((a, b, c, d, e, f, g, h, i, j, k, l) => a.eqp_id == l.equip_id && l.enabled == 1 && l.label_name.Contains("允许称重"))//注塑空满箱请求 .LeftJoin<EqpDaq>((a, b, c, d, e, f, g, h, j, k, l) => a.eqp_id == l.equip_id && l.enabled == 1 && l.label_name.Contains("允许称重"))//注塑空满箱请求
.LeftJoin<OrganizeEntity>((a, b, c, d, e, f, g, h, j, k, l,m)=>a.workstation_id==m.Id)
// .Where((a, b) => a.workstation_id == input.stationId) // .Where((a, b) => a.workstation_id == input.stationId)
.Where((a, b) => a.worker_id == _userManager.UserId && (a.schedule_type==1 || (a.schedule_type==2 && a.parent_id!=null))) // .Where((a, b) => a.worker_id == _userManager.UserId && (a.schedule_type==1 || (a.schedule_type==2 && a.parent_id!=null)))
.Where((a, b) => a.schedule_type==1 || (a.schedule_type==2 && a.parent_id!=null))
// .Where(a=>a.dayshift_worker_id==userId || a.dayshiftafter_worker_id==userId || a.nightshift_worker_id==userId || a.nightshiftafter_worker_id==userId)
.WhereIF(!string.IsNullOrEmpty(mo_task_code), a => a.mo_task_code.Contains(mo_task_code)) .WhereIF(!string.IsNullOrEmpty(mo_task_code), a => a.mo_task_code.Contains(mo_task_code))
//.WhereIF(!string.IsNullOrEmpty(mo_task_status),a=>a.mo_task_status==mo_task_status) //.WhereIF(!string.IsNullOrEmpty(mo_task_status),a=>a.mo_task_status==mo_task_status)
.WhereIF(statusList.Count > 0, a => statusList.Contains(a.mo_task_status)) .WhereIF(statusList.Count > 0, a => statusList.Contains(a.mo_task_status))
.WhereIF(status == "3" && start_time != null, a => a.act_end_date >= start_time) .WhereIF(status == "3" && start_time != null, a => a.act_end_date >= start_time)
.WhereIF(status == "3" && end_time != null, a => a.act_end_date <= end_time) .WhereIF(status == "3" && end_time != null, a => a.act_end_date <= end_time)
.Select((a, b, c, d, e, f, g, h, i, j, k, l) => new PADPackageTaskPageOutput .Where((a, b, c, d, e, f, g, h, j, k, l,m)=>(m.ManagerId==userId)
|| (a.schedule_type==1 && a.mo_task_status==DictConst.ToBeStartedEnCode && moldUserIds.Contains(userId))
|| (a.scheduling_class_type=="1" && twoDayFlag && a.dayshift_worker_id==userId)
|| (a.scheduling_class_type=="1" && twoNightFlag && a.nightshift_worker_id==userId)
|| (a.scheduling_class_type=="2" && fourDayBeforeFlag && a.dayshift_worker_id==userId)
|| (a.scheduling_class_type=="2" && fourDayAfterFlag && a.dayshiftafter_worker_id==userId)
|| (a.scheduling_class_type=="2" && fourNightBeforeFlag && a.nightshift_worker_id==userId)
|| (a.scheduling_class_type=="2" && fourNightAfterFlag && a.nightshiftafter_worker_id==userId)
)
.Select((a, b, c, d, e, f, g, h, j, k, l) => new PADPackageTaskPageOutput
{ {
id = a.id, id = a.id,
mo_task_code = a.mo_task_code, mo_task_code = a.mo_task_code,
@@ -442,7 +482,8 @@ namespace Tnb.ProductionMgr
material_id = a.material_id, material_id = a.material_id,
material_code = b.code, material_code = b.code,
material_name = b.name, material_name = b.name,
material_standard = b.material_specification, material_standard = b.material_standard,
material_specification = b.material_specification,
container_no = b.container_no, container_no = b.container_no,
di = b.di, di = b.di,
workline_id = a.workline_id, workline_id = a.workline_id,
@@ -469,7 +510,7 @@ namespace Tnb.ProductionMgr
schedule_type = a.schedule_type, schedule_type = a.schedule_type,
mold_cavity = g.mold_cavity, mold_cavity = g.mold_cavity,
moulding_cycle = h.moulding_cycle, moulding_cycle = h.moulding_cycle,
standard_time = i.standard_time, // standard_time = i.standard_time,
act_start_date = a.act_start_date == null ? "" : a.act_start_date.Value.ToString(DbTimeFormat.SS), act_start_date = a.act_start_date == null ? "" : a.act_start_date.Value.ToString(DbTimeFormat.SS),
act_end_date = a.act_end_date == null ? "" : a.act_end_date.Value.ToString(DbTimeFormat.SS), act_end_date = a.act_end_date == null ? "" : a.act_end_date.Value.ToString(DbTimeFormat.SS),
plan_end_date = a.plan_end_date == null ? "" : a.plan_end_date.Value.ToString(DbTimeFormat.SS), plan_end_date = a.plan_end_date == null ? "" : a.plan_end_date.Value.ToString(DbTimeFormat.SS),
@@ -521,6 +562,10 @@ namespace Tnb.ProductionMgr
x.output_material_id == item.material_id && x.enabled == 1) x.output_material_id == item.material_id && x.enabled == 1)
.OrderByDescending(x => x.create_time).FirstAsync(); .OrderByDescending(x => x.create_time).FirstAsync();
item.standard_time = processStandardsH?.moulding_cycle?.ToString(); item.standard_time = processStandardsH?.moulding_cycle?.ToString();
}else if (item.schedule_type==1)
{
BasStandardTime basStandardTime = await _db.Queryable<BasStandardTime>().Where(x=>x.process_id==item.process_id && x.enabled==1).FirstAsync();
item.standard_time = basStandardTime.standard_time;
} }
} }
} }

View File

@@ -423,45 +423,46 @@ namespace Tnb.QcMgr
GetQuery(Query, entity); GetQuery(Query, entity);
List<QcCheckPlanH> list = await Query.ToListAsync(); List<QcCheckPlanH> list = await Query.ToListAsync();
List<string> removes = new(); List<string> removes = new();
// foreach (QcCheckPlanH data in list) foreach (QcCheckPlanH data in list)
// { {
// if (!string.IsNullOrEmpty(entity.materialid)) if (!string.IsNullOrEmpty(entity.materialid))
// { {
// if (_repository.AsSugarClient().Queryable<QcCheckPlanMaterial>().Where(p => p.planid == data.id).Any()) if (_repository.AsSugarClient().Queryable<QcCheckPlanMaterial>().Where(p => p.planid == data.id).Any())
// { {
// if (!_repository.AsSugarClient().Queryable<QcCheckPlanMaterial>().Where(p => p.planid == data.id && p.materialid == entity.materialid).Any()) if (!_repository.AsSugarClient().Queryable<QcCheckPlanMaterial>().Where(p => p.planid == data.id && p.materialid == entity.materialid).Any())
// { {
// removes.Add(data.id); removes.Add(data.id);
// } }
// } }
// } }
// if (!string.IsNullOrEmpty(entity.processid)) if (!string.IsNullOrEmpty(entity.processid))
// { {
// if (_repository.AsSugarClient().Queryable<QcCheckPlanProcess>().Where(p => p.planid == data.id).Any()) if (_repository.AsSugarClient().Queryable<QcCheckPlanProcess>().Where(p => p.planid == data.id).Any())
// { {
// if (!_repository.AsSugarClient().Queryable<QcCheckPlanProcess>().Where(p => p.planid == data.id && p.processid == entity.processid).Any()) if (!_repository.AsSugarClient().Queryable<QcCheckPlanProcess>().Where(p => p.planid == data.id && p.processid == entity.processid).Any())
// { {
// removes.Add(data.id); removes.Add(data.id);
// } }
//
// } }
// } }
// if (!string.IsNullOrEmpty(entity.workid)) if (!string.IsNullOrEmpty(entity.workid))
// { {
// if (_repository.AsSugarClient().Queryable<QcCheckPlanWork>().Where(p => p.planid == data.id).Any()) if (_repository.AsSugarClient().Queryable<QcCheckPlanWork>().Where(p => p.planid == data.id).Any())
// { {
// if (!_repository.AsSugarClient().Queryable<QcCheckPlanWork>().Where(p => p.planid == data.id && p.workid == entity.workid).Any()) if (!_repository.AsSugarClient().Queryable<QcCheckPlanWork>().Where(p => p.planid == data.id && p.workid == entity.workid).Any())
// { {
// removes.Add(data.id); removes.Add(data.id);
// } }
// } }
// } }
// } }
// list = list.Where(p => !removes.Contains(p.id)).ToList(); // list = list.Where(p => !removes.Contains(p.id)).ToList();
// .WhereIF(!string.IsNullOrEmpty(entity.materialid), (a, b, c, d, e) => c.materialid == entity.materialid) // .WhereIF(!string.IsNullOrEmpty(entity.materialid), (a, b, c, d, e) => c.materialid == entity.materialid)
// .WhereIF(!string.IsNullOrEmpty(entity.processid), (a, b, c, d, e) => d.processid == entity.processid) // .WhereIF(!string.IsNullOrEmpty(entity.processid), (a, b, c, d, e) => d.processid == entity.processid)
// .WhereIF(!string.IsNullOrEmpty(entity.workid), (a, b, c, d, e) => e.workid == entity.workid).ToListAsync(); // .WhereIF(!string.IsNullOrEmpty(entity.workid), (a, b, c, d, e) => e.workid == entity.workid).ToListAsync();
Filter(list, entity); Filter(list, entity);
if (list.Count > 0) if (list.Count > 0)
{ {
@@ -478,7 +479,7 @@ namespace Tnb.QcMgr
RemarkAttribute remark = RemarkAttribute.GetRemark(enumTriggerEvent); RemarkAttribute remark = RemarkAttribute.GetRemark(enumTriggerEvent);
string type = DictionaryData.Where(p => p.FullName == remark.CheckType).First().Id; string type = DictionaryData.Where(p => p.FullName == remark.CheckType).First().Id;
TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == type && p.name == remark.CheckContent).First(); TriggerEvent = _repository.AsSugarClient().Queryable<QcTriggerEvent>().Where(p => p.type == type && p.name == remark.CheckContent).First();
Query = Query.Where((a, b, c, d, e) => b.triggertype == "3" && b.content!.Contains(TriggerEvent.id) && c.materialid==entity.materialid); Query = Query.Where((a, b, c, d, e) => b.triggertype == "3" && b.content!.Contains(TriggerEvent.id));
} }
private void Filter(List<QcCheckPlanH> QcCheckPlanHs, TriggerPlanEntity entity) private void Filter(List<QcCheckPlanH> QcCheckPlanHs, TriggerPlanEntity entity)
{ {

View File

@@ -10,6 +10,7 @@ using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Entitys.System; using JNPF.Systems.Entitys.System;
using JNPF.VisualDev; using JNPF.VisualDev;
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData; using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json; using Newtonsoft.Json;
using SqlSugar; using SqlSugar;
@@ -367,7 +368,7 @@ namespace Tnb.QcMgr
pqty = pqty, pqty = pqty,
rqty = rqty, rqty = rqty,
check_result = ((EnumCheckConclusion)dic[CheckTaskInput.result]).ToString(), check_result = ((EnumCheckConclusion)dic[CheckTaskInput.result]).ToString(),
}); },db);
} }
} }
await db.Ado.CommitTranAsync(); await db.Ado.CommitTranAsync();