|
|
@@ -3121,7 +3121,61 @@ namespace Business.ResourceExamineManagement
|
|
|
//var ordlist = _workOrdMaster.Select(x => x.Domain == domain && x.OrdDate>= stime && x.OrdDate <= etime && (string.IsNullOrEmpty(x.Typed) == true || tsWork.Contains(x.Typed)) && (x.Status.ToLower() == "p" || x.Status.ToLower() == "r")).ToList();
|
|
|
var ordlist = _workOrdMaster.Select(x => x.Domain == domain && (string.IsNullOrEmpty(x.Typed) == true || tsWork.Contains(x.Typed)) && (x.Status.ToLower() == "p" || x.Status.ToLower() == "r")).ToList();
|
|
|
|
|
|
- //根据排产日计划来获取
|
|
|
+ List<mes_morder> morders = _mysql_mes_morder.GetListAsync(x => domain == x.factory_id.ToString() && ordlist.Select(s => s.WorkOrd).Contains(x.morder_no) && (x.morder_state == MorderEnum.Initial_state || x.morder_state == MorderEnum.Xd_state) && !x.IsDeleted).Result;
|
|
|
+ if (!morders.Any())
|
|
|
+ {
|
|
|
+ return "没有需要下达的工单";
|
|
|
+ }
|
|
|
+ var rst = await OrderResourceCheck(morders, domain, userAccount);
|
|
|
+ if (rst == "ok")
|
|
|
+ {
|
|
|
+ //屏蔽日期过滤
|
|
|
+ /*var sysSet = _generalizedCodeMaster.Select(s => s.FldName == "SystemConfig" && s.Val == "WorkOrderLockPeriod" && s.Domain == domain).ToList();
|
|
|
+ decimal lookDay = 0;
|
|
|
+ if (sysSet.Any())
|
|
|
+ {
|
|
|
+ //锁定期
|
|
|
+ lookDay = sysSet[0].UDeci1;
|
|
|
+ }
|
|
|
+ lookDay = lookDay == 0 ? 7 : lookDay;
|
|
|
+ DateTime lookTime = DateTime.Now.Date.AddDays((double)lookDay);*/
|
|
|
+
|
|
|
+ string workords = "";
|
|
|
+ foreach (var mo in morders)
|
|
|
+ {
|
|
|
+ //if (mo.MaterialSituation == MorderEnum.CarehouseComplete && mo.morder_state == MorderEnum.Initial_state && mo.moentry_sys_stime.GetValueOrDefault().Date <= lookTime)
|
|
|
+ if (mo.MaterialSituation == MorderEnum.CarehouseComplete && mo.morder_state == MorderEnum.Initial_state)
|
|
|
+ {
|
|
|
+ workords += "," + mo.morder_no;
|
|
|
+ //mo.morder_state = MorderEnum.Xd_state;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ await _businessDbContext.BulkUpdateAsync(morders);
|
|
|
+ //按卫亮要求。屏蔽自动下达
|
|
|
+ /*if (workords.Length > 0)
|
|
|
+ {
|
|
|
+ workords = workords.Substring(1, workords.Length - 1);
|
|
|
+ //如果生成领料单,需清理掉当前工单的占用,然后根据领料单的数据,来生成工单的占用
|
|
|
+ var pickRst = await CreatePickBill(workords, domain, userAccount);
|
|
|
+ if (pickRst != "ok")
|
|
|
+ {
|
|
|
+ new NLogHelper("ResourceExamineAppService").WriteLog("CreatePickBill", "生成领料单相关数据更新失败:" + pickRst, _currentTenant.Id.ToString());
|
|
|
+ return pickRst;
|
|
|
+ }
|
|
|
+ var insertList = GetCopyOP(workords, domain);
|
|
|
+ if (insertList.Any())
|
|
|
+ {
|
|
|
+ _periodSequenceDet.Insert(insertList);
|
|
|
+ }
|
|
|
+ }*/
|
|
|
+ return "ok";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return rst;
|
|
|
+ }
|
|
|
+ #region
|
|
|
+ /*//根据排产日计划来获取
|
|
|
var periodSd = _periodSequenceDet.Select(s => s.Domain == domain && ordlist.Select(x => x.WorkOrd).Contains(s.WorkOrds)).ToList();
|
|
|
if (periodSd.Any())
|
|
|
{
|
|
|
@@ -3136,7 +3190,7 @@ namespace Business.ResourceExamineManagement
|
|
|
if (rst == "ok")
|
|
|
{
|
|
|
//屏蔽日期过滤
|
|
|
- /*var sysSet = _generalizedCodeMaster.Select(s => s.FldName == "SystemConfig" && s.Val == "WorkOrderLockPeriod" && s.Domain == domain).ToList();
|
|
|
+ *//*var sysSet = _generalizedCodeMaster.Select(s => s.FldName == "SystemConfig" && s.Val == "WorkOrderLockPeriod" && s.Domain == domain).ToList();
|
|
|
decimal lookDay = 0;
|
|
|
if (sysSet.Any())
|
|
|
{
|
|
|
@@ -3144,7 +3198,7 @@ namespace Business.ResourceExamineManagement
|
|
|
lookDay = sysSet[0].UDeci1;
|
|
|
}
|
|
|
lookDay = lookDay == 0 ? 7 : lookDay;
|
|
|
- DateTime lookTime = DateTime.Now.Date.AddDays((double)lookDay);*/
|
|
|
+ DateTime lookTime = DateTime.Now.Date.AddDays((double)lookDay);*//*
|
|
|
|
|
|
string workords = "";
|
|
|
foreach (var mo in morders)
|
|
|
@@ -3158,7 +3212,7 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
|
await _businessDbContext.BulkUpdateAsync(morders);
|
|
|
//按卫亮要求。屏蔽自动下达
|
|
|
- /*if (workords.Length > 0)
|
|
|
+ *//*if (workords.Length > 0)
|
|
|
{
|
|
|
workords = workords.Substring(1, workords.Length - 1);
|
|
|
//如果生成领料单,需清理掉当前工单的占用,然后根据领料单的数据,来生成工单的占用
|
|
|
@@ -3173,7 +3227,7 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
_periodSequenceDet.Insert(insertList);
|
|
|
}
|
|
|
- }*/
|
|
|
+ }*//*
|
|
|
return "ok";
|
|
|
}
|
|
|
else {
|
|
|
@@ -3182,7 +3236,8 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
|
else {
|
|
|
return "选定范围内没有工单需要检查领料。";
|
|
|
- }
|
|
|
+ }*/
|
|
|
+ #endregion
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
@@ -3242,7 +3297,60 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
return "当前工单为【"+ stateText + "】,不允许进行在库检";
|
|
|
}
|
|
|
- var periodSd = _periodSequenceDet.Select(s => s.Domain == domain && s.WorkOrds == workord && s.IsActive).ToList();
|
|
|
+ List<mes_morder> morders = _mysql_mes_morder.GetListAsync(x => domain == x.factory_id.ToString() && x.morder_no == workord && (string.IsNullOrEmpty(x.morder_state) || x.morder_state == MorderEnum.Initial_state || x.morder_state == MorderEnum.Xd_state) && !x.IsDeleted).Result;
|
|
|
+ if (!morders.Any())
|
|
|
+ {
|
|
|
+ return "当前工单不存在,请检查";
|
|
|
+ }
|
|
|
+ var rst = await OrderResourceCheck(morders, domain, userAccount);
|
|
|
+ if (rst == "ok")
|
|
|
+ {
|
|
|
+ //屏蔽日期过滤
|
|
|
+ /*var sysSet = _generalizedCodeMaster.Select(s => s.FldName == "SystemConfig" && s.Val == "WorkOrderLockPeriod" && s.Domain == domain).ToList();
|
|
|
+ decimal lookDay = 0;
|
|
|
+ if (sysSet.Any())
|
|
|
+ {
|
|
|
+ //锁定期
|
|
|
+ lookDay = sysSet[0].UDeci1;
|
|
|
+ }
|
|
|
+ lookDay = lookDay == 0 ? 7 : lookDay;
|
|
|
+ DateTime lookTime = DateTime.Now.Date.AddDays((double)lookDay);*/
|
|
|
+
|
|
|
+ string workords = "";
|
|
|
+ foreach (var mo in morders)
|
|
|
+ {
|
|
|
+ //if (mo.MaterialSituation == MorderEnum.CarehouseComplete && mo.morder_state == MorderEnum.Initial_state && mo.moentry_sys_stime.GetValueOrDefault().Date <= lookTime)
|
|
|
+ if (mo.MaterialSituation == MorderEnum.CarehouseComplete && mo.morder_state == MorderEnum.Initial_state)
|
|
|
+ {
|
|
|
+ workords += "," + mo.morder_no;
|
|
|
+ //mo.morder_state = MorderEnum.Xd_state;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ await _businessDbContext.BulkUpdateAsync(morders);
|
|
|
+ //按卫亮要求。屏蔽自动下达
|
|
|
+ /*if (workords.Length > 0)
|
|
|
+ {
|
|
|
+ workords = workords.Substring(1, workords.Length - 1);
|
|
|
+ //如果生成领料单,需清理掉当前工单的占用,然后根据领料单的数据,来生成工单的占用
|
|
|
+ var pickRst = await CreatePickBill(workords, domain, userAccount);
|
|
|
+ if (pickRst != "ok")
|
|
|
+ {
|
|
|
+ new NLogHelper("ResourceExamineAppService").WriteLog("CreatePickBill", "生成领料单相关数据更新失败:" + pickRst, _currentTenant.Id.ToString());
|
|
|
+ return pickRst;
|
|
|
+ }
|
|
|
+ var insertList = GetCopyOP(workords, domain);
|
|
|
+ if (insertList.Any())
|
|
|
+ {
|
|
|
+ _periodSequenceDet.Insert(insertList);
|
|
|
+ }
|
|
|
+ }*/
|
|
|
+ return "ok";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return rst;
|
|
|
+ }
|
|
|
+ /*var periodSd = _periodSequenceDet.Select(s => s.Domain == domain && s.WorkOrds == workord && s.IsActive).ToList();
|
|
|
if (periodSd.Any())
|
|
|
{
|
|
|
List<mes_morder> morders = _mysql_mes_morder.GetListAsync(x => domain == x.factory_id.ToString() && x.morder_no == workord && (string.IsNullOrEmpty(x.morder_state) || x.morder_state == MorderEnum.Initial_state || x.morder_state == MorderEnum.Xd_state) && !x.IsDeleted).Result;
|
|
|
@@ -3254,7 +3362,7 @@ namespace Business.ResourceExamineManagement
|
|
|
if (rst == "ok")
|
|
|
{
|
|
|
//屏蔽日期过滤
|
|
|
- /*var sysSet = _generalizedCodeMaster.Select(s => s.FldName == "SystemConfig" && s.Val == "WorkOrderLockPeriod" && s.Domain == domain).ToList();
|
|
|
+ *//*var sysSet = _generalizedCodeMaster.Select(s => s.FldName == "SystemConfig" && s.Val == "WorkOrderLockPeriod" && s.Domain == domain).ToList();
|
|
|
decimal lookDay = 0;
|
|
|
if (sysSet.Any())
|
|
|
{
|
|
|
@@ -3262,7 +3370,7 @@ namespace Business.ResourceExamineManagement
|
|
|
lookDay = sysSet[0].UDeci1;
|
|
|
}
|
|
|
lookDay = lookDay == 0 ? 7 : lookDay;
|
|
|
- DateTime lookTime = DateTime.Now.Date.AddDays((double)lookDay);*/
|
|
|
+ DateTime lookTime = DateTime.Now.Date.AddDays((double)lookDay);*//*
|
|
|
|
|
|
string workords = "";
|
|
|
foreach (var mo in morders)
|
|
|
@@ -3276,7 +3384,7 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
|
await _businessDbContext.BulkUpdateAsync(morders);
|
|
|
//按卫亮要求。屏蔽自动下达
|
|
|
- /*if (workords.Length > 0)
|
|
|
+ *//*if (workords.Length > 0)
|
|
|
{
|
|
|
workords = workords.Substring(1, workords.Length - 1);
|
|
|
//如果生成领料单,需清理掉当前工单的占用,然后根据领料单的数据,来生成工单的占用
|
|
|
@@ -3291,7 +3399,7 @@ namespace Business.ResourceExamineManagement
|
|
|
{
|
|
|
_periodSequenceDet.Insert(insertList);
|
|
|
}
|
|
|
- }*/
|
|
|
+ }*//*
|
|
|
return "ok";
|
|
|
}
|
|
|
else
|
|
|
@@ -3301,7 +3409,7 @@ namespace Business.ResourceExamineManagement
|
|
|
}
|
|
|
else {
|
|
|
return "当前工单未生成日计划";
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
|
|
|
/// <summary>
|