This commit is contained in:
zpc 2025-08-20 00:31:01 +08:00
parent 113989577d
commit 82a7d3e6aa
3 changed files with 88 additions and 7 deletions

View File

@ -33,13 +33,15 @@ namespace ZR.Admin.WebApi.Controllers.Business
private OptionsSetting OptionsSetting; private OptionsSetting OptionsSetting;
private IWebHostEnvironment WebHostEnvironment; private IWebHostEnvironment WebHostEnvironment;
private readonly ICamWorkerService _CamWorkerService;
public CamWorkrecordController(ICamWorkrecordService CamWorkrecordService, IOptions<OptionsSetting> options, IWebHostEnvironment webHostEnvironment,
public CamWorkrecordController(ICamWorkrecordService CamWorkrecordService, IOptions<OptionsSetting> options, IWebHostEnvironment webHostEnvironment) ICamWorkerService camWorkerService)
{ {
_CamWorkrecordService = CamWorkrecordService; _CamWorkrecordService = CamWorkrecordService;
OptionsSetting = options.Value; OptionsSetting = options.Value;
WebHostEnvironment = webHostEnvironment; WebHostEnvironment = webHostEnvironment;
_CamWorkerService = camWorkerService;
} }
/// <summary> /// <summary>
@ -68,6 +70,11 @@ namespace ZR.Admin.WebApi.Controllers.Business
var response = _CamWorkrecordService.GetInfo(Id); var response = _CamWorkrecordService.GetInfo(Id);
var info = response.Adapt<CamWorkrecordDto>(); var info = response.Adapt<CamWorkrecordDto>();
if (info != null)
{
var names = _CamWorkerService.AsQueryable().Where(it => it.WorkrecordId == info.Id).Select(it => it.WorkerName).ToList();
info.Worker = names != null && names.Count > 0 ? string.Join(",", names) : "";
}
return SUCCESS(info); return SUCCESS(info);
} }
@ -81,7 +88,8 @@ namespace ZR.Admin.WebApi.Controllers.Business
public IActionResult AddCamWorkrecord([FromBody] CamWorkrecordDto parm) public IActionResult AddCamWorkrecord([FromBody] CamWorkrecordDto parm)
{ {
var modal = parm.Adapt<CamWorkrecord>().ToCreate(HttpContext); var modal = parm.Adapt<CamWorkrecord>().ToCreate(HttpContext);
modal.CreateTime = DateTime.Now;
modal.UpdateTime = DateTime.Now;
var response = _CamWorkrecordService.AddCamWorkrecord(modal); var response = _CamWorkrecordService.AddCamWorkrecord(modal);
return SUCCESS(response); return SUCCESS(response);
@ -97,6 +105,7 @@ namespace ZR.Admin.WebApi.Controllers.Business
public IActionResult UpdateCamWorkrecord([FromBody] CamWorkrecordDto parm) public IActionResult UpdateCamWorkrecord([FromBody] CamWorkrecordDto parm)
{ {
var modal = parm.Adapt<CamWorkrecord>().ToUpdate(HttpContext); var modal = parm.Adapt<CamWorkrecord>().ToUpdate(HttpContext);
modal.UpdateTime = DateTime.Now;
var response = _CamWorkrecordService.UpdateCamWorkrecord(modal); var response = _CamWorkrecordService.UpdateCamWorkrecord(modal);
return ToResponse(response); return ToResponse(response);

View File

@ -132,7 +132,7 @@ namespace ZR.Admin.WebApi.Controllers
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[ActionPermissionFilter(Permission = "common")] [ActionPermissionFilter(Permission = "common")]
public async Task<IActionResult> UploadFile([FromForm] UploadDto uploadDto, IFormFile file, StoreType storeType = StoreType.ALIYUN) public async Task<IActionResult> UploadFile([FromForm] UploadDto uploadDto, IFormFile file, StoreType storeType = StoreType.LOCAL)
{ {
if (file == null) throw new CustomException(ResultCode.PARAM_ERROR, "上传文件不能为空"); if (file == null) throw new CustomException(ResultCode.PARAM_ERROR, "上传文件不能为空");
SysFile sysfile = new(); SysFile sysfile = new();
@ -270,6 +270,7 @@ namespace ZR.Admin.WebApi.Controllers
{ {
return ToResponse(ResultCode.PARAM_ERROR, "请上传图片"); return ToResponse(ResultCode.PARAM_ERROR, "请上传图片");
} }
//-当日所有照片 //-当日所有照片
//- 当日根据【人名】分类的照片 //- 当日根据【人名】分类的照片
//- 当日根据【工作内容】分类的照片 //- 当日根据【工作内容】分类的照片
@ -284,6 +285,67 @@ namespace ZR.Admin.WebApi.Controllers
{ {
return ToResponse(ResultCode.CUSTOM_ERROR, "图片上传失败"); return ToResponse(ResultCode.CUSTOM_ERROR, "图片上传失败");
} }
if (parm.Id != null && parm.Id > 0)
{
//删除之前的人员照片
var m = await _CamWorkrecordService.AsQueryable().Where(it => it.Id == parm.Id).FirstAsync();
var m_workers = await _CamWorkerService.AsQueryable().Where(it => it.WorkrecordId == parm.Id).ToListAsync();
if (m == null)
{
return ToResponse(ResultCode.PARAM_ERROR, "未找到该记录");
}
if (!string.IsNullOrEmpty(m.ImageUrl))
{
//m.ImageUrl http://localhost:8888/workfiles/202508/20250819/当日照片/1755617080_7078.jpg
var imagePath = m.ImageUrl.Substring(m.ImageUrl.IndexOf("workfiles"));
var fullImagePath = Path.Combine(WebHostEnvironment.WebRootPath, imagePath);
// 获取文件名
var fileName = Path.GetFileName(fullImagePath);
var directoryPath = Path.GetDirectoryName(fullImagePath);
// 删除当日照片
if (File.Exists(fullImagePath))
{
File.Delete(fullImagePath);
}
// 删除参与人员照片
var participantsPath = Path.Combine(WebHostEnvironment.WebRootPath, "workfiles", DateTime.Now.ToString("yyyyMM/yyyyMMdd"), "参与人员");
if (Directory.Exists(participantsPath))
{
foreach (var workerDir in Directory.GetDirectories(participantsPath))
{
var workerImagePath = Path.Combine(workerDir, fileName);
if (File.Exists(workerImagePath))
{
File.Delete(workerImagePath);
}
}
}
// 删除工作内容照片
var jobContentPath = Path.Combine(WebHostEnvironment.WebRootPath, "workfiles", DateTime.Now.ToString("yyyyMM/yyyyMMdd"), "工作内容", m.Content);
var jobContentImagePath = Path.Combine(jobContentPath, fileName);
if (File.Exists(jobContentImagePath))
{
File.Delete(jobContentImagePath);
}
// 删除部门照片
var departmentPath = Path.Combine(WebHostEnvironment.WebRootPath, "workfiles", DateTime.Now.ToString("yyyyMM/yyyyMMdd"), "部门", m.DeptName);
var departmentImagePath = Path.Combine(departmentPath, fileName);
if (File.Exists(departmentImagePath))
{
File.Delete(departmentImagePath);
}
//删除施工人员数据
await _CamWorkerService.DeleteAsync(it => it.WorkrecordId == parm.Id);
}
}
int MaxSize = 300 * 1024; // 300KB = 307200 字节 int MaxSize = 300 * 1024; // 300KB = 307200 字节
// 如果图片大于300KB才压缩 // 如果图片大于300KB才压缩
if (images.Length > MaxSize) if (images.Length > MaxSize)
@ -348,7 +410,16 @@ namespace ZR.Admin.WebApi.Controllers
modal.CreateTime = DateTime.Now; modal.CreateTime = DateTime.Now;
modal.UpdateTime = DateTime.Now; modal.UpdateTime = DateTime.Now;
modal.ImageUrl = $"{domainUrl}{filePath}/当日照片/{imageName}"; modal.ImageUrl = $"{domainUrl}{filePath}/当日照片/{imageName}";
if (parm.Id != null && parm.Id > 0)
{
//修改实体类
await _CamWorkrecordService.UpdateAsync(modal);
}
else
{
modal = await _CamWorkrecordService.Insertable(modal).ExecuteReturnEntityAsync(); modal = await _CamWorkrecordService.Insertable(modal).ExecuteReturnEntityAsync();
}
var workid = modal.Id; var workid = modal.Id;
var workers = new List<CamWorker>(); var workers = new List<CamWorker>();
foreach (var item in parm.Workers) foreach (var item in parm.Workers)

View File

@ -65,6 +65,7 @@ namespace ZR.Model.Business.Dto
/// </summary> /// </summary>
public class CamRecordWorkDto public class CamRecordWorkDto
{ {
public int? Id { get; set; }
/// <summary> /// <summary>
/// 部门名称 /// 部门名称
/// </summary> /// </summary>