using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using VueWebCoreApi.DLL.BLL;
using VueWebCoreApi.Models;
using VueWebCoreApi.Tools;
namespace VueWebCoreApi.Controllers
{
[ApiExplorerSettings(GroupName = "系统设置")]
[ApiController]
[Route("api/[controller]")]
//[ChannelActionFilter]
public class SystemSettingController : Controller
{
//定义全局信息返回变量
ToMessage mes = new ToMessage();
RedisCommon redis = new RedisCommon();
#region[编码规则获取可设置的功能菜单信息]
///
/// 编码规则获取可设置的功能菜单信息
///
///
[Route(template: "CodeMenuSelect")]
[HttpGet]
public JsonResult CodeMenuSelect()
{
mes = SystemSettingBLL.CodeMenuSelect();
return Json(mes);
}
#endregion
#region[编码规则查询]
///
/// 编码规则查询
///
/// 编码名称
/// 固定字符
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "EncodingRules")]
[HttpGet]
public JsonResult EncodingRules(string rightname = null, string prefix = null, int page = 0, int rows = 0, string prop = null, string order = null)
{
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = SystemSettingBLL.EncodingRules(rightname, prefix, startNum, endNum, prop, order);
return Json(mes);
}
#endregion
#region[编码规则编辑保存]
///
/// 编码规则编辑保存
///
/// 提交数据对象
///
[Route(template: "SaveEncodingRules")]
[HttpPost]
public JsonResult SaveEncodingRules([FromBody] JObject obj)
{
string rightcode = obj["rightcode"].ToString(); //功能编码
string rightname = obj["rightname"].ToString(); //功能名称
string prefix = obj["prefix"].ToString(); //固定字符
string filingdate = obj["filingdate"].ToString(); //提交日期
string incbit = obj["incbit"].ToString(); //自增位数
string type = obj["type"].ToString(); //操作端类型:PC/APP
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
mes = SystemSettingBLL.SaveEncodingRules(rightcode, rightname, prefix, filingdate, incbit, type, us);
return Json(mes);
}
#endregion
#region[编码规则删除]
///
/// 编码规则删除
///
/// 功能编码
///
[Route(template: "DeleteEncodingRules")]
[HttpPost]
public JsonResult DeleteEncodingRules(string menucode)
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
mes = SystemSettingBLL.DeleteEncodingRules(menucode, us);
return Json(mes);
}
#endregion
#region[获取规则生成的编码(每次获取最新)]
///
/// 获取规则生成的编码(每次获取最新)
///
/// 功能编码
///
[Route(template: "NewEncodingRules")]
[HttpGet]
public JsonResult NewEncodingRules(string rightcode)
{
mes = SystemSettingBLL.NewEncodingRules(rightcode);
return Json(mes);
}
#endregion
#region[获取规则生成的编码(只有使用才获取最新)]
///
/// 获取规则生成的编码(只有使用才获取最新)
///
/// 功能编码
///
[Route(template: "OnlyEncodingRules")]
[HttpGet]
public JsonResult OnlyEncodingRules(string rightcode)
{
mes = SystemSettingBLL.OnlyEncodingRules(rightcode);
return Json(mes);
}
#endregion
#region[回写规则生成的编码(使用保存)]
///
/// 回写规则生成的编码(使用保存)
///
/// 功能编码
/// 流水号
///
[Route(template: "SaveOnlyEncodingRules")]
[HttpPost]
public JsonResult SaveOnlyEncodingRules(string rightcode,string incbit)
{
mes = SystemSettingBLL.SaveOnlyEncodingRules(rightcode, incbit);
return Json(mes);
}
#endregion
#region[生成系统条码(自定义),生成物料标签条码(每次获取最新,App可使用)]
///
/// 生成系统条码(自定义),生成物料标签条码(每次获取最新,App可使用)
///
/// 功能编码
/// 物料编码
/// 数量
/// 单标签数量
///
[Route(template: "LabelBarCode")]
[HttpGet]
public JsonResult LabelBarCode(string rightcode, string partcode, string qty, string onelabqty)
{
mes = SystemSettingBLL.LabelBarCode(rightcode, partcode, qty, onelabqty);
return Json(mes);
}
#endregion
#region[系统设置,流程设置提交]
///
/// 系统设置,流程设置提交
///
/// 提交数据
///
[Route(template: "SaveSystemProcConfig")]
[HttpPost]
public JsonResult SaveSystemProcConfig([FromBody] JObject obj)
{
// 获取 mesSetting 对象
JObject systemjson = (JObject)obj["mesSetting"];
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
mes = SystemSettingBLL.SaveSystemProcConfig(systemjson, us);
return Json(mes);
}
#endregion
}
}