| MES.Service/Dto/webApi/ErpFactoryDate.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| MES.Service/Modes/MesFactoryDate.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| MES.Service/service/BasicData/MesFactoryDateManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| MESApplication/Controllers/BasicData/MesFactoryDateController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
MES.Service/Dto/webApi/ErpFactoryDate.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ namespace MES.Service.Dto.webApi; /// <summary> /// ERP工忥æä¼ è¾å¯¹è±¡ /// </summary> public class ErpFactoryDate { /// <summary>æä½ç±»å</summary> public string? Type { get; set; } /// <summary>åæ®ç¶æ</summary> public string? FDocumentStatus { get; set; } /// <summary>ç¦ç¨ç¶æ</summary> public string? FForbidStatus { get; set; } /// <summary>ERP主é®</summary> public string? ErpId { get; set; } /// <summary>åºå·</summary> public string? FSeq { get; set; } /// <summary>使ç¨ç»ç»</summary> public string? FUseOrgId { get; set; } /// <summary>æ¥æ</summary> public string? FDay { get; set; } /// <summary>æ¥æç±»å</summary> public string? FDateStyle { get; set; } /// <summary>æ¯å¦ç产</summary> public string? FIsWorkTime { get; set; } /// <summary>æ¥æå ç </summary> public string? FInterId { get; set; } } MES.Service/Modes/MesFactoryDate.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,53 @@ using SqlSugar; namespace MES.Service.Modes; /// <summary> /// MES工忥æå®ä½ /// </summary> [SugarTable("MES_FactoryDate")] public class MesFactoryDate { /// <summary> /// é»è®¤å¼: (newid()) /// </summary> [SugarColumn(ColumnName = "guid", IsPrimaryKey = true)] public Guid Guid { get; set; } /// <summary>åæ®ç¶æ</summary> [SugarColumn(ColumnName = "FDocumentStatus")] public string? FDocumentStatus { get; set; } /// <summary>æ¯å¦ç¦ç¨</summary> [SugarColumn(ColumnName = "FForbidStatus")] public string? FForbidStatus { get; set; } /// <summary>ERP主é®</summary> [SugarColumn(ColumnName = "ErpId")] public string? ErpId { get; set; } /// <summary>åºå·</summary> [SugarColumn(ColumnName = "Seq")] public string? Seq { get; set; } /// <summary>ç»ç»æºæId</summary> [SugarColumn(ColumnName = "OrgId")] public string? OrgId { get; set; } /// <summary>æ¥æ</summary> [SugarColumn(ColumnName = "FactoryDate")] public string? FactoryDate { get; set; } /// <summary>æ¥æç±»å</summary> [SugarColumn(ColumnName = "DateType")] public string? DateType { get; set; } /// <summary>æ¯å¦ç产</summary> [SugarColumn(ColumnName = "IsWork")] public string? IsWork { get; set; } /// <summary>æ¥æå ç </summary> [SugarColumn(ColumnName = "InterId")] public string? InterId { get; set; } [SugarColumn(IsIgnore = true)] public string? Type { get; set; } } MES.Service/service/BasicData/MesFactoryDateManager.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,130 @@ using MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; using SqlSugar; using System.ComponentModel.DataAnnotations; namespace MES.Service.service.BasicData; public class MesFactoryDateManager : Repository<MesFactoryDate> { public bool Save(ErpFactoryDate factoryDate) { var entity = ConvertToEntity(factoryDate); return UseTransaction(db => { switch (factoryDate.Type) { case "3": // å é¤ return DeleteFactoryDate(db, entity.ErpId) ? 1 : 0; case "2": case "4": // æ°å¢æåæ¥ return InsertOrUpdate(db, entity) ? 1 : 0; default: throw new ArgumentNullException($"type没æ{factoryDate.Type}è¿ä¸ªç±»åçåæ°"); } }) > 0; } public bool SaveList(List<ErpFactoryDate> factoryDates) { var list = factoryDates.Select(ConvertToEntity).ToList(); var groupBy = list.GroupBy(s => s.Type) .ToDictionary(g => g.Key, g => g.ToList()); return UseTransaction(db => { foreach (var group in groupBy) { switch (group.Key) { case "3": if (!DeleteFactoryDateBatch(db, group.Value)) throw new NotImplementedException("å é¤å¤±è´¥"); break; case "2": case "4": if (!InsertOrUpdateBatch(db, group.Value)) throw new NotImplementedException("åæ¥å¤±è´¥"); break; default: throw new ArgumentNullException($"type没æ{group.Key}è¿ä¸ªç±»åçåæ°"); } } return 1; }) > 0; } private MesFactoryDate ConvertToEntity(ErpFactoryDate dto) { string DateType = ""; switch (dto.FDateStyle) { case "1": DateType = "工使¥"; break; case "2": DateType = "伿¯æ¥"; break; case "3": DateType = "æ³å®è忥"; break; case "4": DateType = "空"; break; } return new MesFactoryDate { Guid = Guid.NewGuid(), Type = dto.Type, FDocumentStatus = dto.FDocumentStatus, FForbidStatus = dto.FForbidStatus, ErpId = dto.ErpId, Seq = dto.FSeq, OrgId = dto.FUseOrgId, FactoryDate = dto.FDay, DateType = DateType, IsWork = dto.FIsWorkTime, InterId = dto.FInterId }; } private bool DeleteFactoryDate(SqlSugarScope db, string? erpId) { var result = db.Deleteable<MesFactoryDate>() .Where(s => s.ErpId == erpId).ExecuteCommand(); if (result > 0) return true; throw new NotImplementedException("å é¤å¤±è´¥"); } private bool DeleteFactoryDateBatch(SqlSugarScope db, List<MesFactoryDate> list) { var erpIds = list.Select(it => it.ErpId).ToArray(); var result = db.Deleteable<MesFactoryDate>() .Where(s => erpIds.Contains(s.ErpId)).ExecuteCommand(); if (result > 0) return true; throw new NotImplementedException("å é¤å¤±è´¥"); } private bool InsertOrUpdate(SqlSugarScope db, MesFactoryDate entity) { db.Deleteable<MesFactoryDate>().Where(s => s.ErpId == entity.ErpId) .ExecuteCommand(); var insert = db.Insertable(entity).ExecuteCommand(); return insert > 0; } private bool InsertOrUpdateBatch(SqlSugarScope db, List<MesFactoryDate> list) { return list.All(entity => InsertOrUpdate(db, entity)); } } MESApplication/Controllers/BasicData/MesFactoryDateController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,223 @@ using System.Dynamic; using MES.Service.Dto.webApi; using MES.Service.Modes; using MES.Service.service; using MES.Service.service.BasicData; using MES.Service.util; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; namespace MESApplication.Controllers.BasicData; [ApiController] [Route("api/[controller]")] public class MesFactoryDateController : ControllerBase { private readonly MessageCenterManager _manager = new(); private readonly MesFactoryDateManager m = new(); private readonly string METHOD = "POST"; private readonly string TableName = "MES_FACTORYDATE"; private readonly string URL = "http://localhost:10054/api/MesFactoryDate/"; [HttpPost("Save")] public ResponseResult Save(ErpFactoryDate unit) { var entity = new MessageCenter(); entity.TableName = TableName; entity.Url = URL + "Save"; entity.Method = METHOD; entity.Data = JsonConvert.SerializeObject(unit); entity.Status = 1; entity.CreateBy = "PL017"; entity.Route = unit.ErpId; try { dynamic resultInfos = new ExpandoObject(); var save = m.Save(unit); resultInfos.tbBillList = save; entity.Result = 0; if (save) entity.Result = 1; entity.DealWith = 1; _manager.save(entity); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { entity.Result = 0; entity.DealWith = 0; entity.ResultData = ex.Message; _manager.save(entity); return ResponseResult.ResponseError(ex); } } [HttpPost("SaveList")] public ResponseResult SaveList(List<ErpFactoryDate> units) { var entity = new MessageCenter(); entity.TableName = TableName; entity.Url = URL + "SaveList"; entity.Method = METHOD; entity.Data = JsonConvert.SerializeObject(units); entity.Status = 1; entity.CreateBy = "PL017"; try { dynamic resultInfos = new ExpandoObject(); var save = m.SaveList(units); resultInfos.tbBillList = save; entity.Result = 0; if (save) entity.Result = 1; entity.DealWith = 1; _manager.save(entity); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { entity.Result = 0; entity.DealWith = 0; entity.ResultData = ex.Message; _manager.save(entity); return ResponseResult.ResponseError(ex); } } [HttpPost("GetList")] public ResponseResult GetList() { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.GetList(); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } [HttpPost("GetById")] public ResponseResult GetById(int id) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.GetById(id); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } [HttpPost("DeleteByIds")] public ResponseResult DeleteByIds([FromBody] object[] ids) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.DeleteByIds(ids); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } [HttpPost("Insert")] public ResponseResult Add([FromBody] MesFactoryDate data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.Insert(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } [HttpPost("InsertReturnIdentity")] public ResponseResult InsertReturnIdentity([FromBody] MesFactoryDate data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.InsertReturnIdentity(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } [HttpPost("Update")] public ResponseResult Update([FromBody] MesFactoryDate data) { try { dynamic resultInfos = new ExpandoObject(); resultInfos.tbBillList = m.Update(data); return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } catch (Exception ex) { return ResponseResult.ResponseError(ex); } } }