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.Models.UnitMaterial;
using VueWebCoreApi.Tools;
namespace VueWebCoreApi.Controllers
{
[ApiExplorerSettings(GroupName = "物料管理")]
[ApiController]
[Route("api/[controller]")]
[ChannelActionFilter]
public class ProductModelController : Controller
{
//定义全局信息返回变量
ToMessage mes = new ToMessage();
RedisHelper redis = new RedisHelper();
#region[计量单位组信息]
///
/// 计量单位组信息
///
///
[Route(template: "TUnitGroup")]
[HttpGet]
public JsonResult TUnitGroup()
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
mes = ProductModelBLL.TUnitGroup();
return Json(mes);
}
#endregion
#region[计量单位信息列表]
///
/// 计量单位信息列表
///
/// 单计量(S) 多计量(M)
/// 计量单位组编码
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "TUnitData")]
[HttpGet]
public JsonResult TUnitData(string tunittype,string tunitgroupcode, int page = 0, int rows = 0, string prop = null, string order = null)
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = ProductModelBLL.TUnitData(tunittype,tunitgroupcode, startNum, endNum, prop, order);
return Json(mes);
}
#endregion
#region[计量单位编辑获取组明细]
///
/// 计量单位编辑获取组明细
///
/// 计量单位编码
/// 是否计量组:0(否)1(是)
///
[Route(template: "TUnitGroupProject")]
[HttpGet]
public JsonResult TUnitGroupProject(string unitcode,string isgroup)
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
mes = ProductModelBLL.TUnitGroupProject(unitcode,isgroup,us);
return Json(mes);
}
#endregion
#region[计量单位新增、编辑保存]
///
/// 计量单位新增、编辑保存
///
/// 数据来源:ERP/MES
/// 单计量(S) 多计量(M)
/// 计量单位组编码
/// 操作类型:Add/Update
/// 提交数据
///
[Route(template: "AddUpdateTUnit")]
[HttpPost]
public JsonResult AddUpdateTUnit(string data_sources, string tunittype,string tunitgroupcode,string OperType, List listjson)
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
var menucode = HttpContext.Request.Headers["Menucode"].ToString(); //菜单编码
mes = ProductModelBLL.AddUpdateTUnit(menucode, data_sources,tunittype, tunitgroupcode, OperType, listjson, us);
return Json(mes);
}
#endregion
#region[计量单位删除]
///
/// 计量单位删除
///
/// 数据来源:ERP/MES
/// 单计量(S) 多计量(M)
/// 计量单位组编码
/// 计量单位编码
///
[Route(template: "DeleteTUnit")]
[HttpPost]
public JsonResult DeleteTUnit(string data_sources, string tunittype, string tunitgroupcode, string tunitcode)
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
mes = ProductModelBLL.DeleteTUnit(data_sources, tunittype, tunitgroupcode, tunitcode, us);
return Json(mes);
}
#endregion
#region[存货分类信息]
///
/// 存货分类信息
///
///
[Route(template: "TMaterielClassTree")]
[HttpGet]
public JsonResult TMaterielClassTree()
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
mes = ProductModelBLL.TMaterielClassTree();
return Json(mes);
}
#endregion
#region[存货分类新增/编辑提交]
///
/// 存货分类新增/编辑提交
///
/// 数据来源:ERP/MES
/// 存货分类编码
/// 存货分类名称
/// 上级分类编码
/// 操作类型:Add/Update
///
[Route(template: "TMaterielClassTreeAddUpdate")]
[HttpPost]
public JsonResult TMaterielClassTreeAddUpdate(string data_sources, string inventoryclasscode, string inventoryclassname,string parentcode,string OperType)
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
mes = ProductModelBLL.TMaterielClassTreeAddUpdate(data_sources,inventoryclasscode, inventoryclassname, parentcode, OperType, us);
return Json(mes);
}
#endregion
#region[存货分类删除]
///
/// 存货分类删除
///
/// 存货分类编码字串集
///
[Route(template: "TMaterielClassTreeDelete")]
[HttpPost]
public JsonResult TMaterielClassTreeDelete(string inventoryclasscode)
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
mes = ProductModelBLL.TMaterielClassTreeDelete(inventoryclasscode,us);
return Json(mes);
}
#endregion
#region[存货信息列表]
///
/// 存货信息列表
///
/// 存货分类编码字符串集
/// 存货编码
/// 存货名称
/// 存货规格
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "TMaterielData")]
[HttpGet]
public JsonResult TMaterielData(string inventoryclasscode,string partcode,string partname,string partspec, int page = 0, int rows = 0, string prop = null, string order = null)
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = ProductModelBLL.TMaterielData(inventoryclasscode, partcode,partname,partspec, startNum, endNum, prop, order);
return Json(mes);
}
#endregion
#region[存货信息新增/编辑保存]
///
/// 存货信息新增/编辑保存
///
/// 提交数据
///
[Route(template: "TMaterielAddUpdate")]
[HttpPost]
public JsonResult TMaterielAddUpdate([FromBody] JObject obj)
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
string data_sources = obj["data_sources"].ToString(); //数据来源:ERP/MES
string partcode = obj["partcode"].ToString(); //存货编码
string partname = obj["partname"].ToString(); //存货名称
string partspec = obj["partspec"].ToString(); //规格型号
string inventoryclasscode = obj["inventoryclasscode"].ToString(); //存货类型编码
string unittypcode = obj["unittypcode"].ToString(); //计量方式(0:多计量1:单计量)
string unitcode = obj["unitcode"].ToString(); //计量单位编码/计量单位组编码
string unitsubcode = obj["unitsubcode"].ToString(); //计量单位组子项编码
string idSubUnitByReport= obj["idSubUnitByReport"].ToString(); //报表辅单位编码
string idUnitByStock = obj["idUnitByStock"].ToString(); //库存常用单位编码
string idUnitByPurchase = obj["idUnitByPurchase"].ToString(); //采购常用单位编码
string idUnitBySale = obj["idUnitBySale"].ToString(); //销售常用单位编码
string idunitbymanufacture= obj["idunitbymanufacture"].ToString(); //生产常用单位
string isPurchase= obj["isPurchase"].ToString(); //是否外购:0(否)1(是)
string isSale = obj["isSale"].ToString(); //是否销售:0(否)1(是)
string isMadeSelf = obj["isMadeSelf"].ToString(); //是否自制:0(否)1(是)
string isMaterial = obj["isMaterial"].ToString(); //是否生产耗用:0(否)1(是)
string isMadeRequest = obj["isMadeRequest"].ToString(); //是否委外:0(否)1(是)
string idwarehouse= obj["idwarehouse"].ToString(); //仓库编码
string status=obj["status"].ToString(); //使用状态:正常(0)停用(1)
string OperType = obj["OperType"].ToString(); //操作类型
mes = ProductModelBLL.TMaterielAddUpdate(data_sources,partcode,partname,partspec, inventoryclasscode, unittypcode, unitcode, unitsubcode, idSubUnitByReport,
idUnitByStock, idUnitByPurchase,idUnitBySale, idunitbymanufacture, isPurchase, isSale, isMadeSelf, isMaterial, isMadeRequest, idwarehouse, status, OperType,us);
return Json(mes);
}
#endregion
#region[存货信息删除]
///
/// 存货信息删除
///
/// 数据来源:ERP/MES
/// 物料编码
///
[Route(template: "TMaterielDelete")]
[HttpPost]
public JsonResult TMaterielDelete(string data_sources,string partcode)
{
var token = HttpContext.Request.Headers["Token"].ToString();
User us = JwtTools.Denocode(token.ToString());
mes = ProductModelBLL.TMaterielDelete(data_sources, partcode, us);
return Json(mes);
}
#endregion
#region[工单产品信息下拉框查询]
///
/// 工单产品信息下拉框查询
///
///
[Route(template: "PartSelect")]
[HttpGet]
public JsonResult PartSelect()
{
try
{
mes = ProductModelBLL.PartSelect();
}
catch (Exception e)
{
mes.code = "300";
mes.Message = e.Message;
}
return Json(mes);
}
#endregion
}
}