333
This commit is contained in:
parent
113989577d
commit
82a7d3e6aa
|
|
@ -33,13 +33,15 @@ namespace ZR.Admin.WebApi.Controllers.Business
|
|||
|
||||
private OptionsSetting OptionsSetting;
|
||||
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;
|
||||
OptionsSetting = options.Value;
|
||||
WebHostEnvironment = webHostEnvironment;
|
||||
_CamWorkerService = camWorkerService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -68,6 +70,11 @@ namespace ZR.Admin.WebApi.Controllers.Business
|
|||
var response = _CamWorkrecordService.GetInfo(Id);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
@ -81,7 +88,8 @@ namespace ZR.Admin.WebApi.Controllers.Business
|
|||
public IActionResult AddCamWorkrecord([FromBody] CamWorkrecordDto parm)
|
||||
{
|
||||
var modal = parm.Adapt<CamWorkrecord>().ToCreate(HttpContext);
|
||||
|
||||
modal.CreateTime = DateTime.Now;
|
||||
modal.UpdateTime = DateTime.Now;
|
||||
var response = _CamWorkrecordService.AddCamWorkrecord(modal);
|
||||
|
||||
return SUCCESS(response);
|
||||
|
|
@ -97,6 +105,7 @@ namespace ZR.Admin.WebApi.Controllers.Business
|
|||
public IActionResult UpdateCamWorkrecord([FromBody] CamWorkrecordDto parm)
|
||||
{
|
||||
var modal = parm.Adapt<CamWorkrecord>().ToUpdate(HttpContext);
|
||||
modal.UpdateTime = DateTime.Now;
|
||||
var response = _CamWorkrecordService.UpdateCamWorkrecord(modal);
|
||||
|
||||
return ToResponse(response);
|
||||
|
|
@ -148,7 +157,7 @@ namespace ZR.Admin.WebApi.Controllers.Business
|
|||
});
|
||||
ExcelHelper excelHelper = new ExcelHelper(WebHostEnvironment);
|
||||
ExcelPackage.License.SetNonCommercialPersonal("pnaa");
|
||||
var result = ExportWorkRecordExcel(list, "工作记录", 200, 70,60);
|
||||
var result = ExportWorkRecordExcel(list, "工作记录", 200, 70, 60);
|
||||
//ExportExcelMini(list, "工作记录", "工作记录");
|
||||
//ExportExcelWithImagesInBatches(result.Item2, "工作记录", urlList, 10);
|
||||
//loadExcel();
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ namespace ZR.Admin.WebApi.Controllers
|
|||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[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, "上传文件不能为空");
|
||||
SysFile sysfile = new();
|
||||
|
|
@ -270,12 +270,13 @@ namespace ZR.Admin.WebApi.Controllers
|
|||
{
|
||||
return ToResponse(ResultCode.PARAM_ERROR, "请上传图片");
|
||||
}
|
||||
|
||||
//-当日所有照片
|
||||
//- 当日根据【人名】分类的照片
|
||||
//- 当日根据【工作内容】分类的照片
|
||||
//- 当日根据【部门】分类的照片
|
||||
var imageprx = ImageConverter.GetFileExtensionFromBase64(parm.Image);
|
||||
|
||||
|
||||
var filePath = "/workfiles/" + DateTime.Now.ToString("yyyyMM/yyyyMMdd");
|
||||
string savePath = Path.Combine(WebHostEnvironment.WebRootPath);
|
||||
var path = savePath + filePath;
|
||||
|
|
@ -284,6 +285,67 @@ namespace ZR.Admin.WebApi.Controllers
|
|||
{
|
||||
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 字节
|
||||
// 如果图片大于300KB才压缩
|
||||
if (images.Length > MaxSize)
|
||||
|
|
@ -348,7 +410,16 @@ namespace ZR.Admin.WebApi.Controllers
|
|||
modal.CreateTime = DateTime.Now;
|
||||
modal.UpdateTime = DateTime.Now;
|
||||
modal.ImageUrl = $"{domainUrl}{filePath}/当日照片/{imageName}";
|
||||
modal = await _CamWorkrecordService.Insertable(modal).ExecuteReturnEntityAsync();
|
||||
if (parm.Id != null && parm.Id > 0)
|
||||
{
|
||||
//修改实体类
|
||||
await _CamWorkrecordService.UpdateAsync(modal);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
modal = await _CamWorkrecordService.Insertable(modal).ExecuteReturnEntityAsync();
|
||||
}
|
||||
var workid = modal.Id;
|
||||
var workers = new List<CamWorker>();
|
||||
foreach (var item in parm.Workers)
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ namespace ZR.Model.Business.Dto
|
|||
/// </summary>
|
||||
public class CamRecordWorkDto
|
||||
{
|
||||
public int? Id { get; set; }
|
||||
/// <summary>
|
||||
/// 部门名称
|
||||
/// </summary>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user