| StandardInterface/MES.Service/Dto/webApi/ErpMould.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardInterface/MES.Service/Modes/MesMould.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardInterface/MES.Service/service/MesMouldManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardInterface/MESApplication/Controllers/BasicData/MesMouldController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardInterface/MESApplication/appsettings.json | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
StandardInterface/MES.Service/Dto/webApi/ErpMould.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ namespace MES.Service.Dto.webApi; /// <summary> /// ERPä¼ è¾ç¨æ¨¡å ·å·DTO /// </summary> public class ErpMould { public string? Code { get; set; } // ç¼ç public string? Name { get; set; } // åç§° public string? DataStatus { get; set; } // æ°æ®ç¶æ public string? OldMouldNo { get; set; } // æ§æ¨¡å ·å· public string? Cavity { get; set; } // ç©´æ° public string? Cycle { get; set; } // 卿 public string? Capacity { get; set; } // äº§è½ public string? MachineType { get; set; } // æºå public string? FForbidStatus { get; set; } // ç¦ç¨ç¶æ public string? ProductWeight { get; set; } // 产ååé public string? MaterialHead { get; set; } // æå¤´ public string? StandardLabor { get; set; } // æ å人å public string? LaborHoursPerThousand { get; set; } // åç人åå·¥æ¶ public string? Remark { get; set; } // 夿³¨ public string? ErpId { get; set; } public string? Type { get; set; } // æä½ç±»åï¼0å¯ç¨,1ç¦ç¨,2å®¡æ ¸,3åå®¡æ ¸ï¼ } StandardInterface/MES.Service/Modes/MesMould.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,120 @@ using SqlSugar; namespace MES.Service.Modes; /// <summary> /// æ¨¡å ·å·ä¿¡æ¯å®ä½ç±» /// </summary> [SugarTable("MES_MOULD")] public class MesMould { /// <summary> /// 主é®ID /// </summary> [SugarColumn(ColumnName = "ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_MES_MOULD")] public decimal? Id { get; set; } /// <summary> /// ç¼ç ï¼å¦ LT101921ï¼ /// </summary> [SugarColumn(ColumnName = "CODE")] public string? Code { get; set; } /// <summary> /// åç§°ï¼å¦ LT101921ï¼ /// </summary> [SugarColumn(ColumnName = "NAME")] public string? Name { get; set; } /// <summary> /// æ°æ®ç¶æ /// </summary> [SugarColumn(ColumnName = "DATA_STATUS")] public string? DataStatus { get; set; } /// <summary> /// æ§æ¨¡å ·å· /// </summary> [SugarColumn(ColumnName = "OLD_MOULD_NO")] public string? OldMouldNo { get; set; } /// <summary> /// ç©´æ° /// </summary> [SugarColumn(ColumnName = "CAVITY")] public string? Cavity { get; set; } /// <summary> /// 卿ï¼åä½ï¼ç§ï¼ /// </summary> [SugarColumn(ColumnName = "CYCLE")] public string? Cycle { get; set; } /// <summary> /// äº§è½ /// </summary> [SugarColumn(ColumnName = "CAPACITY")] public string? Capacity { get; set; } /// <summary> /// æºå /// </summary> [SugarColumn(ColumnName = "MACHINE_TYPE")] public string? MachineType { get; set; } /// <summary> /// ç¦ç¨ç¶æï¼Aå¯ç¨ / Bç¦ç¨ï¼ /// </summary> [SugarColumn(ColumnName = "FFORBIDSTATUS")] public string? FForbidStatus { get; set; } /// <summary> /// 产ååéï¼gï¼ /// </summary> [SugarColumn(ColumnName = "PRODUCT_WEIGHT")] public string? ProductWeight { get; set; } /// <summary> /// æå¤´ï¼gï¼ /// </summary> [SugarColumn(ColumnName = "MATERIAL_HEAD")] public string? MaterialHead { get; set; } /// <summary> /// æ å人å /// </summary> [SugarColumn(ColumnName = "STANDARD_LABOR")] public string? StandardLabor { get; set; } /// <summary> /// åç人åå·¥æ¶ /// </summary> [SugarColumn(ColumnName = "LABOR_HOURS_THOUSAND")] public string? LaborHoursPerThousand { get; set; } /// <summary> /// 夿³¨ /// </summary> [SugarColumn(ColumnName = "REMARK")] public string? Remark { get; set; } /// <summary> /// å建æ¶é´ /// </summary> [SugarColumn(ColumnName = "CREATE_TIME")] public DateTime? CreateTime { get; set; } /// <summary> /// ERPID /// </summary> [SugarColumn(ColumnName = "ERP_ID")] public string? ErpId { get; set; } /// <summary> /// ERPID /// </summary> [SugarColumn(ColumnName = "TYPE")] public string? Type { get; set; } } StandardInterface/MES.Service/service/MesMouldManager.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,157 @@ using MES.Service.DB; using MES.Service.Dto.webApi; using MES.Service.Modes; using SqlSugar; namespace MES.Service.service.BasicData.Material; /// <summary> /// æ¨¡å ·å·é»è¾å¤çç±» /// </summary> public class MesMouldManager : Repository<MesMould> { /// <summary> /// å个ä¿åï¼Type: 0å¯ç¨,1ç¦ç¨,2å®¡æ ¸/æ°å¢ææ´æ°,3åå®¡æ ¸/å é¤ï¼ /// </summary> public bool Save(ErpMould mould) { var entity = ConvertToEntity(mould); return UseTransaction(db => { switch (mould.Type) { case "0": if (UpdateStatus(db, entity.Code, "A")) return 1; break; case "1": if (UpdateStatus(db, entity.Code, "B")) return 1; break; case "3": if (DeleteMould(db, entity.Code)) return 1; break; case "2": if (InsertOrUpdate(db, entity)) return 1; break; default: throw new ArgumentNullException($"Typeåæ°é误ï¼{mould.Type}"); } throw new NotImplementedException("æä½å¤±è´¥"); }) > 0; } /// <summary> /// æ¹éä¿åï¼å¸¦Typeå¤æï¼ /// </summary> public bool SaveList(List<ErpMould> moulds) { var list = moulds.Select(ConvertToEntity).ToList(); var groupByType = list.GroupBy(s => s.Type).ToDictionary(g => g.Key, g => g.ToList()); return UseTransaction(db => { foreach (var group in groupByType) { switch (group.Key) { case "0": if (!UpdateStatusBatch(db, group.Value, "A")) throw new NotImplementedException("å¯ç¨å¤±è´¥"); break; case "1": if (!UpdateStatusBatch(db, group.Value, "B")) throw new NotImplementedException("ç¦ç¨å¤±è´¥"); break; case "3": if (!DeleteMouldBatch(db, group.Value)) throw new NotImplementedException("å é¤å¤±è´¥"); break; case "2": if (!InsertOrUpdateBatch(db, group.Value)) throw new NotImplementedException("åæ¥å¤±è´¥"); break; default: throw new ArgumentNullException($"Typeåæ°é误ï¼{group.Key}"); } } return 1; }) > 0; } private bool UpdateStatus(SqlSugarScope db, string code, string status) { var result = db.Updateable<MesMould>() .SetColumns(s => s.FForbidStatus == status) .Where(s => s.Code == code) .ExecuteCommand(); if (result > 0) return true; throw new NotImplementedException(status == "A" ? "å¯ç¨å¤±è´¥" : "ç¦ç¨å¤±è´¥"); } private bool UpdateStatusBatch(SqlSugarScope db, List<MesMould> moulds, string status) { var codes = moulds.Select(s => s.Code).ToArray(); var result = db.Updateable<MesMould>() .SetColumns(s => s.FForbidStatus == status) .Where(s => codes.Contains(s.Code)) .ExecuteCommand(); return result > 0; } /// <summary> /// å é¤åæ¡è®°å½ï¼æ ErpIdï¼ /// </summary> private bool DeleteMould(SqlSugarScope db, string erpId) { var result = db.Deleteable<MesMould>().Where(s => s.ErpId == erpId).ExecuteCommand(); return result > 0; } /// <summary> /// æ¹éå é¤ï¼æ ErpIdï¼ /// </summary> private bool DeleteMouldBatch(SqlSugarScope db, List<MesMould> moulds) { var erpIds = moulds.Select(s => s.ErpId).ToArray(); var result = db.Deleteable<MesMould>().Where(s => erpIds.Contains(s.ErpId)).ExecuteCommand(); return result > 0; } private bool InsertOrUpdate(SqlSugarScope db, MesMould entity) { //db.Deleteable<MesMould>().Where(s => s.Code == entity.Code).ExecuteCommand(); db.Deleteable<MesMould>().Where(s => s.ErpId == entity.ErpId).ExecuteCommand(); var insert = db.Insertable(entity).ExecuteCommand(); return insert > 0; } private bool InsertOrUpdateBatch(SqlSugarScope db, List<MesMould> moulds) { foreach (var entity in moulds) if (!InsertOrUpdate(db, entity)) return false; return true; } private MesMould ConvertToEntity(ErpMould m) => new MesMould { Code = m.Code, // ç¼ç Name = m.Name, // åç§° DataStatus = m.DataStatus, // æ°æ®ç¶æ OldMouldNo = m.OldMouldNo, // æ§æ¨¡å ·å· Cavity = m.Cavity, // ç©´æ° Cycle = m.Cycle, // 卿 Capacity = m.Capacity, // äº§è½ MachineType = m.MachineType, // æºå FForbidStatus = m.FForbidStatus, // ç¦ç¨ç¶æ ProductWeight = m.ProductWeight, // 产ååé MaterialHead = m.MaterialHead, // æå¤´ StandardLabor = m.StandardLabor, // æ å人å LaborHoursPerThousand = m.LaborHoursPerThousand, // åç人åå·¥æ¶ Remark = m.Remark, // 夿³¨ CreateTime = DateTime.Now, // æ¶é´ ErpId = m.ErpId, // ERPç¼å· Type = m.Type // æä½ç±»å }; } StandardInterface/MESApplication/Controllers/BasicData/MesMouldController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,149 @@ using System.Dynamic; using MES.Service.Dto.webApi; using MES.Service.Modes; using MES.Service.service; using MES.Service.service.BasicData.Material; using MES.Service.util; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; namespace MESApplication.Controllers.BasicData; /// <summary> /// æ¨¡å ·å·æ¥å£æ§å¶å¨ /// </summary> [ApiController] [Route("api/[controller]")] public class MesMouldController : ControllerBase { private readonly MessageCenterManager _manager = new(); private readonly MesMouldManager m = new(); private readonly string METHOD = "POST"; private readonly string TableName = "MES_MOULD"; private readonly string URL = "http://localhost:10054/api/MesMould/"; /// <summary> /// ä¿ååä¸ªæ¨¡å ·æ°æ®ï¼å¸¦Typeé»è¾ï¼ /// </summary> [HttpPost("Save")] public ResponseResult Save(ErpMould unit) { var entity = new MessageCenter { TableName = TableName, Url = URL + "Save", Method = METHOD, Data = JsonConvert.SerializeObject(unit), Status = 1, Route = unit.Code, CreateBy = "PL017" }; 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); } } /// <summary> /// æ¹éä¿åæ¨¡å ·æ°æ®ï¼å¸¦Typeé»è¾ï¼ /// </summary> [HttpPost("SaveList")] public ResponseResult SaveList(List<ErpMould> units) { var entity = new MessageCenter { TableName = TableName, Url = URL + "SaveList", Method = METHOD, Data = JsonConvert.SerializeObject(units), Status = 1, 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); } } } StandardInterface/MESApplication/appsettings.json
@@ -10,6 +10,6 @@ "AppSettings": { "TestErpUrl": "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfo", "ProductionErpUrl": "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfoFormal", "DataBaseConn": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = hm_prd; Password=hmprd" "DataBaseConn": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = test_dev; Password=hmprd" } }