333
|
|
@ -14,6 +14,7 @@ using ZR.ServiceCore.Resources;
|
|||
using ZR.Service.Business.IBusinessService;
|
||||
using ZR.Service.Business;
|
||||
using System.Threading.Tasks;
|
||||
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinExpressIntracityUpdateStoreRequest.Types;
|
||||
|
||||
namespace ZR.Admin.WebApi.Controllers
|
||||
{
|
||||
|
|
@ -32,6 +33,8 @@ namespace ZR.Admin.WebApi.Controllers
|
|||
private readonly IStringLocalizer<SharedResource> _localizer;
|
||||
public readonly ISysDeptService _deptService;
|
||||
public readonly ISysDictDataService sysDictDataService;
|
||||
|
||||
private string domainUrl = AppSettings.GetConfig("Upload:uploadUrl");
|
||||
/// <summary>
|
||||
/// 工作记录接口
|
||||
/// </summary>
|
||||
|
|
@ -253,6 +256,7 @@ namespace ZR.Admin.WebApi.Controllers
|
|||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Route("/addworkrecord")]
|
||||
[AllowAnonymous]
|
||||
public async Task<IActionResult> AddCamWorkRecord([FromBody] CamRecordWorkDto parm)
|
||||
{
|
||||
if (parm.Workers == null || parm.Workers.Count == 0)
|
||||
|
|
@ -263,40 +267,77 @@ namespace ZR.Admin.WebApi.Controllers
|
|||
{
|
||||
return ToResponse(ResultCode.PARAM_ERROR, "请上传图片");
|
||||
}
|
||||
// -当日所有照片
|
||||
//-当日所有照片
|
||||
//- 当日根据【人名】分类的照片
|
||||
//- 当日根据【工作内容】分类的照片
|
||||
//- 当日根据【部门】分类的照片
|
||||
var imageprx = ImageConverter.GetFileExtensionFromBase64(parm.Image);
|
||||
var imageName = ImageConverter.GenerateImageFileName(imageprx);
|
||||
var filePath = "files/" + DateTime.Now.ToString("yyyyMMdd");
|
||||
var path = Path.GetFullPath(filePath);
|
||||
//try
|
||||
//{
|
||||
// var path = Path.GetFullPath(filePath);
|
||||
if (!Directory.Exists(path))
|
||||
var filePath = "/workfiles/" + DateTime.Now.ToString("yyyy/yyyyMMdd");
|
||||
string savePath = Path.Combine(WebHostEnvironment.WebRootPath);
|
||||
var path = savePath + filePath;
|
||||
var images = ImageConverter.Base64ToImageBytes(parm.Image);
|
||||
if (images.Length == 0)
|
||||
{
|
||||
Directory.CreateDirectory(path);
|
||||
return ToResponse(ResultCode.CUSTOM_ERROR, "图片上传失败");
|
||||
}
|
||||
var participantsUrl = $"{path}/参与人员/";
|
||||
var photosDay = $"{path}/当日照片/";
|
||||
var jobContent = $"{path}/工作内容/";
|
||||
var department = $"{path}/部门/";
|
||||
//添加当日照片
|
||||
if (!Directory.Exists(photosDay))
|
||||
{
|
||||
Directory.CreateDirectory(photosDay);
|
||||
}
|
||||
var photosDayFileName = $"{photosDay}/{imageName}";
|
||||
using (var stream = new FileStream(photosDayFileName, FileMode.Create))
|
||||
{
|
||||
await stream.WriteAsync(images, 0, images.Length);
|
||||
}
|
||||
//添加当日根据【人名】分类的照片
|
||||
foreach (var work in parm.Workers)
|
||||
{
|
||||
var participantsUrlFIleName = $"{participantsUrl}/{work}/";
|
||||
if (!Directory.Exists(participantsUrlFIleName))
|
||||
{
|
||||
Directory.CreateDirectory(participantsUrlFIleName);
|
||||
}
|
||||
participantsUrlFIleName += imageName;
|
||||
using (var stream = new FileStream(participantsUrlFIleName, FileMode.Create))
|
||||
{
|
||||
await stream.WriteAsync(images, 0, images.Length);
|
||||
}
|
||||
}
|
||||
//添加当日根据【工作内容】分类的照片
|
||||
var jobContentUrl = $"{jobContent}/{parm.Content}/";
|
||||
if (!Directory.Exists(jobContentUrl))
|
||||
{
|
||||
Directory.CreateDirectory(jobContentUrl);
|
||||
}
|
||||
jobContentUrl += imageName;
|
||||
using (var stream = new FileStream(jobContentUrl, FileMode.Create))
|
||||
{
|
||||
await stream.WriteAsync(images, 0, images.Length);
|
||||
}
|
||||
//添加当日根据【部门】分类的照片
|
||||
var departmentUrl = $"{department}{parm.DeptName}/";
|
||||
if (!Directory.Exists(departmentUrl))
|
||||
{
|
||||
Directory.CreateDirectory(departmentUrl);
|
||||
}
|
||||
departmentUrl += imageName;
|
||||
using (var stream = new FileStream(departmentUrl, FileMode.Create))
|
||||
{
|
||||
await stream.WriteAsync(images, 0, images.Length);
|
||||
}
|
||||
// using (var stream = new FileStream(finalPath, FileMode.Create))
|
||||
// {
|
||||
// await stream.WriteAsync(images, 0, images.Length);
|
||||
// }
|
||||
//}
|
||||
//catch (Exception ex)
|
||||
//{
|
||||
//}
|
||||
//if (!string.IsNullOrEmpty(domainUrl))
|
||||
//{
|
||||
// finalPath = domainUrl + "/" + finalPath;
|
||||
//}
|
||||
//备份一下本地
|
||||
var modal = parm.Adapt<CamWorkrecord>().ToCreate(HttpContext);
|
||||
modal.CreateTime = DateTime.Now;
|
||||
modal.UpdateTime = DateTime.Now;
|
||||
modal.ImageUrl = $"{domainUrl}{filePath}/当日照片/{imageName}";
|
||||
modal = await _CamWorkrecordService.Insertable(modal).ExecuteReturnEntityAsync();
|
||||
var response = _CamWorkrecordService.AddCamWorkrecord(modal);
|
||||
var workid = response.Id;
|
||||
var workid = modal.Id;
|
||||
var workers = new List<CamWorker>();
|
||||
foreach (var item in parm.Workers)
|
||||
{
|
||||
|
|
@ -310,7 +351,7 @@ namespace ZR.Admin.WebApi.Controllers
|
|||
workers.Add(worker);
|
||||
}
|
||||
_CamWorkerService.AsInsertable(workers).ExecuteCommand();
|
||||
return SUCCESS(response);
|
||||
return SUCCESS(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
"DemoMode": false, //是否演示模式
|
||||
"SingleLogin": false, //是否允许多设备/浏览器登录
|
||||
"workId": 1, //雪花id唯一数字
|
||||
"sqlExecutionTime": 5, //Sql执行时间超过多少秒记录日志并警报
|
||||
"sqlExecutionTime": 5, //Sql执行时间超过多少秒记录日志并警报
|
||||
"Upload": {
|
||||
"uploadUrl": "http://localhost:8888", //本地存储资源访问路径
|
||||
"localSavePath": "file", //本地上传默认文件存储目录 wwwroot
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 1002 KiB |
|
After Width: | Height: | Size: 1002 KiB |
|
After Width: | Height: | Size: 994 KiB |
|
After Width: | Height: | Size: 994 KiB |
|
After Width: | Height: | Size: 1002 KiB |
|
After Width: | Height: | Size: 994 KiB |
|
After Width: | Height: | Size: 1002 KiB |
|
After Width: | Height: | Size: 994 KiB |
|
After Width: | Height: | Size: 1002 KiB |
|
|
@ -88,7 +88,24 @@ public static class ImageConverter
|
|||
// 拼接文件名
|
||||
return $"{timestamp}_{randomNumber}{extension}";
|
||||
}
|
||||
/// <summary>
|
||||
/// 生成图片名称:时间戳(秒)+4位随机数字
|
||||
/// 示例:16907832451234.png
|
||||
/// </summary>
|
||||
/// <param name="extension">文件扩展名(例如 .png、.jpg),可选,默认值为 .png</param>
|
||||
/// <returns>生成的图片文件名</returns>
|
||||
public static string GenerateImageFileNameTime(string extension = ".png")
|
||||
{
|
||||
// 获取当前时间戳(秒)
|
||||
string now = DateTime.Now.ToString("yyyyMMddHHmmssfff");
|
||||
|
||||
// 生成 4 位随机数(1000 - 9999)
|
||||
Random random = new Random();
|
||||
int randomNumber = random.Next(1000, 10000);
|
||||
|
||||
// 拼接文件名
|
||||
return $"{now}_{randomNumber}{extension}";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||