using Gs.Toolbox;
|
using Gs.Toolbox.ApiCore.Abstract.Mvc;
|
using Gs.Toolbox.ApiCore.Common.Mvc;
|
using Gs.Toolbox.ApiCore.Group;
|
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Mvc;
|
using Newtonsoft.Json.Linq;
|
using System.Data;
|
using System.Data.SqlClient;
|
using System.Dynamic;
|
using System.Text;
|
using static Gs.Toolbox.UtilityHelper;
|
|
namespace Gs.JJGZ;
|
|
[ApiGroup(ApiGroupNames.JJGZ)]
|
public class MesAttanConController : IRomteService
|
{
|
private readonly IHttpContextAccessor _http;
|
|
private readonly string _userCode, _userGuid, _orgFids;
|
public MesAttanConController(IHttpContextAccessor httpContextAccessor)
|
{
|
_http = httpContextAccessor;
|
(_userCode, _userGuid, _orgFids) =
|
GetUserGuidAndOrgGuid(_http);
|
}
|
|
|
/// <summary>
|
/// 读取列表,支持分页
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[RequestMethod(RequestMethods.POST)]
|
public ReturnDto<ExpandoObject> GetListPage([FromBody] dynamic model)
|
{
|
string lineNo = model.lineNo.ToString();
|
string date = model.date.ToString();
|
string orgId = model.orgId.ToString();
|
var dset = new DataSet();
|
dynamic m = new ExpandoObject();
|
m.list = new List<dynamic>();
|
m.list1 = new List<dynamic>();
|
m.list2 = new List<dynamic>();
|
m.list3 = new List<dynamic>();
|
try
|
{
|
var parameters = new[] {
|
new SqlParameter("@inLineNo", lineNo),
|
new SqlParameter("@inDate", date),
|
new SqlParameter("@inOrgId", orgId)
|
};
|
var dsMain = DbHelperSQL.Query("EXEC prc_AttanCon_lst @inLineNo, @inDate, @inOrgId", parameters);
|
if (dsMain != null && dsMain.Tables.Count > 0)
|
{
|
var _tb = dsMain.Tables[0].TableToDynamicList();
|
m.list = _tb;
|
|
var _tb1 = dsMain.Tables[1].TableToDynamicList();
|
m.list1 = _tb1;
|
|
var _tb2 = dsMain.Tables[2].TableToDynamicList();
|
m.list2 = _tb2;
|
|
var _tb3 = dsMain.Tables[3].TableToDynamicList();
|
m.list3 = _tb3;
|
}
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Debug(ToString(), ex.Message);
|
return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "读取失败!");
|
}
|
return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success,
|
"读取成功!");
|
}
|
|
/// <summary>
|
/// 修改
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[RequestMethod(RequestMethods.POST)]
|
public ReturnDto<ExpandoObject> EditModel([FromBody] dynamic model)
|
{
|
string lineNo = model.lineNo; //主键
|
string date = model.date; //主键
|
string orgId = model.orgId; //主键
|
var _sb = new StringBuilder();
|
var _split = "|";
|
foreach (var m in model.list)
|
{
|
var _line = m.GUID + _split
|
+ m.Hour + _split
|
+ m.Reason;
|
if (_sb.Length > 0)
|
_sb.Append("~");
|
_sb.Append(_line);
|
}
|
dynamic mObj = new ExpandoObject();
|
mObj.outMsg = "";
|
mObj.outSum = -1;
|
mObj.outGuid = "";
|
mObj.outNo = "";
|
using (var conn = new SqlConnection(DbHelperSQL.strConn))
|
{
|
using (var cmd = new SqlCommand("[prc_AttanCon_edt]", conn))
|
{
|
try
|
{
|
conn.Open();
|
cmd.CommandType = CommandType.StoredProcedure;
|
SqlParameter[] parameters =
|
{
|
new("@outMsg", SqlDbType.NVarChar, 300),
|
new("@outSum", SqlDbType.Int),
|
new("@outNo", SqlDbType.NVarChar, 300),
|
new("@inLineNo", lineNo),
|
new("@inDate", date),
|
new("@inOrgId", orgId),
|
new("@inEdtUserGuid", _userGuid),
|
new("@inLineList", _sb.ToString())
|
};
|
parameters[0].Direction = ParameterDirection.Output;
|
parameters[1].Direction = ParameterDirection.Output;
|
parameters[2].Direction = ParameterDirection.Output;
|
foreach (var parameter in parameters)
|
cmd.Parameters.Add(parameter);
|
cmd.ExecuteNonQuery();
|
mObj.outMsg = parameters[0].Value.ToString();
|
mObj.outSum = int.Parse(parameters[1].Value.ToString());
|
mObj.outNo = parameters[2].Value.ToString();
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Debug(ToString(),
|
"prc_ERRORJS_edt error:" + ex.Message);
|
mObj.outMsg = ex.Message;
|
mObj.outSum = -1;
|
}
|
finally
|
{
|
conn.Close();
|
}
|
}
|
}
|
if (mObj.outSum <= 0)
|
return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Exception, mObj.outMsg);
|
return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Success, mObj.outMsg);
|
|
}
|
|
|
/// <summary>
|
/// 计算工资
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[RequestMethod(RequestMethods.POST)]
|
public ReturnDto<ExpandoObject> CountModel([FromBody] dynamic model)
|
{
|
string lineNo = model.lineNo.ToString();
|
string date = model.date.ToString();
|
string orgId = model.orgId.ToString();
|
dynamic mObj = new ExpandoObject();
|
mObj.outSum = -1;
|
mObj.outMsg = "";
|
using (var conn = new SqlConnection(DbHelperSQL.strConn))
|
{
|
|
using (var cmd = new SqlCommand("[prc_AttanCon_count]", conn))
|
{
|
try
|
{
|
conn.Open();
|
cmd.CommandType = CommandType.StoredProcedure;
|
var parameters = new[] {
|
new SqlParameter("@inLineNo", lineNo),
|
new SqlParameter("@inDate", date),
|
new SqlParameter("@inOrgId", orgId),
|
new SqlParameter("@inEdtUserGuid", _userGuid)
|
};
|
mObj.outSum = 1;
|
mObj.outMsg = "计算工资";
|
foreach (var parameter in parameters)
|
cmd.Parameters.Add(parameter);
|
cmd.ExecuteNonQuery();
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Debug(ToString(),
|
"prc_AttanCon_count error:" + ex.Message);
|
mObj.outMsg = ex.Message;
|
mObj.outSum = -1;
|
}
|
finally
|
{
|
conn.Close();
|
}
|
}
|
}
|
if (mObj.outSum <= 0)
|
return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Exception, mObj.outMsg);
|
return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Success, mObj.outMsg);
|
|
}
|
|
/// <summary>
|
/// 提交审核反审核
|
/// </summary>
|
/// <param name="mode"></param>
|
/// <returns></returns>
|
[RequestMethod(RequestMethods.POST)]
|
public ReturnDto<ExpandoObject> EditModelSubmit([FromBody] dynamic mode)
|
{
|
string lineNo = mode.lineNo;
|
string attenDate = mode.attenDate;
|
string _guid = mode.guid;
|
string _inFieldValue = mode.inFieldValue;
|
dynamic m = new ExpandoObject();
|
m.outSum = -1;
|
m.outMsg = "";
|
try
|
{
|
// 假设提交就是更新某个字段
|
string sql = $"UPDATE MES_JJGZ_KQHZ SET check_status='{_inFieldValue}',check_date = getdate(), check_user='{_userGuid}' WHERE Line_No='{lineNo}' and attenDate = '{attenDate}'";
|
int rows = DbHelperSQL.ExecuteSql(sql);
|
m.outSum = rows;
|
m.outMsg = rows > 0 ? "操作成功!" : "未更新任何数据";
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Debug(ToString(), "EditModelSubmit error:" + ex.Message);
|
m.outMsg = ex.Message;
|
m.outSum = -1;
|
return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, ex.Message);
|
}
|
return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "操作成功!");
|
}
|
|
/// <summary>
|
/// 获取计时类型
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[RequestMethod(RequestMethods.POST)]
|
public ReturnDto<ExpandoObject> GetTimeType([FromBody] dynamic model)
|
{
|
dynamic m = new ExpandoObject();
|
string mainTable = "MES_JJGZ_TIMETYPE";
|
try
|
{
|
string sqlMain = $"SELECT HourlyType 计时类型,HourlySalary 计时单价 FROM MES_JJGZ_JSSALARY WHERE CHECK_STATUS = 1";
|
var dsMain = DbHelperSQL.Query(sqlMain);
|
if (dsMain != null && dsMain.Tables.Count > 0 && dsMain.Tables[0].Rows.Count > 0)
|
{
|
var _tb = dsMain.Tables[0].TableToDynamicList();
|
m.list = _tb;
|
}
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Debug(ToString(), ex.Message);
|
}
|
if (m != null)
|
return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "读取成功!");
|
return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "读取失败!");
|
}
|
|
/// <summary>
|
/// 获取产线
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[RequestMethod(RequestMethods.POST)]
|
public ReturnDto<ExpandoObject> GetWORKSHOPLINE([FromBody] dynamic model)
|
{
|
dynamic m = new ExpandoObject();
|
try
|
{
|
string sqlMain = $"select line_no 产线,name 产线名称 from MES_WORKSHOP_LINE WHERE line_no IN (SELECT Line_No FROM Mes_DepartmentToLine )";
|
var dsMain = DbHelperSQL.Query(sqlMain);
|
if (dsMain != null && dsMain.Tables.Count > 0 && dsMain.Tables[0].Rows.Count > 0)
|
{
|
var _tb = dsMain.Tables[0].TableToDynamicList();
|
m.list = _tb;
|
}
|
}
|
catch (Exception ex)
|
{
|
LogHelper.Debug(ToString(), ex.Message);
|
}
|
if (m != null)
|
return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "读取成功!");
|
return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "读取失败!");
|
}
|
|
|
}
|