using DllEapEntity.Rms; using DllEapEntity.Dtos; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Text; using Cksoft.Data; using Cksoft.Data.Repository; using DllEapDal; using Cksoft.Unity; using Cksoft.Unity.Log4NetConfig; using System.Linq; using Microsoft.AspNetCore.Authorization; using DllEapEntity; namespace DllEapBll.Controllers { /// /// 制程 /// //[Authorize] [ApiController] [Route("eap/api/[controller]/[action]")] public class RmsTProcessController : ControllerBase { /// /// 列表 /// /// /// /// /// /// /// [HttpGet] public LayuiModel Get(string filter, int pageIndex = 1, int pageSize = 10, string sortField = "ID", string sortOrder = "ascend") { if (sortOrder == "descend") { sortOrder = "desc"; } else { sortOrder = "asc"; } int start, end; start = (pageIndex - 1) * pageSize + 1; end = start + pageSize; using (IDatabase db = DbFactory.Base("eapslave")) { db.BeginTrans(); var dal = new TProcessDal(db); var total = dal.GetCount(filter); string errorinfo = string.Empty; var roles = dal.Get(start, pageSize, sortOrder, sortField, filter, errorinfo); return new LayuiModel { code = 1, count = total, data = roles, msg = "" }; } } /// /// 详情 /// /// /// [HttpGet] public TProcess GetSingle(int id) { using (IDatabase db = DbFactory.Base("eapslave")) { var dal = new TProcessDal(db); return dal.Get(id); } } /// /// 新增/修改 /// /// /// [HttpPost] public EapResponse Add([FromBody] TProcess programMst) { string usercode = Request.Headers["usercode"]; using (IDatabase db = DbFactory.Base("eap")) { db.BeginTrans(); var dal = new TProcessDal(db); string errorinfo = string.Empty; var response = new EapResponse() { Code = 1, Msg = string.Empty }; int id = -1; if (programMst.ID == 0) { id = dal.Add(programMst, usercode, ref errorinfo); } else { id = dal.Update(programMst, usercode, ref errorinfo); } if (id < 0) { db.Rollback(); response.Code = -1; response.Msg = errorinfo; } else { db.Commit(); if (programMst.ID == 0) { LogHelper.LogFatal("新增TProcess-->" + Json.ToJson(programMst), "用户操作", usercode); } else LogHelper.LogFatal("修改TProcess-->" + Json.ToJson(programMst), "用户操作", usercode); } response.Id = id; return response; } } /// /// 删除 /// /// /// [HttpPost] public EapResponse Delete([FromBody] int id) { IDatabase db = null; string errormsg = string.Empty; try { using (db = DbFactory.Base("eap")) { var dal = new TProcessDal(db); db.BeginTrans(); var rmstprocess = dal.Get(id); var model = dal.getmactprocess(rmstprocess); var modelsec = dal.getTProcess(id); var res = dal.Delete(id, ref errormsg); if (res < 0) { db.Rollback(); return new EapResponse() { Code = -1, Msg = errormsg }; } db.Commit(); LogHelper.LogFatal("删除TProcess-->:" + Json.ToJson(modelsec) + ";mactprocess" + Json.ToJson(model), "用户操作", Request.Headers["usercode"]); return new EapResponse() { Code = 1, Msg = "" }; } } catch (Exception e) { errormsg = e.Message; return new EapResponse { Code = -1, Msg = errormsg }; } finally { if (db != null) db.Close(); } } /// /// 修改制程状态 /// /// /// [HttpPost] public string ChangeState([FromBody] IDictionary valuePairs) { int id = Convert.ToInt32(valuePairs["id"]); int state = Convert.ToInt32(valuePairs["state"]); string field = valuePairs["field"]; using (IDatabase db = DbFactory.Base("eap")) { var dal = new TProcessDal(db); int count = dal.ChangeField(field, id, state); if (count > 0) LogHelper.LogFatal("修改TProcess-->id" + id + ";state" + state + ";field" + field, "用户操作", "none"); return count.ToString(); } } /// /// 获取制程数据源 /// /// [HttpGet] public IEnumerable GetTProcess() { using (IDatabase db = DbFactory.Base("eapslave")) { var dal = new TProcessDal(db); var entities = dal.Get(1, 1000, "asc", "a.id", "", "").OrderBy(c => c.ID).Select(c => new { Label = c.FCode, Value = c.ID }); return entities; } } } }