gcw_MV9p2JJN ef38b01fed - 内存使用量大幅降低 :通过批处理机制,内存占用可减少70%-90%
- 处理速度显著提升 :批量数据库操作可将导入速度提升3-5倍
- 系统稳定性增强 :避免了大数据量导致的内存溢出和超时问题
- 代码可维护性提高 :模块化设计使后续修改和扩展更加容易
2025-09-08 16:02:08 +08:00

86 lines
3.0 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using DOAN.Admin.WebApi.Filters;
using DOAN.Model;
using DOAN.Model.MES.product.Dto;
using DOAN.Service.MES.group.IService;
using DOAN.Service.MES.product;
using DOAN.Service.MES.product.IService;
using Microsoft.AspNetCore.Mvc;
namespace DOAN.WebApi.Controllers.MES.product
{
[Verify]
[Route("mes/productManagement/ProReportwork")]
public class ProweekplanManageController : BaseController
{
/// <summary>
/// 周计划表接口
/// </summary>
private readonly IProweekplanManageService _proweekplanManageService;
public ProweekplanManageController(IProweekplanManageService proweekplanManageService)
{
_proweekplanManageService = proweekplanManageService;
}
//TODO 查询计划列表 年周零件号
[HttpPost("searchWeekplan")]
[Log(Title = "查询计划列表 年周零件号", BusinessType = BusinessType.EXPORT, IsSaveRequestData = true, IsSaveResponseData = false)]
public IActionResult SearchWeekplan([FromBody] WeekplanQueryDto weekplanQuery)
{
PagedInfo<ProWeeklyPlanAndDateDto> result = _proweekplanManageService.SearchWeekplan(weekplanQuery);
return SUCCESS(result);
}
//TODO excel导入计划
/// <summary>
/// 导入周计划
/// </summary>
/// <param name="formFile">使用IFromFile必须使用name属性否则获取不到文件</param>
/// <returns>导入成功数 若-1 则excel读取异常</returns>
[HttpPost("importWeekplan")]
[Log(Title = "生产工单导入", BusinessType = BusinessType.IMPORT, IsSaveRequestData = false, IsSaveResponseData = true)]
[AllowAnonymous]
public IActionResult ImportData([FromForm(Name = "file")] IFormFile formFile)
{
if (formFile == null)
{
return SUCCESS(null);
}
int result = _proweekplanManageService.ImportExcel(formFile, HttpContext.GetName());
return SUCCESS(result);
}
//TODO 导出模板
/// <summary>
/// 生产工单导入模板下载 workorder 启用9/14
/// </summary>
/// <returns></returns>
[HttpGet("importTemplate")]
[Log(Title = "生产周计划导入模板", BusinessType = BusinessType.EXPORT, IsSaveRequestData = true, IsSaveResponseData = false)]
[AllowAnonymous]
public IActionResult ImportTemplateExcel()
{
(string, string) result = DownloadImportTemplate("weekplan");
return ExportExcel(result.Item2, result.Item1);
}
//TODO 导出excel
//TODO 更新本周实际装配数量进度 输入年,周,更新计划进度
[HttpGet("updateactualassemblyprogress")]
public IActionResult UpdateActualAssemblyProgress(int year, int week)
{
int result = _proweekplanManageService.UpdateActualAssemblyProgress(year, week);
return SUCCESS(result);
}
}
}