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