AdoS0WorkOrdControlController.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. using Admin.NET.Plugin.AiDOP.Dto.S0.Manufacturing;
  2. using Admin.NET.Plugin.AiDOP.Entity.S0.Manufacturing;
  3. namespace Admin.NET.Plugin.AiDOP.Controllers.S0.Manufacturing;
  4. /// <summary>
  5. /// 工单控制参数设置(WorkOrdControl):单记录配置表单。
  6. /// </summary>
  7. [ApiController]
  8. [Route("api/s0/manufacturing/work-ord-control")]
  9. [AllowAnonymous]
  10. [NonUnify]
  11. public class AdoS0WorkOrdControlController : ControllerBase
  12. {
  13. private readonly SqlSugarRepository<AdoS0WorkOrdControl> _rep;
  14. public AdoS0WorkOrdControlController(SqlSugarRepository<AdoS0WorkOrdControl> rep)
  15. {
  16. _rep = rep;
  17. }
  18. [HttpGet]
  19. public async Task<IActionResult> GetOneAsync([FromQuery] AdoS0WorkOrdControlGetDto q)
  20. {
  21. var domain = q.Domain.Trim();
  22. var item = await _rep.AsQueryable()
  23. .Where(x => x.Domain == domain)
  24. .OrderBy(x => x.Id)
  25. .FirstAsync();
  26. return Ok(item);
  27. }
  28. [HttpPost("upsert")]
  29. public async Task<IActionResult> UpsertAsync([FromBody] AdoS0WorkOrdControlUpsertDto dto)
  30. {
  31. var now = DateTime.Now;
  32. var domain = dto.Domain.Trim();
  33. AdoS0WorkOrdControl? entity = null;
  34. if (dto.Id is > 0)
  35. entity = await _rep.GetByIdAsync(dto.Id.Value);
  36. if (entity == null)
  37. {
  38. entity = await _rep.AsQueryable()
  39. .Where(x => x.Domain == domain)
  40. .OrderBy(x => x.Id)
  41. .FirstAsync();
  42. }
  43. if (entity == null)
  44. {
  45. entity = new AdoS0WorkOrdControl
  46. {
  47. Domain = domain,
  48. EnteringPer = dto.EnteringPer,
  49. PaintingPer = dto.PaintingPer,
  50. IssuedInterval = dto.IssuedInterval,
  51. PostVarsatSFC = dto.PostVarsatSFC,
  52. IsIssued = dto.IsIssued,
  53. IsPrintRejectBarcode = dto.IsPrintRejectBarcode,
  54. IsPrintScrapBarcode = dto.IsPrintScrapBarcode,
  55. IsQualityConfirm = dto.IsQualityConfirm,
  56. IsActive = dto.IsActive,
  57. IsConfirm = dto.IsConfirm,
  58. CreateUser = dto.CreateUser ?? dto.UpdateUser,
  59. CreateTime = dto.CreateTime ?? dto.UpdateTime ?? now,
  60. UpdateUser = dto.UpdateUser,
  61. UpdateTime = dto.UpdateTime ?? now
  62. };
  63. await _rep.AsInsertable(entity).ExecuteReturnEntityAsync();
  64. return Ok(entity);
  65. }
  66. entity.Domain = domain;
  67. entity.EnteringPer = dto.EnteringPer;
  68. entity.PaintingPer = dto.PaintingPer;
  69. entity.IssuedInterval = dto.IssuedInterval;
  70. entity.PostVarsatSFC = dto.PostVarsatSFC;
  71. entity.IsIssued = dto.IsIssued;
  72. entity.IsPrintRejectBarcode = dto.IsPrintRejectBarcode;
  73. entity.IsPrintScrapBarcode = dto.IsPrintScrapBarcode;
  74. entity.IsQualityConfirm = dto.IsQualityConfirm;
  75. entity.IsActive = dto.IsActive;
  76. entity.IsConfirm = dto.IsConfirm;
  77. entity.UpdateUser = dto.UpdateUser;
  78. entity.UpdateTime = dto.UpdateTime ?? now;
  79. await _rep.AsUpdateable(entity).ExecuteCommandAsync();
  80. return Ok(entity);
  81. }
  82. }