AddWorkorder 增加逻辑控制

This commit is contained in:
xiaowei.song
2023-11-15 15:36:18 +08:00
parent e67cf2cf9f
commit ec615329db
3 changed files with 60 additions and 3 deletions

View File

@@ -118,12 +118,47 @@ namespace ZR.Admin.WebApi.Controllers.MES.pro
[HttpPost("addworkorder")]
public IActionResult AddWorkorder([FromBody] ProWorkorder proWorkorder)
{
// TODO 获取工单对象
// TODO 增加插入时间插入人员ToCreate
// TODO 根据工单对象里的计划ID查询生产计划的数量判断工单数和要小于等于计划数能插入正常返回,0或1大于2
int data = 0;
if (proWorkorder != null)
{
proWorkorder.ToCreate(HttpContext);
data = proWorkplanService.AddWorkorder(proWorkorder);
string workPlanId = proWorkorder.FkProPlanId;
string workorderId = proWorkorder.Id;
if (!string.IsNullOrEmpty(workPlanId) && !string.IsNullOrEmpty(workorderId))
{
// 查询生产计划对象
List<ProWorkplan> lstWorkplan = proWorkplanService.GetProWorkplanById(workPlanId);
// 查询所有生产工单
List<ProWorkorder> lstWorkorder = proWorkplanService.GetWorkorderList(workorderId);
// 计算所有工单的数量和,生产计划的数量:比较
if(lstWorkplan!=null && lstWorkplan.Count==1)
{
int countWorkplan = int.Parse(lstWorkplan[0].ActualplanNumber.Trim());
int countWorkorder = 0;
foreach (ProWorkorder item in lstWorkorder)
{
countWorkorder += item.Actualnumber.GetValueOrDefault();
}
countWorkorder += proWorkorder.Actualnumber.GetValueOrDefault();
// 计划数>0 计划数要大于等于当前工单总数
if(countWorkplan > 0 && (countWorkplan>= countWorkorder))
{
proWorkorder.ToCreate(HttpContext);
data = proWorkplanService.AddWorkorder(proWorkorder);
}
else
{
data = 2;
}
}
}
}
return ToResponse(new ApiResult(200, "success", data));
@@ -137,9 +172,23 @@ namespace ZR.Admin.WebApi.Controllers.MES.pro
[HttpPost("updateworkplan")]
public IActionResult UpdateWorkorder([FromBody] ProWorkorder proWorkorder)
{
// TODO 判断更新的数量是否超过计划数
int data = 0;
if (proWorkorder != null)
{
string workPlanId = proWorkorder.FkProPlanId;
if (!string.IsNullOrEmpty(workPlanId))
{
// 查询生产计划对象
// 查询所有生产工单
// 计算所有工单的数量和,生产计划的数量:比较
}
proWorkorder.ToUpdate(HttpContext);
data = proWorkplanService.UpdateWorkorder(proWorkorder);